@amityco/ts-sdk 6.4.6-e12bdf9.0 → 6.5.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/dist/@types/core/events.d.ts +4 -4
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/model.d.ts +3 -1
- package/dist/@types/core/model.d.ts.map +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/post.d.ts +1 -1
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/domains/reaction.d.ts +4 -5
- package/dist/@types/domains/reaction.d.ts.map +1 -1
- package/dist/channelRepsitory/channelMembership/observers/getMembers.d.ts +1 -0
- package/dist/channelRepsitory/channelMembership/observers/getMembers.d.ts.map +1 -1
- package/dist/client/observers/getTotalUnreadCount.d.ts.map +1 -1
- package/dist/client/utils/markerSyncEngine.d.ts.map +1 -1
- package/dist/commentRepository/observers/getComment.d.ts +2 -2
- package/dist/communityRepository/api/getCommunity.d.ts +4 -4
- package/dist/communityRepository/api/getRecommendedCommunities.d.ts +4 -19
- package/dist/communityRepository/api/getRecommendedCommunities.d.ts.map +1 -1
- package/dist/communityRepository/api/getTopTrendingCommunities.d.ts +5 -2
- package/dist/communityRepository/api/getTopTrendingCommunities.d.ts.map +1 -1
- package/dist/communityRepository/api/getTrendingCommunities.d.ts +17 -0
- package/dist/communityRepository/api/getTrendingCommunities.d.ts.map +1 -0
- package/dist/communityRepository/api/index.d.ts +0 -1
- package/dist/communityRepository/api/index.d.ts.map +1 -1
- package/dist/communityRepository/api/test/getTrendingCommunities.test.d.ts +2 -0
- package/dist/communityRepository/api/test/getTrendingCommunities.test.d.ts.map +1 -0
- package/dist/communityRepository/communityMembership/observers/getMembers.d.ts +1 -0
- package/dist/communityRepository/communityMembership/observers/getMembers.d.ts.map +1 -1
- package/dist/communityRepository/observers/getCommunities.d.ts +2 -2
- package/dist/communityRepository/observers/getCommunity.d.ts +2 -2
- package/dist/communityRepository/observers/getRecommendedCommunities.d.ts +20 -0
- package/dist/communityRepository/observers/getRecommendedCommunities.d.ts.map +1 -0
- package/dist/communityRepository/observers/getTrendingCommunities.d.ts +20 -0
- package/dist/communityRepository/observers/getTrendingCommunities.d.ts.map +1 -0
- package/dist/communityRepository/observers/index.d.ts +2 -0
- package/dist/communityRepository/observers/index.d.ts.map +1 -1
- package/dist/communityRepository/utils/communityQueryFilter.d.ts +2 -0
- package/dist/communityRepository/utils/communityQueryFilter.d.ts.map +1 -0
- package/dist/core/model/idResolvers.d.ts.map +1 -1
- package/dist/core/model/identifyModel.d.ts.map +1 -1
- package/dist/index.cjs.js +554 -237
- package/dist/index.esm.js +554 -237
- package/dist/index.umd.js +4 -4
- package/dist/pollRepository/api/index.d.ts +0 -1
- package/dist/pollRepository/api/index.d.ts.map +1 -1
- package/dist/pollRepository/observers/getPoll.d.ts +21 -0
- package/dist/pollRepository/observers/getPoll.d.ts.map +1 -0
- package/dist/pollRepository/observers/index.d.ts +1 -0
- package/dist/pollRepository/observers/index.d.ts.map +1 -1
- package/dist/postRepository/observers/getPost.d.ts +2 -2
- package/dist/reactionRepository/api/addReaction.d.ts +2 -2
- package/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
- package/dist/reactionRepository/api/queryReactions.d.ts +2 -2
- package/dist/reactionRepository/api/queryReactions.d.ts.map +1 -1
- package/dist/reactionRepository/api/queryReactor.d.ts +19 -0
- package/dist/reactionRepository/api/queryReactor.d.ts.map +1 -0
- package/dist/reactionRepository/api/removeReaction.d.ts +2 -2
- package/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
- package/dist/reactionRepository/observers/getReactions.d.ts +3 -3
- package/dist/reactionRepository/observers/getReactions.d.ts.map +1 -1
- package/dist/streamRepository/observers/getStreamById.d.ts +19 -2
- package/dist/streamRepository/observers/getStreamById.d.ts.map +1 -1
- package/dist/streamRepository/observers/getStreams.d.ts.map +1 -1
- package/dist/streamRepository/observers/tests/getStreamById.test.d.ts +2 -0
- package/dist/streamRepository/observers/tests/getStreamById.test.d.ts.map +1 -0
- package/dist/userRepository/observers/getUsers.d.ts +1 -0
- package/dist/userRepository/observers/getUsers.d.ts.map +1 -1
- package/dist/utils/tests/dummy/reaction.d.ts +1 -1
- package/dist/utils/tests/dummy/reaction.d.ts.map +1 -1
- package/dist/utils/tests/dummy/stream.d.ts +22 -0
- package/dist/utils/tests/dummy/stream.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/events.ts +4 -4
- package/src/@types/core/model.ts +3 -1
- package/src/@types/core/payload.ts +1 -1
- package/src/@types/domains/post.ts +1 -1
- package/src/@types/domains/reaction.ts +8 -9
- package/src/categoryRepository/api/queryCategories.ts +1 -1
- package/src/channelRepsitory/channelMembership/observers/getMembers.ts +47 -39
- package/src/channelRepsitory/channelMembership/observers/tests/getMembers.test.ts +82 -5
- package/src/client/observers/getTotalUnreadCount.ts +1 -7
- package/src/client/observers/tests/getTotalUnreadCount.test.ts +3 -10
- package/src/client/utils/markerSyncEngine.ts +13 -2
- package/src/commentRepository/events/onCommentReactionAdded.ts +1 -1
- package/src/commentRepository/events/onCommentReactionRemoved.ts +1 -1
- package/src/commentRepository/observers/getComment.ts +2 -2
- package/src/commentRepository/observers/tests/getComment.test.ts +1 -3
- package/src/communityRepository/api/getCommunity.ts +4 -4
- package/src/communityRepository/api/getRecommendedCommunities.ts +7 -48
- package/src/communityRepository/api/getTopTrendingCommunities.ts +5 -2
- package/src/communityRepository/api/getTrendingCommunities.ts +50 -0
- package/src/communityRepository/api/index.ts +1 -1
- package/src/communityRepository/api/test/getTrendingCommunities.test.ts +102 -0
- package/src/communityRepository/communityMembership/observers/getMembers.ts +31 -23
- package/src/communityRepository/communityMembership/observers/tests/getMembers.test.ts +80 -2
- package/src/communityRepository/observers/getCommunities.ts +2 -2
- package/src/communityRepository/observers/getCommunity.ts +2 -2
- package/src/communityRepository/observers/getRecommendedCommunities.ts +130 -0
- package/src/communityRepository/observers/getTrendingCommunities.ts +130 -0
- package/src/communityRepository/observers/index.ts +2 -0
- package/src/communityRepository/utils/communityQueryFilter.ts +55 -0
- package/src/core/model/idResolvers.ts +2 -1
- package/src/core/model/identifyModel.ts +5 -4
- package/src/pollRepository/api/index.ts +0 -2
- package/src/pollRepository/observers/getPoll.ts +33 -0
- package/src/pollRepository/observers/index.ts +1 -0
- package/src/pollRepository/observers/observePoll.ts +2 -2
- package/src/postRepository/events/tests/onPostReactionAdded.test.ts +6 -5
- package/src/postRepository/events/tests/onPostReactionRemoved.test.ts +5 -4
- package/src/postRepository/observers/getPost.ts +2 -2
- package/src/postRepository/observers/getPosts.ts +1 -1
- package/src/postRepository/observers/tests/getPost.test.ts +1 -3
- package/src/postRepository/observers/tests/getPosts.test.ts +1 -5
- package/src/reactionRepository/api/addReaction.ts +2 -2
- package/src/reactionRepository/api/queryReactions.ts +2 -2
- package/src/reactionRepository/api/queryReactor.ts +31 -0
- package/src/reactionRepository/api/removeReaction.ts +2 -2
- package/src/reactionRepository/observers/getReactions.ts +6 -8
- package/src/streamRepository/observers/getStreamById.ts +35 -1
- package/src/streamRepository/observers/getStreams.ts +6 -5
- package/src/streamRepository/observers/tests/getStreamById.test.ts +44 -0
- package/src/userRepository/observers/getUsers.ts +32 -24
- package/src/userRepository/observers/tests/getUsers.test.ts +46 -1
- package/src/utils/tests/dummy/reaction.ts +6 -10
- package/src/utils/tests/dummy/stream.ts +47 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pollRepository/api/index.ts"],"names":[],"mappings":"AAAA,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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { PollRepository } from '@amityco/ts-sdk';
|
|
4
|
+
*
|
|
5
|
+
* let poll;
|
|
6
|
+
*
|
|
7
|
+
* const unsub = PollRepository.getPoll(commentId, response => {
|
|
8
|
+
* poll = response.data;
|
|
9
|
+
* });
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Observe all mutation on a given {@link Amity.Poll}
|
|
13
|
+
*
|
|
14
|
+
* @param pollId the ID of the poll to observe
|
|
15
|
+
* @param callback the function to call when new data are available
|
|
16
|
+
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the poll
|
|
17
|
+
*
|
|
18
|
+
* @category Poll Live Object
|
|
19
|
+
*/
|
|
20
|
+
export declare const getPoll: (pollId: Amity.Poll['pollId'], callback: Amity.LiveObjectCallback<Amity.Poll>) => Amity.Unsubscriber;
|
|
21
|
+
//# sourceMappingURL=getPoll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPoll.d.ts","sourceRoot":"","sources":["../../../src/pollRepository/observers/getPoll.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,OAAO,WACV,MAAM,IAAI,CAAC,QAAQ,CAAC,YAClB,MAAM,kBAAkB,CAAC,MAAM,IAAI,CAAC,KAC7C,MAAM,YAER,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pollRepository/observers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pollRepository/observers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ```js
|
|
3
|
-
* import {
|
|
3
|
+
* import { PostRepository } from '@amityco/ts-sdk';
|
|
4
4
|
*
|
|
5
5
|
* let post;
|
|
6
6
|
*
|
|
7
|
-
* const
|
|
7
|
+
* const unsub = PostRepository.getPost(postId, response => {
|
|
8
8
|
* post = response.data;
|
|
9
9
|
* });
|
|
10
10
|
* ```
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* @async
|
|
16
16
|
* */
|
|
17
17
|
export declare const addReaction: {
|
|
18
|
-
(referenceType: Amity.Reaction['referenceType'], referenceId: Amity.Reaction['referenceId'], reactionName: Amity.
|
|
18
|
+
(referenceType: Amity.Reaction['referenceType'], referenceId: Amity.Reaction['referenceId'], reactionName: Amity.Reactor['reactionName']): Promise<boolean>;
|
|
19
19
|
/**
|
|
20
20
|
* ```js
|
|
21
21
|
* import { addReaction } from '@amityco/ts-sdk'
|
|
@@ -31,6 +31,6 @@ export declare const addReaction: {
|
|
|
31
31
|
*
|
|
32
32
|
* @category Reaction API
|
|
33
33
|
* */
|
|
34
|
-
optimistically(referenceType: Amity.ReactableType, referenceId: Amity.Reaction['referenceId'], reactionName: Amity.
|
|
34
|
+
optimistically(referenceType: Amity.ReactableType, referenceId: Amity.Reaction['referenceId'], reactionName: Amity.Reactor['reactionName']): boolean | undefined;
|
|
35
35
|
};
|
|
36
36
|
//# sourceMappingURL=addReaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/addReaction.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,WAAW;oBACP,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"addReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/addReaction.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,WAAW;oBACP,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,OAAO,CAAC,cAAc,CAAC,GAC1C,QAAQ,OAAO,CAAC;IA8BnB;;;;;;;;;;;;;;SAcK;kCAEY,MAAM,aAAa,eACrB,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,OAAO,CAAC,cAAc,CAAC,GAC1C,OAAO,GAAG,SAAS;CAtBrB,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* })
|
|
8
8
|
* ```
|
|
9
9
|
*
|
|
10
|
-
* Queries a paginable list of {@link Amity.
|
|
10
|
+
* Queries a paginable list of {@link Amity.Reaction} objects
|
|
11
11
|
*
|
|
12
12
|
* @param query The query parameters
|
|
13
13
|
* @returns A page of {@link Amity.Reaction} objects
|
|
@@ -15,5 +15,5 @@
|
|
|
15
15
|
* @reaction Reaction API
|
|
16
16
|
* @async
|
|
17
17
|
* */
|
|
18
|
-
export declare const queryReactions: (query: Amity.QueryReactions) => Promise<Amity.Paged<Amity.
|
|
18
|
+
export declare const queryReactions: (query: Amity.QueryReactions) => Promise<Amity.Paged<Amity.Reaction, Amity.Page<string>>>;
|
|
19
19
|
//# sourceMappingURL=queryReactions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryReactions.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/queryReactions.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;KAgBK;AACL,eAAO,MAAM,cAAc,UAClB,MAAM,cAAc,KAC1B,QAAQ,MAAM,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"queryReactions.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/queryReactions.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;KAgBK;AACL,eAAO,MAAM,cAAc,UAClB,MAAM,cAAc,KAC1B,QAAQ,MAAM,KAAK,CAAC,MAAM,QAAQ,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CA6BzD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { queryReactor } from '@amityco/ts-sdk'
|
|
4
|
+
* const { data: reactions, prevPage, nextPage } = await queryReactor({
|
|
5
|
+
* referenceId: 'postId',
|
|
6
|
+
* referenceType: 'post',
|
|
7
|
+
* })
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* Queries a paginable list of {@link Amity.Reactor} objects
|
|
11
|
+
*
|
|
12
|
+
* @param query The query parameters
|
|
13
|
+
* @returns A page of {@link Amity.Reactor} objects
|
|
14
|
+
*
|
|
15
|
+
* @reaction Reaction API
|
|
16
|
+
* @async
|
|
17
|
+
* */
|
|
18
|
+
export declare const queryReactor: (query: Amity.QueryReactions) => Promise<Amity.Paged<Amity.Reactor, Amity.Page<string>>>;
|
|
19
|
+
//# sourceMappingURL=queryReactor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryReactor.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/queryReactor.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;KAgBK;AACL,eAAO,MAAM,YAAY,UAChB,MAAM,cAAc,KAC1B,QAAQ,MAAM,KAAK,CAAC,MAAM,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAOxD,CAAC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* @async
|
|
16
16
|
* */
|
|
17
17
|
export declare const removeReaction: {
|
|
18
|
-
(referenceType: Amity.Reaction['referenceType'], referenceId: Amity.Reaction['referenceId'], reactionName: Amity.
|
|
18
|
+
(referenceType: Amity.Reaction['referenceType'], referenceId: Amity.Reaction['referenceId'], reactionName: Amity.Reactor['reactionName']): Promise<boolean>;
|
|
19
19
|
/**
|
|
20
20
|
* ```js
|
|
21
21
|
* import { removeReaction } from '@amityco/ts-sdk'
|
|
@@ -31,6 +31,6 @@ export declare const removeReaction: {
|
|
|
31
31
|
*
|
|
32
32
|
* @category Reaction API
|
|
33
33
|
* */
|
|
34
|
-
optimistically(referenceType: Amity.ReactableType, referenceId: Amity.Reaction['referenceId'], reactionName: Amity.
|
|
34
|
+
optimistically(referenceType: Amity.ReactableType, referenceId: Amity.Reaction['referenceId'], reactionName: Amity.Reactor['reactionName']): boolean | undefined;
|
|
35
35
|
};
|
|
36
36
|
//# sourceMappingURL=removeReaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/removeReaction.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,cAAc;oBACV,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"removeReaction.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/api/removeReaction.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;KAeK;AACL,eAAO,MAAM,cAAc;oBACV,MAAM,QAAQ,CAAC,eAAe,CAAC,eACjC,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,OAAO,CAAC,cAAc,CAAC,GAC1C,QAAQ,OAAO,CAAC;IAgCnB;;;;;;;;;;;;;;SAcK;kCAEY,MAAM,aAAa,eACrB,MAAM,QAAQ,CAAC,aAAa,CAAC,gBAC5B,MAAM,OAAO,CAAC,cAAc,CAAC,GAC1C,OAAO,GAAG,SAAS;CAtBrB,CAAC"}
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
* }, response => merge(reactions, response.data))
|
|
10
10
|
* ```
|
|
11
11
|
*
|
|
12
|
-
* Observe all mutations on a list of {@link Amity.
|
|
12
|
+
* Observe all mutations on a list of {@link Amity.Reactor} for a given target object
|
|
13
13
|
*
|
|
14
|
-
* @param params
|
|
15
|
-
* @param params.referenceId the ID of the target
|
|
14
|
+
* @param params for querying reactions
|
|
16
15
|
* @param callback the function to call when new data are available
|
|
16
|
+
* @param config the live collection configuration
|
|
17
17
|
* @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
|
|
18
18
|
*
|
|
19
19
|
* @category Reactions Live Collection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getReactions.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/observers/getReactions.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY,WACf,MAAM,sBAAsB,YAC1B,MAAM,sBAAsB,CAAC,MAAM,OAAO,CAAC,WAC5C,MAAM,oBAAoB,KAClC,MAAM,
|
|
1
|
+
{"version":3,"file":"getReactions.d.ts","sourceRoot":"","sources":["../../../src/reactionRepository/observers/getReactions.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY,WACf,MAAM,sBAAsB,YAC1B,MAAM,sBAAsB,CAAC,MAAM,OAAO,CAAC,WAC5C,MAAM,oBAAoB,KAClC,MAAM,YAqGR,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ```js
|
|
3
3
|
* import { StreamRepository } from '@amityco/ts-sdk'
|
|
4
|
-
* const
|
|
4
|
+
* const unsub = StreamRepository.getStreamById('foobar')
|
|
5
|
+
* unsub()
|
|
5
6
|
* ```
|
|
6
7
|
*
|
|
7
8
|
* Fetches a {@link Amity.Stream} object
|
|
@@ -11,5 +12,21 @@
|
|
|
11
12
|
*
|
|
12
13
|
* @category Stream Live Object
|
|
13
14
|
*/
|
|
14
|
-
export declare const getStreamById:
|
|
15
|
+
export declare const getStreamById: {
|
|
16
|
+
(streamId: Amity.Stream['streamId'], callback: Amity.LiveObjectCallback<Amity.Stream>): Amity.Unsubscriber;
|
|
17
|
+
/**
|
|
18
|
+
* ```js
|
|
19
|
+
* import { StreamRepository } from '@amityco/ts-sdk'
|
|
20
|
+
* const stream = StreamRepository.getStreamById.locally('foobar')
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Fetches a {@link Amity.Stream} live object
|
|
24
|
+
*
|
|
25
|
+
* @param streamId the ID of the {@link Amity.Stream} to fetch
|
|
26
|
+
* @returns the associated {@link Amity.Stream} live object
|
|
27
|
+
*
|
|
28
|
+
* @category Stream API
|
|
29
|
+
*/
|
|
30
|
+
locally(streamId: Amity.Stream['streamId']): Amity.Cached<Amity.Stream> | undefined;
|
|
31
|
+
};
|
|
15
32
|
//# sourceMappingURL=getStreamById.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStreamById.d.ts","sourceRoot":"","sources":["../../../src/streamRepository/observers/getStreamById.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getStreamById.d.ts","sourceRoot":"","sources":["../../../src/streamRepository/observers/getStreamById.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,aAAa;eACd,MAAM,MAAM,CAAC,UAAU,CAAC,YACxB,MAAM,kBAAkB,CAAC,MAAM,MAAM,CAAC,GAC/C,MAAM,YAAY;IASrB;;;;;;;;;;;;OAYG;sBAES,MAAM,MAAM,CAAC,UAAU,CAAC,GACjC,MAAM,MAAM,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS;CAlBxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getStreams.d.ts","sourceRoot":"","sources":["../../../src/streamRepository/observers/getStreams.ts"],"names":[],"mappings":"AA0BA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,oBAAoB,YACxB,MAAM,sBAAsB,CAAC,MAAM,MAAM,CAAC,WAC3C,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"getStreams.d.ts","sourceRoot":"","sources":["../../../src/streamRepository/observers/getStreams.ts"],"names":[],"mappings":"AA0BA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,WACb,MAAM,oBAAoB,YACxB,MAAM,sBAAsB,CAAC,MAAM,MAAM,CAAC,WAC3C,MAAM,oBAAoB,eAyGpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getStreamById.test.d.ts","sourceRoot":"","sources":["../../../../src/streamRepository/observers/tests/getStreamById.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUsers.d.ts","sourceRoot":"","sources":["../../../src/userRepository/observers/getUsers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getUsers.d.ts","sourceRoot":"","sources":["../../../src/userRepository/observers/getUsers.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,WAAW,4CAEd,MAAM,kBAAkB,QAsBjC,CAAC;AAKF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,QAAQ,WACX,MAAM,kBAAkB,YACtB,MAAM,sBAAsB,CAAC,MAAM,IAAI,CAAC,WACzC,MAAM,oBAAoB,eAiGpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/reaction.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"reaction.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/reaction.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,OAK7B,CAAC;AACF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,QAI9B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,eAGnC,CAAC"}
|
|
@@ -80,4 +80,26 @@ export declare const streamResponse: {
|
|
|
80
80
|
}[];
|
|
81
81
|
};
|
|
82
82
|
};
|
|
83
|
+
export declare const streamsResponse: {
|
|
84
|
+
title: string;
|
|
85
|
+
description: string;
|
|
86
|
+
metadata: {};
|
|
87
|
+
streamerUrl: {};
|
|
88
|
+
watcherUrl: {};
|
|
89
|
+
status: string;
|
|
90
|
+
isLive: boolean;
|
|
91
|
+
isDeleted: boolean;
|
|
92
|
+
startedAt: string;
|
|
93
|
+
endedAt: string;
|
|
94
|
+
resolution: string;
|
|
95
|
+
updatedAt: string;
|
|
96
|
+
createdAt: string;
|
|
97
|
+
streamId: string;
|
|
98
|
+
userId: string;
|
|
99
|
+
thumbnailFileId: null;
|
|
100
|
+
platform: {
|
|
101
|
+
name: string;
|
|
102
|
+
version: string;
|
|
103
|
+
};
|
|
104
|
+
}[];
|
|
83
105
|
//# sourceMappingURL=stream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/stream.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqF1B,CAAC"}
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/stream.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqF1B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;GA6C3B,CAAC"}
|
package/package.json
CHANGED
|
@@ -101,8 +101,8 @@ declare global {
|
|
|
101
101
|
'post.declined': Amity.PostPayload;
|
|
102
102
|
'post.flagged': Amity.PostPayload;
|
|
103
103
|
'post.unflagged': Amity.PostPayload;
|
|
104
|
-
'post.addReaction': Amity.PostPayload & { reactor: Amity.
|
|
105
|
-
'post.removeReaction': Amity.PostPayload & { reactor: Amity.
|
|
104
|
+
'post.addReaction': Amity.PostPayload & { reactor: Amity.Reactor };
|
|
105
|
+
'post.removeReaction': Amity.PostPayload & { reactor: Amity.Reactor };
|
|
106
106
|
};
|
|
107
107
|
|
|
108
108
|
type MqttCommentEvents = {
|
|
@@ -111,8 +111,8 @@ declare global {
|
|
|
111
111
|
'comment.deleted': Amity.CommentPayload;
|
|
112
112
|
'comment.flagged': Amity.CommentPayload;
|
|
113
113
|
'comment.unflagged': Amity.CommentPayload;
|
|
114
|
-
'comment.addReaction': Amity.CommentPayload & { reactor: Amity.
|
|
115
|
-
'comment.removeReaction': Amity.CommentPayload & { reactor: Amity.
|
|
114
|
+
'comment.addReaction': Amity.CommentPayload & { reactor: Amity.Reactor };
|
|
115
|
+
'comment.removeReaction': Amity.CommentPayload & { reactor: Amity.Reactor };
|
|
116
116
|
};
|
|
117
117
|
|
|
118
118
|
type MqttUserEvents = {
|
package/src/@types/core/model.ts
CHANGED
|
@@ -29,6 +29,7 @@ declare global {
|
|
|
29
29
|
comment: Amity.Comment;
|
|
30
30
|
poll: Amity.Poll;
|
|
31
31
|
reaction: Amity.Reaction;
|
|
32
|
+
reactor: Amity.Reactor;
|
|
32
33
|
|
|
33
34
|
stream: Amity.Stream;
|
|
34
35
|
|
|
@@ -69,7 +70,8 @@ declare global {
|
|
|
69
70
|
post: Pick<Amity.Post, 'postId'>;
|
|
70
71
|
comment: Pick<Amity.Comment, 'commentId'>;
|
|
71
72
|
poll: Pick<Amity.Poll, 'pollId'>;
|
|
72
|
-
reaction: Pick<Amity.Reaction, '
|
|
73
|
+
reaction: Pick<Amity.Reaction, 'referenceType' | 'referenceId'>;
|
|
74
|
+
reactor: Pick<Amity.Reactor, 'reactionId'>;
|
|
73
75
|
|
|
74
76
|
stream: Pick<Amity.Stream, 'streamId'>;
|
|
75
77
|
|
|
@@ -53,7 +53,7 @@ declare global {
|
|
|
53
53
|
type QueryPosts = {
|
|
54
54
|
targetId: string;
|
|
55
55
|
targetType: Amity.Post['targetType'];
|
|
56
|
-
sortBy?: 'lastCreated' | 'firstCreated'
|
|
56
|
+
sortBy?: 'lastCreated' | 'firstCreated';
|
|
57
57
|
dataTypes?: Exclude<Amity.PostContentType, 'text'>[];
|
|
58
58
|
includeDeleted?: boolean;
|
|
59
59
|
hasFlag?: boolean;
|
|
@@ -10,29 +10,28 @@ declare global {
|
|
|
10
10
|
reactionId: string;
|
|
11
11
|
reactionName: string;
|
|
12
12
|
userId: Amity.User['userId'];
|
|
13
|
-
} & Amity.
|
|
14
|
-
|
|
15
|
-
type Reaction = Amity.Reactor & Amity.Relationship<ReactableType>;
|
|
13
|
+
} & Amity.Timestamps;
|
|
16
14
|
|
|
17
15
|
type Reactable = {
|
|
18
16
|
reactionsCount: number;
|
|
19
17
|
reactions: Record<string, number>;
|
|
20
18
|
myReactions?: string[];
|
|
21
19
|
|
|
22
|
-
latestReaction?: Amity.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
latestReaction?: Amity.Reactor &
|
|
21
|
+
Amity.Relationship<ReactableType> & {
|
|
22
|
+
eventName: 'add' | 'remove';
|
|
23
|
+
userDisplayName: string;
|
|
24
|
+
};
|
|
26
25
|
};
|
|
27
26
|
|
|
28
|
-
type
|
|
27
|
+
type Reaction = {
|
|
29
28
|
reactors: Reactor[];
|
|
30
29
|
} & Amity.Relationship<ReactableType>;
|
|
31
30
|
|
|
32
31
|
type QueryReactions = {
|
|
33
32
|
referenceId: Amity.Reaction['referenceId'];
|
|
34
33
|
referenceType: Amity.Reaction['referenceType'];
|
|
35
|
-
reactionName?: Amity.
|
|
34
|
+
reactionName?: Amity.Reactor['reactionName'];
|
|
36
35
|
page?: Amity.Page<string>;
|
|
37
36
|
};
|
|
38
37
|
|
|
@@ -54,7 +54,7 @@ export const queryCategories = async (
|
|
|
54
54
|
const cacheKey = [
|
|
55
55
|
'category',
|
|
56
56
|
'query',
|
|
57
|
-
{ ...params, options: { ...page } } as Amity.Serializable,
|
|
57
|
+
{ ...params, includeDeleted, options: { ...page } } as Amity.Serializable,
|
|
58
58
|
];
|
|
59
59
|
pushToCache(cacheKey, { categories: categories.map(getResolver('category')), paging });
|
|
60
60
|
}
|
|
@@ -26,6 +26,51 @@ import {
|
|
|
26
26
|
} from '../../events';
|
|
27
27
|
import { queryChannelMembers } from '../api/queryChannelMembers';
|
|
28
28
|
|
|
29
|
+
/*
|
|
30
|
+
* Exported for testing
|
|
31
|
+
* @hidden
|
|
32
|
+
*/
|
|
33
|
+
export const applyFilter = <T extends Amity.Membership<'channel'>>(
|
|
34
|
+
data: T[],
|
|
35
|
+
params: Amity.ChannelMembersLiveCollection,
|
|
36
|
+
): T[] => {
|
|
37
|
+
let channelMembers = filterByPropIntersection(data, 'roles', params.roles);
|
|
38
|
+
|
|
39
|
+
if (params.memberships) {
|
|
40
|
+
/*
|
|
41
|
+
* even though membership includes muted as a possible value
|
|
42
|
+
* when querying the server.
|
|
43
|
+
* Muted is specified under seperarte property namely isMuted
|
|
44
|
+
* Hence why I've seperately checked for it's equality
|
|
45
|
+
*/
|
|
46
|
+
channelMembers = channelMembers.filter(member => {
|
|
47
|
+
// @ts-ignore
|
|
48
|
+
if (params.memberships.includes('muted') && member.isMuted) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// @ts-ignore
|
|
53
|
+
return params.memberships.includes(member.membership);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (params.search) {
|
|
58
|
+
// eslint-disable-next-line no-console
|
|
59
|
+
console.warn(
|
|
60
|
+
'`search` param will be deprecated in the next major release. If you want to search channel members by displayName, Please use `searchMembers()` instead.',
|
|
61
|
+
);
|
|
62
|
+
channelMembers = filterBySearchTerm(channelMembers, params.search);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// sort, 'lastCreated' is the default sort order
|
|
66
|
+
const sortBy = params.sortBy ? params.sortBy : 'lastCreated';
|
|
67
|
+
channelMembers = channelMembers.sort(
|
|
68
|
+
sortBy === 'lastCreated' ? sortByLastCreated : sortByFirstCreated,
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
return channelMembers;
|
|
72
|
+
};
|
|
73
|
+
|
|
29
74
|
/* begin_public_function
|
|
30
75
|
id: channel.member.query
|
|
31
76
|
*/
|
|
@@ -55,6 +100,7 @@ export const getMembers = (
|
|
|
55
100
|
const { log, cache } = getActiveClient();
|
|
56
101
|
|
|
57
102
|
if (!cache) {
|
|
103
|
+
// eslint-disable-next-line no-console
|
|
58
104
|
console.log(ENABLE_CACHE_MESSAGE);
|
|
59
105
|
}
|
|
60
106
|
|
|
@@ -69,44 +115,6 @@ export const getMembers = (
|
|
|
69
115
|
const disposers: Amity.Unsubscriber[] = [];
|
|
70
116
|
const cacheKey = ['channelUsers', 'collection', { channelId: params.channelId }];
|
|
71
117
|
|
|
72
|
-
const applyFilter = <T extends Amity.Membership<'channel'>>(data: T[]): T[] => {
|
|
73
|
-
let channelMembers = filterByPropIntersection(data, 'roles', params.roles);
|
|
74
|
-
|
|
75
|
-
if (params.memberships) {
|
|
76
|
-
/*
|
|
77
|
-
* even though membership includes muted as a possible value
|
|
78
|
-
* when querying the server.
|
|
79
|
-
* Muted is specified under seperarte property namely isMuted
|
|
80
|
-
* Hence why I've seperately checked for it's equality
|
|
81
|
-
*/
|
|
82
|
-
channelMembers = channelMembers.filter(member => {
|
|
83
|
-
// @ts-ignore
|
|
84
|
-
if (params.memberships.includes('muted') && member.isMuted) {
|
|
85
|
-
return true;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// @ts-ignore
|
|
89
|
-
return params.memberships.includes(member.membership);
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
if (params.search) {
|
|
94
|
-
// eslint-disable-next-line no-console
|
|
95
|
-
console.warn(
|
|
96
|
-
'`search` param will be deprecated in the next major release. If you want to search channel members by displayName, Please use `searchMembers()` instead.',
|
|
97
|
-
);
|
|
98
|
-
channelMembers = filterBySearchTerm(channelMembers, params.search);
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// sort, 'lastCreated' is the default sort order
|
|
102
|
-
const sortBy = params.sortBy ? params.sortBy : 'lastCreated';
|
|
103
|
-
channelMembers = channelMembers.sort(
|
|
104
|
-
sortBy === 'lastCreated' ? sortByLastCreated : sortByFirstCreated,
|
|
105
|
-
);
|
|
106
|
-
|
|
107
|
-
return channelMembers;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
118
|
const responder = (data: Amity.ChannelMembersLiveCollectionCache, isEventModel = false) => {
|
|
111
119
|
const channelMembers: Amity.Membership<'channel'>[] =
|
|
112
120
|
data.data
|
|
@@ -119,7 +127,7 @@ export const getMembers = (
|
|
|
119
127
|
/*
|
|
120
128
|
* Only apply filter to RTE Model
|
|
121
129
|
*/
|
|
122
|
-
data: isEventModel ? applyFilter(channelMembers) : channelMembers,
|
|
130
|
+
data: isEventModel ? applyFilter(channelMembers, params) : channelMembers,
|
|
123
131
|
hasNextPage: !!data.params?.page,
|
|
124
132
|
loading: data.loading,
|
|
125
133
|
error: data.error,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getPastDate } from '~/core/model';
|
|
1
2
|
import { disableCache, enableCache } from '~/cache/api';
|
|
2
3
|
import {
|
|
3
4
|
bannedChannelUser,
|
|
@@ -7,15 +8,11 @@ import {
|
|
|
7
8
|
channelUser3,
|
|
8
9
|
channelUserModel,
|
|
9
10
|
channelUserQueryResponse,
|
|
10
|
-
channelUserQueryResponsePage2,
|
|
11
|
-
channelUserQueryResponsePage3,
|
|
12
11
|
channelUserWithRole,
|
|
13
12
|
client,
|
|
14
13
|
connectClient,
|
|
15
|
-
convertRawChannelPayload,
|
|
16
14
|
disconnectClient,
|
|
17
15
|
emptyChannelUserQueryResponse,
|
|
18
|
-
mutedChannelUser,
|
|
19
16
|
pause,
|
|
20
17
|
rawBannedChannelUser,
|
|
21
18
|
rawChannelUser,
|
|
@@ -25,7 +22,10 @@ import {
|
|
|
25
22
|
user14,
|
|
26
23
|
} from '~/utils/tests';
|
|
27
24
|
|
|
28
|
-
|
|
25
|
+
// makes it easier to spy on applyFilter
|
|
26
|
+
import * as getMembersModule from '../getMembers';
|
|
27
|
+
|
|
28
|
+
const { getMembers, applyFilter } = getMembersModule;
|
|
29
29
|
|
|
30
30
|
const getSnapshot = (params?: Record<string, any>) => {
|
|
31
31
|
return {
|
|
@@ -147,4 +147,81 @@ describe('getMembers', () => {
|
|
|
147
147
|
expect.objectContaining(getSnapshot({ data: [bannedChannelUser], loading: false })),
|
|
148
148
|
);
|
|
149
149
|
});
|
|
150
|
+
|
|
151
|
+
test('it should apply filter on RTE only', async () => {
|
|
152
|
+
const callback = jest.fn();
|
|
153
|
+
const applyFilterSpy = jest.spyOn(getMembersModule, 'applyFilter');
|
|
154
|
+
|
|
155
|
+
client.http.get = jest.fn().mockResolvedValue(emptyChannelUserQueryResponse);
|
|
156
|
+
|
|
157
|
+
getMembers({ channelId, memberships: ['banned'] }, callback);
|
|
158
|
+
await pause();
|
|
159
|
+
|
|
160
|
+
expect(applyFilterSpy).not.toHaveBeenCalled();
|
|
161
|
+
|
|
162
|
+
client.emitter.emit('channel.banned', {
|
|
163
|
+
channels: [channelRaw1],
|
|
164
|
+
channelUsers: [rawBannedChannelUser],
|
|
165
|
+
users: [user13],
|
|
166
|
+
files: [],
|
|
167
|
+
});
|
|
168
|
+
await pause();
|
|
169
|
+
|
|
170
|
+
expect(applyFilterSpy).toHaveBeenCalled();
|
|
171
|
+
});
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
describe('getMembers > applyFilter', () => {
|
|
175
|
+
const { channelId } = channel1;
|
|
176
|
+
|
|
177
|
+
const ch1 = {
|
|
178
|
+
channelId,
|
|
179
|
+
userId: 'test',
|
|
180
|
+
membership: 'member',
|
|
181
|
+
readToSegment: 1,
|
|
182
|
+
roles: ['test-role'],
|
|
183
|
+
lastMentionedSegment: 1,
|
|
184
|
+
createdAt: new Date().toISOString(),
|
|
185
|
+
} as Amity.Membership<'channel'>;
|
|
186
|
+
|
|
187
|
+
const ch2 = {
|
|
188
|
+
channelId,
|
|
189
|
+
userId: 'test1',
|
|
190
|
+
membership: 'banned',
|
|
191
|
+
readToSegment: 1,
|
|
192
|
+
lastMentionedSegment: 1,
|
|
193
|
+
createdAt: getPastDate(),
|
|
194
|
+
} as Amity.Membership<'channel'>;
|
|
195
|
+
|
|
196
|
+
const filters: [
|
|
197
|
+
string,
|
|
198
|
+
Amity.ChannelMembersLiveCollection,
|
|
199
|
+
Amity.Membership<'channel'>[],
|
|
200
|
+
Amity.Membership<'channel'>[],
|
|
201
|
+
][] = [
|
|
202
|
+
['it should filter by roles', { channelId, roles: ['test-role'] }, [ch1, ch2], [ch1]],
|
|
203
|
+
[
|
|
204
|
+
'it should filter by membership:member',
|
|
205
|
+
{ channelId, memberships: ['member'] },
|
|
206
|
+
[ch1, ch2],
|
|
207
|
+
[ch1],
|
|
208
|
+
],
|
|
209
|
+
[
|
|
210
|
+
'it should filter by membership:banned',
|
|
211
|
+
{ channelId, memberships: ['banned'] },
|
|
212
|
+
[ch1, ch2],
|
|
213
|
+
[ch2],
|
|
214
|
+
],
|
|
215
|
+
['it should sort by last created', { channelId }, [ch1, ch2], [ch1, ch2]],
|
|
216
|
+
[
|
|
217
|
+
'it should sort by first created',
|
|
218
|
+
{ channelId, sortBy: 'firstCreated' },
|
|
219
|
+
[ch1, ch2],
|
|
220
|
+
[ch2, ch1],
|
|
221
|
+
],
|
|
222
|
+
];
|
|
223
|
+
|
|
224
|
+
test.each(filters)('%s', (test, param, input, expected) => {
|
|
225
|
+
expect(applyFilter(input, param)).toStrictEqual(expected);
|
|
226
|
+
});
|
|
150
227
|
});
|