d071d18dd7
* wip * wip * fix * clean up * Update tsconfig.json * Update activitypub.ts * wip
88 lines
1.3 KiB
TypeScript
88 lines
1.3 KiB
TypeScript
import { Entity, PrimaryColumn, Index, Column } from 'typeorm';
|
|
import { User } from './user.js';
|
|
import { id } from '../id.js';
|
|
|
|
@Entity()
|
|
export class Hashtag {
|
|
@PrimaryColumn(id())
|
|
public id: string;
|
|
|
|
@Index({ unique: true })
|
|
@Column('varchar', {
|
|
length: 128,
|
|
})
|
|
public name: string;
|
|
|
|
@Column({
|
|
...id(),
|
|
array: true,
|
|
})
|
|
public mentionedUserIds: User['id'][];
|
|
|
|
@Index()
|
|
@Column('integer', {
|
|
default: 0,
|
|
})
|
|
public mentionedUsersCount: number;
|
|
|
|
@Column({
|
|
...id(),
|
|
array: true,
|
|
})
|
|
public mentionedLocalUserIds: User['id'][];
|
|
|
|
@Index()
|
|
@Column('integer', {
|
|
default: 0,
|
|
})
|
|
public mentionedLocalUsersCount: number;
|
|
|
|
@Column({
|
|
...id(),
|
|
array: true,
|
|
})
|
|
public mentionedRemoteUserIds: User['id'][];
|
|
|
|
@Index()
|
|
@Column('integer', {
|
|
default: 0,
|
|
})
|
|
public mentionedRemoteUsersCount: number;
|
|
|
|
@Column({
|
|
...id(),
|
|
array: true,
|
|
})
|
|
public attachedUserIds: User['id'][];
|
|
|
|
@Index()
|
|
@Column('integer', {
|
|
default: 0,
|
|
})
|
|
public attachedUsersCount: number;
|
|
|
|
@Column({
|
|
...id(),
|
|
array: true,
|
|
})
|
|
public attachedLocalUserIds: User['id'][];
|
|
|
|
@Index()
|
|
@Column('integer', {
|
|
default: 0,
|
|
})
|
|
public attachedLocalUsersCount: number;
|
|
|
|
@Column({
|
|
...id(),
|
|
array: true,
|
|
})
|
|
public attachedRemoteUserIds: User['id'][];
|
|
|
|
@Index()
|
|
@Column('integer', {
|
|
default: 0,
|
|
})
|
|
public attachedRemoteUsersCount: number;
|
|
}
|