@messenger-box/platform-server 10.0.3-alpha.6 → 10.0.3-alpha.62

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