@amityco/ts-sdk 7.8.6 → 7.8.7-18c9a1b7.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/.env +26 -26
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/index.d.ts +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/index.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/index.js +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/index.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/tests/unvotePoll.d.ts +2 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/tests/unvotePoll.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/tests/unvotePoll.js +32 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/tests/unvotePoll.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/unvotePoll.d.ts +16 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/unvotePoll.d.ts.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/unvotePoll.js +36 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/pollRepository/api/unvotePoll.js.map +1 -0
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/observers/getReactions/ReactionPaginationController.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/observers/getReactions/ReactionPaginationController.js +3 -3
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/reactionRepository/observers/getReactions/ReactionPaginationController.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/channelLinkedObject.js +2 -2
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/utils/linkedObject/channelLinkedObject.js.map +1 -1
- package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +40 -6
- package/dist/index.esm.js +40 -6
- package/dist/index.umd.js +3 -3
- package/dist/pollRepository/api/index.d.ts +1 -0
- package/dist/pollRepository/api/index.d.ts.map +1 -1
- package/dist/pollRepository/api/tests/unvotePoll.d.ts +2 -0
- package/dist/pollRepository/api/tests/unvotePoll.d.ts.map +1 -0
- package/dist/pollRepository/api/unvotePoll.d.ts +16 -0
- package/dist/pollRepository/api/unvotePoll.d.ts.map +1 -0
- package/dist/reactionRepository/observers/getReactions/ReactionPaginationController.d.ts.map +1 -1
- package/dist/utils/linkedObject/channelLinkedObject.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/pollRepository/api/index.ts +1 -0
- package/src/pollRepository/api/tests/unvotePoll.ts +39 -0
- package/src/pollRepository/api/unvotePoll.ts +46 -0
- package/src/reactionRepository/observers/getReactions/ReactionPaginationController.ts +4 -3
- package/src/utils/linkedObject/channelLinkedObject.ts +4 -2
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pollRepository/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pollRepository/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unvotePoll.d.ts","sourceRoot":"","sources":["../../../../src/pollRepository/api/tests/unvotePoll.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { unvotePoll } from '@amityco/ts-sdk'
|
|
4
|
+
* const updatedVote = await unvotePoll(pollId)
|
|
5
|
+
* ```
|
|
6
|
+
*
|
|
7
|
+
* Votes for an {@link Amity.Poll}
|
|
8
|
+
*
|
|
9
|
+
* @param pollId The ID of the {@link Amity.Poll} to vote
|
|
10
|
+
* @returns the updated {@link Amity.Poll} object
|
|
11
|
+
*
|
|
12
|
+
* @category Poll API
|
|
13
|
+
* @async
|
|
14
|
+
*/
|
|
15
|
+
export declare const unvotePoll: (pollId: Amity.Poll['pollId']) => Promise<Amity.Cached<Amity.Poll>>;
|
|
16
|
+
//# sourceMappingURL=unvotePoll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unvotePoll.d.ts","sourceRoot":"","sources":["../../../src/pollRepository/api/unvotePoll.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,IAAI,CAAC,QAAQ,CAAC,KAC3B,QAAQ,MAAM,MAAM,CAAC,MAAM,IAAI,CAAC,CAoBlC,CAAC"}
|
package/dist/reactionRepository/observers/getReactions/ReactionPaginationController.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactionPaginationController.d.ts","sourceRoot":"","sources":["../../../../src/reactionRepository/observers/getReactions/ReactionPaginationController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAKlF,qBAAa,4BAA6B,SAAQ,oBAAoB,CACpE,UAAU,EACV,KAAK,CAAC,sBAAsB,CAC7B;IACO,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"ReactionPaginationController.d.ts","sourceRoot":"","sources":["../../../../src/reactionRepository/observers/getReactions/ReactionPaginationController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAKlF,qBAAa,4BAA6B,SAAQ,oBAAoB,CACpE,UAAU,EACV,KAAK,CAAC,sBAAsB,CAC7B;IACO,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;CA4BtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/channelLinkedObject.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,YAAa,MAAM,eAAe,KAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"channelLinkedObject.d.ts","sourceRoot":"","sources":["../../../src/utils/linkedObject/channelLinkedObject.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,YAAa,MAAM,eAAe,KAAG,MAAM,OAyB1E,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { client, pause, poll11 } from '~/utils/tests';
|
|
2
|
+
import { ASCError } from '~/core/errors';
|
|
3
|
+
import { disableCache, enableCache } from '~/cache/api';
|
|
4
|
+
import { onPollUpdated } from '~/pollRepository/events';
|
|
5
|
+
import { unvotePoll } from '../unvotePoll';
|
|
6
|
+
import { getPoll } from '../getPoll';
|
|
7
|
+
|
|
8
|
+
describe('unvotePoll', () => {
|
|
9
|
+
beforeAll(enableCache);
|
|
10
|
+
afterAll(disableCache);
|
|
11
|
+
|
|
12
|
+
// integration_test_id: 2abcbca5-f845-4e96-9405-23781013738e
|
|
13
|
+
it('should vote', async () => {
|
|
14
|
+
client.http.post = jest
|
|
15
|
+
.fn()
|
|
16
|
+
.mockResolvedValueOnce({ data: { polls: [{ ...poll11, isVoted: true }] } });
|
|
17
|
+
const callback = jest.fn();
|
|
18
|
+
onPollUpdated(callback);
|
|
19
|
+
|
|
20
|
+
const { data: poll } = await unvotePoll(poll11.pollId);
|
|
21
|
+
const { data: cachedPoll } = getPoll.locally(poll.pollId)!;
|
|
22
|
+
await pause();
|
|
23
|
+
|
|
24
|
+
expect(poll.isVoted).toEqual(true);
|
|
25
|
+
expect(cachedPoll).toMatchObject(poll);
|
|
26
|
+
expect(callback).toHaveBeenCalledWith(poll);
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// integration_test_id: b6ab2681-7f25-47a0-bc14-f4f542a3cf80
|
|
30
|
+
it('should fail to vote for in an invalid poll', async () => {
|
|
31
|
+
client.http.post = jest
|
|
32
|
+
.fn()
|
|
33
|
+
.mockRejectedValueOnce(
|
|
34
|
+
new ASCError('error message', Amity.ServerError.ITEM_NOT_FOUND, Amity.ErrorLevel.FATAL),
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
await expect(() => unvotePoll('non-existent-poll-id')).rejects.toThrow();
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { fireEvent } from '~/core/events';
|
|
2
|
+
import { getActiveClient } from '~/client/api';
|
|
3
|
+
|
|
4
|
+
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
5
|
+
|
|
6
|
+
/* begin_public_function
|
|
7
|
+
id: poll.unvote
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* ```js
|
|
11
|
+
* import { unvotePoll } from '@amityco/ts-sdk'
|
|
12
|
+
* const updatedVote = await unvotePoll(pollId)
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* Votes for an {@link Amity.Poll}
|
|
16
|
+
*
|
|
17
|
+
* @param pollId The ID of the {@link Amity.Poll} to vote
|
|
18
|
+
* @returns the updated {@link Amity.Poll} object
|
|
19
|
+
*
|
|
20
|
+
* @category Poll API
|
|
21
|
+
* @async
|
|
22
|
+
*/
|
|
23
|
+
export const unvotePoll = async (
|
|
24
|
+
pollId: Amity.Poll['pollId'],
|
|
25
|
+
): Promise<Amity.Cached<Amity.Poll>> => {
|
|
26
|
+
const client = getActiveClient();
|
|
27
|
+
client.log('user/unvotePoll', pollId);
|
|
28
|
+
|
|
29
|
+
const { data } = await client.http.put<Amity.PollPayload>(
|
|
30
|
+
`/api/v3/polls/${encodeURIComponent(pollId)}/votes`,
|
|
31
|
+
{ pollId, answerIds: [] },
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
const cachedAt = client.cache && Date.now();
|
|
35
|
+
if (client.cache) ingestInCache(data, { cachedAt });
|
|
36
|
+
|
|
37
|
+
const { polls } = data;
|
|
38
|
+
|
|
39
|
+
fireEvent('poll.updated', data);
|
|
40
|
+
|
|
41
|
+
return {
|
|
42
|
+
data: polls.find(poll => poll.pollId === pollId)!,
|
|
43
|
+
cachedAt,
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
/* end_public_function */
|
|
@@ -9,14 +9,14 @@ export class ReactionPaginationController extends PaginationController<
|
|
|
9
9
|
Amity.ReactionLiveCollection
|
|
10
10
|
> {
|
|
11
11
|
async getRequest(queryParams: Amity.ReactionLiveCollection, token: string | undefined) {
|
|
12
|
-
const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, ...params } = queryParams;
|
|
12
|
+
const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, referenceType, ...params } = queryParams;
|
|
13
13
|
const options = token ? { token } : { limit };
|
|
14
14
|
const client = getActiveClient();
|
|
15
15
|
client.log('reaction/queryReactions', queryParams);
|
|
16
16
|
|
|
17
17
|
const path = '/api/v3/reactions';
|
|
18
18
|
|
|
19
|
-
if (!['post', 'comment', 'story', 'message'].includes(
|
|
19
|
+
if (!['post', 'comment', 'story', 'message'].includes(referenceType))
|
|
20
20
|
throw new ASCApiError(
|
|
21
21
|
'The reference type is not valid. It should be one of post, comment, story, or message',
|
|
22
22
|
Amity.ServerError.BAD_REQUEST,
|
|
@@ -28,7 +28,8 @@ export class ReactionPaginationController extends PaginationController<
|
|
|
28
28
|
{
|
|
29
29
|
params: {
|
|
30
30
|
...params,
|
|
31
|
-
|
|
31
|
+
referenceType,
|
|
32
|
+
referenceVersion: referenceType === 'message' ? REFERENCE_API_V5 : undefined, // Need to put this param to make it can query reaction for message in sub-channel
|
|
32
33
|
options,
|
|
33
34
|
},
|
|
34
35
|
},
|
|
@@ -7,11 +7,13 @@ import { getMyMembership } from '~/channelRepository/observers/getMyMembership';
|
|
|
7
7
|
export const channelLinkedObject = (channel: Amity.InternalChannel): Amity.Channel => {
|
|
8
8
|
let previewMembers: Amity.Membership<'channel'>[] = [];
|
|
9
9
|
|
|
10
|
-
if (channel.type
|
|
10
|
+
if (['conversation', 'community'].includes(channel.type)) {
|
|
11
11
|
const channelUsers = queryCache<Amity.Membership<'channel'>>(['channelUsers', 'get']);
|
|
12
12
|
if (channelUsers && channelUsers?.length > 0) {
|
|
13
13
|
previewMembers = (
|
|
14
|
-
channelUsers?.filter(
|
|
14
|
+
channelUsers?.filter(
|
|
15
|
+
({ data }) => data.channelId === channel.channelId && data.membership !== 'none',
|
|
16
|
+
) ?? []
|
|
15
17
|
)
|
|
16
18
|
// sort in ascending order by userInternalId
|
|
17
19
|
.sort((a, b) => a.data.userInternalId.localeCompare(b.data.userInternalId))
|