@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.
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/payload.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/core/payload.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/message.d.ts +0 -4
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/message.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/@types/domains/message.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/categoryRepository/internalApi/queryCategories.js +2 -2
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/categoryRepository/internalApi/queryCategories.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/utils/linkedObject/messageLinkedObject.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/utils/linkedObject/messageLinkedObject.js +1 -3
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/utils/linkedObject/messageLinkedObject.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
- package/dist/@types/core/payload.d.ts +1 -1
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/message.d.ts +0 -4
- package/dist/@types/domains/message.d.ts.map +1 -1
- package/dist/index.cjs.js +27 -187
- package/dist/index.esm.js +27 -187
- package/dist/index.umd.js +1 -1
- package/dist/utils/linkedObject/messageLinkedObject.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/payload.ts +1 -1
- package/src/@types/domains/message.ts +0 -4
- package/src/categoryRepository/internalApi/queryCategories.ts +2 -2
- package/src/utils/linkedObject/messageLinkedObject.ts +0 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/addReactionToMessage.d.ts +0 -2
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/addReactionToMessage.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/addReactionToMessage.js +0 -6
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/addReactionToMessage.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/removeReactionToMessage.d.ts +0 -2
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/removeReactionToMessage.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/removeReactionToMessage.js +0 -6
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/messageRepository/utils/removeReactionToMessage.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/addReaction.d.ts +0 -5
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/addReaction.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/addReaction.js +0 -92
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/addReaction.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/index.d.ts +0 -3
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/index.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/index.js +0 -3
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/index.js.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/removeReaction.d.ts +0 -2
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/removeReaction.d.ts.map +0 -1
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/removeReaction.js +0 -68
- package/.rollup.cache/home/runner/work/AmityReactNativeTypescriptSDK/AmityReactNativeTypescriptSDK/packages/sdk/dist/reactionRepository/internalApi/removeReaction.js.map +0 -1
- package/dist/messageRepository/utils/addReactionToMessage.d.ts +0 -2
- package/dist/messageRepository/utils/addReactionToMessage.d.ts.map +0 -1
- package/dist/messageRepository/utils/removeReactionToMessage.d.ts +0 -2
- package/dist/messageRepository/utils/removeReactionToMessage.d.ts.map +0 -1
- package/dist/reactionRepository/internalApi/addReaction.d.ts +0 -5
- package/dist/reactionRepository/internalApi/addReaction.d.ts.map +0 -1
- package/dist/reactionRepository/internalApi/index.d.ts +0 -3
- package/dist/reactionRepository/internalApi/index.d.ts.map +0 -1
- package/dist/reactionRepository/internalApi/removeReaction.d.ts +0 -2
- package/dist/reactionRepository/internalApi/removeReaction.d.ts.map +0 -1
- package/src/messageRepository/utils/addReactionToMessage.ts +0 -12
- package/src/messageRepository/utils/removeReactionToMessage.ts +0 -12
- package/src/reactionRepository/internalApi/addReaction.ts +0 -137
- package/src/reactionRepository/internalApi/index.ts +0 -2
- package/src/reactionRepository/internalApi/removeReaction.ts +0 -95
|
@@ -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 +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 +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 +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 +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 +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 +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 +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 +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,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
|
-
};
|