@roadmanjs/chat 0.0.25 → 0.0.26

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,7 +1,7 @@
1
1
  import { ContextType, ChatResType } from '../../shared/ContextType';
2
2
  import { ChatMessage, ChatMessageType } from '../models/ChatMessage.model';
3
3
  export declare class ChatMessageResolver {
4
- chatMessage(convoId: string, before: Date, after: Date, limit?: number): Promise<{
4
+ chatMessage(convoId: string, before: Date, after: Date, limitArg: any): Promise<{
5
5
  items: ChatMessage[];
6
6
  hasNext: boolean;
7
7
  params: any;
@@ -49,7 +49,15 @@ const ChatConvo_model_1 = require("../models/ChatConvo.model");
49
49
  const couchset_2 = require("@roadmanjs/couchset");
50
50
  const ChatPagination = (0, ContextType_1.getPagination)(ChatMessage_model_1.ChatMessage);
51
51
  let ChatMessageResolver = class ChatMessageResolver {
52
- async chatMessage(convoId, before, after, limit = 10) {
52
+ async chatMessage(convoId,
53
+ // @Arg('sort', () => String, {nullable: true}) sortArg?: string,
54
+ before, after, limitArg) {
55
+ // TODO add sort, by default it's just new to old
56
+ const bucket = couchset_2.connectionOptions.bucketName;
57
+ const sign = before ? '<=' : '>=';
58
+ const time = new Date(before || after);
59
+ const limit = limitArg || 10;
60
+ const limitPassed = limit + 1;
53
61
  const copyParams = (0, pickBy_1.default)({
54
62
  convoId,
55
63
  before,
@@ -57,9 +65,6 @@ let ChatMessageResolver = class ChatMessageResolver {
57
65
  limit,
58
66
  }, identity_1.default);
59
67
  try {
60
- const bucket = couchset_2.connectionOptions.bucketName;
61
- const sign = before ? '<' : '>';
62
- const time = new Date(before || after);
63
68
  const query = `
64
69
  SELECT *
65
70
  FROM \`${bucket}\` chat
@@ -69,34 +74,26 @@ let ChatMessageResolver = class ChatMessageResolver {
69
74
  AND chat.convoId = "${convoId}"
70
75
  AND chat.createdAt ${sign} "${time.toISOString()}"
71
76
  ORDER BY chat.createdAt DESC
72
- LIMIT ${limit};
77
+ LIMIT ${limitPassed};
73
78
  `;
74
- // const query = `
75
- // SELECT *
76
- // FROM \`${bucket}\` chat
77
- // JOIN \`${bucket}\` owner
78
- // ON KEYS chat.owner
79
- // LEFT NEST \`${bucket}\` attachments
80
- // ON KEYS chat.attachments
81
- // WHERE chat._type = "${ChatMessageModelName}"
82
- // AND chat.convoId = "${convoId}"
83
- // AND chat.updatedAt ${sign} "${time}"
84
- // LIMIT ${limit};
85
- // `;
86
79
  const [errorFetching, data = []] = await (0, client_graphql_1.awaitTo)(ChatMessage_model_1.default.customQuery({
87
- limit,
80
+ limit: limitPassed,
88
81
  query,
89
82
  params: copyParams,
90
83
  }));
91
84
  if (errorFetching) {
92
85
  throw errorFetching;
93
86
  }
94
- const [rows = [], options = { hasNext: false, params: copyParams }] = data;
87
+ const [rows = []] = data;
88
+ const hasNext = rows.length > limit;
89
+ if (hasNext) {
90
+ rows.pop(); // remove last element
91
+ }
95
92
  const dataToSend = rows.map((d) => {
96
93
  const { chat, attachments, owner } = d;
97
94
  return ChatMessage_model_1.default.parse(Object.assign(Object.assign({}, chat), { attachments, owner: owner[0] || null }));
98
95
  });
99
- return Object.assign({ items: dataToSend }, options);
96
+ return { items: dataToSend, params: copyParams, hasNext };
100
97
  }
101
98
  catch (error) {
102
99
  (0, logs_1.log)('error getting chat messages', error);
@@ -1 +1 @@
1
- {"version":3,"file":"ChatMessage.resolver.js","sourceRoot":"","sources":["../../../src/chat/resolvers/ChatMessage.resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatMessage.resolver.js","sourceRoot":"","sources":["../../../src/chat/resolvers/ChatMessage.resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roadmanjs/chat",
3
- "version": "0.0.25",
3
+ "version": "0.0.26",
4
4
  "description": " A roadman for chat and groups, using UserType from 'auth'",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",