48 lines
798 B
TypeScript
48 lines
798 B
TypeScript
import {
|
|
Entity,
|
|
PrimaryColumn,
|
|
Column
|
|
} from 'typeorm';
|
|
|
|
@Entity('servers')
|
|
export class ServerEntity {
|
|
@PrimaryColumn('text')
|
|
id!: string;
|
|
|
|
@Column('text')
|
|
name!: string;
|
|
|
|
@Column('text', { nullable: true })
|
|
description!: string | null;
|
|
|
|
@Column('text')
|
|
ownerId!: string;
|
|
|
|
@Column('text')
|
|
ownerPublicKey!: string;
|
|
|
|
@Column('text', { nullable: true })
|
|
passwordHash!: string | null;
|
|
|
|
@Column('integer', { default: 0 })
|
|
isPrivate!: number;
|
|
|
|
@Column('integer', { default: 0 })
|
|
maxUsers!: number;
|
|
|
|
@Column('integer', { default: 0 })
|
|
currentUsers!: number;
|
|
|
|
@Column('text', { default: '[]' })
|
|
tags!: string;
|
|
|
|
@Column('text', { default: '[]' })
|
|
channels!: string;
|
|
|
|
@Column('integer')
|
|
createdAt!: number;
|
|
|
|
@Column('integer')
|
|
lastSeen!: number;
|
|
}
|