unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
1import {
2 Model, Table, Column, DataType, ForeignKey, BelongsTo
3} from "sequelize-typescript";
4import { Post } from "./post.js";
5import { FederatedHost } from "./federatedHost.js";
6
7export interface PostHostViewsAttributes {
8 id?: number;
9 createdAt?: Date;
10 updatedAt?: Date;
11 federatedHostId: string;
12 postId: string;
13}
14
15@Table({
16 tableName: "postHostViews",
17 modelName: "postHostViews",
18 timestamps: true
19})
20export class PostHostView extends Model<PostHostViewsAttributes, PostHostViewsAttributes> implements PostHostViewsAttributes {
21 @ForeignKey(() => FederatedHost)
22 @Column({
23 primaryKey: true,
24 type: DataType.UUID
25 })
26 declare federatedHostId: string;
27
28 @ForeignKey(() => Post)
29 @Column({
30 primaryKey: true,
31 type: DataType.UUID
32 })
33 declare postId: string;
34
35 @BelongsTo(() => Post, "postId")
36 declare post: Post;
37
38 @BelongsTo(() => FederatedHost, "federatedHostId")
39 declare federatedHost: FederatedHost;
40
41}