unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 67 lines 1.3 kB view raw
1import { Model, Table, Column, DataType, ForeignKey, BelongsTo } from 'sequelize-typescript' 2import { User } from './user.js' 3import { Post } from './post.js' 4 5export interface PostReportAttributes { 6 id?: number 7 createdAt?: Date 8 updatedAt?: Date 9 resolved?: boolean 10 severity?: number 11 description?: string 12 userId?: string 13 postId?: string 14 reportedUserId?: string 15} 16 17@Table({ 18 tableName: 'postReports', 19 modelName: 'postReports', 20 timestamps: true 21}) 22export class PostReport extends Model<PostReportAttributes, PostReportAttributes> implements PostReportAttributes { 23 @Column({ 24 allowNull: true, 25 type: DataType.BOOLEAN 26 }) 27 declare resolved: boolean 28 29 @Column({ 30 allowNull: true, 31 type: DataType.INTEGER 32 }) 33 declare severity: number 34 35 @Column({ 36 allowNull: true, 37 type: DataType.STRING 38 }) 39 declare description: string 40 41 @ForeignKey(() => User) 42 @Column({ 43 allowNull: true, 44 type: DataType.UUID 45 }) 46 declare userId: string 47 48 @ForeignKey(() => User) 49 @Column({ 50 allowNull: true, 51 type: DataType.UUID 52 }) 53 declare reportedUserId: string 54 55 @ForeignKey(() => Post) 56 @Column({ 57 allowNull: true, 58 type: DataType.UUID 59 }) 60 declare postId: string 61 62 @BelongsTo(() => User, 'userId') 63 declare user: User 64 65 @BelongsTo(() => Post, 'postId') 66 declare post: Post 67}