@messenger-box/platform-server 10.0.3-alpha.50 → 10.0.3-alpha.54

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 (111) hide show
  1. package/lib/containers/containers.js.map +1 -1
  2. package/lib/graphql/resolvers/channel-member.d.ts +2 -1
  3. package/lib/graphql/resolvers/channel-member.js +13 -3
  4. package/lib/graphql/resolvers/channel-member.js.map +1 -1
  5. package/lib/graphql/resolvers/channel.d.ts +2 -1
  6. package/lib/graphql/resolvers/channel.js +260 -126
  7. package/lib/graphql/resolvers/channel.js.map +1 -1
  8. package/lib/graphql/resolvers/extended-token-account.d.ts +2 -1
  9. package/lib/graphql/resolvers/extended-token-account.js +90 -23
  10. package/lib/graphql/resolvers/extended-token-account.js.map +1 -1
  11. package/lib/graphql/resolvers/post-thread.js +285 -179
  12. package/lib/graphql/resolvers/post-thread.js.map +1 -1
  13. package/lib/graphql/resolvers/post.js +669 -242
  14. package/lib/graphql/resolvers/post.js.map +1 -1
  15. package/lib/graphql/resolvers/reaction.d.ts +2 -1
  16. package/lib/graphql/resolvers/reaction.js +96 -14
  17. package/lib/graphql/resolvers/reaction.js.map +1 -1
  18. package/lib/graphql/schema/channel.graphql +331 -39
  19. package/lib/graphql/schema/channel.graphql.js +1 -1
  20. package/lib/graphql/schema/post-thread.graphql +157 -21
  21. package/lib/graphql/schema/post-thread.graphql.js +1 -1
  22. package/lib/graphql/schema/post.graphql +265 -40
  23. package/lib/graphql/schema/post.graphql.js +1 -1
  24. package/lib/graphql/schema/reaction.graphql +71 -13
  25. package/lib/graphql/schema/reaction.graphql.js +1 -1
  26. package/lib/graphql/schema/users.graphql +76 -13
  27. package/lib/graphql/schema/users.graphql.js +1 -1
  28. package/lib/plugins/channel-moleculer-service.d.ts +21 -1
  29. package/lib/plugins/channel-moleculer-service.js +417 -115
  30. package/lib/plugins/channel-moleculer-service.js.map +1 -1
  31. package/lib/plugins/extended-token-account-moleculer-service.d.ts +25 -1
  32. package/lib/plugins/extended-token-account-moleculer-service.js +348 -22
  33. package/lib/plugins/extended-token-account-moleculer-service.js.map +1 -1
  34. package/lib/plugins/messenger-notification-moleculer-service.d.ts +26 -3
  35. package/lib/plugins/messenger-notification-moleculer-service.js +403 -57
  36. package/lib/plugins/messenger-notification-moleculer-service.js.map +1 -1
  37. package/lib/plugins/post-moleculer-service.d.ts +84 -20
  38. package/lib/plugins/post-moleculer-service.js +891 -259
  39. package/lib/plugins/post-moleculer-service.js.map +1 -1
  40. package/lib/plugins/post-thread-moleculer-service.d.ts +33 -1
  41. package/lib/plugins/post-thread-moleculer-service.js +320 -13
  42. package/lib/plugins/post-thread-moleculer-service.js.map +1 -1
  43. package/lib/services/channel-service.d.ts +185 -33
  44. package/lib/services/channel-service.js +767 -282
  45. package/lib/services/channel-service.js.map +1 -1
  46. package/lib/services/extended-token-account-service.d.ts +127 -14
  47. package/lib/services/extended-token-account-service.js +459 -52
  48. package/lib/services/extended-token-account-service.js.map +1 -1
  49. package/lib/services/messenger-notification-service.d.ts +106 -13
  50. package/lib/services/messenger-notification-service.js +824 -442
  51. package/lib/services/messenger-notification-service.js.map +1 -1
  52. package/lib/services/post-service.d.ts +176 -16
  53. package/lib/services/post-service.js +553 -119
  54. package/lib/services/post-service.js.map +1 -1
  55. package/lib/services/post-thread-service.d.ts +114 -6
  56. package/lib/services/post-thread-service.js +397 -18
  57. package/lib/services/post-thread-service.js.map +1 -1
  58. package/lib/services/proxy-services/channel-microservice.d.ts +4 -3
  59. package/lib/services/proxy-services/channel-microservice.js +12 -9
  60. package/lib/services/proxy-services/channel-microservice.js.map +1 -1
  61. package/lib/services/proxy-services/messenger-notification-microservice.d.ts +128 -8
  62. package/lib/services/proxy-services/messenger-notification-microservice.js +324 -29
  63. package/lib/services/proxy-services/messenger-notification-microservice.js.map +1 -1
  64. package/lib/services/proxy-services/post-microservice.d.ts +186 -13
  65. package/lib/services/proxy-services/post-microservice.js +543 -59
  66. package/lib/services/proxy-services/post-microservice.js.map +1 -1
  67. package/lib/services/proxy-services/post-thread-microservice.d.ts +134 -4
  68. package/lib/services/proxy-services/post-thread-microservice.js +387 -10
  69. package/lib/services/proxy-services/post-thread-microservice.js.map +1 -1
  70. package/lib/services/proxy-services/reaction-microservice.d.ts +161 -3
  71. package/lib/services/proxy-services/reaction-microservice.js +474 -2
  72. package/lib/services/proxy-services/reaction-microservice.js.map +1 -1
  73. package/lib/services/reaction-service.d.ts +124 -4
  74. package/lib/services/reaction-service.js +415 -3
  75. package/lib/services/reaction-service.js.map +1 -1
  76. package/lib/store/models/channel.d.ts +2 -3
  77. package/lib/store/models/channel.js +169 -71
  78. package/lib/store/models/channel.js.map +1 -1
  79. package/lib/store/models/post-thread.d.ts +3 -3
  80. package/lib/store/models/post-thread.js +96 -14
  81. package/lib/store/models/post-thread.js.map +1 -1
  82. package/lib/store/models/post.d.ts +2 -3
  83. package/lib/store/models/post.js +85 -18
  84. package/lib/store/models/post.js.map +1 -1
  85. package/lib/store/models/reaction.d.ts +2 -3
  86. package/lib/store/models/reaction.js +67 -8
  87. package/lib/store/models/reaction.js.map +1 -1
  88. package/lib/store/repositories/channel-repository.d.ts +6 -6
  89. package/lib/store/repositories/channel-repository.js +5 -2
  90. package/lib/store/repositories/channel-repository.js.map +1 -1
  91. package/lib/store/repositories/post-repository.d.ts +6 -6
  92. package/lib/store/repositories/post-repository.js +5 -2
  93. package/lib/store/repositories/post-repository.js.map +1 -1
  94. package/lib/store/repositories/post-thread-repository.d.ts +6 -6
  95. package/lib/store/repositories/post-thread-repository.js +5 -2
  96. package/lib/store/repositories/post-thread-repository.js.map +1 -1
  97. package/lib/store/repositories/reaction-repository.d.ts +6 -6
  98. package/lib/store/repositories/reaction-repository.js +5 -2
  99. package/lib/store/repositories/reaction-repository.js.map +1 -1
  100. package/lib/templates/repositories/ChannelRepository.ts.template +3 -3
  101. package/lib/templates/repositories/PostRepository.ts.template +3 -3
  102. package/lib/templates/repositories/PostThreadRepository.ts.template +3 -3
  103. package/lib/templates/repositories/ReactionRepository.ts.template +3 -4
  104. package/lib/templates/services/ChannelService.ts.template +277 -38
  105. package/lib/templates/services/ExtendedTokenAccountService.ts.template +93 -8
  106. package/lib/templates/services/PostService.ts.template +182 -20
  107. package/lib/templates/services/PostThreadService.ts.template +100 -5
  108. package/lib/templates/services/ReactionService.ts.template +129 -2
  109. package/package.json +3 -3
  110. package/lib/store/models/common-options.js +0 -20
  111. package/lib/store/models/common-options.js.map +0 -1
@@ -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 lastMessage: Post\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
@@ -1,49 +1,185 @@
1
- type PostThreadParticipants {
2
- id: ID!
3
- user: UserAccount!
4
- roles: String
5
- orgName: String
6
- updatedAt: DateTime
7
- CreatedAt: DateTime
1
+ """
2
+ Post thread participants information
3
+ """
4
+ type PostThreadParticipants @entity {
5
+ """
6
+ Unique identifier for the participant
7
+ """
8
+ id: ID! @id
9
+
10
+ """
11
+ Participant user account
12
+ """
13
+ user: UserAccount! @column(overrideType: "ObjectId")
14
+
15
+ """
16
+ Participant roles
17
+ """
18
+ roles: String @column
19
+
20
+ """
21
+ Organization name
22
+ """
23
+ orgName: String @column
24
+
25
+ """
26
+ Last update timestamp
27
+ """
28
+ updatedAt: DateTime @column(overrideType: "Date")
29
+
30
+ """
31
+ Creation timestamp
32
+ """
33
+ createdAt: DateTime @column(overrideType: "Date")
34
+
35
+ """
36
+ Deletion timestamp
37
+ """
38
+ deletedAt: DateTime @column(overrideType: "Date")
8
39
  }
9
40
 
10
- type PostThread implements IBaseRepo {
11
- id: ID!
12
- post: Post
13
- channel: Channel
14
- replyCount: Int
15
- lastReplyAt: DateTime
16
- participants: [PostThreadParticipants]
17
- # orgName: String
18
- createdAt: DateTime
19
- updatedAt: DateTime
20
- deletedAt: DateTime
41
+ """
42
+ Post thread: A threaded conversation within a post
43
+ """
44
+ type PostThread implements IBaseRepo @entity {
45
+ """
46
+ Unique identifier for the thread
47
+ """
48
+ id: ID! @id
49
+
50
+ """
51
+ Parent post of the thread
52
+ """
53
+ post: Post @column(overrideType: "ObjectId")
54
+
55
+ """
56
+ Channel containing the thread
57
+ """
58
+ channel: Channel @column(overrideType: "ObjectId")
59
+
60
+ """
61
+ Number of replies in thread
62
+ """
63
+ replyCount: Int @column
64
+
65
+ """
66
+ Last reply timestamp
67
+ """
68
+ lastReplyAt: DateTime @column(overrideType: "Date")
69
+
70
+ """
71
+ Thread participants
72
+ """
73
+ participants: [PostThreadParticipants] @column(overrideType: "ObjectId")
74
+
75
+ """
76
+ Creation timestamp
77
+ """
78
+ createdAt: DateTime @column(overrideType: "Date")
79
+
80
+ """
81
+ Last update timestamp
82
+ """
83
+ updatedAt: DateTime @column(overrideType: "Date")
84
+
85
+ """
86
+ Deletion timestamp
87
+ """
88
+ deletedAt: DateTime @column(overrideType: "Date")
89
+
90
+ """
91
+ Thread replies with pagination
92
+ """
21
93
  replies(criteria: AnyObject, limit: Int, skip: Int, sort: Sort): [Post]
22
94
  }
23
95
 
96
+ """
97
+ Thread messages response with pagination
98
+ """
24
99
  type ThreadMessages {
100
+ """
101
+ Total count of thread messages
102
+ """
25
103
  totalCount: Int
104
+
105
+ """
106
+ Thread message data
107
+ """
26
108
  data: [PostThread]
27
109
  }
28
110
 
111
+ """
112
+ Thread message sent response
113
+ """
29
114
  type ThreadMessageSent {
115
+ """
116
+ Last message in thread
117
+ """
30
118
  lastMessage: Post
119
+
120
+ """
121
+ Thread data
122
+ """
31
123
  data: PostThread
32
124
  }
33
125
 
126
+ """
127
+ Thread message input for creating thread messages
128
+ """
34
129
  input ThreadMessageInput {
130
+ """
131
+ Message content
132
+ """
35
133
  content: String!
36
- userRef: [String] #userId
37
- channelRef: [String] #channelId
134
+
135
+ """
136
+ Referenced user IDs
137
+ """
138
+ userRef: [String] # userId
139
+
140
+ """
141
+ Referenced channel IDs
142
+ """
143
+ channelRef: [String] # channelId
144
+
145
+ """
146
+ Attached file IDs
147
+ """
38
148
  files: [ID!]
149
+
150
+ """
151
+ User role in thread
152
+ """
39
153
  role: String
40
- notificationParams:ExpoNotificationData
154
+
155
+ """
156
+ Notification parameters
157
+ """
158
+ notificationParams: ExpoNotificationData
41
159
  }
42
160
 
161
+ """
162
+ Thread creation/update response
163
+ """
43
164
  type ThreadCreatedUpdated {
165
+ """
166
+ Whether thread was created
167
+ """
44
168
  isCreated: Boolean
169
+
170
+ """
171
+ Whether thread was updated
172
+ """
45
173
  isUpdated: Boolean
174
+
175
+ """
176
+ Last message in thread
177
+ """
46
178
  lastMessage: Post
179
+
180
+ """
181
+ Thread data
182
+ """
47
183
  data: PostThread
48
184
  }
49
185
 
@@ -1 +1 @@
1
- var postThread = "type PostThreadParticipants {\n id: ID!\n user: UserAccount!\n roles: String\n orgName: String\n updatedAt: DateTime\n CreatedAt: DateTime\n}\n\ntype PostThread implements IBaseRepo {\n id: ID!\n post: Post\n channel: Channel\n replyCount: Int\n lastReplyAt: DateTime\n participants: [PostThreadParticipants]\n # orgName: String\n createdAt: DateTime\n updatedAt: DateTime\n deletedAt: DateTime\n replies(criteria: AnyObject, limit: Int, skip: Int, sort: Sort): [Post]\n}\n\ntype ThreadMessages {\n totalCount: Int\n data: [PostThread]\n}\n\ntype ThreadMessageSent {\n lastMessage: Post\n data: PostThread\n}\n\ninput ThreadMessageInput {\n content: String!\n userRef: [String] #userId\n channelRef: [String] #channelId\n files: [ID!]\n role: String\n notificationParams:ExpoNotificationData\n}\n\ntype ThreadCreatedUpdated {\n isCreated: Boolean\n isUpdated: Boolean\n lastMessage: Post\n data: PostThread\n}\n\nextend type Query {\n threadMessages(\n channelId: ID\n postParentId: ID\n role: String\n participantsIds: [String]\n selectedFields:String\n isServiceThreads:Boolean\n limit: Int\n skip: Int\n ): ThreadMessages! @isAuthenticated @addAccountContext\n\n getPostThread(\n postThreadId: ID\n channelId: ID\n postParentId: ID\n role: String\n participantsIds: [String]\n selectedFields:String\n isServiceThreads:Boolean\n ): PostThread @isAuthenticated @addAccountContext\n\n threadMessagesCount(\n channelId: ID\n postParentId: ID\n role: String\n participantsIds: [String]\n selectedFields:String\n isServiceThreads:Boolean\n ): Int @isAuthenticated @addAccountContext\n}\n\nextend type Mutation {\n sendThreadMessage(\n channelId: ID!\n postParentId: String\n responderId: String\n postId: ID\n threadMessageInput: ThreadMessageInput!\n postThreadId: ID\n ): ThreadMessageSent @isAuthenticated @addAccountContext\n\n createPostThread(\n channelId: ID!\n postParentId: String\n responderId: String\n postId: ID\n threadMessageInput: ThreadMessageInput!\n postThreadId: ID\n ): ThreadMessageSent @isAuthenticated @addAccountContext\n}\n\nextend type Subscription {\n # chatMessageAdded(channelId: String, directTo: String): Post @isAuthenticated @addAccountContext\n threadChatMessageAdded(channelId: String, postParentId: String): Post @addAccountContext\n threadCreatedUpdated(channelId: String, postParentId: String): ThreadCreatedUpdated @addAccountContext\n}\n";export{postThread as default};//# sourceMappingURL=post-thread.graphql.js.map
1
+ var postThread = "\"\"\"\nPost thread participants information\n\"\"\"\ntype PostThreadParticipants @entity {\n \"\"\"\n Unique identifier for the participant\n \"\"\"\n id: ID! @id\n \n \"\"\"\n Participant user account\n \"\"\"\n user: UserAccount! @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Participant roles\n \"\"\"\n roles: String @column\n \n \"\"\"\n Organization name\n \"\"\"\n orgName: String @column\n \n \"\"\"\n Last update timestamp\n \"\"\"\n updatedAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Creation timestamp\n \"\"\"\n createdAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Deletion timestamp\n \"\"\"\n deletedAt: DateTime @column(overrideType: \"Date\")\n}\n\n\"\"\"\nPost thread: A threaded conversation within a post\n\"\"\"\ntype PostThread implements IBaseRepo @entity {\n \"\"\"\n Unique identifier for the thread\n \"\"\"\n id: ID! @id\n \n \"\"\"\n Parent post of the thread\n \"\"\"\n post: Post @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Channel containing the thread\n \"\"\"\n channel: Channel @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Number of replies in thread\n \"\"\"\n replyCount: Int @column\n \n \"\"\"\n Last reply timestamp\n \"\"\"\n lastReplyAt: DateTime @column(overrideType: \"Date\")\n \n \"\"\"\n Thread participants\n \"\"\"\n participants: [PostThreadParticipants] @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 Thread replies with pagination\n \"\"\"\n replies(criteria: AnyObject, limit: Int, skip: Int, sort: Sort): [Post]\n}\n\n\"\"\"\nThread messages response with pagination\n\"\"\"\ntype ThreadMessages {\n \"\"\"\n Total count of thread messages\n \"\"\"\n totalCount: Int\n \n \"\"\"\n Thread message data\n \"\"\"\n data: [PostThread]\n}\n\n\"\"\"\nThread message sent response\n\"\"\"\ntype ThreadMessageSent {\n \"\"\"\n Last message in thread\n \"\"\"\n lastMessage: Post\n \n \"\"\"\n Thread data\n \"\"\"\n data: PostThread\n}\n\n\"\"\"\nThread message input for creating thread messages\n\"\"\"\ninput ThreadMessageInput {\n \"\"\"\n Message content\n \"\"\"\n content: String!\n \n \"\"\"\n Referenced user IDs\n \"\"\"\n userRef: [String] # userId\n \n \"\"\"\n Referenced channel IDs\n \"\"\"\n channelRef: [String] # channelId\n \n \"\"\"\n Attached file IDs\n \"\"\"\n files: [ID!]\n \n \"\"\"\n User role in thread\n \"\"\"\n role: String\n \n \"\"\"\n Notification parameters\n \"\"\"\n notificationParams: ExpoNotificationData\n}\n\n\"\"\"\nThread creation/update response\n\"\"\"\ntype ThreadCreatedUpdated {\n \"\"\"\n Whether thread was created\n \"\"\"\n isCreated: Boolean\n \n \"\"\"\n Whether thread was updated\n \"\"\"\n isUpdated: Boolean\n \n \"\"\"\n Last message in thread\n \"\"\"\n lastMessage: Post\n \n \"\"\"\n Thread data\n \"\"\"\n data: PostThread\n}\n\nextend type Query {\n threadMessages(\n channelId: ID\n postParentId: ID\n role: String\n participantsIds: [String]\n selectedFields:String\n isServiceThreads:Boolean\n limit: Int\n skip: Int\n ): ThreadMessages! @isAuthenticated @addAccountContext\n\n getPostThread(\n postThreadId: ID\n channelId: ID\n postParentId: ID\n role: String\n participantsIds: [String]\n selectedFields:String\n isServiceThreads:Boolean\n ): PostThread @isAuthenticated @addAccountContext\n\n threadMessagesCount(\n channelId: ID\n postParentId: ID\n role: String\n participantsIds: [String]\n selectedFields:String\n isServiceThreads:Boolean\n ): Int @isAuthenticated @addAccountContext\n}\n\nextend type Mutation {\n sendThreadMessage(\n channelId: ID!\n postParentId: String\n responderId: String\n postId: ID\n threadMessageInput: ThreadMessageInput!\n postThreadId: ID\n ): ThreadMessageSent @isAuthenticated @addAccountContext\n\n createPostThread(\n channelId: ID!\n postParentId: String\n responderId: String\n postId: ID\n threadMessageInput: ThreadMessageInput!\n postThreadId: ID\n ): ThreadMessageSent @isAuthenticated @addAccountContext\n}\n\nextend type Subscription {\n # chatMessageAdded(channelId: String, directTo: String): Post @isAuthenticated @addAccountContext\n threadChatMessageAdded(channelId: String, postParentId: String): Post @addAccountContext\n threadCreatedUpdated(channelId: String, postParentId: String): ThreadCreatedUpdated @addAccountContext\n}\n";export{postThread as default};//# sourceMappingURL=post-thread.graphql.js.map
@@ -1,82 +1,307 @@
1
- enum PostTypeEnum{
1
+ """
2
+ Post type enumeration
3
+ """
4
+ enum PostTypeEnum {
5
+ """
6
+ Simple post type
7
+ """
2
8
  Simple
9
+
10
+ """
11
+ Public post type
12
+ """
3
13
  Public
4
14
  }
5
15
 
6
- type Post implements IBaseRepo & IFileRef {
7
- id: ID!
8
- author: UserAccount
9
- channel: Channel
16
+ """
17
+ Post: A message or content posted in a channel
18
+ """
19
+ type Post implements IBaseRepo & IFileRef @entity {
20
+ """
21
+ Unique identifier for the post
22
+ """
23
+ id: ID! @id
24
+
25
+ """
26
+ Post author/creator
27
+ """
28
+ author: UserAccount @column(overrideType: "ObjectId")
29
+
30
+ """
31
+ Creator of the post
32
+ """
33
+ creator: UserAccount @column(overrideType: "ObjectId")
34
+
35
+ """
36
+ Channel where post was made
37
+ """
38
+ channel: Channel @column(overrideType: "ObjectId")
10
39
 
11
- rootId: String
12
- parentId: String
13
- originalId: String
40
+ """
41
+ Root post ID for threaded conversations
42
+ """
43
+ rootId: String @column
44
+
45
+ """
46
+ Parent post ID for replies
47
+ """
48
+ parentId: String @column
49
+
50
+ """
51
+ Original post ID for forwarded messages
52
+ """
53
+ originalId: String @column
14
54
 
15
- """ Post sent by server e.g. User joined channel """
16
- fromServer: Boolean
55
+ """
56
+ Post sent by server e.g. User joined channel
57
+ """
58
+ fromServer: Boolean @column
17
59
 
18
- message: String
19
- type: PostTypeEnum
20
- props: AnyObject
21
- hashTags: String
60
+ """
61
+ Post message content
62
+ """
63
+ message: String @column
64
+
65
+ """
66
+ Post type classification
67
+ """
68
+ type: PostTypeEnum @column
69
+
70
+ """
71
+ Additional post properties
72
+ """
73
+ props: AnyObject @column
74
+
75
+ """
76
+ Post hashtags
77
+ """
78
+ hashTags: String @column
22
79
 
23
- filenames: [String]
24
- fields: [String]
25
- reactions: [Reaction]
80
+ """
81
+ Attached filenames
82
+ """
83
+ filenames: [String] @column
84
+
85
+ """
86
+ Custom fields
87
+ """
88
+ fields: [String] @column
89
+
90
+ """
91
+ Post reactions
92
+ """
93
+ reactions: [Reaction] @column(overrideType: "ObjectId[]")
94
+
95
+ """
96
+ Attached files with pagination
97
+ """
26
98
  files(criteria:AnyObject, limit:Int, skip:Int, sort:Sort):FilesInfo!
27
- editedBy: UserAccount
28
- deletedBy: UserAccount
29
- createdAt: DateTime
30
- updatedAt: DateTime
31
- deletedAt: DateTime
99
+
100
+ """
101
+ User who edited the post
102
+ """
103
+ editedBy: UserAccount @column(overrideType: "ObjectId")
104
+
105
+ """
106
+ User who deleted the post
107
+ """
108
+ deletedBy: UserAccount @column(overrideType: "ObjectId")
109
+
110
+ """
111
+ Edit timestamp
112
+ """
113
+ editedAt: DateTime @column(overrideType: "Date")
114
+
115
+ """
116
+ Creation timestamp
117
+ """
118
+ createdAt: DateTime @column(overrideType: "Date")
119
+
120
+ """
121
+ Last update timestamp
122
+ """
123
+ updatedAt: DateTime @column(overrideType: "Date")
124
+
125
+ """
126
+ Deletion timestamp
127
+ """
128
+ deletedAt: DateTime @column(overrideType: "Date")
32
129
 
33
- propsConfiguration: MachineConfiguration
130
+ """
131
+ Props configuration for machine states
132
+ References the configuration model for storing machine-specific settings and state information.
133
+ """
134
+ propsConfiguration: MachineConfiguration @column(overrideType: "ObjectId")
34
135
 
35
- isRead: Boolean
36
- isPinned: Boolean
37
- isDelivered: Boolean
136
+ """
137
+ Whether post has been read
138
+ """
139
+ isRead: Boolean @column
140
+
141
+ """
142
+ Whether post is pinned
143
+ """
144
+ isPinned: Boolean @column
145
+
146
+ """
147
+ Whether post has been delivered
148
+ """
149
+ isDelivered: Boolean @column
150
+
151
+ """
152
+ Whether post has reactions
153
+ """
154
+ hasReactions: Boolean @column
155
+
156
+ """
157
+ Post replies with pagination
158
+ """
38
159
  replies(criteria:AnyObject, limit:Int, skip:Int, sort:Sort): Messages
39
160
  }
40
161
 
162
+ """
163
+ Expo notification thread input
164
+ """
41
165
  input ExpoNotificationThread {
42
- id:String!
43
- extraParams:AnyObject
166
+ """
167
+ Thread identifier
168
+ """
169
+ id: String!
170
+
171
+ """
172
+ Additional thread parameters
173
+ """
174
+ extraParams: AnyObject
44
175
  }
45
176
 
177
+ """
178
+ Expo notification data input
179
+ """
46
180
  input ExpoNotificationData {
181
+ """
182
+ Notification URL
183
+ """
47
184
  url: String!
185
+
186
+ """
187
+ URL parameters
188
+ """
48
189
  params: AnyObject!
49
- title:String
50
- body:String
51
- screen:String
52
- senderId:String
53
- thread:ExpoNotificationThread
190
+
191
+ """
192
+ Notification title
193
+ """
194
+ title: String
195
+
196
+ """
197
+ Notification body
198
+ """
199
+ body: String
200
+
201
+ """
202
+ Target screen
203
+ """
204
+ screen: String
205
+
206
+ """
207
+ Sender identifier
208
+ """
209
+ senderId: String
210
+
211
+ """
212
+ Thread information
213
+ """
214
+ thread: ExpoNotificationThread
215
+
216
+ """
217
+ Additional notification data
218
+ """
54
219
  other: AnyObject
55
220
  }
56
221
 
222
+ """
223
+ Message input for creating posts
224
+ """
57
225
  input MessageInput {
226
+ """
227
+ Message content
228
+ """
58
229
  content: String!
59
- userRef: [String] #userId
60
- channelRef: [String] #channelId
230
+
231
+ """
232
+ Referenced user IDs
233
+ """
234
+ userRef: [String] # userId
235
+
236
+ """
237
+ Referenced channel IDs
238
+ """
239
+ channelRef: [String] # channelId
240
+
241
+ """
242
+ Attached file IDs
243
+ """
61
244
  files: [ID!]
62
- createdBy:ID #Posted by
63
- notificationParams:ExpoNotificationData
245
+
246
+ """
247
+ Creator user ID
248
+ """
249
+ createdBy: ID # Posted by
250
+
251
+ """
252
+ Notification parameters
253
+ """
254
+ notificationParams: ExpoNotificationData
64
255
  }
65
256
 
257
+ """
258
+ Message identifier input
259
+ """
66
260
  input MessageIdentifier {
261
+ """
262
+ Channel identifier
263
+ """
67
264
  channelId: String!
265
+
266
+ """
267
+ Message identifier
268
+ """
68
269
  messageId: String!
69
270
  }
70
271
 
272
+ """
273
+ Posts with cursor for pagination
274
+ """
71
275
  type PostsWithCursor {
276
+ """
277
+ Pagination cursor
278
+ """
72
279
  cursor: String
280
+
281
+ """
282
+ Associated channel
283
+ """
73
284
  channel: Channel
285
+
286
+ """
287
+ List of posts
288
+ """
74
289
  posts: [Post]
75
290
  }
76
291
 
77
- type Messages{
78
- totalCount: Int,
79
- data:[Post]
292
+ """
293
+ Messages response with pagination
294
+ """
295
+ type Messages {
296
+ """
297
+ Total count of messages
298
+ """
299
+ totalCount: Int
300
+
301
+ """
302
+ Message data
303
+ """
304
+ data: [Post]
80
305
  }
81
306
 
82
307
 
@@ -1 +1 @@
1
- var postSchema = "enum PostTypeEnum{\n Simple\n Public\n}\n\ntype Post implements IBaseRepo & IFileRef {\n id: ID!\n author: UserAccount\n channel: Channel\n\n rootId: String\n parentId: String\n originalId: String\n\n \"\"\" Post sent by server e.g. User joined channel \"\"\"\n fromServer: Boolean\n\n message: String\n type: PostTypeEnum\n props: AnyObject\n hashTags: String\n\n filenames: [String]\n fields: [String]\n reactions: [Reaction]\n files(criteria:AnyObject, limit:Int, skip:Int, sort:Sort):FilesInfo!\n editedBy: UserAccount\n deletedBy: UserAccount\n createdAt: DateTime\n updatedAt: DateTime\n deletedAt: DateTime\n\n propsConfiguration: MachineConfiguration\n\n isRead: Boolean\n isPinned: Boolean\n isDelivered: Boolean\n replies(criteria:AnyObject, limit:Int, skip:Int, sort:Sort): Messages\n}\n\ninput ExpoNotificationThread {\n id:String!\n extraParams:AnyObject\n}\n\ninput ExpoNotificationData {\n url: String!\n params: AnyObject!\n title:String\n body:String\n screen:String\n senderId:String\n thread:ExpoNotificationThread\n other: AnyObject\n}\n\ninput MessageInput {\n content: String!\n userRef: [String] #userId\n channelRef: [String] #channelId\n files: [ID!]\n createdBy:ID #Posted by\n notificationParams:ExpoNotificationData\n}\n\ninput MessageIdentifier {\n channelId: String!\n messageId: String!\n}\n\ntype PostsWithCursor {\n cursor: String\n channel: Channel\n posts: [Post]\n}\n\ntype Messages{\n totalCount: Int,\n data:[Post]\n}\n\n\nextend type Query {\n messages(\n channelId: ID,\n # channelName: String,\n # directTo: ID,\n parentId: String,\n limit: Int,\n skip: Int,\n sort:Sort,\n # searchRegex: String,\n # excludeServer: Boolean\n ): Messages! @isAuthenticated @addAccountContext\n\n publicMessages(\n channelId: ID!\n ): Messages! @addAccountContext\n}\n\nextend type Mutation {\n deleteMessage(messageId: MessageIdentifier!): Boolean @isAuthenticated @addAccountContext\n editMessage(messageId: MessageIdentifier!, messageInput: MessageInput!): Post @isAuthenticated @addAccountContext\n sendMessage(channelId: String!, messageInput: MessageInput!,postId: ID): Post @isAuthenticated @addAccountContext\n \"\"\"\n Attach Post File\n \"\"\"\n createMessageFileUploadLink(postId:ID!, filename:String!): String! @isAuthenticated @addAccountContext\n attachUploadedFileToMessage(postId:ID!, file: UploadedFileInput!): FileInfo! @isAuthenticated @addAccountContext\n\n createMessageFilesUploadLink(postId:ID!, filenames:[String!]!): [String!]! @isAuthenticated @addAccountContext\n attachUploadedFilesToMessage(postId:ID!, files: [UploadedFileInput!]!): [FileInfo!]! @isAuthenticated @addAccountContext\n \"\"\"\n Detach Post File\n \"\"\"\n deleteMessageFile(url: String!): Boolean! @isAuthenticated @addAccountContext\n\n readMessage(messageId: MessageIdentifier!): Boolean! @isAuthenticated @addAccountContext\n\n deliverMessage(messageId: MessageIdentifier!): Boolean! @isAuthenticated @addAccountContext\n\n sendPublicMessage(channelId: String!, messageInput: MessageInput!,postId: ID): Post @addAccountContext\n sendExpoNotificationOnPost(postId: ID!, notificationData: ExpoNotificationData!): Boolean!\n TestchatMessage(channelId: String!): AnyObject \n}\n\nextend type Subscription {\n # chatMessageAdded(channelId: String, directTo: String): Post @isAuthenticated @addAccountContext\n chatMessageAdded(channelId: String, directTo: String): Post @addAccountContext\n publicPostAdded(channelId: String!): Post @addAccountContext\n chatMessageTest(channelId: String, directTo: String): AnyObject\n}\n";export{postSchema as default};//# sourceMappingURL=post.graphql.js.map
1
+ var postSchema = "\"\"\"\nPost type enumeration\n\"\"\"\nenum PostTypeEnum {\n \"\"\"\n Simple post type\n \"\"\"\n Simple\n \n \"\"\"\n Public post type\n \"\"\"\n Public\n}\n\n\"\"\"\nPost: A message or content posted in a channel\n\"\"\"\ntype Post implements IBaseRepo & IFileRef @entity {\n \"\"\"\n Unique identifier for the post\n \"\"\"\n id: ID! @id\n \n \"\"\"\n Post author/creator\n \"\"\"\n author: UserAccount @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Creator of the post\n \"\"\"\n creator: UserAccount @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Channel where post was made\n \"\"\"\n channel: Channel @column(overrideType: \"ObjectId\")\n\n \"\"\"\n Root post ID for threaded conversations\n \"\"\"\n rootId: String @column\n \n \"\"\"\n Parent post ID for replies\n \"\"\"\n parentId: String @column\n \n \"\"\"\n Original post ID for forwarded messages\n \"\"\"\n originalId: String @column\n\n \"\"\"\n Post sent by server e.g. User joined channel\n \"\"\"\n fromServer: Boolean @column\n\n \"\"\"\n Post message content\n \"\"\"\n message: String @column\n \n \"\"\"\n Post type classification\n \"\"\"\n type: PostTypeEnum @column\n \n \"\"\"\n Additional post properties\n \"\"\"\n props: AnyObject @column\n \n \"\"\"\n Post hashtags\n \"\"\"\n hashTags: String @column\n\n \"\"\"\n Attached filenames\n \"\"\"\n filenames: [String] @column\n \n \"\"\"\n Custom fields\n \"\"\"\n fields: [String] @column\n \n \"\"\"\n Post reactions\n \"\"\"\n reactions: [Reaction] @column(overrideType: \"ObjectId[]\")\n \n \"\"\"\n Attached files with pagination\n \"\"\"\n files(criteria:AnyObject, limit:Int, skip:Int, sort:Sort):FilesInfo!\n \n \"\"\"\n User who edited the post\n \"\"\"\n editedBy: UserAccount @column(overrideType: \"ObjectId\")\n \n \"\"\"\n User who deleted the post\n \"\"\"\n deletedBy: UserAccount @column(overrideType: \"ObjectId\")\n \n \"\"\"\n Edit timestamp\n \"\"\"\n editedAt: DateTime @column(overrideType: \"Date\")\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 Props configuration for machine states\n References the configuration model for storing machine-specific settings and state information.\n \"\"\"\n propsConfiguration: MachineConfiguration @column(overrideType: \"ObjectId\")\n\n \"\"\"\n Whether post has been read\n \"\"\"\n isRead: Boolean @column\n \n \"\"\"\n Whether post is pinned\n \"\"\"\n isPinned: Boolean @column\n \n \"\"\"\n Whether post has been delivered\n \"\"\"\n isDelivered: Boolean @column\n \n \"\"\"\n Whether post has reactions\n \"\"\"\n hasReactions: Boolean @column\n \n \"\"\"\n Post replies with pagination\n \"\"\"\n replies(criteria:AnyObject, limit:Int, skip:Int, sort:Sort): Messages\n}\n\n\"\"\"\nExpo notification thread input\n\"\"\"\ninput ExpoNotificationThread {\n \"\"\"\n Thread identifier\n \"\"\"\n id: String!\n \n \"\"\"\n Additional thread parameters\n \"\"\"\n extraParams: AnyObject\n}\n\n\"\"\"\nExpo notification data input\n\"\"\"\ninput ExpoNotificationData {\n \"\"\"\n Notification URL\n \"\"\"\n url: String!\n \n \"\"\"\n URL parameters\n \"\"\"\n params: AnyObject!\n \n \"\"\"\n Notification title\n \"\"\"\n title: String\n \n \"\"\"\n Notification body\n \"\"\"\n body: String\n \n \"\"\"\n Target screen\n \"\"\"\n screen: String\n \n \"\"\"\n Sender identifier\n \"\"\"\n senderId: String\n \n \"\"\"\n Thread information\n \"\"\"\n thread: ExpoNotificationThread\n \n \"\"\"\n Additional notification data\n \"\"\"\n other: AnyObject\n}\n\n\"\"\"\nMessage input for creating posts\n\"\"\"\ninput MessageInput {\n \"\"\"\n Message content\n \"\"\"\n content: String!\n \n \"\"\"\n Referenced user IDs\n \"\"\"\n userRef: [String] # userId\n \n \"\"\"\n Referenced channel IDs\n \"\"\"\n channelRef: [String] # channelId\n \n \"\"\"\n Attached file IDs\n \"\"\"\n files: [ID!]\n \n \"\"\"\n Creator user ID\n \"\"\"\n createdBy: ID # Posted by\n \n \"\"\"\n Notification parameters\n \"\"\"\n notificationParams: ExpoNotificationData\n}\n\n\"\"\"\nMessage identifier input\n\"\"\"\ninput MessageIdentifier {\n \"\"\"\n Channel identifier\n \"\"\"\n channelId: String!\n \n \"\"\"\n Message identifier\n \"\"\"\n messageId: String!\n}\n\n\"\"\"\nPosts with cursor for pagination\n\"\"\"\ntype PostsWithCursor {\n \"\"\"\n Pagination cursor\n \"\"\"\n cursor: String\n \n \"\"\"\n Associated channel\n \"\"\"\n channel: Channel\n \n \"\"\"\n List of posts\n \"\"\"\n posts: [Post]\n}\n\n\"\"\"\nMessages response with pagination\n\"\"\"\ntype Messages {\n \"\"\"\n Total count of messages\n \"\"\"\n totalCount: Int\n \n \"\"\"\n Message data\n \"\"\"\n data: [Post]\n}\n\n\nextend type Query {\n messages(\n channelId: ID,\n # channelName: String,\n # directTo: ID,\n parentId: String,\n limit: Int,\n skip: Int,\n sort:Sort,\n # searchRegex: String,\n # excludeServer: Boolean\n ): Messages! @isAuthenticated @addAccountContext\n\n publicMessages(\n channelId: ID!\n ): Messages! @addAccountContext\n}\n\nextend type Mutation {\n deleteMessage(messageId: MessageIdentifier!): Boolean @isAuthenticated @addAccountContext\n editMessage(messageId: MessageIdentifier!, messageInput: MessageInput!): Post @isAuthenticated @addAccountContext\n sendMessage(channelId: String!, messageInput: MessageInput!,postId: ID): Post @isAuthenticated @addAccountContext\n \"\"\"\n Attach Post File\n \"\"\"\n createMessageFileUploadLink(postId:ID!, filename:String!): String! @isAuthenticated @addAccountContext\n attachUploadedFileToMessage(postId:ID!, file: UploadedFileInput!): FileInfo! @isAuthenticated @addAccountContext\n\n createMessageFilesUploadLink(postId:ID!, filenames:[String!]!): [String!]! @isAuthenticated @addAccountContext\n attachUploadedFilesToMessage(postId:ID!, files: [UploadedFileInput!]!): [FileInfo!]! @isAuthenticated @addAccountContext\n \"\"\"\n Detach Post File\n \"\"\"\n deleteMessageFile(url: String!): Boolean! @isAuthenticated @addAccountContext\n\n readMessage(messageId: MessageIdentifier!): Boolean! @isAuthenticated @addAccountContext\n\n deliverMessage(messageId: MessageIdentifier!): Boolean! @isAuthenticated @addAccountContext\n\n sendPublicMessage(channelId: String!, messageInput: MessageInput!,postId: ID): Post @addAccountContext\n sendExpoNotificationOnPost(postId: ID!, notificationData: ExpoNotificationData!): Boolean!\n TestchatMessage(channelId: String!): AnyObject \n}\n\nextend type Subscription {\n # chatMessageAdded(channelId: String, directTo: String): Post @isAuthenticated @addAccountContext\n chatMessageAdded(channelId: String, directTo: String): Post @addAccountContext\n publicPostAdded(channelId: String!): Post @addAccountContext\n chatMessageTest(channelId: String, directTo: String): AnyObject\n}\n";export{postSchema as default};//# sourceMappingURL=post.graphql.js.map