@amityco/ts-sdk 0.0.1-beta.43.1 → 0.0.1-beta.44.0

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 (45) hide show
  1. package/dist/category/api/queryCategories.d.ts.map +1 -1
  2. package/dist/comment/api/queryComments.d.ts.map +1 -1
  3. package/dist/community/api/queryCommunities.d.ts.map +1 -1
  4. package/dist/core/query/filtering.d.ts +10 -0
  5. package/dist/core/query/filtering.d.ts.map +1 -1
  6. package/dist/index.cjs.js +82 -60
  7. package/dist/index.esm.js +82 -61
  8. package/dist/index.umd.js +4 -4
  9. package/dist/message/api/queryMessages.d.ts +1 -17
  10. package/dist/message/api/queryMessages.d.ts.map +1 -1
  11. package/dist/message/utils/prepareMessagePayload.d.ts.map +1 -1
  12. package/dist/post/api/queryPosts.d.ts.map +1 -1
  13. package/dist/post/observers/livePosts.d.ts.map +1 -1
  14. package/dist/subChannel/api/querySubChannels.d.ts.map +1 -1
  15. package/dist/utils/inferIsDeleted.d.ts +2 -0
  16. package/dist/utils/inferIsDeleted.d.ts.map +1 -0
  17. package/dist/utils/tests/inferIsDeleted.test.d.ts +2 -0
  18. package/dist/utils/tests/inferIsDeleted.test.d.ts.map +1 -0
  19. package/package.json +1 -1
  20. package/src/category/api/queryCategories.ts +3 -1
  21. package/src/category/observers/liveCategories.ts +1 -1
  22. package/src/category/observers/tests/liveCategories.test.ts +7 -5
  23. package/src/channel/api/tests/removeChannelMembers.test.ts +3 -4
  24. package/src/channel/observers/tests/liveChannels.test.ts +6 -6
  25. package/src/client/api/connectClient.ts +1 -1
  26. package/src/comment/api/queryComments.ts +3 -1
  27. package/src/comment/observers/liveComments.ts +1 -1
  28. package/src/community/api/queryCommunities.ts +2 -1
  29. package/src/community/api/test/queryCommunity.test.ts +2 -2
  30. package/src/community/observers/liveCommunities.ts +1 -1
  31. package/src/community/observers/tests/liveCommunities.test.ts +7 -7
  32. package/src/core/query/filtering.ts +38 -0
  33. package/src/message/api/queryMessages.ts +15 -50
  34. package/src/message/api/tests/queryMessages.test.ts +2 -37
  35. package/src/message/observers/liveMessages.ts +2 -2
  36. package/src/message/tests/observers/liveMessage.test.ts +1 -1
  37. package/src/message/tests/observers/liveMessages.test.ts +1 -1
  38. package/src/message/utils/prepareMessagePayload.ts +3 -1
  39. package/src/post/api/queryPosts.ts +3 -1
  40. package/src/post/observers/livePosts.ts +7 -2
  41. package/src/post/observers/tests/livePosts.test.ts +10 -4
  42. package/src/subChannel/api/querySubChannels.ts +3 -1
  43. package/src/subChannel/observers/liveSubChannels.ts +1 -1
  44. package/src/utils/inferIsDeleted.ts +16 -0
  45. package/src/utils/tests/inferIsDeleted.test.ts +15 -0
@@ -66,7 +66,7 @@ describe('livePosts', () => {
66
66
 
67
67
  const filters: [string, Amity.PostLiveCollection, number?][] = [
68
68
  ['not deleted', { ...params, includeDeleted: false }],
69
- ['tags', { ...params, tags: ['test_tag'] }, 1],
69
+ ['tags', { ...params, tags: ['test_tag'], includeDeleted: true }, 1],
70
70
  ];
71
71
 
72
72
  test.each(filters)(
@@ -104,7 +104,7 @@ describe('livePosts', () => {
104
104
  .mockResolvedValue(postQueryResponse)
105
105
  .mockResolvedValueOnce(postQueryResponsePage2);
106
106
 
107
- livePosts(params, callback);
107
+ livePosts({ ...params, includeDeleted: true }, callback);
108
108
 
109
109
  expect(callback).toHaveBeenCalled();
110
110
 
@@ -292,7 +292,10 @@ describe('livePosts', () => {
292
292
  const callback = jest.fn();
293
293
  client.http.get = jest.fn().mockResolvedValue(postQueryResponsePage2);
294
294
 
295
- livePosts({ ...params, targetType: 'community', feedType: 'reviewing' }, callback);
295
+ livePosts(
296
+ { ...params, targetType: 'community', feedType: 'reviewing', includeDeleted: true },
297
+ callback,
298
+ );
296
299
 
297
300
  await pause();
298
301
  const payload = postQueryResponsePage2.data.posts;
@@ -335,7 +338,10 @@ describe('livePosts', () => {
335
338
  const callback = jest.fn();
336
339
  client.http.get = jest.fn().mockResolvedValue(postQueryResponsePage2);
337
340
 
338
- livePosts({ ...params, targetType: 'community', feedType: 'published' }, callback);
341
+ livePosts(
342
+ { ...params, targetType: 'community', feedType: 'published', includeDeleted: true },
343
+ callback,
344
+ );
339
345
 
340
346
  await pause();
341
347
  const payload = postQueryResponsePage2.data.posts;
@@ -4,6 +4,8 @@ import { getActiveClient } from '~/client/api';
4
4
  import { getResolver } from '~/core/model';
5
5
  import { toPage, toToken } from '~/core/query';
6
6
  import { fireEvent } from '~/core/events';
7
+
8
+ import { inferIsDeleted } from '~/utils/inferIsDeleted';
7
9
  import { convertQueryParams, prepareSubChannelPayload } from '../utils';
8
10
 
9
11
  /* begin_public_function
@@ -36,7 +38,7 @@ export const querySubChannels = async (
36
38
  {
37
39
  params: {
38
40
  ...params,
39
- isDeleted: includeDeleted === false ? false : undefined,
41
+ isDeleted: inferIsDeleted(includeDeleted),
40
42
  options: {
41
43
  token: toToken(page, 'skiplimit'),
42
44
  },
@@ -59,7 +59,7 @@ export const liveSubChannels = (
59
59
  const responder = (data: Amity.SubChannelLiveCollectionCache) => {
60
60
  let subChannels: Amity.SubChannel[] = data.data;
61
61
 
62
- if (params.includeDeleted === false) {
62
+ if (!params.includeDeleted) {
63
63
  subChannels = filterByPropEquality(subChannels, 'isDeleted', false);
64
64
  }
65
65
 
@@ -0,0 +1,16 @@
1
+ /*
2
+ * This is a simple utility that infers the value of isDeleted based on the
3
+ * value of includeDeleted
4
+ *
5
+ * There are two important things to note here:
6
+ * 1. `includeDeleted` is purely client side query param and not recognized by
7
+ * the server
8
+ * 2. The only values we wish to expose with regards to `isDeleted` (the server
9
+ * param for queries) is false | undefined and want to disallow users to query
10
+ * for deleted entities
11
+ *
12
+ * Although this is a very simple utility, it's only purpose is to keep things
13
+ * DRY
14
+ */
15
+ export const inferIsDeleted = (includeDeleted?: boolean): boolean | undefined =>
16
+ includeDeleted === true ? undefined : false;
@@ -0,0 +1,15 @@
1
+ import { inferIsDeleted } from '../inferIsDeleted';
2
+
3
+ describe('utils > inferIsDeleted', () => {
4
+ test('it should return false if includeDeleted false', () => {
5
+ expect(inferIsDeleted(false)).toBe(false);
6
+ });
7
+
8
+ test('it should return false if includeDeleted undefined', () => {
9
+ expect(inferIsDeleted(undefined)).toBe(false);
10
+ });
11
+
12
+ test('it should return undefined if includeDeleted true', () => {
13
+ expect(inferIsDeleted(true)).toBeUndefined();
14
+ });
15
+ });