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

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 (149) hide show
  1. package/lib/containers/containers.js +4 -1
  2. package/lib/containers/containers.js.map +1 -1
  3. package/lib/containers/context-services-from-container.d.ts +1 -1
  4. package/lib/containers/context-services-from-container.js +1 -1
  5. package/lib/containers/context-services-from-container.js.map +1 -1
  6. package/lib/graphql/resolvers/channel-member.d.ts +3 -2
  7. package/lib/graphql/resolvers/channel-member.js +30 -5
  8. package/lib/graphql/resolvers/channel-member.js.map +1 -1
  9. package/lib/graphql/resolvers/channel.d.ts +3 -2
  10. package/lib/graphql/resolvers/channel.js +279 -53
  11. package/lib/graphql/resolvers/channel.js.map +1 -1
  12. package/lib/graphql/resolvers/extended-token-account.d.ts +3 -2
  13. package/lib/graphql/resolvers/extended-token-account.js +90 -23
  14. package/lib/graphql/resolvers/extended-token-account.js.map +1 -1
  15. package/lib/graphql/resolvers/index.d.ts +1 -1
  16. package/lib/graphql/resolvers/post-thread.d.ts +1 -1
  17. package/lib/graphql/resolvers/post-thread.js +294 -132
  18. package/lib/graphql/resolvers/post-thread.js.map +1 -1
  19. package/lib/graphql/resolvers/post.d.ts +2 -3
  20. package/lib/graphql/resolvers/post.js +696 -234
  21. package/lib/graphql/resolvers/post.js.map +1 -1
  22. package/lib/graphql/resolvers/reaction.d.ts +3 -2
  23. package/lib/graphql/resolvers/reaction.js +96 -14
  24. package/lib/graphql/resolvers/reaction.js.map +1 -1
  25. package/lib/graphql/schema/channel-member.graphql +110 -21
  26. package/lib/graphql/schema/channel-member.graphql.js +1 -1
  27. package/lib/graphql/schema/channel.graphql +337 -38
  28. package/lib/graphql/schema/channel.graphql.js +1 -1
  29. package/lib/graphql/schema/post-thread.graphql +167 -21
  30. package/lib/graphql/schema/post-thread.graphql.js +1 -1
  31. package/lib/graphql/schema/post.graphql +284 -40
  32. package/lib/graphql/schema/post.graphql.js +1 -1
  33. package/lib/graphql/schema/reaction.graphql +71 -13
  34. package/lib/graphql/schema/reaction.graphql.js +1 -1
  35. package/lib/graphql/schema/services.graphql +2 -0
  36. package/lib/graphql/schema/users.graphql +76 -13
  37. package/lib/graphql/schema/users.graphql.js +1 -1
  38. package/lib/index.js +1 -1
  39. package/lib/index.js.map +1 -1
  40. package/lib/interfaces/index.d.ts +0 -1
  41. package/lib/interfaces/services.d.ts +1 -1
  42. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.d.ts +17 -0
  43. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js +44 -0
  44. package/lib/migrations/dbMigrations/AddPostsConfigurationsMigration.js.map +1 -0
  45. package/lib/migrations/dbMigrations/index.d.ts +1 -0
  46. package/lib/migrations/index.d.ts +1 -0
  47. package/lib/migrations/mail-template-migration.js +1 -1
  48. package/lib/migrations/message-notification-template-migration.d.ts +1 -1
  49. package/lib/migrations/message-notification-template-migration.js +1 -1
  50. package/lib/plugins/channel-moleculer-service.d.ts +21 -1
  51. package/lib/plugins/channel-moleculer-service.js +417 -115
  52. package/lib/plugins/channel-moleculer-service.js.map +1 -1
  53. package/lib/plugins/extended-token-account-moleculer-service.d.ts +25 -1
  54. package/lib/plugins/extended-token-account-moleculer-service.js +348 -22
  55. package/lib/plugins/extended-token-account-moleculer-service.js.map +1 -1
  56. package/lib/plugins/messenger-notification-moleculer-service.d.ts +27 -3
  57. package/lib/plugins/messenger-notification-moleculer-service.js +404 -58
  58. package/lib/plugins/messenger-notification-moleculer-service.js.map +1 -1
  59. package/lib/plugins/post-moleculer-service.d.ts +85 -21
  60. package/lib/plugins/post-moleculer-service.js +986 -256
  61. package/lib/plugins/post-moleculer-service.js.map +1 -1
  62. package/lib/plugins/post-thread-moleculer-service.d.ts +33 -1
  63. package/lib/plugins/post-thread-moleculer-service.js +326 -8
  64. package/lib/plugins/post-thread-moleculer-service.js.map +1 -1
  65. package/lib/plugins/reaction-moleculer-service.js +1 -1
  66. package/lib/plugins/reaction-moleculer-service.js.map +1 -1
  67. package/lib/preferences/settings/post-settings.d.ts +2 -0
  68. package/lib/preferences/settings/post-settings.js +47 -9
  69. package/lib/preferences/settings/post-settings.js.map +1 -1
  70. package/lib/services/channel-service.d.ts +179 -33
  71. package/lib/services/channel-service.js +821 -274
  72. package/lib/services/channel-service.js.map +1 -1
  73. package/lib/services/extended-token-account-service.d.ts +130 -14
  74. package/lib/services/extended-token-account-service.js +462 -52
  75. package/lib/services/extended-token-account-service.js.map +1 -1
  76. package/lib/services/index.d.ts +1 -0
  77. package/lib/services/messenger-notification-service.d.ts +106 -13
  78. package/lib/services/messenger-notification-service.js +824 -442
  79. package/lib/services/messenger-notification-service.js.map +1 -1
  80. package/lib/services/post-service.d.ts +182 -16
  81. package/lib/services/post-service.js +731 -115
  82. package/lib/services/post-service.js.map +1 -1
  83. package/lib/services/post-thread-service.d.ts +114 -5
  84. package/lib/services/post-thread-service.js +400 -13
  85. package/lib/services/post-thread-service.js.map +1 -1
  86. package/lib/services/proxy-services/channel-microservice.d.ts +5 -3
  87. package/lib/services/proxy-services/channel-microservice.js +19 -10
  88. package/lib/services/proxy-services/channel-microservice.js.map +1 -1
  89. package/lib/services/proxy-services/messenger-notification-microservice.d.ts +128 -8
  90. package/lib/services/proxy-services/messenger-notification-microservice.js +324 -29
  91. package/lib/services/proxy-services/messenger-notification-microservice.js.map +1 -1
  92. package/lib/services/proxy-services/post-microservice.d.ts +186 -12
  93. package/lib/services/proxy-services/post-microservice.js +543 -54
  94. package/lib/services/proxy-services/post-microservice.js.map +1 -1
  95. package/lib/services/proxy-services/post-thread-microservice.d.ts +134 -3
  96. package/lib/services/proxy-services/post-thread-microservice.js +388 -6
  97. package/lib/services/proxy-services/post-thread-microservice.js.map +1 -1
  98. package/lib/services/proxy-services/reaction-microservice.d.ts +161 -3
  99. package/lib/services/proxy-services/reaction-microservice.js +474 -2
  100. package/lib/services/proxy-services/reaction-microservice.js.map +1 -1
  101. package/lib/services/reaction-service.d.ts +124 -4
  102. package/lib/services/reaction-service.js +415 -3
  103. package/lib/services/reaction-service.js.map +1 -1
  104. package/lib/services/redis-cache-manager.d.ts +18 -0
  105. package/lib/services/redis-cache-manager.js +83 -0
  106. package/lib/services/redis-cache-manager.js.map +1 -0
  107. package/lib/store/models/account-token-store.d.ts +1 -1
  108. package/lib/store/models/account-token-store.js.map +1 -1
  109. package/lib/store/models/channel.d.ts +2 -3
  110. package/lib/store/models/channel.js +181 -72
  111. package/lib/store/models/channel.js.map +1 -1
  112. package/lib/store/models/post-thread.d.ts +3 -3
  113. package/lib/store/models/post-thread.js +96 -14
  114. package/lib/store/models/post-thread.js.map +1 -1
  115. package/lib/store/models/post.d.ts +2 -3
  116. package/lib/store/models/post.js +143 -23
  117. package/lib/store/models/post.js.map +1 -1
  118. package/lib/store/models/reaction.d.ts +2 -3
  119. package/lib/store/models/reaction.js +67 -8
  120. package/lib/store/models/reaction.js.map +1 -1
  121. package/lib/store/repositories/__tests__/__fixtures__/team-repository.d.ts +3 -3
  122. package/lib/store/repositories/channel-repository.d.ts +6 -6
  123. package/lib/store/repositories/channel-repository.js +5 -2
  124. package/lib/store/repositories/channel-repository.js.map +1 -1
  125. package/lib/store/repositories/post-repository.d.ts +6 -6
  126. package/lib/store/repositories/post-repository.js +5 -2
  127. package/lib/store/repositories/post-repository.js.map +1 -1
  128. package/lib/store/repositories/post-thread-repository.d.ts +6 -6
  129. package/lib/store/repositories/post-thread-repository.js +5 -2
  130. package/lib/store/repositories/post-thread-repository.js.map +1 -1
  131. package/lib/store/repositories/reaction-repository.d.ts +6 -6
  132. package/lib/store/repositories/reaction-repository.js +5 -2
  133. package/lib/store/repositories/reaction-repository.js.map +1 -1
  134. package/lib/templates/constants/SERVER_TYPES.ts.template +0 -3
  135. package/lib/templates/repositories/ChannelRepository.ts.template +3 -3
  136. package/lib/templates/repositories/PostRepository.ts.template +3 -3
  137. package/lib/templates/repositories/PostThreadRepository.ts.template +3 -3
  138. package/lib/templates/repositories/ReactionRepository.ts.template +3 -4
  139. package/lib/templates/services/ChannelService.ts.template +280 -39
  140. package/lib/templates/services/ExtendedTokenAccountService.ts.template +104 -9
  141. package/lib/templates/services/MessengerNotificationService.ts.template +94 -19
  142. package/lib/templates/services/PostService.ts.template +184 -20
  143. package/lib/templates/services/PostThreadService.ts.template +151 -6
  144. package/lib/templates/services/ReactionService.ts.template +129 -3
  145. package/lib/templates/services/RedisCacheManager.ts.template +22 -0
  146. package/package.json +6 -5
  147. package/lib/interfaces/context.d.ts +0 -14
  148. package/lib/store/models/common-options.js +0 -20
  149. package/lib/store/models/common-options.js.map +0 -1
@@ -1,139 +1,438 @@
1
- type Channel implements IBaseRepo {
2
- id: String!
3
- title: String
4
- topic: String
5
- orgName: String
6
- purpose: String
7
- description: String
8
- displayName: String
9
- team: AccountTeam
10
- lastPostAt: DateTime
11
- totalMsgCount: Int
12
- totalMsgCountRoot: Int
13
- creator: UserAccount
14
- members: [ChannelMember]
15
- type: String
16
- createdAt: DateTime
17
- updatedAt: DateTime
18
- deletedAt: DateTime
1
+ """
2
+ Channel: A communication channel within an organization or team.
3
+ """
4
+ type Channel implements IBaseRepo @entity {
5
+ """
6
+ Unique identifier for the channel
7
+ """
8
+ id: String! @id
9
+
10
+ """
11
+ Channel title/name
12
+ """
13
+ title: String @column
14
+
15
+ """
16
+ Channel topic
17
+ """
18
+ topic: String @column
19
+
20
+ """
21
+ Organization name
22
+ """
23
+ organization: Organization! @column(overrideType: "ObjectId")
24
+ orgName: String @column
25
+
26
+ """
27
+ Channel purpose
28
+ """
29
+ purpose: String @column
30
+
31
+ """
32
+ Channel description
33
+ """
34
+ description: String @column
35
+
36
+ """
37
+ Display name
38
+ """
39
+ displayName: String @column
40
+
41
+ """
42
+ Associated team
43
+ """
44
+ team: AccountTeam @column(overrideType: "ObjectId")
45
+
46
+ """
47
+ Last post timestamp
48
+ """
49
+ lastPostAt: DateTime @column(overrideType: "Date")
50
+
51
+ """
52
+ Total message count
53
+ """
54
+ totalMsgCount: Int @column
55
+
56
+ """
57
+ Total root message count
58
+ """
59
+ totalMsgCountRoot: Int @column
60
+
61
+ """
62
+ Channel creator
63
+ """
64
+ creator: UserAccount @column(overrideType: "ObjectId")
65
+
66
+ """
67
+ Channel members
68
+ """
69
+ members: [ChannelMember] @column(overrideType: "ObjectId[]")
70
+
71
+ """
72
+ Channel type
73
+ """
74
+ type: String @column
75
+
76
+ """
77
+ Last message in the channel
78
+ """
79
+ lastMessage: Post @column(overrideType: "ObjectId")
80
+
81
+ """
82
+ Creation timestamp
83
+ """
84
+ createdAt: DateTime @column(overrideType: "Date")
85
+
86
+ """
87
+ Last update timestamp
88
+ """
89
+ updatedAt: DateTime @column(overrideType: "Date")
90
+
91
+ """
92
+ Deletion timestamp
93
+ """
94
+ deletedAt: DateTime @column(overrideType: "Date")
19
95
  }
20
96
 
97
+ """
98
+ Channel unread message information
99
+ """
21
100
  type ChannelUnread {
22
- teamId: String
23
- channelId: String
24
- msgCount: Int
25
- mentionCount: Int
101
+ """
102
+ Team identifier
103
+ """
104
+ teamId: String
105
+
106
+ """
107
+ Channel identifier
108
+ """
109
+ channelId: String
110
+
111
+ """
112
+ Unread message count
113
+ """
114
+ msgCount: Int
115
+
116
+ """
117
+ Mention count
118
+ """
119
+ mentionCount: Int
120
+
121
+ """
122
+ Root mention count
123
+ """
26
124
  mentionCountRoot: Int
27
- msgCountRoot: Int
28
- notifyProps: AnyObject
125
+
126
+ """
127
+ Root message count
128
+ """
129
+ msgCountRoot: Int
130
+
131
+ """
132
+ Notification properties
133
+ """
134
+ notifyProps: AnyObject
29
135
  }
30
136
 
31
-
137
+ """
138
+ Channel filter input for queries
139
+ """
32
140
  input ChannelFilterInput {
141
+ """
142
+ Filter by name
143
+ """
33
144
  nameFilter: String
145
+
146
+ """
147
+ Filter by privacy level
148
+ """
34
149
  privacy: ChannelPrivacy
150
+
151
+ """
152
+ Filter joined channels only
153
+ """
35
154
  joinedChannels: Boolean
155
+
156
+ """
157
+ Sort order
158
+ """
36
159
  storyBy: ChannelSort
37
160
  }
38
161
 
162
+ """
163
+ Channel name and direct message input
164
+ """
39
165
  input ChannelNameAndDirect {
166
+ """
167
+ Channel name
168
+ """
40
169
  name: String!
170
+
171
+ """
172
+ Is direct message
173
+ """
41
174
  direct: Boolean!
42
175
  }
43
176
 
177
+ """
178
+ Channel create request input
179
+ """
180
+ input ChannelCreateRequest {
181
+ """
182
+ Channel name
183
+ """
184
+ name: String!
185
+
186
+ """
187
+ Channel description
188
+ """
189
+ description: String!
190
+
191
+ """
192
+ Channel type
193
+ """
194
+ type: RoomType
195
+
196
+ """
197
+ Associated team
198
+ """
199
+ team: String
200
+ }
201
+
202
+ """
203
+ Channel update request input
204
+ """
205
+ input ChannelUpdateRequest {
206
+ """
207
+ Channel ID
208
+ """
209
+ id: ID!
210
+
211
+ """
212
+ Channel title
213
+ """
214
+ title: String
215
+
216
+ """
217
+ Channel description
218
+ """
219
+ description: String
220
+
221
+ """
222
+ Channel type
223
+ """
224
+ type: RoomType
225
+ }
226
+
227
+ """
228
+ Direct channel create request input
229
+ """
230
+ input DirectChannelCreateRequest {
231
+ """
232
+ Receiver user IDs
233
+ """
234
+ receiver: [ID]!
235
+
236
+ """
237
+ Display name
238
+ """
239
+ displayName: String!
240
+
241
+ """
242
+ Channel options
243
+ """
244
+ channelOptions: AnyObject
245
+ }
246
+
247
+ """
248
+ Channel sorting options
249
+ """
44
250
  enum ChannelSort {
251
+ """
252
+ Sort by name
253
+ """
45
254
  NAME
255
+
256
+ """
257
+ Sort by number of messages
258
+ """
46
259
  NUMBER_OF_MESSAGES
47
260
  }
48
261
 
262
+ """
263
+ Channel privacy levels
264
+ """
49
265
  enum ChannelPrivacy {
266
+ """
267
+ Private channels
268
+ """
50
269
  PRIVATE
270
+
271
+ """
272
+ Public channels
273
+ """
51
274
  PUBLIC
275
+
276
+ """
277
+ All channels
278
+ """
52
279
  ALL
53
280
  }
54
281
 
282
+ """
283
+ Room/Channel types
284
+ """
55
285
  enum RoomType {
56
286
  """
57
287
  SERVICE Channel with number of users - Only members from same organization
58
288
  """
59
289
  SERVICE
290
+
291
+ """
292
+ AI Assistant channels
293
+ """
294
+ AIASSISTANT
295
+
60
296
  """
61
297
  Normal Channel with number of users - Only members from same organization
62
298
  """
63
299
  CHANNEL
300
+
64
301
  """
65
302
  Direct User to User conversations, with two or more participants - Only members from same organization
66
303
  """
67
304
  DIRECT
305
+
68
306
  """
69
307
  Channels with Private Visibility - Only members from same organization
70
308
  """
71
309
  PRIVATE
310
+
72
311
  """
73
312
  Channels with Public Visibility - Members from other organizations can join
74
313
  """
75
314
  PUBLIC
76
315
 
77
- # Concept needs clarification
316
+ """
317
+ Group channels
318
+ """
78
319
  GROUP
320
+
321
+ """
322
+ Visitor channels
323
+ """
79
324
  VISITOR
80
325
  }
81
326
 
82
327
  extend type Query {
328
+ """
329
+ Get channel by name
330
+ """
83
331
  channelByName(name: String!): Channel @addAccountContext @isAuthenticated
332
+
333
+ """
334
+ Get channels with filtering
335
+ """
84
336
  channels(filter: ChannelFilterInput = {
85
337
  privacy: ALL,
86
338
  joinedChannels: false,
87
339
  sortyBy: NAME
88
340
  }): [Channel] @addAccountContext @isAuthenticated
341
+
342
+ """
343
+ Get channels by user with criteria
344
+ """
89
345
  channelsByUser(
90
346
  role: String
91
- criteria:AnyObject,
92
- limit:Int,
93
- skip:Int,
94
- sort:Sort
347
+ criteria: AnyObject,
348
+ limit: Int,
349
+ skip: Int,
350
+ sort: Sort
95
351
  ): [Channel] @addAccountContext @isAuthenticated
352
+
353
+ """
354
+ Get support service channels
355
+ """
96
356
  supportServiceChannels(
97
357
  role: String
98
- criteria:AnyObject,
99
- limit:Int,
100
- skip:Int,
101
- sort:Sort
358
+ criteria: AnyObject,
359
+ limit: Int,
360
+ skip: Int,
361
+ sort: Sort
102
362
  ): [Channel] @addAccountContext @isAuthenticated
363
+
364
+ """
365
+ Get direct channel by ID
366
+ """
103
367
  directChannel(id: ID!): Channel @addAccountContext @isAuthenticated
368
+
369
+ """
370
+ View channel detail
371
+ """
104
372
  viewChannelDetail(id: String): Channel @addAccountContext @isAuthenticated
105
- # viewChannelDetail(id: String!): Channel @addAccountContext @isAuthenticated
106
373
  }
107
374
 
108
375
  extend type Mutation {
376
+ """
377
+ Create a new channel
378
+ """
109
379
  createChannel(
110
380
  name: String!,
111
- description:String!
381
+ description: String!
112
382
  type: RoomType
113
383
  team: String
114
384
  ): Channel @addAccountContext @isAuthenticated
115
385
 
386
+ """
387
+ Add member to channel
388
+ """
116
389
  addMemberToChannel(
117
390
  channelId: String!,
118
391
  memberId: String!
119
392
  ): Channel @addAccountContext @isAuthenticated
120
393
 
394
+ """
395
+ Save multiple members to channel
396
+ """
121
397
  saveMembersToChannel(
122
398
  membersIds: [String]!
123
399
  channelId: String!,
124
400
  ): Channel @addAccountContext @isAuthenticated
125
401
 
402
+ """
403
+ Create direct message channel
404
+ """
126
405
  createDirectChannel(
127
406
  receiver: [ID]!
128
407
  displayName: String!
129
- channelOptions:AnyObject
408
+ channelOptions: AnyObject
130
409
  ): Channel @addAccountContext @isAuthenticated
131
410
 
411
+ """
412
+ Hide channel from user view
413
+ """
132
414
  hideChannel(id: ID!): Boolean @isAuthenticated
133
415
 
416
+ """
417
+ Leave channel
418
+ """
134
419
  leaveChannel(id: ID!): Boolean @isAuthenticated
135
420
 
136
- viewChannel(id:ID!): Boolean! @isAuthenticated @addAccountContext
421
+ """
422
+ View/mark channel as read
423
+ """
424
+ viewChannel(id: ID!): Boolean! @isAuthenticated @addAccountContext
137
425
 
426
+ """
427
+ Delete channel
428
+ """
138
429
  deleteChannel(id: ID!): Boolean @isAuthenticated
430
+
431
+ """
432
+ Send notification of unread messages
433
+ """
434
+ sendNotificationOfUnreadMessages(
435
+ unit: String!
436
+ value: Int!
437
+ ): Boolean @addAccountContext @isAuthenticated
139
438
  }
@@ -1 +1 @@
1
- var channelSchema = "type Channel implements IBaseRepo {\n id: String!\n title: String\n topic: String\n orgName: String\n purpose: String\n description: String\n displayName: String\n team: AccountTeam\n lastPostAt: DateTime\n totalMsgCount: Int\n totalMsgCountRoot: Int\n creator: UserAccount\n members: [ChannelMember]\n type: String\n createdAt: DateTime\n updatedAt: DateTime\n deletedAt: DateTime\n}\n\ntype ChannelUnread {\n teamId: String\n channelId: String\n msgCount: Int\n mentionCount: Int\n mentionCountRoot: Int\n msgCountRoot: Int\n notifyProps: AnyObject\n}\n\n\ninput ChannelFilterInput {\n nameFilter: String\n privacy: ChannelPrivacy\n joinedChannels: Boolean\n storyBy: ChannelSort\n}\n\ninput ChannelNameAndDirect {\n name: String!\n direct: Boolean!\n}\n\nenum ChannelSort {\n NAME\n NUMBER_OF_MESSAGES\n}\n\nenum ChannelPrivacy {\n PRIVATE\n PUBLIC\n ALL\n}\n\nenum RoomType {\n \"\"\"\n SERVICE Channel with number of users - Only members from same organization\n \"\"\"\n SERVICE\n \"\"\"\n Normal Channel with number of users - Only members from same organization\n \"\"\"\n CHANNEL\n \"\"\"\n Direct User to User conversations, with two or more participants - Only members from same organization\n \"\"\"\n DIRECT\n \"\"\"\n Channels with Private Visibility - Only members from same organization\n \"\"\"\n PRIVATE\n \"\"\"\n Channels with Public Visibility - Members from other organizations can join\n \"\"\"\n PUBLIC\n\n # Concept needs clarification\n GROUP\n VISITOR\n}\n\nextend type Query {\n channelByName(name: String!): Channel @addAccountContext @isAuthenticated\n channels(filter: ChannelFilterInput = {\n privacy: ALL,\n joinedChannels: false,\n sortyBy: NAME\n }): [Channel] @addAccountContext @isAuthenticated\n channelsByUser(\n role: String\n criteria:AnyObject,\n limit:Int,\n skip:Int,\n sort:Sort\n ): [Channel] @addAccountContext @isAuthenticated\n supportServiceChannels(\n role: String\n criteria:AnyObject,\n limit:Int,\n skip:Int,\n sort:Sort\n ): [Channel] @addAccountContext @isAuthenticated\n directChannel(id: ID!): Channel @addAccountContext @isAuthenticated\n viewChannelDetail(id: String): Channel @addAccountContext @isAuthenticated\n # viewChannelDetail(id: String!): Channel @addAccountContext @isAuthenticated\n}\n\nextend type Mutation {\n createChannel(\n name: String!,\n description:String!\n type: RoomType\n team: String\n ): Channel @addAccountContext @isAuthenticated\n\n addMemberToChannel(\n channelId: String!,\n memberId: String!\n ): Channel @addAccountContext @isAuthenticated\n\n saveMembersToChannel(\n membersIds: [String]!\n channelId: String!,\n ): Channel @addAccountContext @isAuthenticated\n\n createDirectChannel(\n receiver: [ID]!\n displayName: String!\n channelOptions:AnyObject\n ): Channel @addAccountContext @isAuthenticated\n\n hideChannel(id: ID!): Boolean @isAuthenticated\n\n leaveChannel(id: ID!): Boolean @isAuthenticated\n\n viewChannel(id:ID!): Boolean! @isAuthenticated @addAccountContext\n\n deleteChannel(id: ID!): Boolean @isAuthenticated\n}\n";export{channelSchema as default};//# sourceMappingURL=channel.graphql.js.map
1
+ var channelSchema = "\"\"\"\nChannel: A communication channel within an organization or team.\n\"\"\"\ntype Channel implements IBaseRepo @entity {\n \"\"\"\n Unique identifier for the channel\n \"\"\"\n id: String! @id\n \n \"\"\"\n Channel title/name\n \"\"\"\n title: String @column\n \n \"\"\"\n Channel topic\n \"\"\"\n topic: String @column\n \n \"\"\"\n Organization name\n \"\"\"\n organization: Organization! @column(overrideType: \"ObjectId\")\n orgName: String @column\n \n \"\"\"\n Channel purpose\n \"\"\"\n purpose: String @column\n \n \"\"\"\n Channel description\n \"\"\"\n description: String @column\n \n \"\"\"\n Display name\n \"\"\"\n displayName: String @column\n \n \"\"\"\n Associated team\n \"\"\"\n team: AccountTeam @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Last post timestamp\n \"\"\"\n lastPostAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Total message count\n \"\"\"\n totalMsgCount: Int @column\n \n \"\"\"\n Total root message count\n \"\"\"\n totalMsgCountRoot: Int @column\n \n \"\"\"\n Channel creator\n \"\"\"\n creator: UserAccount @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Channel members\n \"\"\"\n members: [ChannelMember] @column(overrideType: \"ObjectId[]\")\n \n \"\"\"\n Channel type\n \"\"\"\n type: String @column\n \n \"\"\"\n Last message in the channel\n \"\"\"\n lastMessage: Post @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Creation timestamp\n \"\"\"\n createdAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Last update timestamp\n \"\"\"\n updatedAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Deletion timestamp\n \"\"\"\n deletedAt: DateTime @column(overrideType: \"Date\")\n}\n\n\"\"\"\nChannel unread message information\n\"\"\"\ntype ChannelUnread {\n \"\"\"\n Team identifier\n \"\"\"\n teamId: String\n \n \"\"\"\n Channel identifier\n \"\"\"\n channelId: String\n \n \"\"\"\n Unread message count\n \"\"\"\n msgCount: Int\n \n \"\"\"\n Mention count\n \"\"\"\n mentionCount: Int\n \n \"\"\"\n Root mention count\n \"\"\"\n mentionCountRoot: Int\n \n \"\"\"\n Root message count\n \"\"\"\n msgCountRoot: Int\n \n \"\"\"\n Notification properties\n \"\"\"\n notifyProps: AnyObject\n}\n\n\"\"\"\nChannel filter input for queries\n\"\"\"\ninput ChannelFilterInput {\n \"\"\"\n Filter by name\n \"\"\"\n nameFilter: String\n \n \"\"\"\n Filter by privacy level\n \"\"\"\n privacy: ChannelPrivacy\n \n \"\"\"\n Filter joined channels only\n \"\"\"\n joinedChannels: Boolean\n \n \"\"\"\n Sort order\n \"\"\"\n storyBy: ChannelSort\n}\n\n\"\"\"\nChannel name and direct message input\n\"\"\"\ninput ChannelNameAndDirect {\n \"\"\"\n Channel name\n \"\"\"\n name: String!\n \n \"\"\"\n Is direct message\n \"\"\"\n direct: Boolean!\n}\n\n\"\"\"\nChannel create request input\n\"\"\"\ninput ChannelCreateRequest {\n \"\"\"\n Channel name\n \"\"\"\n name: String!\n \n \"\"\"\n Channel description\n \"\"\"\n description: String!\n \n \"\"\"\n Channel type\n \"\"\"\n type: RoomType\n \n \"\"\"\n Associated team\n \"\"\"\n team: String\n}\n\n\"\"\"\nChannel update request input\n\"\"\"\ninput ChannelUpdateRequest {\n \"\"\"\n Channel ID\n \"\"\"\n id: ID!\n \n \"\"\"\n Channel title\n \"\"\"\n title: String\n \n \"\"\"\n Channel description\n \"\"\"\n description: String\n \n \"\"\"\n Channel type\n \"\"\"\n type: RoomType\n}\n\n\"\"\"\nDirect channel create request input\n\"\"\"\ninput DirectChannelCreateRequest {\n \"\"\"\n Receiver user IDs\n \"\"\"\n receiver: [ID]!\n \n \"\"\"\n Display name\n \"\"\"\n displayName: String!\n \n \"\"\"\n Channel options\n \"\"\"\n channelOptions: AnyObject\n}\n\n\"\"\"\nChannel sorting options\n\"\"\"\nenum ChannelSort {\n \"\"\"\n Sort by name\n \"\"\"\n NAME\n \n \"\"\"\n Sort by number of messages\n \"\"\"\n NUMBER_OF_MESSAGES\n}\n\n\"\"\"\nChannel privacy levels\n\"\"\"\nenum ChannelPrivacy {\n \"\"\"\n Private channels\n \"\"\"\n PRIVATE\n \n \"\"\"\n Public channels\n \"\"\"\n PUBLIC\n \n \"\"\"\n All channels\n \"\"\"\n ALL\n}\n\n\"\"\"\nRoom/Channel types\n\"\"\"\nenum RoomType {\n \"\"\"\n SERVICE Channel with number of users - Only members from same organization\n \"\"\"\n SERVICE\n\n \"\"\"\n AI Assistant channels\n \"\"\"\n AIASSISTANT\n \n \"\"\"\n Normal Channel with number of users - Only members from same organization\n \"\"\"\n CHANNEL\n \n \"\"\"\n Direct User to User conversations, with two or more participants - Only members from same organization\n \"\"\"\n DIRECT\n \n \"\"\"\n Channels with Private Visibility - Only members from same organization\n \"\"\"\n PRIVATE\n \n \"\"\"\n Channels with Public Visibility - Members from other organizations can join\n \"\"\"\n PUBLIC\n\n \"\"\"\n Group channels\n \"\"\"\n GROUP\n \n \"\"\"\n Visitor channels\n \"\"\"\n VISITOR\n}\n\nextend type Query {\n \"\"\"\n Get channel by name\n \"\"\"\n channelByName(name: String!): Channel @addAccountContext @isAuthenticated\n \n \"\"\"\n Get channels with filtering\n \"\"\"\n channels(filter: ChannelFilterInput = {\n privacy: ALL,\n joinedChannels: false,\n sortyBy: NAME\n }): [Channel] @addAccountContext @isAuthenticated\n \n \"\"\"\n Get channels by user with criteria\n \"\"\"\n channelsByUser(\n role: String\n criteria: AnyObject,\n limit: Int,\n skip: Int,\n sort: Sort\n ): [Channel] @addAccountContext @isAuthenticated\n \n \"\"\"\n Get support service channels\n \"\"\"\n supportServiceChannels(\n role: String\n criteria: AnyObject,\n limit: Int,\n skip: Int,\n sort: Sort\n ): [Channel] @addAccountContext @isAuthenticated\n \n \"\"\"\n Get direct channel by ID\n \"\"\"\n directChannel(id: ID!): Channel @addAccountContext @isAuthenticated\n \n \"\"\"\n View channel detail\n \"\"\"\n viewChannelDetail(id: String): Channel @addAccountContext @isAuthenticated\n}\n\nextend type Mutation {\n \"\"\"\n Create a new channel\n \"\"\"\n createChannel(\n name: String!,\n description: String!\n type: RoomType\n team: String\n ): Channel @addAccountContext @isAuthenticated\n\n \"\"\"\n Add member to channel\n \"\"\"\n addMemberToChannel(\n channelId: String!,\n memberId: String!\n ): Channel @addAccountContext @isAuthenticated\n\n \"\"\"\n Save multiple members to channel\n \"\"\"\n saveMembersToChannel(\n membersIds: [String]!\n channelId: String!,\n ): Channel @addAccountContext @isAuthenticated\n\n \"\"\"\n Create direct message channel\n \"\"\"\n createDirectChannel(\n receiver: [ID]!\n displayName: String!\n channelOptions: AnyObject\n ): Channel @addAccountContext @isAuthenticated\n\n \"\"\"\n Hide channel from user view\n \"\"\"\n hideChannel(id: ID!): Boolean @isAuthenticated\n\n \"\"\"\n Leave channel\n \"\"\"\n leaveChannel(id: ID!): Boolean @isAuthenticated\n\n \"\"\"\n View/mark channel as read\n \"\"\"\n viewChannel(id: ID!): Boolean! @isAuthenticated @addAccountContext\n\n \"\"\"\n Delete channel\n \"\"\"\n deleteChannel(id: ID!): Boolean @isAuthenticated\n \n \"\"\"\n Send notification of unread messages\n \"\"\"\n sendNotificationOfUnreadMessages(\n unit: String!\n value: Int!\n ): Boolean @addAccountContext @isAuthenticated\n}\n";export{channelSchema as default};//# sourceMappingURL=channel.graphql.js.map