返回 AiToEarn
publishing-task-meta.schema.ts
根目录 / project / aitoearn-backend / libs / mongodb / src / schemas / publishing-task-meta.schema.ts
1 import { Prop, Schema } from '@nestjs/mongoose'
2 import mongoose from 'mongoose'
3
4 @Schema({})
5 export class BiliBiliPublishTaskMeta {
6 @Prop({ required: true })
7 tid: number
8
9 @Prop({ required: true })
10 no_reprint: number
11
12 @Prop({ required: true })
13 copyright: number
14
15 @Prop({ required: false })
16 source?: string
17 }
18
19 @Schema({})
20 export class TiktokPublishTaskMeta {
21 @Prop({ required: true })
22 privacy_level: 'PUBLIC_TO_EVERYONE' | 'MUTUAL_FOLLOW_FRIENDS' | 'SELF_ONLY' | 'FOLLOWER_OF_CREATOR'
23
24 @Prop({ required: false })
25 disable_duet?: boolean
26
27 @Prop({ required: false })
28 disable_stitch?: boolean
29
30 @Prop({ required: false })
31 disable_comment?: boolean
32
33 @Prop({ required: false })
34 brand_organic_toggle?: boolean
35
36 @Prop({ required: false })
37 brand_content_toggle?: boolean
38 }
39
40 @Schema({})
41 export class FacebookPublishTaskMeta {
42 @Prop({ required: true })
43 content_category: 'post' | 'reel' | 'story'
44 }
45
46 @Schema({})
47 export class InstagramPublishTaskMeta {
48 @Prop({ required: false })
49 media_type?: 'IMAGE' | 'REELS' | 'STORIES' | 'CAROUSEL'
50 }
51
52 @Schema({})
53 export class YoutubePublishTaskMeta {
54 @Prop({ required: true })
55 privacyStatus: 'public' | 'unlisted' | 'private'
56
57 @Prop({ required: true })
58 license: 'youtube' | 'creativeCommon'
59
60 @Prop({ required: true })
61 categoryId: string
62 }
63
64 @Schema({})
65 export class PinterestPublishTaskMeta {
66 @Prop({ required: true })
67 boardId: string
68 }
69
70 @Schema({})
71 export class ThreadsPublishTaskMeta {
72 @Prop({ required: false })
73 reply_control?: string
74
75 @Prop({ required: false })
76 allowlisted_country_codes?: string[]
77
78 @Prop({ required: false })
79 alt_text?: string
80
81 @Prop({ required: false })
82 auto_publish_text?: boolean
83
84 @Prop({ required: false })
85 topic_tags?: string
86
87 @Prop({ required: false })
88 location_id?: string
89 }
90
91 @Schema({})
92 export class WxGzhPublishTaskMeta {
93 @Prop({ required: false })
94 open_comment?: number
95
96 @Prop({ required: false })
97 only_fans_can_comment?: number
98 }
99
100 @Schema({})
101 export class PublishingTaskMeta {
102 @Prop({ required: false })
103 bilibili?: BiliBiliPublishTaskMeta
104
105 @Prop({ required: false })
106 tiktok?: TiktokPublishTaskMeta
107
108 @Prop({ required: false })
109 facebook?: FacebookPublishTaskMeta
110
111 @Prop({ required: false })
112 instagram?: InstagramPublishTaskMeta
113
114 @Prop({ required: false })
115 youtube?: YoutubePublishTaskMeta
116
117 @Prop({ required: false })
118 pinterest?: PinterestPublishTaskMeta
119
120 @Prop({ required: false })
121 threads?: ThreadsPublishTaskMeta
122
123 @Prop({ required: false })
124 wxGzh?: WxGzhPublishTaskMeta
125 }
126
127 @Schema({})
128 export class PublishErrorData {
129 @Prop({ required: true })
130 type: string
131
132 @Prop({ required: true })
133 code: string
134
135 @Prop({ required: true, default: '' })
136 message: string
137
138 @Prop({ required: false, type: mongoose.Schema.Types.Mixed })
139 originalData?: any
140 }
141
141 lines TYPESCRIPT