@messenger-box/platform-server 10.0.3-alpha.7 → 10.0.3-alpha.74

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/lib/config/env-config.d.ts +7 -0
  2. package/lib/config/env-config.js +20 -0
  3. package/lib/config/env-config.js.map +1 -1
  4. package/lib/containers/containers.js +9 -1
  5. package/lib/containers/containers.js.map +1 -1
  6. package/lib/containers/context-services-from-container.d.ts +1 -1
  7. package/lib/containers/context-services-from-container.js +4 -2
  8. package/lib/containers/context-services-from-container.js.map +1 -1
  9. package/lib/graphql/resolvers/ai-fragment.d.ts +3 -0
  10. package/lib/graphql/resolvers/ai-fragment.js +276 -0
  11. package/lib/graphql/resolvers/ai-fragment.js.map +1 -0
  12. package/lib/graphql/resolvers/channel-member.d.ts +3 -2
  13. package/lib/graphql/resolvers/channel-member.js +30 -5
  14. package/lib/graphql/resolvers/channel-member.js.map +1 -1
  15. package/lib/graphql/resolvers/channel.d.ts +3 -2
  16. package/lib/graphql/resolvers/channel.js +308 -53
  17. package/lib/graphql/resolvers/channel.js.map +1 -1
  18. package/lib/graphql/resolvers/extended-token-account.d.ts +3 -2
  19. package/lib/graphql/resolvers/extended-token-account.js +90 -23
  20. package/lib/graphql/resolvers/extended-token-account.js.map +1 -1
  21. package/lib/graphql/resolvers/index.d.ts +1 -1
  22. package/lib/graphql/resolvers/index.js +1 -1
  23. package/lib/graphql/resolvers/index.js.map +1 -1
  24. package/lib/graphql/resolvers/post-thread.d.ts +1 -1
  25. package/lib/graphql/resolvers/post-thread.js +294 -132
  26. package/lib/graphql/resolvers/post-thread.js.map +1 -1
  27. package/lib/graphql/resolvers/post.d.ts +2 -3
  28. package/lib/graphql/resolvers/post.js +874 -239
  29. package/lib/graphql/resolvers/post.js.map +1 -1
  30. package/lib/graphql/resolvers/reaction.d.ts +3 -2
  31. package/lib/graphql/resolvers/reaction.js +96 -14
  32. package/lib/graphql/resolvers/reaction.js.map +1 -1
  33. package/lib/graphql/schema/ai-fragment.graphql +311 -0
  34. package/lib/graphql/schema/ai-fragment.graphql.js +1 -0
  35. package/lib/graphql/schema/ai-fragment.graphql.js.map +1 -0
  36. package/lib/graphql/schema/channel-member.graphql +110 -21
  37. package/lib/graphql/schema/channel-member.graphql.js +1 -1
  38. package/lib/graphql/schema/channel.graphql +356 -38
  39. package/lib/graphql/schema/channel.graphql.js +1 -1
  40. package/lib/graphql/schema/index.js +2 -2
  41. package/lib/graphql/schema/index.js.map +1 -1
  42. package/lib/graphql/schema/post-thread.graphql +167 -21
  43. package/lib/graphql/schema/post-thread.graphql.js +1 -1
  44. package/lib/graphql/schema/post.graphql +360 -40
  45. package/lib/graphql/schema/post.graphql.js +1 -1
  46. package/lib/graphql/schema/reaction.graphql +71 -13
  47. package/lib/graphql/schema/reaction.graphql.js +1 -1
  48. package/lib/graphql/schema/services.graphql +21 -0
  49. package/lib/graphql/schema/users.graphql +76 -13
  50. package/lib/graphql/schema/users.graphql.js +1 -1
  51. package/lib/index.js +1 -1
  52. package/lib/index.js.map +1 -1
  53. package/lib/inngest/factory.d.ts +20 -0
  54. package/lib/inngest/factory.js +4 -0
  55. package/lib/inngest/factory.js.map +1 -0
  56. package/lib/inngest/functions.d.ts +235 -0
  57. package/lib/inngest/functions.js +1385 -0
  58. package/lib/inngest/functions.js.map +1 -0
  59. package/lib/inngest/index.d.ts +3 -0
  60. package/lib/inngest/prompt.d.ts +6 -0
  61. package/lib/inngest/prompt.js +871 -0
  62. package/lib/inngest/prompt.js.map +1 -0
  63. package/lib/inngest/utils.d.ts +5 -0
  64. package/lib/inngest/utils.js +32 -0
  65. package/lib/inngest/utils.js.map +1 -0
  66. package/lib/interfaces/index.d.ts +0 -1
  67. package/lib/interfaces/services.d.ts +1 -1
  68. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.d.ts +17 -0
  69. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js +44 -0
  70. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js.map +1 -0
  71. package/lib/migrations/dbMigrations/index.d.ts +1 -0
  72. package/lib/migrations/index.d.ts +1 -0
  73. package/lib/migrations/mail-template-migration.js +1 -1
  74. package/lib/migrations/message-notification-template-migration.d.ts +1 -1
  75. package/lib/migrations/message-notification-template-migration.js +1 -1
  76. package/lib/module.js +10 -3
  77. package/lib/module.js.map +1 -1
  78. package/lib/plugins/ai-fragment-moleculer-service.d.ts +29 -0
  79. package/lib/plugins/ai-fragment-moleculer-service.js +516 -0
  80. package/lib/plugins/ai-fragment-moleculer-service.js.map +1 -0
  81. package/lib/plugins/channel-moleculer-service.d.ts +21 -1
  82. package/lib/plugins/channel-moleculer-service.js +426 -115
  83. package/lib/plugins/channel-moleculer-service.js.map +1 -1
  84. package/lib/plugins/extended-token-account-moleculer-service.d.ts +25 -1
  85. package/lib/plugins/extended-token-account-moleculer-service.js +348 -22
  86. package/lib/plugins/extended-token-account-moleculer-service.js.map +1 -1
  87. package/lib/plugins/index.d.ts +1 -0
  88. package/lib/plugins/messenger-notification-moleculer-service.d.ts +27 -3
  89. package/lib/plugins/messenger-notification-moleculer-service.js +404 -58
  90. package/lib/plugins/messenger-notification-moleculer-service.js.map +1 -1
  91. package/lib/plugins/post-moleculer-service.d.ts +85 -21
  92. package/lib/plugins/post-moleculer-service.js +1102 -256
  93. package/lib/plugins/post-moleculer-service.js.map +1 -1
  94. package/lib/plugins/post-thread-moleculer-service.d.ts +33 -1
  95. package/lib/plugins/post-thread-moleculer-service.js +326 -8
  96. package/lib/plugins/post-thread-moleculer-service.js.map +1 -1
  97. package/lib/plugins/reaction-moleculer-service.js +1 -1
  98. package/lib/plugins/reaction-moleculer-service.js.map +1 -1
  99. package/lib/preferences/settings/post-settings.d.ts +2 -0
  100. package/lib/preferences/settings/post-settings.js +47 -9
  101. package/lib/preferences/settings/post-settings.js.map +1 -1
  102. package/lib/services/ai-fragment-service.d.ts +195 -0
  103. package/lib/services/ai-fragment-service.js +631 -0
  104. package/lib/services/ai-fragment-service.js.map +1 -0
  105. package/lib/services/channel-service.d.ts +181 -33
  106. package/lib/services/channel-service.js +842 -273
  107. package/lib/services/channel-service.js.map +1 -1
  108. package/lib/services/extended-token-account-service.d.ts +130 -14
  109. package/lib/services/extended-token-account-service.js +462 -52
  110. package/lib/services/extended-token-account-service.js.map +1 -1
  111. package/lib/services/index.d.ts +3 -0
  112. package/lib/services/messenger-notification-service.d.ts +106 -13
  113. package/lib/services/messenger-notification-service.js +824 -442
  114. package/lib/services/messenger-notification-service.js.map +1 -1
  115. package/lib/services/post-service.d.ts +189 -16
  116. package/lib/services/post-service.js +949 -113
  117. package/lib/services/post-service.js.map +1 -1
  118. package/lib/services/post-thread-service.d.ts +114 -5
  119. package/lib/services/post-thread-service.js +400 -13
  120. package/lib/services/post-thread-service.js.map +1 -1
  121. package/lib/services/proxy-services/ai-fragment-microservice.d.ts +23 -0
  122. package/lib/services/proxy-services/ai-fragment-microservice.js +78 -0
  123. package/lib/services/proxy-services/ai-fragment-microservice.js.map +1 -0
  124. package/lib/services/proxy-services/channel-microservice.d.ts +6 -3
  125. package/lib/services/proxy-services/channel-microservice.js +25 -10
  126. package/lib/services/proxy-services/channel-microservice.js.map +1 -1
  127. package/lib/services/proxy-services/index.d.ts +1 -0
  128. package/lib/services/proxy-services/messenger-notification-microservice.d.ts +128 -8
  129. package/lib/services/proxy-services/messenger-notification-microservice.js +324 -29
  130. package/lib/services/proxy-services/messenger-notification-microservice.js.map +1 -1
  131. package/lib/services/proxy-services/post-microservice.d.ts +207 -12
  132. package/lib/services/proxy-services/post-microservice.js +623 -54
  133. package/lib/services/proxy-services/post-microservice.js.map +1 -1
  134. package/lib/services/proxy-services/post-thread-microservice.d.ts +134 -3
  135. package/lib/services/proxy-services/post-thread-microservice.js +388 -6
  136. package/lib/services/proxy-services/post-thread-microservice.js.map +1 -1
  137. package/lib/services/proxy-services/reaction-microservice.d.ts +161 -3
  138. package/lib/services/proxy-services/reaction-microservice.js +474 -2
  139. package/lib/services/proxy-services/reaction-microservice.js.map +1 -1
  140. package/lib/services/reaction-service.d.ts +124 -4
  141. package/lib/services/reaction-service.js +415 -3
  142. package/lib/services/reaction-service.js.map +1 -1
  143. package/lib/services/redis-cache-manager.d.ts +18 -0
  144. package/lib/services/redis-cache-manager.js +83 -0
  145. package/lib/services/redis-cache-manager.js.map +1 -0
  146. package/lib/services/sandbox-error-service.d.ts +23 -0
  147. package/lib/services/sandbox-error-service.js +422 -0
  148. package/lib/services/sandbox-error-service.js.map +1 -0
  149. package/lib/store/models/account-token-store.d.ts +1 -1
  150. package/lib/store/models/account-token-store.js.map +1 -1
  151. package/lib/store/models/ai-fragment.d.ts +4 -0
  152. package/lib/store/models/ai-fragment.js +125 -0
  153. package/lib/store/models/ai-fragment.js.map +1 -0
  154. package/lib/store/models/channel.d.ts +2 -3
  155. package/lib/store/models/channel.js +185 -71
  156. package/lib/store/models/channel.js.map +1 -1
  157. package/lib/store/models/index.d.ts +1 -0
  158. package/lib/store/models/post-thread.d.ts +3 -3
  159. package/lib/store/models/post-thread.js +96 -14
  160. package/lib/store/models/post-thread.js.map +1 -1
  161. package/lib/store/models/post.d.ts +2 -3
  162. package/lib/store/models/post.js +143 -23
  163. package/lib/store/models/post.js.map +1 -1
  164. package/lib/store/models/reaction.d.ts +2 -3
  165. package/lib/store/models/reaction.js +67 -8
  166. package/lib/store/models/reaction.js.map +1 -1
  167. package/lib/store/repositories/__tests__/__fixtures__/team-repository.d.ts +3 -3
  168. package/lib/store/repositories/ai-fragment-repository.d.ts +15 -0
  169. package/lib/store/repositories/ai-fragment-repository.js +69 -0
  170. package/lib/store/repositories/ai-fragment-repository.js.map +1 -0
  171. package/lib/store/repositories/channel-repository.d.ts +6 -6
  172. package/lib/store/repositories/channel-repository.js +5 -2
  173. package/lib/store/repositories/channel-repository.js.map +1 -1
  174. package/lib/store/repositories/index.d.ts +1 -0
  175. package/lib/store/repositories/post-repository.d.ts +6 -6
  176. package/lib/store/repositories/post-repository.js +5 -2
  177. package/lib/store/repositories/post-repository.js.map +1 -1
  178. package/lib/store/repositories/post-thread-repository.d.ts +6 -6
  179. package/lib/store/repositories/post-thread-repository.js +5 -2
  180. package/lib/store/repositories/post-thread-repository.js.map +1 -1
  181. package/lib/store/repositories/reaction-repository.d.ts +6 -6
  182. package/lib/store/repositories/reaction-repository.js +5 -2
  183. package/lib/store/repositories/reaction-repository.js.map +1 -1
  184. package/lib/templates/constants/SERVER_TYPES.ts.template +4 -4
  185. package/lib/templates/repositories/AiFragmentRepository.ts.template +4 -0
  186. package/lib/templates/repositories/ChannelRepository.ts.template +3 -3
  187. package/lib/templates/repositories/PostRepository.ts.template +3 -3
  188. package/lib/templates/repositories/PostThreadRepository.ts.template +3 -3
  189. package/lib/templates/repositories/ReactionRepository.ts.template +3 -4
  190. package/lib/templates/services/AiFragmentService.ts.template +123 -0
  191. package/lib/templates/services/ChannelService.ts.template +290 -39
  192. package/lib/templates/services/ExtendedTokenAccountService.ts.template +104 -9
  193. package/lib/templates/services/MessengerNotificationService.ts.template +94 -19
  194. package/lib/templates/services/PostService.ts.template +265 -20
  195. package/lib/templates/services/PostThreadService.ts.template +151 -6
  196. package/lib/templates/services/ReactionService.ts.template +129 -3
  197. package/lib/templates/services/RedisCacheManager.ts.template +22 -0
  198. package/lib/templates/services/SandboxErrorService.ts.template +125 -0
  199. package/package.json +14 -7
  200. package/lib/interfaces/context.d.ts +0 -14
  201. package/lib/store/models/common-options.js +0 -20
  202. package/lib/store/models/common-options.js.map +0 -1
@@ -1,58 +1,178 @@
1
- import {Schema}from'mongoose';import {commonModeSchemaOptions,addIdVirtualFields}from'./common-options.js';const postModelSchema = new Schema({
1
+ import {Schema}from'mongoose';import {PostTypeEnum,DB_COLL_NAMES}from'common/server';// export type IPostModel = Document<IPost>;
2
+ const postModelSchema = new Schema({
2
3
  createdAt: {
3
- type: Schema.Types.Date
4
+ type: Schema.Types.Date,
5
+ default: Date.now,
6
+ index: true
4
7
  },
5
8
  editedAt: {
6
- type: Schema.Types.Date
9
+ type: Schema.Types.Date,
10
+ index: true
7
11
  },
8
12
  deletedAt: {
9
- type: Schema.Types.Date
13
+ type: Schema.Types.Date,
14
+ index: true
10
15
  },
11
16
  editedBy: {
12
17
  type: Schema.Types.ObjectId,
13
- ref: 'accounts'
18
+ ref: DB_COLL_NAMES.Accounts,
19
+ index: true
14
20
  },
15
21
  deletedBy: {
16
22
  type: Schema.Types.ObjectId,
17
- ref: 'accounts'
23
+ ref: DB_COLL_NAMES.Accounts,
24
+ index: true
18
25
  },
19
26
  channel: {
20
27
  type: Schema.Types.ObjectId,
21
- ref: 'channels'
28
+ ref: 'channels',
29
+ index: true
30
+ // validate: {
31
+ // validator: async function(this: any, channelId: any) {
32
+ // if (!channelId) return false;
33
+ // const ChannelModel = this.model('channels');
34
+ // const channel = await ChannelModel.findById(channelId);
35
+ // return !!channel;
36
+ // },
37
+ // message: 'Channel must exist'
38
+ // }
22
39
  },
23
40
  rootId: {
24
- type: Schema.Types.String
41
+ type: Schema.Types.String,
42
+ index: true
43
+ // validate: {
44
+ // validator: async function(this: any, rootId: any) {
45
+ // if (!rootId) return true;
46
+ // const PostModel = this.model('posts');
47
+ // const post = await PostModel.findById(rootId);
48
+ // return !!post;
49
+ // },
50
+ // message: 'Root post must exist if rootId is provided'
51
+ // }
25
52
  },
26
53
  parentId: {
27
- type: Schema.Types.String
54
+ type: Schema.Types.String,
55
+ index: true
56
+ // validate: {
57
+ // validator: async function(this: any, parentId: any) {
58
+ // if (!parentId) return true;
59
+ // const PostModel = this.model('posts');
60
+ // const post = await PostModel.findById(parentId);
61
+ // return !!post;
62
+ // },
63
+ // message: 'Parent post must exist if parentId is provided'
64
+ // }
28
65
  },
29
66
  originalId: {
30
- type: Schema.Types.String
67
+ type: Schema.Types.String,
68
+ index: true
31
69
  },
32
70
  message: {
33
- type: Schema.Types.String
71
+ type: Schema.Types.String,
72
+ required: true,
73
+ trim: true
74
+ // validate: {
75
+ // validator: function(message: string) {
76
+ // return message.length > 0;
77
+ // },
78
+ // message: 'Message cannot be empty'
79
+ // }
34
80
  },
35
81
  type: {
36
- type: Schema.Types.String
82
+ type: Schema.Types.String,
83
+ default: PostTypeEnum.Simple,
84
+ index: true
37
85
  },
38
86
  props: {
39
- type: Schema.Types.Mixed
87
+ type: Schema.Types.Mixed,
88
+ default: {}
40
89
  },
41
- hashtags: {
42
- type: Schema.Types.Mixed
90
+ hashTags: {
91
+ type: Schema.Types.Mixed,
92
+ default: []
43
93
  },
44
94
  filenames: {
45
- type: Schema.Types.Mixed
95
+ type: Schema.Types.Mixed,
96
+ default: []
46
97
  },
47
- fields: {
98
+ fields: [{
48
99
  type: Schema.Types.String
49
- },
50
- files: [{
51
- type: Schema.Types.ObjectId
52
100
  }],
101
+ // files: [{
102
+ // type: Schema.Types.ObjectId,
103
+ // ref: 'files'
104
+ // }],
53
105
  hasReactions: {
54
- type: Schema.Types.Boolean
106
+ type: Schema.Types.Boolean,
107
+ default: false
108
+ },
109
+ updatedAt: {
110
+ type: Schema.Types.Date,
111
+ default: Date.now
112
+ }
113
+ }, {
114
+ timestamps: true,
115
+ collection: 'posts',
116
+ toJSON: {
117
+ virtuals: true
118
+ },
119
+ toObject: {
120
+ virtuals: true
55
121
  }
56
- }, commonModeSchemaOptions);
57
- addIdVirtualFields(postModelSchema);
122
+ });
123
+ // Virtual fields
124
+ postModelSchema.virtual('id').get(function () {
125
+ return this._id.toHexString();
126
+ });
127
+ // Add compound indexes for better query performance
128
+ postModelSchema.index({
129
+ channel: 1,
130
+ createdAt: -1
131
+ });
132
+ postModelSchema.index({
133
+ channel: 1,
134
+ type: 1
135
+ });
136
+ postModelSchema.index({
137
+ rootId: 1,
138
+ createdAt: -1
139
+ });
140
+ postModelSchema.index({
141
+ parentId: 1,
142
+ createdAt: -1
143
+ });
144
+ postModelSchema.index({
145
+ createdAt: -1
146
+ });
147
+ postModelSchema.index({
148
+ deletedAt: 1
149
+ });
150
+ postModelSchema.index({
151
+ editedBy: 1,
152
+ editedAt: -1
153
+ });
154
+ postModelSchema.index({
155
+ deletedBy: 1,
156
+ deletedAt: -1
157
+ });
158
+ postModelSchema.index({
159
+ files: 1
160
+ });
161
+ postModelSchema.index({
162
+ type: 1,
163
+ channel: 1,
164
+ createdAt: -1
165
+ });
166
+ // Pre-save middleware to update timestamps
167
+ postModelSchema.pre('save', function (next) {
168
+ this.updatedAt = new Date();
169
+ next();
170
+ });
171
+ // Pre-update middleware
172
+ postModelSchema.pre(['updateOne', 'findOneAndUpdate'], function (next) {
173
+ this.set({
174
+ updatedAt: new Date()
175
+ });
176
+ next();
177
+ });
58
178
  const PostModelFunc = db => db.model('posts', postModelSchema);export{PostModelFunc};//# sourceMappingURL=post.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post.js","sources":["../../../src/store/models/post.ts"],"sourcesContent":[null],"names":[],"mappings":"2GAMA,MAAM,eAAe,GAAG,IAAI,MAAM,CAC9B;WACa,EAAA;IACT,IAAQ,EAAA,MAAI,CAAI,KAAE;;AAElB,EAAA,QAAA,EAAQ;AACR,IAAA,IAAA,EAAA,MAAW,CAAE,KAAI,CAAE;AACnB,GAAA;WACM;IACN,IAAQ,EAAA,MAAI,CAAI,KAAE;;UAEX,EAAA;IACP,IAAI,EAAE,MAAM,CAAA,cAAe;IAC3B,GAAK,EAAA;;WAEI,EAAA;IACT,IAAM,EAAA,MAAQ,CAAA,cAAS;IACvB,GAAK,EAAA;;EAGT,OAAA,EAAA;AAGJ,IAAkB,IAAA,EAAA,MAAA,CAAA,KAAgB,CAAA,QAAA;AAGlC,IAAA,GAAO,EAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"post.js","sources":["../../../src/store/models/post.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { Document, Model, Connection } from 'mongoose';
2
- import { IReaction } from 'common';
3
- export type IReactionModel = Document<IReaction>;
1
+ import { Model, Connection } from 'mongoose';
2
+ import { IReactionModel } from 'common/server';
4
3
  export type ReactionModelType = Model<IReactionModel>;
5
4
  export declare const ReactionModelFunc: (db: Connection) => ReactionModelType;
@@ -1,18 +1,77 @@
1
- import {Schema}from'mongoose';import {addIdVirtualFields}from'./common-options.js';const reactionModelSchema = new Schema({
2
- createdAt: {
3
- type: Schema.Types.Date
4
- },
1
+ import {Schema}from'mongoose';import {DB_COLL_NAMES}from'common/server';const reactionModelSchema = new Schema({
5
2
  reaction: {
6
- type: Schema.Types.String
3
+ type: Schema.Types.String,
4
+ required: true,
5
+ trim: true,
6
+ index: true
7
7
  },
8
8
  user: {
9
9
  type: Schema.Types.ObjectId,
10
- ref: 'accounts'
10
+ ref: DB_COLL_NAMES.Accounts,
11
+ required: true,
12
+ index: true
11
13
  },
12
14
  post: {
13
15
  type: Schema.Types.ObjectId,
14
- ref: 'posts'
16
+ ref: 'posts',
17
+ required: true,
18
+ index: true
19
+ },
20
+ createdAt: {
21
+ type: Schema.Types.Date,
22
+ default: Date.now,
23
+ index: true
24
+ },
25
+ updatedAt: {
26
+ type: Schema.Types.Date,
27
+ default: Date.now
28
+ },
29
+ deletedAt: {
30
+ type: Schema.Types.Date,
31
+ index: true
32
+ }
33
+ }, {
34
+ timestamps: true,
35
+ collection: 'reactions',
36
+ toJSON: {
37
+ virtuals: true
38
+ },
39
+ toObject: {
40
+ virtuals: true
15
41
  }
16
42
  });
17
- addIdVirtualFields(reactionModelSchema);
43
+ // Virtual fields
44
+ reactionModelSchema.virtual('id').get(function () {
45
+ return this._id.toHexString();
46
+ });
47
+ // Add compound indexes for better query performance
48
+ reactionModelSchema.index({
49
+ post: 1,
50
+ user: 1
51
+ }, {
52
+ unique: true
53
+ });
54
+ reactionModelSchema.index({
55
+ post: 1,
56
+ reaction: 1
57
+ });
58
+ reactionModelSchema.index({
59
+ user: 1,
60
+ createdAt: -1
61
+ });
62
+ reactionModelSchema.index({
63
+ createdAt: -1
64
+ });
65
+ // Pre-save middleware to update timestamps
66
+ reactionModelSchema.pre('save', function (next) {
67
+ this.updatedAt = new Date();
68
+ next();
69
+ });
70
+ // Pre-update middleware
71
+ reactionModelSchema.pre(['updateOne', 'findOneAndUpdate'], function (next) {
72
+ this.set({
73
+ updatedAt: new Date()
74
+ });
75
+ next();
76
+ });
18
77
  const ReactionModelFunc = db => db.model('reactions', reactionModelSchema);export{ReactionModelFunc};//# sourceMappingURL=reaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reaction.js","sources":["../../../src/store/models/reaction.ts"],"sourcesContent":[null],"names":[],"mappings":"mFAMA,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAAC;WAC1B,EAAA;IACT,IAAQ,EAAA,MAAI,CAAI,KAAE;AAClB,GAAA;AACA,EAAA,QAAM,EAAE;AACX,IAAE,IAAA,EAAA,MAAA,CAAA,KAAA,CAAA;AAEH,GAAkB;AAGlB,EAAA,IAAM,EAAO;;;;;;;;;;"}
1
+ {"version":3,"file":"reaction.js","sources":["../../../src/store/models/reaction.ts"],"sourcesContent":[null],"names":[],"mappings":"wEAGA,MAAM,mBAAmB,GAAG,IAAI,MAAM,CAClC;AACI,EAAA,QAAA,EAAQ;AACJ,IAAA,IAAA,EAAA,MAAM,CAAA,KAAO,CAAA,MAAY;AACzB,IAAA,QAAA,EAAA,IAAU;AACV,IAAA,IAAA,EAAA,IAAM;AACN,IAAA,KAAA,EAAA;AACH,GAAA;AACD,EAAA,IAAA,EAAI;AACA,IAAA,IAAA,EAAA,MAAM,CAAA,KAAO,CAAA,QAAc;SACxB,aAAe,CAAA,QAAS;AAC3B,IAAA,QAAA,EAAA,IAAU;AACV,IAAA,KAAA,EAAA;AACH,GAAA;AACD,EAAA,IAAA,EAAI;AACA,IAAA,IAAA,EAAA,MAAM,CAAA,KAAO,CAAA,QAAc;AAC3B,IAAA,GAAA,EAAA,OAAY;AACZ,IAAA,QAAA,EAAA,IAAU;AACV,IAAA,KAAA,EAAA;AACH,GAAA;AACD,EAAA,SAAA,EAAS;AACL,IAAA,IAAA,EAAA,MAAM,CAAA,KAAO,CAAA,IAAM;WACZ,EAAA,IAAE,CAAI,GAAA;AACb,IAAA,KAAA,EAAA;AACH,GAAA;AACD,EAAA,SAAA,EAAS;AACL,IAAA,IAAA,EAAA,MAAM,CAAA,KAAO,CAAA,IAAM;WACZ,EAAA,IAAE,CAAI;AAChB,GAAA;AACD,EAAA,SAAA,EAAS;AACL,IAAA,IAAA,EAAA,MAAM,CAAA,KAAO,CAAA,IAAM;AACnB,IAAA,KAAA,EAAA;AACH;CACJ,EACD;AACI,EAAA,UAAA,EAAU,IAAM;AAChB,EAAA,UAAA,EAAU,WAAa;AACvB,EAAA,MAAA,EAAM;AACN,IAAA,QAAQ,EAAE;AACb,GACH;AAEF,EAAiB,QAAA,EAAA;AACjB,IAAA,QAAA,EAAA;AACI;AACJ,CAAC,CAAC;AAEF;AACA,mBAAmB,CAAC,QAAQ,IAAI,CAAA,CAAE,GAAG,CAAA,YAAa;AAClD,EAAA,OAAA,IAAA,CAAA,GAAA,CAAA,WAAgC,EAAA;AAChC,CAAA,CAAA;AACA;AAEA,mBAA2C,CAAA,KAAA,CAAA;AAC3C,EAAA,IAAA,EAAA,CAAA;AACK,EAAA,IAAA,EAAY;AACb,CAAA,EAAA;AACJ,EAAE,MAAC,EAAA;AAEH,CAAwB,CAAA;AACxB,mBAAmB,CAAC,KAAK,CAAA;MACjB,EAAA,CAAC;AACL,EAAA,QAAM,EAAC;AACX,CAAC,CAAC;AAGF,mBAAa,CAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { Connection } from 'mongoose';
2
- import { logger as Logger } from '@cdm-logger/server/lib/logger';
2
+ import { CdmLogger } from '@cdm-logger/core';
3
3
  import { IMongoOptions } from '@common-stack/store-mongo';
4
- import { IChannel } from 'common';
4
+ import { IChannel } from 'common/server';
5
5
  import { BaseRepository } from '../../base-repository';
6
6
  export declare class TeamRepository extends BaseRepository<IChannel> {
7
- constructor(db: Connection, logger: typeof Logger, options?: IMongoOptions);
7
+ constructor(db: Connection, logger: CdmLogger.ILogger, options?: IMongoOptions);
8
8
  }
@@ -0,0 +1,15 @@
1
+ import type { CdmLogger } from '@cdm-logger/core';
2
+ import mongoose from 'mongoose';
3
+ import { BaseMongoRepository } from '@common-stack/store-mongo';
4
+ import { IAiFragmentModel, IAiFragmentRepository } from 'common/server';
5
+ export declare class AiFragmentRepository extends BaseMongoRepository<IAiFragmentModel> implements IAiFragmentRepository {
6
+ constructor(db: mongoose.Connection, logger: CdmLogger.ILogger, options?: any);
7
+ findById(id: string): Promise<IAiFragmentModel | null>;
8
+ findByMessageId(messageId: string): Promise<IAiFragmentModel | null>;
9
+ findByOrgAndOwner(orgName: string, owner: string, limit?: number, skip?: number): Promise<IAiFragmentModel[]>;
10
+ updateFiles(messageId: string, files: Record<string, any>): Promise<IAiFragmentModel | null>;
11
+ deleteByMessageId(messageId: string): Promise<boolean>;
12
+ updateSandboxUrl(fragmentId: string, newSandboxUrl: string): Promise<IAiFragmentModel | null>;
13
+ updateFileSync(fragmentId: string, fileVersions: Record<string, number>, syncStatus: 'synced' | 'pending' | 'conflict' | 'error'): Promise<IAiFragmentModel | null>;
14
+ updateFilesAndSync(messageId: string, files: Record<string, any>, fileVersions: Record<string, number>, syncStatus: 'synced' | 'pending' | 'conflict' | 'error'): Promise<IAiFragmentModel | null>;
15
+ }
@@ -0,0 +1,69 @@
1
+ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import mongoose from'mongoose';import {BaseMongoRepository}from'@common-stack/store-mongo';import'../models/channel.js';import'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';import {AiFragmentModelFunc}from'../models/ai-fragment.js';let AiFragmentRepository = class AiFragmentRepository extends BaseMongoRepository {
2
+ constructor(db, logger, options) {
3
+ super(AiFragmentModelFunc, db, logger, options);
4
+ this.logger = logger.child({
5
+ className: 'AiFragmentRepository'
6
+ });
7
+ this.model = AiFragmentModelFunc(db);
8
+ }
9
+ async findById(id) {
10
+ return await this.model.findById(id);
11
+ }
12
+ async findByMessageId(messageId) {
13
+ return await this.model.findOne({
14
+ messageId
15
+ });
16
+ }
17
+ async findByOrgAndOwner(orgName, owner, limit = 20, skip = 0) {
18
+ return await this.model.find({
19
+ orgName,
20
+ owner
21
+ }).sort({
22
+ createdAt: -1
23
+ }).limit(limit).skip(skip);
24
+ }
25
+ async updateFiles(messageId, files) {
26
+ return await this.model.findOneAndUpdate({
27
+ messageId
28
+ }, {
29
+ files
30
+ }, {
31
+ new: true
32
+ });
33
+ }
34
+ async deleteByMessageId(messageId) {
35
+ const result = await this.model.findOneAndDelete({
36
+ messageId
37
+ });
38
+ return !!result;
39
+ }
40
+ async updateSandboxUrl(fragmentId, newSandboxUrl) {
41
+ return await this.model.findByIdAndUpdate(fragmentId, {
42
+ sandboxUrl: newSandboxUrl
43
+ }, {
44
+ new: true
45
+ });
46
+ }
47
+ async updateFileSync(fragmentId, fileVersions, syncStatus) {
48
+ return await this.model.findByIdAndUpdate(fragmentId, {
49
+ fileVersions,
50
+ syncStatus,
51
+ lastSyncAt: new Date()
52
+ }, {
53
+ new: true
54
+ });
55
+ }
56
+ async updateFilesAndSync(messageId, files, fileVersions, syncStatus) {
57
+ return await this.model.findOneAndUpdate({
58
+ messageId
59
+ }, {
60
+ files,
61
+ fileVersions,
62
+ syncStatus,
63
+ lastSyncAt: new Date()
64
+ }, {
65
+ new: true
66
+ });
67
+ }
68
+ };
69
+ AiFragmentRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('MongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [mongoose.Connection, Object, Object])], AiFragmentRepository);export{AiFragmentRepository};//# sourceMappingURL=ai-fragment-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-fragment-repository.js","sources":["../../../src/store/repositories/ai-fragment-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"0ZASO,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mBAAqC,CAAA;AAC3E,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,uBAAoB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC9C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;AACrB,MAAA,SAAU,EAAA;KACb,CAAA;IAED,IAAK,CAAA,KAAS,GAAA,mBAAW,CAAA,EAAA,CAAA;;QAExB,QAAA,CAAA,EAAA,EAAA;IAED,OAAqB,MAAA,IAAA,CAAA,KAAkB,CAAA,QAAA,CAAA,EAAA,CAAA;;QAEtC,eAAA,CAAA,SAAA,EAAA;IAED,OAAuB,MAAA,IAAA,CAAA,KAAA,CACnB,OAAe,CAAA;AAKf,MAAA;KACH,CAAA;AAED;QACI,iBAAiB,CAAC,OAAsB,EAAA,KAAA,EAAA,KAAA,KAAY,EAAA,IAAA,GAAA,CAAE,EAAE;IAC5D,OAAC,MAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA;MAEI,OAAkB;AACnB,MAAA;WACO,CAAA;MACV,SAAA,EAAA;AAED,KAAA,CAAA,CAAA,KAAM,CAAA,KAAA,CAAA,CAAA,IAAA,CAAA,IAAiB,CAAA;;QAEtB,WAAA,CAAA,SAAA,EAAA,KAAA,EAAA;AAED,IAAA,OAAoB,MAAA,IAAA,CAAA,sBAEhB,CAAA;;;;;AASK,MAAA,GAAA,EACD;KAEP,CAAA;;QAQG,iBAAiB,CAAC;gBAGL,GAAA,MAAA,IAAA,CAAA,KAAA,CAAA,gBAAA,CAAA;;;YAGL,CAAU,MAAA;AACb;QAGR,gBAAA,CAAA,UAAA,EAAA,aAAA,EAAA;IACJ,OAAA,MAAA,IAAA,CAAA,KAAA,CAAA,iBAAA,CAAA,UAAA,EAAA;AA9EY,MAAoB,UAAA,EAAA;AADhC,KAAA,EAAA;AAGQ,MAAA,GAAA,EAAA;AAEA,KAAA,CAAA;AAEA;QACA,cAAA,CAAQ,UAAE,EAAA,YAAA,EAAA,UAAA,EAAA;AAJP,IAAA,OAAA,MAAA,IAAA,CAAA,KAAA,CAAA,iBAAQ,CAAC,UAAU,EAAA;AAHlB,MAAA,YAAA;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
- import { Connection } from 'mongoose';
2
- import { logger as Logger } from '@cdm-logger/server/lib/logger';
3
- import { IMongoOptions, BaseRepository } from '@common-stack/store-mongo';
4
- import { IChannel, IChannelRepository } from 'common';
5
- export declare class ChannelRepository extends BaseRepository<IChannel> implements IChannelRepository {
6
- constructor(db: Connection, logger: typeof Logger, options?: IMongoOptions);
1
+ import type { CdmLogger } from '@cdm-logger/core';
2
+ import mongoose from 'mongoose';
3
+ import { BaseMongoRepository } from '@common-stack/store-mongo';
4
+ import { IChannelRepository, IChannelModel } from 'common/server';
5
+ export declare class ChannelRepository extends BaseMongoRepository<IChannelModel> implements IChannelRepository {
6
+ constructor(db: mongoose.Connection, logger: CdmLogger.ILogger, options?: any);
7
7
  }
@@ -1,6 +1,9 @@
1
- import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import {Connection}from'mongoose';import {BaseRepository}from'@common-stack/store-mongo';import {ChannelModelFunc}from'../models/channel.js';import'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';let ChannelRepository = class ChannelRepository extends BaseRepository {
1
+ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import mongoose from'mongoose';import {BaseMongoRepository}from'@common-stack/store-mongo';import {ChannelModelFunc}from'../models/channel.js';import'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';import'../models/ai-fragment.js';let ChannelRepository = class ChannelRepository extends BaseMongoRepository {
2
2
  constructor(db, logger, options) {
3
3
  super(ChannelModelFunc, db, logger, options);
4
+ this.logger = logger.child({
5
+ className: 'ChannelRepository'
6
+ });
4
7
  }
5
8
  };
6
- ChannelRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('IMongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [Connection, Object, Object])], ChannelRepository);export{ChannelRepository};//# sourceMappingURL=channel-repository.js.map
9
+ ChannelRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('MongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [mongoose.Connection, Object, Object])], ChannelRepository);export{ChannelRepository};//# sourceMappingURL=channel-repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel-repository.js","sources":["../../../src/store/repositories/channel-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"oXASO,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,cAAwB,CAAA;AAC3D,EAAA,WAAA,CAAA,EAEI,EAAc,MAEO,EAAA,OAGE,EAAA;SAElB,CAAA,oBAAiB,EAAE,MAAU,EAAA,OAAS,CAAA;;;AAVtC,iBAAiB,GAAA,UAAA,CAAA,CAAA,UAAA,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,iBAAA,CAAA"}
1
+ {"version":3,"file":"channel-repository.js","sources":["../../../src/store/repositories/channel-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"uZASO,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,mBAAkC,CAAA;AACrE,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,oBAAiB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC3C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,iBAAM,GAAA,UAAoB,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,iBAAA,CAAA"}
@@ -2,3 +2,4 @@ export * from './channel-repository';
2
2
  export * from './post-repository';
3
3
  export * from './post-thread-repository';
4
4
  export * from './reaction-repository';
5
+ export * from './ai-fragment-repository';
@@ -1,7 +1,7 @@
1
- import { Connection } from 'mongoose';
2
- import { logger as Logger } from '@cdm-logger/server/lib/logger';
3
- import { IMongoOptions, BaseRepository } from '@common-stack/store-mongo';
4
- import { IPost, IPostRepository } from 'common';
5
- export declare class PostRepository extends BaseRepository<IPost> implements IPostRepository {
6
- constructor(db: Connection, logger: typeof Logger, options?: IMongoOptions);
1
+ import type { CdmLogger } from '@cdm-logger/core';
2
+ import mongoose from 'mongoose';
3
+ import { BaseMongoRepository } from '@common-stack/store-mongo';
4
+ import { IPostRepository, IPostModel } from 'common/server';
5
+ export declare class PostRepository extends BaseMongoRepository<IPostModel> implements IPostRepository {
6
+ constructor(db: mongoose.Connection, logger: CdmLogger.ILogger, options?: any);
7
7
  }
@@ -1,6 +1,9 @@
1
- import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import {Connection}from'mongoose';import {BaseRepository}from'@common-stack/store-mongo';import'../models/channel.js';import {PostModelFunc}from'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';let PostRepository = class PostRepository extends BaseRepository {
1
+ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import mongoose from'mongoose';import {BaseMongoRepository}from'@common-stack/store-mongo';import'../models/channel.js';import {PostModelFunc}from'../models/post.js';import'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';import'../models/ai-fragment.js';let PostRepository = class PostRepository extends BaseMongoRepository {
2
2
  constructor(db, logger, options) {
3
3
  super(PostModelFunc, db, logger, options);
4
+ this.logger = logger.child({
5
+ className: 'PostRepository'
6
+ });
4
7
  }
5
8
  };
6
- PostRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('IMongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [Connection, Object, Object])], PostRepository);export{PostRepository};//# sourceMappingURL=post-repository.js.map
9
+ PostRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('MongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [mongoose.Connection, Object, Object])], PostRepository);export{PostRepository};//# sourceMappingURL=post-repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-repository.js","sources":["../../../src/store/repositories/post-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"iXASO,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,cAAqB,CAAA;AACrD,EAAA,WAAA,CAAA,EAEI,EAAc,MAEO,EAAA,OAGE,EAAA;SAElB,CAAA,iBAAc,EAAE,MAAU,EAAA,OAAS,CAAA;;;AAVnC,cAAc,GAAA,UAAA,CAAA,CAAA,UAAA,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,cAAA,CAAA"}
1
+ {"version":3,"file":"post-repository.js","sources":["../../../src/store/repositories/post-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"oZASO,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,mBAA+B,CAAA;AAC/D,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,iBAAc,EAAE,MAAU,EAAA,OAAS,CAAA;AACxC,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,cAAA,GAAM,UAAoB,CAAA,CAAA,UAAA,EAAA,EAAC,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,cAAA,CAAA"}
@@ -1,7 +1,7 @@
1
- import { Connection } from 'mongoose';
2
- import { logger as Logger } from '@cdm-logger/server/lib/logger';
3
- import { IMongoOptions, BaseRepository } from '@common-stack/store-mongo';
4
- import { IPostThread, IPostThreadRepository } from 'common';
5
- export declare class PostThreadRepository extends BaseRepository<IPostThread> implements IPostThreadRepository {
6
- constructor(db: Connection, logger: typeof Logger, options?: IMongoOptions);
1
+ import type { CdmLogger } from '@cdm-logger/core';
2
+ import mongoose from 'mongoose';
3
+ import { BaseMongoRepository } from '@common-stack/store-mongo';
4
+ import { IPostThreadRepository, IPostThreadModel } from 'common/server';
5
+ export declare class PostThreadRepository extends BaseMongoRepository<IPostThreadModel> implements IPostThreadRepository {
6
+ constructor(db: mongoose.Connection, logger: CdmLogger.ILogger, options?: any);
7
7
  }
@@ -1,6 +1,9 @@
1
- import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import {Connection}from'mongoose';import {BaseRepository}from'@common-stack/store-mongo';import'../models/channel.js';import'../models/post.js';import {PostThreadModelFunc}from'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';let PostThreadRepository = class PostThreadRepository extends BaseRepository {
1
+ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import mongoose from'mongoose';import {BaseMongoRepository}from'@common-stack/store-mongo';import'../models/channel.js';import'../models/post.js';import {PostThreadModelFunc}from'../models/post-thread.js';import'../models/reaction.js';import'../models/account-token-store.js';import'../models/ai-fragment.js';let PostThreadRepository = class PostThreadRepository extends BaseMongoRepository {
2
2
  constructor(db, logger, options) {
3
3
  super(PostThreadModelFunc, db, logger, options);
4
+ this.logger = logger.child({
5
+ className: 'PostThreadRepository'
6
+ });
4
7
  }
5
8
  };
6
- PostThreadRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('IMongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [Connection, Object, Object])], PostThreadRepository);export{PostThreadRepository};//# sourceMappingURL=post-thread-repository.js.map
9
+ PostThreadRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('MongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [mongoose.Connection, Object, Object])], PostThreadRepository);export{PostThreadRepository};//# sourceMappingURL=post-thread-repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-thread-repository.js","sources":["../../../src/store/repositories/post-thread-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"uXASO,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,cAA2B,CAAA;AACjE,EAAA,WAAA,CAAA,EAEI,EAAc,MAEO,EAAA,OAGE,EAAA;SAElB,CAAA,uBAAoB,EAAE,MAAU,EAAA,OAAS,CAAA;;;AAVzC,oBAAoB,GAAA,UAAA,CAAA,CAAA,UAAA,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,oBAAA,CAAA"}
1
+ {"version":3,"file":"post-thread-repository.js","sources":["../../../src/store/repositories/post-thread-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"0ZASO,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mBAAqC,CAAA;AAC3E,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,uBAAoB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC9C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,oBAAM,GAAoB,UAAA,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,oBAAA,CAAA"}
@@ -1,7 +1,7 @@
1
- import { IReaction, IReactionInput, IReactionRepository } from 'common';
2
- import { Connection } from 'mongoose';
3
- import { logger as Logger } from '@cdm-logger/server';
4
- import { IMongoOptions, BaseRepository } from '@common-stack/store-mongo';
5
- export declare class ReactionRepository extends BaseRepository<IReaction, IReactionInput> implements IReactionRepository {
6
- constructor(db: Connection, logger: typeof Logger, options?: IMongoOptions);
1
+ import type { CdmLogger } from '@cdm-logger/core';
2
+ import mongoose from 'mongoose';
3
+ import { BaseMongoRepository } from '@common-stack/store-mongo';
4
+ import { IReactionRepository, IReactionModel } from 'common/server';
5
+ export declare class ReactionRepository extends BaseMongoRepository<IReactionModel> implements IReactionRepository {
6
+ constructor(db: mongoose.Connection, logger: CdmLogger.ILogger, options?: any);
7
7
  }
@@ -1,6 +1,9 @@
1
- import {__decorate,__param,__metadata}from'tslib';import {inject,optional}from'inversify';import {Connection}from'mongoose';import {BaseRepository}from'@common-stack/store-mongo';import'../models/channel.js';import'../models/post.js';import'../models/post-thread.js';import {ReactionModelFunc}from'../models/reaction.js';import'../models/account-token-store.js';let ReactionRepository = class ReactionRepository extends BaseRepository {
1
+ import {__decorate,__param,__metadata}from'tslib';import {injectable,inject,optional}from'inversify';import mongoose from'mongoose';import {BaseMongoRepository}from'@common-stack/store-mongo';import'../models/channel.js';import'../models/post.js';import'../models/post-thread.js';import {ReactionModelFunc}from'../models/reaction.js';import'../models/account-token-store.js';import'../models/ai-fragment.js';let ReactionRepository = class ReactionRepository extends BaseMongoRepository {
2
2
  constructor(db, logger, options) {
3
3
  super(ReactionModelFunc, db, logger, options);
4
+ this.logger = logger.child({
5
+ className: 'ReactionRepository'
6
+ });
4
7
  }
5
8
  };
6
- ReactionRepository = __decorate([__param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('IMongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [Connection, Object, Object])], ReactionRepository);export{ReactionRepository};//# sourceMappingURL=reaction-repository.js.map
9
+ ReactionRepository = __decorate([injectable(), __param(0, inject('MongoDBConnection')), __param(1, inject('Logger')), __param(2, inject('MongoOptions')), __param(2, optional()), __metadata("design:paramtypes", [mongoose.Connection, Object, Object])], ReactionRepository);export{ReactionRepository};//# sourceMappingURL=reaction-repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reaction-repository.js","sources":["../../../src/store/repositories/reaction-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"0WAOA,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,cAAyC,CAAA;AAC7E,EAAA,WAAA,CAAA,EAEI,EAAc,MAEO,EAAA,OAGE,EAAA;SAElB,CAAA,qBAA2B,EAAE,MAAU,EAAA,OAAS,CAAA;;;AAVhD,kBAAkB,GAAA,UAAA,CAAA,CAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,eAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,kBAAA,CAAA"}
1
+ {"version":3,"file":"reaction-repository.js","sources":["../../../src/store/repositories/reaction-repository.ts"],"sourcesContent":[null],"names":[],"mappings":"wZASO,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,mBAAmC,CAAA;AACvE,EAAA,WAAA,CAAA,EAEI,EAAuB,MAEE,EAAA,OAGZ,EAAA;SAER,CAAA,qBAAkB,EAAE,MAAU,EAAA,OAAS,CAAA;AAC5C,IAAA,IAAA,CAAA,MAAK,GAAA,MAAS,CAAA,KAAO,CAAA;MACxB,SAAA,EAAA;KACJ,CAAA;AAbY;AADZ;AAGQ,kBAAM,GAAA,UAAoB,CAAA,CAAA,UAAC,EAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,mBAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,QAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,MAAA,CAAA,cAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,UAAA,CAAA,mBAAA,EAAA,CAAA,QAAA,CAAA,UAAA,EAAA,MAAA,EAAA,MAAA,CAAA,CAAA,CAAA,EAAA,kBAAA,CAAA"}
@@ -1,17 +1,17 @@
1
1
 
2
2
  export const SERVER_TYPES = {
3
- BaseRepository: Symbol('BaseRepository'),
4
- BaseService: Symbol('BaseService'),
5
-
6
3
  ChannelRepository: Symbol('ChannelRepository'),
7
4
  PostRepository: Symbol('PostRepository'),
8
5
  PostThreadRepository: Symbol('PostThreadRepository'),
9
6
  ReactionRepository: Symbol('ReactionRepository'),
10
-
7
+ AiFragmentRepository: Symbol('AiFragmentRepository'),
11
8
  ChannelService: Symbol('ChannelService'),
12
9
  PostService: Symbol('PostService'),
13
10
  PostThreadService: Symbol('PostThreadService'),
14
11
  ReactionService: Symbol('ReactionService'),
15
12
  MessengerNotificationService: Symbol('MessengerNotificationService'),
16
13
  ExtendedTokenAccountService: Symbol('ExtendedTokenAccountService'),
14
+ InngestHandler: Symbol.for('InngestHandler'),
15
+ SandboxErrorService: Symbol.for('SandboxErrorService'),
16
+ AiFragmentService: Symbol.for('AiFragmentService'),
17
17
  }
@@ -0,0 +1,4 @@
1
+ import { IBaseMongoRepository,IAiFragmentModel } from 'common/server';
2
+
3
+
4
+ export type IAiFragmentRepository = IBaseMongoRepository<IAiFragmentModel>;
@@ -1,4 +1,4 @@
1
- import { IChannel } from 'common';
2
- import { IBaseRepository } from '@common-stack/store-mongo';
1
+ import { IBaseMongoRepository,IChannelModel } from 'common/server';
3
2
 
4
- export type IChannelRepository = IBaseRepository<IChannel>;
3
+
4
+ export type IChannelRepository = IBaseMongoRepository<IChannelModel>;
@@ -1,4 +1,4 @@
1
- import { IPost } from 'common';
2
- import { IBaseRepository } from '@common-stack/store-mongo';
1
+ import { IBaseMongoRepository,IPostModel } from 'common/server';
3
2
 
4
- export type IPostRepository = IBaseRepository<IPost>;
3
+
4
+ export type IPostRepository = IBaseMongoRepository<IPostModel>;
@@ -1,4 +1,4 @@
1
- import { IPostThread } from 'common';
2
- import { IBaseRepository } from '@common-stack/store-mongo';
1
+ import { IBaseMongoRepository,IPostThreadModel } from 'common/server';
3
2
 
4
- export type IPostThreadRepository = IBaseRepository<IPostThread>;
3
+
4
+ export type IPostThreadRepository = IBaseMongoRepository<IPostThreadModel>;