@messenger-box/platform-server 0.0.1-alpha.358 → 0.0.1-alpha.362

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.
@@ -1,4 +1,87 @@
1
- const postThreadResolvers = () => ({
2
- Query: {},
3
- Mutation: {},
1
+ import {ISortEnum}from'@common-stack/store-mongo';const postThreadResolvers = () => ({
2
+ PostThread: {
3
+ channel(src, args, { channelService }) {
4
+ return channelService.get(src.channel.toString());
5
+ },
6
+ post(src, args, { postService }) {
7
+ return postService.get(src.post.toString());
8
+ },
9
+ participants(src, args, { accountService }) {
10
+ var _a;
11
+ return (_a = src === null || src === void 0 ? void 0 : src.participants) === null || _a === void 0 ? void 0 : _a.map((u) => accountService.findAccountById(u.toString()));
12
+ },
13
+ replies(src, args, { postService }) {
14
+ var _a;
15
+ const replies = (_a = postService === null || postService === void 0 ? void 0 : postService.getAll({ criteria: { parentId: src.post.toString() } })) !== null && _a !== void 0 ? _a : [];
16
+ return replies;
17
+ },
18
+ },
19
+ Query: {
20
+ async threadMessages(src, { channelId, postParentId, limit, skip }, { postThreadService, postService, userContext }) {
21
+ const { accountId } = userContext;
22
+ const { data, totalCount } = await postThreadService.getAllWithCount({
23
+ criteria: {
24
+ channel: channelId,
25
+ participants: {
26
+ $eq: accountId,
27
+ },
28
+ // post:{parentId:postParentId}
29
+ },
30
+ limit,
31
+ skip,
32
+ sort: {
33
+ key: 'createdAt',
34
+ value: ISortEnum.Desc,
35
+ },
36
+ });
37
+ return {
38
+ totalCount,
39
+ data,
40
+ };
41
+ },
42
+ },
43
+ Mutation: {
44
+ async sendThreadMessage(src, { channelId, postParentId, responderId, threadMessageInput }, { postService, postThreadService, channelService, userContext, pubsub }) {
45
+ var _a;
46
+ const { content, files } = threadMessageInput;
47
+ const { accountId } = userContext;
48
+ const channel = await channelService.get(channelId);
49
+ // const memebers = channel?.members?.filter((mu:any)=>mu?.user != accountId)?.map((m:any)=>m?.user);
50
+ const memebers = (_a = channel === null || channel === void 0 ? void 0 : channel.members) === null || _a === void 0 ? void 0 : _a.map((m) => m === null || m === void 0 ? void 0 : m.user);
51
+ const post = await postService.create({
52
+ channel: channelId,
53
+ message: content,
54
+ editedBy: accountId,
55
+ author: accountId,
56
+ files,
57
+ parentId: postParentId,
58
+ });
59
+ const responder = responderId || accountId;
60
+ const participants = [].concat(memebers, responder);
61
+ const { totalCount: postParentTotalCount } = await postService.getAllWithCount({ criteria: { parentId: postParentId } });
62
+ const replyCount = postParentId ? postParentTotalCount : 0;
63
+ const data = {
64
+ post: post === null || post === void 0 ? void 0 : post.id,
65
+ channel: channelId,
66
+ replyCount: replyCount,
67
+ lastReplyAt: post.createdAt,
68
+ participants: participants,
69
+ };
70
+ let postThread;
71
+ if (postParentId && post) {
72
+ const postThreadExists = await postThreadService.getAll({ criteria: { post: postParentId } });
73
+ if (postThreadExists) {
74
+ postThread = await postThreadService.update(postThreadExists[0].id, { replyCount: replyCount });
75
+ }
76
+ else {
77
+ postThread = await postThreadService.create(data);
78
+ }
79
+ }
80
+ else {
81
+ postThread = await postThreadService.create(data);
82
+ }
83
+ pubsub.publish(`POST_THREAD_CREATED.${channelId}`, postThread);
84
+ return postThread;
85
+ },
86
+ },
4
87
  });export{postThreadResolvers};//# sourceMappingURL=post-thread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-thread.js","sources":["../../../src/graphql/resolvers/post-thread.ts"],"sourcesContent":[null],"names":[],"mappings":"AAGa,MAAA,mBAAmB,GAAG,OAA6B;AAC5D,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,QAAQ,EAAE,EAAE;AACf,CAAA"}
1
+ {"version":3,"file":"post-thread.js","sources":["../../../src/graphql/resolvers/post-thread.ts"],"sourcesContent":[null],"names":[],"mappings":"kDAIa,MAAA,mBAAmB,GAAG,OAA6B;AAC5D,IAAA,UAAU,EAAE;AACR,QAAA,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAA;YACjC,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SACrD;AACD,QAAA,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAA;YAC3B,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC/C;AACD,QAAA,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAA;;YACtC,OAAO,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,CAAK,KAAG,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAQ,CAAC,CAAC;SAC/F;AACD,QAAA,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAA;;AAC9B,YAAA,MAAM,OAAO,GAAO,CAAA,EAAA,GAAA,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,MAAM,CAAC,EAAC,QAAQ,EAAC,EAAC,QAAQ,EAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAC,EAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAC;AACvF,YAAA,OAAO,OAAO,CAAA;SACjB;AACJ,KAAA;AACD,IAAA,KAAK,EAAE;QACH,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,SAAS,EAAC,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,iBAAiB,EAAC,WAAW,EAAE,WAAW,EAAE,EAAA;AAC7G,YAAA,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;YAClC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,eAAe,CAAC;AACjE,gBAAA,QAAQ,EAAE;AACN,oBAAA,OAAO,EAAE,SAAS;AAClB,oBAAA,YAAY,EAAE;AACV,wBAAA,GAAG,EAAE,SAAS;AACjB,qBAAA;;AAEJ,iBAAA;gBACD,KAAK;gBACL,IAAI;AACJ,gBAAA,IAAI,EAAE;AACF,oBAAA,GAAG,EAAE,WAAW;oBAChB,KAAK,EAAE,SAAS,CAAC,IAAI;AACxB,iBAAA;AACJ,aAAA,CAAC,CAAC;YAGH,OAAO;gBACH,UAAU;gBACV,IAAI;aACP,CAAC;SACL;AACJ,KAAA;AACD,IAAA,QAAQ,EAAE;QACN,MAAM,iBAAiB,CAAC,GAAG,EAAE,EAAE,SAAS,EAAC,YAAY,EAAC,WAAW,EAAE,kBAAkB,EAAE,EAAE,EAAE,WAAW,EAAC,iBAAiB,EAAC,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,EAAA;;AAC1J,YAAA,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC;AAC9C,YAAA,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC;YAElC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;;YAEnD,MAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,OAAO,KAAA,IAAA,IAAP,OAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAP,OAAO,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,CAAC,CAAK,KAAG,CAAC,KAAA,IAAA,IAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,IAAI,CAAC,CAAC;AACzD,YAAA,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC;AAClC,gBAAA,OAAO,EAAE,SAAgB;AACzB,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,QAAQ,EAAE,SAAgB;AAC1B,gBAAA,MAAM,EAAE,SAAgB;gBACxB,KAAK;AACL,gBAAA,QAAQ,EAAC,YAAY;AACxB,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,SAAS,GAAG,WAAW,IAAI,SAAS,CAAC;YAC3C,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACpD,MAAM,EAAC,UAAU,EAAG,oBAAoB,EAAC,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,EAAC,QAAQ,EAAC,EAAC,QAAQ,EAAC,YAAY,EAAC,EAAC,CAAC,CAAA;YACjH,MAAM,UAAU,GAAG,YAAY,GAAC,oBAAoB,GAAC,CAAC,CAAC;AACvD,YAAA,MAAM,IAAI,GAAO;AACb,gBAAA,IAAI,EAAE,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAJ,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,IAAI,CAAE,EAAE;AACd,gBAAA,OAAO,EAAE,SAAgB;AACzB,gBAAA,UAAU,EAAE,UAAU;gBACtB,WAAW,EAAE,IAAI,CAAC,SAAgB;AAClC,gBAAA,YAAY,EAAE,YAAY;aAC7B,CAAA;AAGD,YAAA,IAAI,UAAc,CAAC;YACnB,IAAG,YAAY,IAAI,IAAI,EAAC;AACrB,gBAAA,MAAM,gBAAgB,GAAI,MAAM,iBAAiB,CAAC,MAAM,CAAC,EAAC,QAAQ,EAAC,EAAC,IAAI,EAAC,YAAY,EAAC,EAAC,CAAC,CAAA;AACxF,gBAAA,IAAG,gBAAgB,EAAC;AACnB,oBAAA,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,CAAA;AAC3F,iBAAA;AACG,qBAAA;oBACF,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACnD,iBAAA;AACH,aAAA;AACG,iBAAA;gBACC,UAAU,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACtD,aAAA;YAGD,MAAM,CAAC,OAAO,CAAC,CAAA,oBAAA,EAAuB,SAAS,CAAE,CAAA,EAAE,UAAU,CAAC,CAAC;AAE/D,YAAA,OAAO,UAAU,CAAC;SACrB;AACJ,KAAA;AACJ,CAAA"}
@@ -1 +1 @@
1
- var postThread = "type PostThread{\n post: Post,\n channel: Channel,\n replyCount: Int,\n lastReplyAt: DateTime,\n participants:[UserAccount]\n}\n";export{postThread as default};//# sourceMappingURL=post-thread.graphql.js.map
1
+ var postThread = "type PostThread implements IBaseRepo{\n id: ID!\n post: Post,\n channel: Channel,\n replyCount: Int,\n lastReplyAt: DateTime,\n participants:[UserAccount]\n createdAt: DateTime\n updatedAt: DateTime\n deletedAt: DateTime\n replies:[Post]\n}\n\ntype ThreadMessages{\n totalCount: Int,\n data:[PostThread]\n}\n\ninput ThreadMessageInput {\n content: String!\n userRef: [String] #userId\n channelRef: [String] #channelId\n files: [ID!]\n}\n\nextend type Query {\n threadMessages(\n channelId: ID,\n postParentId: ID,\n limit: Int,\n skip: Int,\n ): ThreadMessages! @isAuthenticated @addAccountContext\n}\n\nextend type Mutation {\n sendThreadMessage(channelId: String!,postParentId:String,responderId:String, threadMessageInput: ThreadMessageInput!): PostThread @isAuthenticated @addAccountContext\n}";export{postThread as default};//# sourceMappingURL=post-thread.graphql.js.map
@@ -1,3 +1,5 @@
1
1
  import { IPostThread } from '@messenger-box/core';
2
2
  import { IBaseService } from '@common-stack/store-mongo';
3
+ export interface IPostThreadServiceInput extends Omit<IPostThread, 'id'> {
4
+ }
3
5
  export declare type IPostThreadService = IBaseService<IPostThread>;
@@ -1,7 +1,10 @@
1
1
  import { IPostThread } from '@messenger-box/core';
2
2
  import { BaseService } from '@common-stack/store-mongo';
3
- import { IPostThreadRepository, IPostThreadService } from '../interfaces';
3
+ import { IPostThreadRepository, IPostThreadServiceInput, IPostThreadService } from '../interfaces';
4
+ import { ServiceBroker } from 'moleculer';
4
5
  export declare class PostThreadService extends BaseService<IPostThread> implements IPostThreadService {
5
6
  readonly repository: IPostThreadRepository;
6
- constructor(repository: IPostThreadRepository);
7
+ private readonly broker;
8
+ constructor(repository: IPostThreadRepository, broker: ServiceBroker);
9
+ create(data: IPostThreadServiceInput): Promise<IPostThread>;
7
10
  }
@@ -1,10 +1,16 @@
1
- import {__decorate,__param}from'tslib';import {injectable,inject}from'inversify';import {BaseService}from'@common-stack/store-mongo';import'../constants/query.constants.js';import {TYPES}from'@messenger-box/core/lib/server';let PostThreadService = class PostThreadService extends BaseService {
2
- constructor(repository) {
1
+ import {__decorate,__param}from'tslib';import {injectable,inject}from'inversify';import {BaseService}from'@common-stack/store-mongo';import'../constants/query.constants.js';import {TYPES}from'@messenger-box/core/lib/server';import {CommonType}from'@common-stack/core';let PostThreadService = class PostThreadService extends BaseService {
2
+ constructor(repository, broker) {
3
3
  super(repository);
4
4
  this.repository = repository;
5
+ this.broker = broker;
6
+ }
7
+ async create(data) {
8
+ const postThread = await super.create(data);
9
+ return postThread;
5
10
  }
6
11
  };
7
12
  PostThreadService = __decorate([
8
13
  injectable(),
9
- __param(0, inject(TYPES.PostThreadRepository))
14
+ __param(0, inject(TYPES.PostThreadRepository)),
15
+ __param(1, inject(CommonType.MOLECULER_BROKER))
10
16
  ], PostThreadService);export{PostThreadService};//# sourceMappingURL=post-thread-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"post-thread-service.js","sources":["../../src/services/post-thread-service.ts"],"sourcesContent":[null],"names":[],"mappings":"gOAOO,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,WAAwB,CAAA;AAC3D,IAAA,WAAA,CAEa,UAAiC,EAAA;QAE1C,KAAK,CAAC,UAAU,CAAC,CAAC;QAFT,IAAU,CAAA,UAAA,GAAV,UAAU,CAAuB;KAG7C;EACJ;AAPY,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAA,UAAU,EAAE;AAGJ,IAAA,OAAA,CAAA,CAAA,EAAA,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;AAF9B,CAAA,EAAA,iBAAiB,CAO7B"}
1
+ {"version":3,"file":"post-thread-service.js","sources":["../../src/services/post-thread-service.ts"],"sourcesContent":[null],"names":[],"mappings":"4QAUO,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,WAAwB,CAAA;IAC3D,WAEa,CAAA,UAAiC,EAEzB,MAAqB,EAAA;QAEtC,KAAK,CAAC,UAAU,CAAC,CAAC;QAJT,IAAU,CAAA,UAAA,GAAV,UAAU,CAAuB;QAEzB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;KAGzC;IAED,MAAM,MAAM,CAAC,IAA6B,EAAA;QACtC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAE5C,QAAA,OAAO,UAAU,CAAC;KACrB;EACJ;AAfY,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAA,UAAU,EAAE;AAGJ,IAAA,OAAA,CAAA,CAAA,EAAA,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;AAElC,IAAA,OAAA,CAAA,CAAA,EAAA,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;AAJ/B,CAAA,EAAA,iBAAiB,CAe7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@messenger-box/platform-server",
3
- "version": "0.0.1-alpha.358",
3
+ "version": "0.0.1-alpha.362",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -20,8 +20,8 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@container-stack/mailing-api": "^0.0.35-alpha.34",
23
- "@messenger-box/core": "0.0.1-alpha.358",
24
- "@messenger-box/notification-api-core": "0.0.1-alpha.358",
23
+ "@messenger-box/core": "0.0.1-alpha.362",
24
+ "@messenger-box/notification-api-core": "0.0.1-alpha.362",
25
25
  "@skoropletov/moleculer-cron-tasks": "~0.0.8",
26
26
  "date-fns": "^2.28.0"
27
27
  },
@@ -49,5 +49,5 @@
49
49
  "typescript": {
50
50
  "definition": "lib/index.d.ts"
51
51
  },
52
- "gitHead": "0e099ef845b1228dcf84fd33d28181e78a020a84"
52
+ "gitHead": "b42a51b9a893fd82e38a4ae30776af31277e39cf"
53
53
  }