@amityco/ts-sdk-react-native 7.8.5-4bb97e7.0 → 7.8.5-f2bdad1.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 (61) hide show
  1. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts +1 -1
  2. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts.map +1 -1
  3. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/payload.js.map +1 -1
  4. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/message.d.ts +0 -4
  5. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/message.d.ts.map +1 -1
  6. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/message.js.map +1 -1
  7. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/categoryRepository/internalApi/queryCategories.js +2 -2
  8. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/categoryRepository/internalApi/queryCategories.js.map +1 -1
  9. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/utils/linkedObject/messageLinkedObject.d.ts.map +1 -1
  10. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/utils/linkedObject/messageLinkedObject.js +1 -3
  11. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/utils/linkedObject/messageLinkedObject.js.map +1 -1
  12. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
  13. package/dist/@types/core/payload.d.ts +1 -1
  14. package/dist/@types/core/payload.d.ts.map +1 -1
  15. package/dist/@types/domains/message.d.ts +0 -4
  16. package/dist/@types/domains/message.d.ts.map +1 -1
  17. package/dist/index.cjs.js +27 -187
  18. package/dist/index.esm.js +27 -187
  19. package/dist/index.umd.js +1 -1
  20. package/dist/utils/linkedObject/messageLinkedObject.d.ts.map +1 -1
  21. package/package.json +1 -1
  22. package/src/@types/core/payload.ts +1 -1
  23. package/src/@types/domains/message.ts +0 -4
  24. package/src/categoryRepository/internalApi/queryCategories.ts +2 -2
  25. package/src/utils/linkedObject/messageLinkedObject.ts +0 -4
  26. package/tsconfig.tsbuildinfo +1 -1
  27. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/addReactionToMessage.d.ts +0 -2
  28. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/addReactionToMessage.d.ts.map +0 -1
  29. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/addReactionToMessage.js +0 -6
  30. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/addReactionToMessage.js.map +0 -1
  31. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/removeReactionToMessage.d.ts +0 -2
  32. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/removeReactionToMessage.d.ts.map +0 -1
  33. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/removeReactionToMessage.js +0 -6
  34. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/removeReactionToMessage.js.map +0 -1
  35. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/addReaction.d.ts +0 -5
  36. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/addReaction.d.ts.map +0 -1
  37. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/addReaction.js +0 -92
  38. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/addReaction.js.map +0 -1
  39. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/index.d.ts +0 -3
  40. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/index.d.ts.map +0 -1
  41. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/index.js +0 -3
  42. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/index.js.map +0 -1
  43. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/removeReaction.d.ts +0 -2
  44. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/removeReaction.d.ts.map +0 -1
  45. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/removeReaction.js +0 -68
  46. package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/removeReaction.js.map +0 -1
  47. package/dist/messageRepository/utils/addReactionToMessage.d.ts +0 -2
  48. package/dist/messageRepository/utils/addReactionToMessage.d.ts.map +0 -1
  49. package/dist/messageRepository/utils/removeReactionToMessage.d.ts +0 -2
  50. package/dist/messageRepository/utils/removeReactionToMessage.d.ts.map +0 -1
  51. package/dist/reactionRepository/internalApi/addReaction.d.ts +0 -5
  52. package/dist/reactionRepository/internalApi/addReaction.d.ts.map +0 -1
  53. package/dist/reactionRepository/internalApi/index.d.ts +0 -3
  54. package/dist/reactionRepository/internalApi/index.d.ts.map +0 -1
  55. package/dist/reactionRepository/internalApi/removeReaction.d.ts +0 -2
  56. package/dist/reactionRepository/internalApi/removeReaction.d.ts.map +0 -1
  57. package/src/messageRepository/utils/addReactionToMessage.ts +0 -12
  58. package/src/messageRepository/utils/removeReactionToMessage.ts +0 -12
  59. package/src/reactionRepository/internalApi/addReaction.ts +0 -137
  60. package/src/reactionRepository/internalApi/index.ts +0 -2
  61. package/src/reactionRepository/internalApi/removeReaction.ts +0 -95
@@ -1,2 +0,0 @@
1
- export declare const addReactionToMessage: (reactionName: string, message: Amity.InternalMessage) => Promise<boolean>;
2
- //# sourceMappingURL=addReactionToMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addReactionToMessage.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/utils/addReactionToMessage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,iBAAkB,MAAM,WAAW,MAAM,eAAe,qBASxF,CAAC"}
@@ -1,6 +0,0 @@
1
- import { addReaction as _addReaction } from '~/reactionRepository/internalApi';
2
- export const addReactionToMessage = (reactionName, message) => {
3
- const isMessageV3 = message.publicId !== message.messageId;
4
- return _addReaction('message', isMessageV3 ? message.publicId : message.messageId, reactionName, isMessageV3 ? 3 : 5);
5
- };
6
- //# sourceMappingURL=addReactionToMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addReactionToMessage.js","sourceRoot":"","sources":["../../../src/messageRepository/utils/addReactionToMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAE/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAE,OAA8B,EAAE,EAAE;IAC3F,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC;IAE3D,OAAO,YAAY,CACjB,SAAS,EACT,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAClD,YAAY,EACZ,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { addReaction as _addReaction } from '~/reactionRepository/internalApi';\n\nexport const addReactionToMessage = (reactionName: string, message: Amity.InternalMessage) => {\n const isMessageV3 = message.publicId !== message.messageId;\n\n return _addReaction(\n 'message',\n isMessageV3 ? message.publicId : message.messageId,\n reactionName,\n isMessageV3 ? 3 : 5,\n );\n};\n"]}
@@ -1,2 +0,0 @@
1
- export declare const removeReactionToMessage: (reactionName: string, message: Amity.InternalMessage) => Promise<boolean>;
2
- //# sourceMappingURL=removeReactionToMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeReactionToMessage.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/utils/removeReactionToMessage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,WAAW,MAAM,eAAe,qBAS3F,CAAC"}
@@ -1,6 +0,0 @@
1
- import { removeReaction as _removeReaction } from '~/reactionRepository/internalApi';
2
- export const removeReactionToMessage = (reactionName, message) => {
3
- const isMessageV3 = message.publicId !== message.messageId;
4
- return _removeReaction('message', isMessageV3 ? message.publicId : message.messageId, reactionName, isMessageV3 ? 3 : 5);
5
- };
6
- //# sourceMappingURL=removeReactionToMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeReactionToMessage.js","sourceRoot":"","sources":["../../../src/messageRepository/utils/removeReactionToMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAErF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,YAAoB,EAAE,OAA8B,EAAE,EAAE;IAC9F,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,SAAS,CAAC;IAE3D,OAAO,eAAe,CACpB,SAAS,EACT,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAClD,YAAY,EACZ,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { removeReaction as _removeReaction } from '~/reactionRepository/internalApi';\n\nexport const removeReactionToMessage = (reactionName: string, message: Amity.InternalMessage) => {\n const isMessageV3 = message.publicId !== message.messageId;\n\n return _removeReaction(\n 'message',\n isMessageV3 ? message.publicId : message.messageId,\n reactionName,\n isMessageV3 ? 3 : 5,\n );\n};\n"]}
@@ -1,5 +0,0 @@
1
- export declare const addReaction: {
2
- (referenceType: Amity.Reaction['referenceType'], referenceId: Amity.Reaction['referenceId'], reactionName: Amity.InternalReactor['reactionName'], referenceVersion?: number): Promise<boolean>;
3
- optimistically(referenceType: Amity.ReactableType, referenceId: Amity.Reaction['referenceId'], reactionName: Amity.InternalReactor['reactionName']): boolean | undefined;
4
- };
5
- //# sourceMappingURL=addReaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/addReaction.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,WAAW;oBACP,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,qBAChC,MAAM,GACxB,QAAQ,OAAO,CAAC;kCAoFF,MAAM,aAAa,eACrB,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,GAClD,OAAO,GAAG,SAAS;CANrB,CAAC"}
@@ -1,92 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
- import { upsertInCache, pullFromCache } from '~/cache/api';
3
- import { UNSYNCED_OBJECT_CACHED_AT_VALUE } from '~/utils/constants';
4
- import { dispatchReactable } from '../utils/dispatchReactable';
5
- import { fireEvent } from '~/core/events';
6
- import { ASCApiError } from '~/core/errors';
7
- export const addReaction = async (referenceType, referenceId, reactionName, referenceVersion) => {
8
- var _a, _b, _c;
9
- const client = getActiveClient();
10
- client.log('reaction/createReaction', {
11
- referenceId,
12
- referenceType,
13
- reactionName,
14
- });
15
- if (!['post', 'comment', 'story', 'message'].includes(referenceType))
16
- throw new ASCApiError('The reference type is not valid. It should be one of post, comment, story, or message', 400000 /* Amity.ServerError.BAD_REQUEST */, "error" /* Amity.ErrorLevel.ERROR */);
17
- const { data } = await client.http.post('/api/v2/reactions', {
18
- referenceId,
19
- referenceType,
20
- reactionName,
21
- referenceVersion,
22
- });
23
- if (client.cache) {
24
- const model = pullFromCache([
25
- referenceType,
26
- 'get',
27
- referenceId,
28
- ]);
29
- if (!model || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
30
- return true;
31
- const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }), updatedAt: new Date().toISOString() });
32
- if (referenceType === 'comment') {
33
- fireEvent('local.comment.addReaction', {
34
- comment: updatedModel,
35
- reactor: {
36
- userId: client.userId,
37
- reactionName,
38
- reactionId: data.addedId,
39
- },
40
- });
41
- return true;
42
- }
43
- if (referenceType === 'post') {
44
- fireEvent('local.post.addReaction', {
45
- post: updatedModel,
46
- reactor: {
47
- userId: client.userId,
48
- reactionName,
49
- reactionId: data.addedId,
50
- },
51
- });
52
- return true;
53
- }
54
- if (referenceType === 'story') {
55
- fireEvent('local.story.reactionAdded', {
56
- story: updatedModel,
57
- reactor: {
58
- userId: client.userId,
59
- reactionName,
60
- reactionId: data.addedId,
61
- },
62
- });
63
- return true;
64
- }
65
- }
66
- return true;
67
- };
68
- addReaction.optimistically = (referenceType, referenceId, reactionName) => {
69
- var _a, _b, _c, _d, _e;
70
- const client = getActiveClient();
71
- client.log('reaction/createReaction.optimistically', {
72
- referenceId,
73
- referenceType,
74
- reactionName,
75
- });
76
- if (!client.cache)
77
- return;
78
- const model = pullFromCache([
79
- referenceType,
80
- 'get',
81
- referenceId,
82
- ]);
83
- if (!(model === null || model === void 0 ? void 0 : model.data) || ((_a = model.data.myReactions) === null || _a === void 0 ? void 0 : _a.includes(reactionName)))
84
- return;
85
- const reaction = Object.assign(Object.assign({}, model.data), { reactionsCount: model.data.reactionsCount + 1, myReactions: [...((_b = model.data.myReactions) !== null && _b !== void 0 ? _b : []), reactionName], reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: ((_c = model.data.reactions[reactionName]) !== null && _c !== void 0 ? _c : 0) + 1 }) });
86
- upsertInCache([referenceType, 'get', referenceId], reaction, {
87
- cachedAt: UNSYNCED_OBJECT_CACHED_AT_VALUE,
88
- });
89
- dispatchReactable(referenceType, reaction);
90
- return (_e = (_d = reaction === null || reaction === void 0 ? void 0 : reaction.myReactions) === null || _d === void 0 ? void 0 : _d.includes(reactionName)) !== null && _e !== void 0 ? _e : false;
91
- };
92
- //# sourceMappingURL=addReaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addReaction.js","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/addReaction.ts"],"names":[],"mappings":"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","sourcesContent":["import { getActiveClient } from '~/client/api';\n\nimport { upsertInCache, pullFromCache } from '~/cache/api';\n\nimport { UNSYNCED_OBJECT_CACHED_AT_VALUE } from '~/utils/constants';\nimport { dispatchReactable } from '../utils/dispatchReactable';\nimport { fireEvent } from '~/core/events';\nimport { ASCApiError } from '~/core/errors';\n\nexport const addReaction = async (\n referenceType: Amity.Reaction['referenceType'],\n referenceId: Amity.Reaction['referenceId'],\n reactionName: Amity.InternalReactor['reactionName'],\n referenceVersion?: number,\n): Promise<boolean> => {\n const client = getActiveClient();\n client.log('reaction/createReaction', {\n referenceId,\n referenceType,\n reactionName,\n });\n\n if (!['post', 'comment', 'story', 'message'].includes(referenceType))\n throw new ASCApiError(\n 'The reference type is not valid. It should be one of post, comment, story, or message',\n Amity.ServerError.BAD_REQUEST,\n Amity.ErrorLevel.ERROR,\n );\n\n const { data } = await client.http.post<{ addedId: 'string' }>('/api/v2/reactions', {\n referenceId,\n referenceType,\n reactionName,\n referenceVersion,\n });\n\n if (client.cache) {\n const model = pullFromCache<Amity.Models[Amity.ReactableType]>([\n referenceType,\n 'get',\n referenceId,\n ]);\n\n if (!model || model.data.myReactions?.includes(reactionName)) return true;\n\n const updatedModel = {\n ...model.data,\n reactionsCount: model.data.reactionsCount + 1,\n myReactions: [...(model.data.myReactions ?? []), reactionName],\n reactions: {\n ...model.data.reactions,\n [reactionName]: (model.data.reactions[reactionName] ?? 0) + 1,\n },\n updatedAt: new Date().toISOString(),\n } as Amity.Models[Amity.ReactableType];\n\n if (referenceType === 'comment') {\n fireEvent('local.comment.addReaction', {\n comment: updatedModel as Amity.InternalComment,\n reactor: {\n userId: client.userId!,\n reactionName,\n reactionId: data.addedId,\n },\n });\n\n return true;\n }\n if (referenceType === 'post') {\n fireEvent('local.post.addReaction', {\n post: updatedModel as Amity.InternalPost,\n reactor: {\n userId: client.userId!,\n reactionName,\n reactionId: data.addedId,\n },\n });\n\n return true;\n }\n if (referenceType === 'story') {\n fireEvent('local.story.reactionAdded', {\n story: updatedModel as Amity.InternalStory,\n reactor: {\n userId: client.userId!,\n reactionName,\n reactionId: data.addedId,\n },\n });\n\n return true;\n }\n }\n\n return true;\n};\n\naddReaction.optimistically = (\n referenceType: Amity.ReactableType,\n referenceId: Amity.Reaction['referenceId'],\n reactionName: Amity.InternalReactor['reactionName'],\n): boolean | undefined => {\n const client = getActiveClient();\n client.log('reaction/createReaction.optimistically', {\n referenceId,\n referenceType,\n reactionName,\n });\n\n if (!client.cache) return;\n\n const model = pullFromCache<Amity.Models[Amity.ReactableType]>([\n referenceType,\n 'get',\n referenceId,\n ]);\n\n if (!model?.data || model.data.myReactions?.includes(reactionName)) return;\n\n const reaction = {\n ...model.data,\n reactionsCount: model.data.reactionsCount + 1,\n myReactions: [...(model.data.myReactions ?? []), reactionName],\n reactions: {\n ...model.data.reactions,\n [reactionName]: (model.data.reactions[reactionName] ?? 0) + 1,\n },\n } as Amity.Models[Amity.ReactableType];\n\n upsertInCache([referenceType, 'get', referenceId], reaction, {\n cachedAt: UNSYNCED_OBJECT_CACHED_AT_VALUE,\n });\n\n dispatchReactable(referenceType, reaction);\n\n return reaction?.myReactions?.includes(reactionName) ?? false;\n};\n"]}
@@ -1,3 +0,0 @@
1
- export * from './addReaction';
2
- export * from './removeReaction';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './addReaction';
2
- export * from './removeReaction';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './addReaction';\nexport * from './removeReaction';\n"]}
@@ -1,2 +0,0 @@
1
- export declare const removeReaction: (referenceType: Amity.Reaction['referenceType'], referenceId: Amity.Reaction['referenceId'], reactionName: Amity.InternalReactor['reactionName'], referenceVersion?: number) => Promise<boolean>;
2
- //# sourceMappingURL=removeReaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/removeReaction.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,kBACV,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,qBAChC,MAAM,KACxB,QAAQ,OAAO,CAoFjB,CAAC"}
@@ -1,68 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
- import { pullFromCache } from '~/cache/api';
3
- import { fireEvent } from '~/core/events';
4
- import { ASCApiError } from '~/core/errors';
5
- export const removeReaction = async (referenceType, referenceId, reactionName, referenceVersion) => {
6
- var _a, _b;
7
- const client = getActiveClient();
8
- client.log('reaction/removeReaction', {
9
- referenceId,
10
- referenceType,
11
- reactionName,
12
- });
13
- if (!['post', 'comment', 'story', 'message'].includes(referenceType))
14
- throw new ASCApiError('The reference type is not valid. It should be one of post, comment, story, or message', 400000 /* Amity.ServerError.BAD_REQUEST */, "error" /* Amity.ErrorLevel.ERROR */);
15
- const { data } = await client.http.delete(`/api/v2/reactions`, {
16
- data: {
17
- referenceId,
18
- referenceType,
19
- reactionName,
20
- referenceVersion,
21
- },
22
- });
23
- if (client.cache) {
24
- const model = pullFromCache([
25
- referenceType,
26
- 'get',
27
- referenceId,
28
- ]);
29
- if (!model)
30
- return true;
31
- const updatedModel = Object.assign(Object.assign({}, model.data), { reactionsCount: Math.max(0, model.data.reactionsCount - 1), myReactions: ((_a = model.data.myReactions) !== null && _a !== void 0 ? _a : []).filter(item => item !== reactionName), reactions: Object.assign(Object.assign({}, model.data.reactions), { [reactionName]: Math.max(0, ((_b = model.data.reactions[reactionName]) !== null && _b !== void 0 ? _b : 0) - 1) }), updatedAt: new Date().toISOString() });
32
- if (referenceType === 'comment') {
33
- fireEvent('local.comment.removeReaction', {
34
- comment: updatedModel,
35
- reactor: {
36
- reactionId: data.removedId,
37
- reactionName,
38
- userId: client.userId,
39
- },
40
- });
41
- return true;
42
- }
43
- if (referenceType === 'post') {
44
- fireEvent('local.post.removeReaction', {
45
- post: updatedModel,
46
- reactor: {
47
- reactionId: data.removedId,
48
- reactionName,
49
- userId: client.userId,
50
- },
51
- });
52
- return true;
53
- }
54
- if (referenceType === 'story') {
55
- fireEvent('local.story.reactionAdded', {
56
- story: updatedModel,
57
- reactor: {
58
- userId: client.userId,
59
- reactionName,
60
- reactionId: data.removedId,
61
- },
62
- });
63
- return true;
64
- }
65
- }
66
- return true;
67
- };
68
- //# sourceMappingURL=removeReaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeReaction.js","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/removeReaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA8C,EAC9C,WAA0C,EAC1C,YAAmD,EACnD,gBAAyB,EACP,EAAE;;IACpB,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE;QACpC,WAAW;QACX,aAAa;QACb,YAAY;KACb,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAClE,MAAM,IAAI,WAAW,CACnB,uFAAuF,mFAGxF,CAAC;IAEJ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAwB,mBAAmB,EAAE;QACpF,IAAI,EAAE;YACJ,WAAW;YACX,aAAa;YACb,YAAY;YACZ,gBAAgB;SACjB;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,MAAM,KAAK,GAAG,aAAa,CAAoC;YAC7D,aAAa;YACb,KAAK;YACL,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,YAAY,GAAG,gCAChB,KAAK,CAAC,IAAI,KACb,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,EAC1D,WAAW,EAAE,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,WAAW,mCAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,EACjF,SAAS,kCACJ,KAAK,CAAC,IAAI,CAAC,SAAS,KACvB,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAE5E,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,GACC,CAAC;QAEvC,IAAI,aAAa,KAAK,SAAS,EAAE;YAC/B,SAAS,CAAC,8BAA8B,EAAE;gBACxC,OAAO,EAAE,YAAqC;gBAC9C,OAAO,EAAE;oBACP,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,YAAY;oBACZ,MAAM,EAAE,MAAM,CAAC,MAAO;iBACvB;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACb;QACD,IAAI,aAAa,KAAK,MAAM,EAAE;YAC5B,SAAS,CAAC,2BAA2B,EAAE;gBACrC,IAAI,EAAE,YAAkC;gBACxC,OAAO,EAAE;oBACP,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,YAAY;oBACZ,MAAM,EAAE,MAAM,CAAC,MAAO;iBACvB;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACb;QAED,IAAI,aAAa,KAAK,OAAO,EAAE;YAC7B,SAAS,CAAC,2BAA2B,EAAE;gBACrC,KAAK,EAAE,YAAmC;gBAC1C,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM,CAAC,MAAO;oBACtB,YAAY;oBACZ,UAAU,EAAE,IAAI,CAAC,SAAS;iBAC3B;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;SACb;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","sourcesContent":["import { getActiveClient } from '~/client/api';\nimport { pullFromCache } from '~/cache/api';\nimport { fireEvent } from '~/core/events';\nimport { ASCApiError } from '~/core/errors';\n\nexport const removeReaction = async (\n referenceType: Amity.Reaction['referenceType'],\n referenceId: Amity.Reaction['referenceId'],\n reactionName: Amity.InternalReactor['reactionName'],\n referenceVersion?: number,\n): Promise<boolean> => {\n const client = getActiveClient();\n client.log('reaction/removeReaction', {\n referenceId,\n referenceType,\n reactionName,\n });\n\n if (!['post', 'comment', 'story', 'message'].includes(referenceType))\n throw new ASCApiError(\n 'The reference type is not valid. It should be one of post, comment, story, or message',\n Amity.ServerError.BAD_REQUEST,\n Amity.ErrorLevel.ERROR,\n );\n\n const { data } = await client.http.delete<{ removedId: string }>(`/api/v2/reactions`, {\n data: {\n referenceId,\n referenceType,\n reactionName,\n referenceVersion,\n },\n });\n\n if (client.cache) {\n const model = pullFromCache<Amity.Models[Amity.ReactableType]>([\n referenceType,\n 'get',\n referenceId,\n ]);\n\n if (!model) return true;\n\n const updatedModel = {\n ...model.data,\n reactionsCount: Math.max(0, model.data.reactionsCount - 1),\n myReactions: (model.data.myReactions ?? []).filter(item => item !== reactionName),\n reactions: {\n ...model.data.reactions,\n [reactionName]: Math.max(0, (model.data.reactions[reactionName] ?? 0) - 1),\n },\n updatedAt: new Date().toISOString(),\n } as Amity.Models[Amity.ReactableType];\n\n if (referenceType === 'comment') {\n fireEvent('local.comment.removeReaction', {\n comment: updatedModel as Amity.InternalComment,\n reactor: {\n reactionId: data.removedId,\n reactionName,\n userId: client.userId!,\n },\n });\n\n return true;\n }\n if (referenceType === 'post') {\n fireEvent('local.post.removeReaction', {\n post: updatedModel as Amity.InternalPost,\n reactor: {\n reactionId: data.removedId,\n reactionName,\n userId: client.userId!,\n },\n });\n\n return true;\n }\n\n if (referenceType === 'story') {\n fireEvent('local.story.reactionAdded', {\n story: updatedModel as Amity.InternalStory,\n reactor: {\n userId: client.userId!,\n reactionName,\n reactionId: data.removedId,\n },\n });\n\n return true;\n }\n }\n\n return true;\n};\n"]}
@@ -1,2 +0,0 @@
1
- export declare const addReactionToMessage: (reactionName: string, message: Amity.InternalMessage) => Promise<boolean>;
2
- //# sourceMappingURL=addReactionToMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addReactionToMessage.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/utils/addReactionToMessage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,iBAAkB,MAAM,WAAW,MAAM,eAAe,qBASxF,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const removeReactionToMessage: (reactionName: string, message: Amity.InternalMessage) => Promise<boolean>;
2
- //# sourceMappingURL=removeReactionToMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeReactionToMessage.d.ts","sourceRoot":"","sources":["../../../src/messageRepository/utils/removeReactionToMessage.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,WAAW,MAAM,eAAe,qBAS3F,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare const addReaction: {
2
- (referenceType: Amity.Reaction['referenceType'], referenceId: Amity.Reaction['referenceId'], reactionName: Amity.InternalReactor['reactionName'], referenceVersion?: number): Promise<boolean>;
3
- optimistically(referenceType: Amity.ReactableType, referenceId: Amity.Reaction['referenceId'], reactionName: Amity.InternalReactor['reactionName']): boolean | undefined;
4
- };
5
- //# sourceMappingURL=addReaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/addReaction.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,WAAW;oBACP,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,qBAChC,MAAM,GACxB,QAAQ,OAAO,CAAC;kCAoFF,MAAM,aAAa,eACrB,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,GAClD,OAAO,GAAG,SAAS;CANrB,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './addReaction';
2
- export * from './removeReaction';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const removeReaction: (referenceType: Amity.Reaction['referenceType'], referenceId: Amity.Reaction['referenceId'], reactionName: Amity.InternalReactor['reactionName'], referenceVersion?: number) => Promise<boolean>;
2
- //# sourceMappingURL=removeReaction.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/internalApi/removeReaction.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,kBACV,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,eAAe,CAAC,cAAc,CAAC,qBAChC,MAAM,KACxB,QAAQ,OAAO,CAoFjB,CAAC"}
@@ -1,12 +0,0 @@
1
- import { addReaction as _addReaction } from '~/reactionRepository/internalApi';
2
-
3
- export const addReactionToMessage = (reactionName: string, message: Amity.InternalMessage) => {
4
- const isMessageV3 = message.publicId !== message.messageId;
5
-
6
- return _addReaction(
7
- 'message',
8
- isMessageV3 ? message.publicId : message.messageId,
9
- reactionName,
10
- isMessageV3 ? 3 : 5,
11
- );
12
- };
@@ -1,12 +0,0 @@
1
- import { removeReaction as _removeReaction } from '~/reactionRepository/internalApi';
2
-
3
- export const removeReactionToMessage = (reactionName: string, message: Amity.InternalMessage) => {
4
- const isMessageV3 = message.publicId !== message.messageId;
5
-
6
- return _removeReaction(
7
- 'message',
8
- isMessageV3 ? message.publicId : message.messageId,
9
- reactionName,
10
- isMessageV3 ? 3 : 5,
11
- );
12
- };
@@ -1,137 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
-
3
- import { upsertInCache, pullFromCache } from '~/cache/api';
4
-
5
- import { UNSYNCED_OBJECT_CACHED_AT_VALUE } from '~/utils/constants';
6
- import { dispatchReactable } from '../utils/dispatchReactable';
7
- import { fireEvent } from '~/core/events';
8
- import { ASCApiError } from '~/core/errors';
9
-
10
- export const addReaction = async (
11
- referenceType: Amity.Reaction['referenceType'],
12
- referenceId: Amity.Reaction['referenceId'],
13
- reactionName: Amity.InternalReactor['reactionName'],
14
- referenceVersion?: number,
15
- ): Promise<boolean> => {
16
- const client = getActiveClient();
17
- client.log('reaction/createReaction', {
18
- referenceId,
19
- referenceType,
20
- reactionName,
21
- });
22
-
23
- if (!['post', 'comment', 'story', 'message'].includes(referenceType))
24
- throw new ASCApiError(
25
- 'The reference type is not valid. It should be one of post, comment, story, or message',
26
- Amity.ServerError.BAD_REQUEST,
27
- Amity.ErrorLevel.ERROR,
28
- );
29
-
30
- const { data } = await client.http.post<{ addedId: 'string' }>('/api/v2/reactions', {
31
- referenceId,
32
- referenceType,
33
- reactionName,
34
- referenceVersion,
35
- });
36
-
37
- if (client.cache) {
38
- const model = pullFromCache<Amity.Models[Amity.ReactableType]>([
39
- referenceType,
40
- 'get',
41
- referenceId,
42
- ]);
43
-
44
- if (!model || model.data.myReactions?.includes(reactionName)) return true;
45
-
46
- const updatedModel = {
47
- ...model.data,
48
- reactionsCount: model.data.reactionsCount + 1,
49
- myReactions: [...(model.data.myReactions ?? []), reactionName],
50
- reactions: {
51
- ...model.data.reactions,
52
- [reactionName]: (model.data.reactions[reactionName] ?? 0) + 1,
53
- },
54
- updatedAt: new Date().toISOString(),
55
- } as Amity.Models[Amity.ReactableType];
56
-
57
- if (referenceType === 'comment') {
58
- fireEvent('local.comment.addReaction', {
59
- comment: updatedModel as Amity.InternalComment,
60
- reactor: {
61
- userId: client.userId!,
62
- reactionName,
63
- reactionId: data.addedId,
64
- },
65
- });
66
-
67
- return true;
68
- }
69
- if (referenceType === 'post') {
70
- fireEvent('local.post.addReaction', {
71
- post: updatedModel as Amity.InternalPost,
72
- reactor: {
73
- userId: client.userId!,
74
- reactionName,
75
- reactionId: data.addedId,
76
- },
77
- });
78
-
79
- return true;
80
- }
81
- if (referenceType === 'story') {
82
- fireEvent('local.story.reactionAdded', {
83
- story: updatedModel as Amity.InternalStory,
84
- reactor: {
85
- userId: client.userId!,
86
- reactionName,
87
- reactionId: data.addedId,
88
- },
89
- });
90
-
91
- return true;
92
- }
93
- }
94
-
95
- return true;
96
- };
97
-
98
- addReaction.optimistically = (
99
- referenceType: Amity.ReactableType,
100
- referenceId: Amity.Reaction['referenceId'],
101
- reactionName: Amity.InternalReactor['reactionName'],
102
- ): boolean | undefined => {
103
- const client = getActiveClient();
104
- client.log('reaction/createReaction.optimistically', {
105
- referenceId,
106
- referenceType,
107
- reactionName,
108
- });
109
-
110
- if (!client.cache) return;
111
-
112
- const model = pullFromCache<Amity.Models[Amity.ReactableType]>([
113
- referenceType,
114
- 'get',
115
- referenceId,
116
- ]);
117
-
118
- if (!model?.data || model.data.myReactions?.includes(reactionName)) return;
119
-
120
- const reaction = {
121
- ...model.data,
122
- reactionsCount: model.data.reactionsCount + 1,
123
- myReactions: [...(model.data.myReactions ?? []), reactionName],
124
- reactions: {
125
- ...model.data.reactions,
126
- [reactionName]: (model.data.reactions[reactionName] ?? 0) + 1,
127
- },
128
- } as Amity.Models[Amity.ReactableType];
129
-
130
- upsertInCache([referenceType, 'get', referenceId], reaction, {
131
- cachedAt: UNSYNCED_OBJECT_CACHED_AT_VALUE,
132
- });
133
-
134
- dispatchReactable(referenceType, reaction);
135
-
136
- return reaction?.myReactions?.includes(reactionName) ?? false;
137
- };
@@ -1,2 +0,0 @@
1
- export * from './addReaction';
2
- export * from './removeReaction';
@@ -1,95 +0,0 @@
1
- import { getActiveClient } from '~/client/api';
2
- import { pullFromCache } from '~/cache/api';
3
- import { fireEvent } from '~/core/events';
4
- import { ASCApiError } from '~/core/errors';
5
-
6
- export const removeReaction = async (
7
- referenceType: Amity.Reaction['referenceType'],
8
- referenceId: Amity.Reaction['referenceId'],
9
- reactionName: Amity.InternalReactor['reactionName'],
10
- referenceVersion?: number,
11
- ): Promise<boolean> => {
12
- const client = getActiveClient();
13
- client.log('reaction/removeReaction', {
14
- referenceId,
15
- referenceType,
16
- reactionName,
17
- });
18
-
19
- if (!['post', 'comment', 'story', 'message'].includes(referenceType))
20
- throw new ASCApiError(
21
- 'The reference type is not valid. It should be one of post, comment, story, or message',
22
- Amity.ServerError.BAD_REQUEST,
23
- Amity.ErrorLevel.ERROR,
24
- );
25
-
26
- const { data } = await client.http.delete<{ removedId: string }>(`/api/v2/reactions`, {
27
- data: {
28
- referenceId,
29
- referenceType,
30
- reactionName,
31
- referenceVersion,
32
- },
33
- });
34
-
35
- if (client.cache) {
36
- const model = pullFromCache<Amity.Models[Amity.ReactableType]>([
37
- referenceType,
38
- 'get',
39
- referenceId,
40
- ]);
41
-
42
- if (!model) return true;
43
-
44
- const updatedModel = {
45
- ...model.data,
46
- reactionsCount: Math.max(0, model.data.reactionsCount - 1),
47
- myReactions: (model.data.myReactions ?? []).filter(item => item !== reactionName),
48
- reactions: {
49
- ...model.data.reactions,
50
- [reactionName]: Math.max(0, (model.data.reactions[reactionName] ?? 0) - 1),
51
- },
52
- updatedAt: new Date().toISOString(),
53
- } as Amity.Models[Amity.ReactableType];
54
-
55
- if (referenceType === 'comment') {
56
- fireEvent('local.comment.removeReaction', {
57
- comment: updatedModel as Amity.InternalComment,
58
- reactor: {
59
- reactionId: data.removedId,
60
- reactionName,
61
- userId: client.userId!,
62
- },
63
- });
64
-
65
- return true;
66
- }
67
- if (referenceType === 'post') {
68
- fireEvent('local.post.removeReaction', {
69
- post: updatedModel as Amity.InternalPost,
70
- reactor: {
71
- reactionId: data.removedId,
72
- reactionName,
73
- userId: client.userId!,
74
- },
75
- });
76
-
77
- return true;
78
- }
79
-
80
- if (referenceType === 'story') {
81
- fireEvent('local.story.reactionAdded', {
82
- story: updatedModel as Amity.InternalStory,
83
- reactor: {
84
- userId: client.userId!,
85
- reactionName,
86
- reactionId: data.removedId,
87
- },
88
- });
89
-
90
- return true;
91
- }
92
- }
93
-
94
- return true;
95
- };