@amityco/ts-sdk 7.22.1-ef6b9414.0 → 7.23.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/errors.d.ts +2 -1
- package/dist/@types/core/errors.d.ts.map +1 -1
- package/dist/@types/core/events.d.ts +5 -1
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +5 -1
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/domains/block.d.ts +5 -0
- package/dist/@types/domains/block.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +11 -0
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +23 -0
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/comment.d.ts +1 -0
- package/dist/@types/domains/comment.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +1 -0
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/channelRepository/observers/index.d.ts +1 -0
- package/dist/channelRepository/observers/index.d.ts.map +1 -1
- package/dist/channelRepository/observers/searchChannels/SearchChannelLiveCollectionController.d.ts +14 -0
- package/dist/channelRepository/observers/searchChannels/SearchChannelLiveCollectionController.d.ts.map +1 -0
- package/dist/channelRepository/observers/searchChannels/SearchChannelPaginationController.d.ts +10 -0
- package/dist/channelRepository/observers/searchChannels/SearchChannelPaginationController.d.ts.map +1 -0
- package/dist/channelRepository/observers/searchChannels/SearchChannelQueryStreamController.d.ts +13 -0
- package/dist/channelRepository/observers/searchChannels/SearchChannelQueryStreamController.d.ts.map +1 -0
- package/dist/channelRepository/observers/searchChannels.d.ts +21 -0
- package/dist/channelRepository/observers/searchChannels.d.ts.map +1 -0
- package/dist/channelRepository/observers/tests/integrations/searchChannels.integration.test.d.ts +2 -0
- package/dist/channelRepository/observers/tests/integrations/searchChannels.integration.test.d.ts.map +1 -0
- package/dist/client/api/autoSubscription.d.ts +47 -0
- package/dist/client/api/autoSubscription.d.ts.map +1 -0
- package/dist/client/api/createClient.d.ts.map +1 -1
- package/dist/client/api/getCoreUserSettings.d.ts +16 -0
- package/dist/client/api/getCoreUserSettings.d.ts.map +1 -0
- package/dist/client/api/getForYouFeedSetting.d.ts +17 -0
- package/dist/client/api/getForYouFeedSetting.d.ts.map +1 -0
- package/dist/client/api/index.d.ts +3 -0
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/client/api/setupLoginSubscriptions.d.ts.map +1 -1
- package/dist/client/utils/autoSubscriptionManager.d.ts +21 -0
- package/dist/client/utils/autoSubscriptionManager.d.ts.map +1 -0
- package/dist/client/utils/subscribeGlobalTopic.d.ts +6 -1
- package/dist/client/utils/subscribeGlobalTopic.d.ts.map +1 -1
- package/dist/client/utils/tests/autoSubscriptionManager.test.d.ts +2 -0
- package/dist/client/utils/tests/autoSubscriptionManager.test.d.ts.map +1 -0
- package/dist/commentRepository/observers/getComments/CommentLiveCollectionController.d.ts.map +1 -1
- package/dist/commentRepository/observers/tests/integrations/getCommentsExcludeBlockUser.integration.test.d.ts +2 -0
- package/dist/commentRepository/observers/tests/integrations/getCommentsExcludeBlockUser.integration.test.d.ts.map +1 -0
- package/dist/core/events.d.ts +3 -3
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/query/filtering.d.ts +32 -0
- package/dist/core/query/filtering.d.ts.map +1 -1
- package/dist/feedRepository/observers/getForYouFeed/CursorController.d.ts +2 -0
- package/dist/feedRepository/observers/getForYouFeed/CursorController.d.ts.map +1 -1
- package/dist/feedRepository/observers/getForYouFeed/PaginationController.d.ts +5 -4
- package/dist/feedRepository/observers/getForYouFeed/PaginationController.d.ts.map +1 -1
- package/dist/index.cjs.js +1442 -269
- package/dist/index.esm.js +1440 -270
- package/dist/index.umd.js +3 -3
- package/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
- package/dist/postRepository/observers/tests/getPostsExcludeBlockUser.test.d.ts +2 -0
- package/dist/postRepository/observers/tests/getPostsExcludeBlockUser.test.d.ts.map +1 -0
- package/dist/userRepository/api/getAllBlockedUsers.d.ts.map +1 -1
- package/dist/userRepository/api/getAllBlockingUsers.d.ts +20 -0
- package/dist/userRepository/api/getAllBlockingUsers.d.ts.map +1 -0
- package/dist/userRepository/api/index.d.ts +1 -0
- package/dist/userRepository/api/index.d.ts.map +1 -1
- package/dist/userRepository/api/tests/integration/getAllBlockingUsers.integration.test.d.ts +2 -0
- package/dist/userRepository/api/tests/integration/getAllBlockingUsers.integration.test.d.ts.map +1 -0
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserLiveCollectionController.d.ts.map +1 -1
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.d.ts +4 -3
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.d.ts.map +1 -1
- package/dist/userRepository/observers/getBlockingUsers/LiveCollectionController.d.ts +13 -0
- package/dist/userRepository/observers/getBlockingUsers/LiveCollectionController.d.ts.map +1 -0
- package/dist/userRepository/observers/getBlockingUsers/PaginationController.d.ts +5 -0
- package/dist/userRepository/observers/getBlockingUsers/PaginationController.d.ts.map +1 -0
- package/dist/userRepository/observers/getBlockingUsers/QueryStreamController.d.ts +16 -0
- package/dist/userRepository/observers/getBlockingUsers/QueryStreamController.d.ts.map +1 -0
- package/dist/userRepository/observers/getBlockingUsers.d.ts +17 -0
- package/dist/userRepository/observers/getBlockingUsers.d.ts.map +1 -0
- package/dist/userRepository/observers/index.d.ts +1 -0
- package/dist/userRepository/observers/index.d.ts.map +1 -1
- package/dist/userRepository/observers/tests/integrations/getBlockingUsers.integration.test.d.ts +2 -0
- package/dist/userRepository/observers/tests/integrations/getBlockingUsers.integration.test.d.ts.map +1 -0
- package/dist/userRepository/relationship/block/enum/index.d.ts +5 -0
- package/dist/userRepository/relationship/block/enum/index.d.ts.map +1 -0
- package/dist/userRepository/relationship/block/events/index.d.ts +3 -0
- package/dist/userRepository/relationship/block/events/index.d.ts.map +1 -0
- package/dist/userRepository/relationship/block/events/onUserDidBlock.d.ts +20 -0
- package/dist/userRepository/relationship/block/events/onUserDidBlock.d.ts.map +1 -0
- package/dist/userRepository/relationship/block/events/onUserDidUnblock.d.ts +20 -0
- package/dist/userRepository/relationship/block/events/onUserDidUnblock.d.ts.map +1 -0
- package/dist/userRepository/relationship/block/index.d.ts +1 -0
- package/dist/userRepository/relationship/block/index.d.ts.map +1 -1
- package/dist/userRepository/relationship/block/utils/blockRealtimeOnLoginHandler.d.ts +12 -0
- package/dist/userRepository/relationship/block/utils/blockRealtimeOnLoginHandler.d.ts.map +1 -0
- package/dist/userRepository/relationship/block/utils/createBlockEventSubscriber.d.ts +11 -0
- package/dist/userRepository/relationship/block/utils/createBlockEventSubscriber.d.ts.map +1 -0
- package/dist/userRepository/services/BlockedUserSyncEngine/blockedUserSyncEngine.d.ts +13 -13
- package/dist/userRepository/services/BlockedUserSyncEngine/blockedUserSyncEngine.d.ts.map +1 -1
- package/dist/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngine.d.ts +56 -0
- package/dist/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngine.d.ts.map +1 -0
- package/dist/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngineOnLoginHandler.d.ts +3 -0
- package/dist/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngineOnLoginHandler.d.ts.map +1 -0
- package/dist/userRepository/utils/prepareBlockingUserPayload.d.ts +2 -0
- package/dist/userRepository/utils/prepareBlockingUserPayload.d.ts.map +1 -0
- package/dist/utils/tests/dummy/block.d.ts +16 -0
- package/dist/utils/tests/dummy/block.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostLiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/postRepository/observers/getPosts/PostLiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"PostLiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/postRepository/observers/getPosts/PostLiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAiB1F,qBAAa,4BAA6B,SAAQ,wBAAwB,CACxE,MAAM,EACN,KAAK,CAAC,kBAAkB,EACxB,KAAK,CAAC,IAAI,EACV,wBAAwB,CACzB;IACC,OAAO,CAAC,qBAAqB,CAA4B;IAEzD,OAAO,CAAC,KAAK,CAA2B;gBAE5B,KAAK,EAAE,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;IAmB/F,SAAS,CAAC,KAAK;cAUC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU;IAI/E,SAAS,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE,KAAK,CAAC,sCAAsC,CAAC,MAAM,CAAC;IAIvD,iBAAiB;IAajB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;IA2BzE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE;CA4CvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPostsExcludeBlockUser.test.d.ts","sourceRoot":"","sources":["../../../../src/postRepository/observers/tests/getPostsExcludeBlockUser.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAllBlockedUsers.d.ts","sourceRoot":"","sources":["../../../src/userRepository/api/getAllBlockedUsers.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,QAAa,QAAQ,MAAM,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"getAllBlockedUsers.d.ts","sourceRoot":"","sources":["../../../src/userRepository/api/getAllBlockedUsers.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,QAAa,QAAQ,MAAM,IAAI,EAAE,CAU/D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { UserRepository } from '@amityco/ts-sdk'
|
|
4
|
+
* const blockingUsers = await UserRepository.getAllBlockingUsers()
|
|
5
|
+
* ```
|
|
6
|
+
*
|
|
7
|
+
* Returns all users who have blocked the current user
|
|
8
|
+
* non-paginated list (limit 100) with TTL-based caching (5-minute window). Within the
|
|
9
|
+
* TTL window, subsequent calls resolve instantly from the local store without any
|
|
10
|
+
* server call. After the TTL expires, the next call triggers a fresh server fetch.
|
|
11
|
+
*
|
|
12
|
+
* The directional inverse of {@link getAllBlockedUsers}.
|
|
13
|
+
*
|
|
14
|
+
* @returns A promise that resolves to an array of blocking {@link Amity.User} objects
|
|
15
|
+
*
|
|
16
|
+
* @category Block API
|
|
17
|
+
* @async
|
|
18
|
+
*/
|
|
19
|
+
export declare const getAllBlockingUsers: () => Promise<Amity.User[]>;
|
|
20
|
+
//# sourceMappingURL=getAllBlockingUsers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAllBlockingUsers.d.ts","sourceRoot":"","sources":["../../../src/userRepository/api/getAllBlockingUsers.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,QAAa,QAAQ,MAAM,IAAI,EAAE,CAWhE,CAAC"}
|
|
@@ -4,4 +4,5 @@ export { flagUser } from './flagUser';
|
|
|
4
4
|
export { unflagUser } from './unflagUser';
|
|
5
5
|
export { isUserFlaggedByMe } from './isUserFlaggedByMe';
|
|
6
6
|
export { getAllBlockedUsers } from './getAllBlockedUsers';
|
|
7
|
+
export { getAllBlockingUsers } from './getAllBlockingUsers';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/userRepository/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/userRepository/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/userRepository/api/tests/integration/getAllBlockingUsers.integration.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAllBlockingUsers.integration.test.d.ts","sourceRoot":"","sources":["../../../../../src/userRepository/api/tests/integration/getAllBlockingUsers.integration.test.ts"],"names":[],"mappings":""}
|
package/dist/userRepository/observers/getBlockedUsers/BlockedUserLiveCollectionController.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockedUserLiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/observers/getBlockedUsers/BlockedUserLiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;
|
|
1
|
+
{"version":3,"file":"BlockedUserLiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/observers/getBlockedUsers/BlockedUserLiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAa1F,qBAAa,mCAAoC,SAAQ,wBAAwB,CAC/E,WAAW,EACX,KAAK,CAAC,0BAA0B,EAChC,KAAK,CAAC,IAAI,EACV,+BAA+B,CAChC;IACC,OAAO,CAAC,qBAAqB,CAAmC;IAEhE,OAAO,CAAC,KAAK,CAAmC;gBAG9C,KAAK,EAAE,KAAK,CAAC,0BAA0B,EACvC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;IAoBpD,SAAS,CAAC,KAAK;cAUC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU;IAItF,SAAS,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE,KAAK,CAAC,sCAAsC,CAAC,WAAW,CAAC;IAI5D,iBAAiB;IAmCjB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;IAuBzE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE;CAOvC"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { QueryStreamController } from '~/core/liveCollection/QueryStreamController';
|
|
2
|
-
import { EnumUserActions } from '../enums';
|
|
3
2
|
import { EnumFollowActions } from '~/userRepository/relationship/follow/enums';
|
|
3
|
+
import { EnumBlockActions } from '~/userRepository/relationship/block/enum';
|
|
4
|
+
import { EnumUserActions } from '../enums';
|
|
4
5
|
export declare class BlockedUserQueryStreamController extends QueryStreamController<Amity.BlockedUserPayload, Amity.BlockedUsersLiveCollection> {
|
|
5
6
|
private notifyChange;
|
|
6
7
|
private preparePayload;
|
|
7
8
|
constructor(query: Amity.BlockedUsersLiveCollection, cacheKey: string[], notifyChange: (params: Amity.LiveCollectionNotifyParams) => void, preparePayload: (response: Amity.BlockedUserPayload) => Amity.ProcessedBlockedUserPayload);
|
|
8
9
|
saveToMainDB(response: Amity.BlockedUserPayload): Promise<void>;
|
|
9
10
|
appendToQueryStream(response: Amity.BlockedUserPayload & Partial<Amity.Pagination>, direction: Amity.LiveCollectionPageDirection, refresh?: boolean): void;
|
|
10
|
-
reactor(action: EnumUserActions | EnumFollowActions): (targetUser: Amity.InternalUser) => void;
|
|
11
|
+
reactor(action: EnumUserActions | EnumFollowActions | EnumBlockActions): (targetUser: Amity.InternalUser) => void;
|
|
11
12
|
subscribeRTE(createSubscriber: {
|
|
12
13
|
fn: (reactor: (user: Amity.InternalUser) => void) => Amity.Unsubscriber;
|
|
13
|
-
action: EnumUserActions | EnumFollowActions;
|
|
14
|
+
action: EnumUserActions | EnumFollowActions | EnumBlockActions;
|
|
14
15
|
}[]): Amity.Unsubscriber[];
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=BlockedUserQueryStreamController.d.ts.map
|
package/dist/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockedUserQueryStreamController.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAKpF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BlockedUserQueryStreamController.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAKpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,gCAAiC,SAAQ,qBAAqB,CACzE,KAAK,CAAC,kBAAkB,EACxB,KAAK,CAAC,0BAA0B,CACjC;IACC,OAAO,CAAC,YAAY,CAAqD;IAEzE,OAAO,CAAC,cAAc,CAA4E;gBAGhG,KAAK,EAAE,KAAK,CAAC,0BAA0B,EACvC,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,0BAA0B,KAAK,IAAI,EAChE,cAAc,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,kBAAkB,KAAK,KAAK,CAAC,2BAA2B;IAOrF,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,kBAAkB;IAWrD,mBAAmB,CACjB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAC9D,SAAS,EAAE,KAAK,CAAC,2BAA2B,EAC5C,OAAO,UAAQ;IAkBjB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,gBAChD,MAAM,YAAY;IAuBxC,YAAY,CACV,gBAAgB,EAAE;QAChB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI,KAAK,KAAK,CAAC,YAAY,CAAC;QACxE,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;KAChE,EAAE;CAIN"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LiveCollectionController } from '~/core/liveCollection/LiveCollectionController';
|
|
2
|
+
import { BlockingUserPaginationController } from './PaginationController';
|
|
3
|
+
export declare class BlockingUserLiveCollectionController extends LiveCollectionController<'blockingUser', Amity.BlockingUsersLiveCollection, Amity.User, BlockingUserPaginationController> {
|
|
4
|
+
private queryStreamController;
|
|
5
|
+
constructor(callback: Amity.LiveCollectionCallback<Amity.User>);
|
|
6
|
+
protected setup(): void;
|
|
7
|
+
protected persistModel(queryPayload: Amity.BlockingUserPayload & Amity.Pagination): Promise<void>;
|
|
8
|
+
protected persistQueryStream({ response, direction, refresh, }: Amity.LiveCollectionPersistQueryStreamParams<'blockingUser'>): void;
|
|
9
|
+
startSubscription(): Amity.Unsubscriber[];
|
|
10
|
+
notifyChange({ origin, loading, error }: Amity.LiveCollectionNotifyParams): void;
|
|
11
|
+
applyFilter(data: Amity.InternalUser[]): Amity.InternalUser[];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=LiveCollectionController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/observers/getBlockingUsers/LiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAQ1F,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAG1E,qBAAa,oCAAqC,SAAQ,wBAAwB,CAChF,cAAc,EACd,KAAK,CAAC,2BAA2B,EACjC,KAAK,CAAC,IAAI,EACV,gCAAgC,CACjC;IACC,OAAO,CAAC,qBAAqB,CAAoC;gBAErD,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;IAmB9D,SAAS,CAAC,KAAK;cAUC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,UAAU;IAIvF,SAAS,CAAC,kBAAkB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,OAAO,GACR,EAAE,KAAK,CAAC,sCAAsC,CAAC,cAAc,CAAC;IAI/D,iBAAiB;IA2BjB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;IAsBzE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE;CAOvC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PaginationController } from '~/core/liveCollection/PaginationController';
|
|
2
|
+
export declare class BlockingUserPaginationController extends PaginationController<'blockingUser', Amity.BlockingUsersLiveCollection> {
|
|
3
|
+
getRequest(queryParams: Amity.BlockingUsersLiveCollection, token: string | undefined): Promise<Amity.FollowStatusPayload & Amity.UserPayload & Amity.Pagination>;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=PaginationController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaginationController.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/observers/getBlockingUsers/PaginationController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAGlF,qBAAa,gCAAiC,SAAQ,oBAAoB,CACxE,cAAc,EACd,KAAK,CAAC,2BAA2B,CAClC;IACO,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,2BAA2B,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;CAe3F"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { QueryStreamController } from '~/core/liveCollection/QueryStreamController';
|
|
2
|
+
import { EnumBlockActions } from '~/userRepository/relationship/block/enum';
|
|
3
|
+
import { EnumUserActions } from '../enums';
|
|
4
|
+
export declare class BlockingUserQueryStreamController extends QueryStreamController<Amity.BlockingUserPayload, Amity.BlockingUsersLiveCollection> {
|
|
5
|
+
private notifyChange;
|
|
6
|
+
private preparePayload;
|
|
7
|
+
constructor(query: Amity.BlockingUsersLiveCollection, cacheKey: string[], notifyChange: (params: Amity.LiveCollectionNotifyParams) => void, preparePayload: (response: Amity.BlockingUserPayload) => Amity.ProcessedBlockingUserPayload);
|
|
8
|
+
saveToMainDB(response: Amity.BlockingUserPayload): Promise<void>;
|
|
9
|
+
appendToQueryStream(response: Amity.BlockingUserPayload & Partial<Amity.Pagination>, direction: Amity.LiveCollectionPageDirection, refresh?: boolean): void;
|
|
10
|
+
reactor(action: EnumUserActions | EnumBlockActions): (user?: Amity.InternalUser) => void;
|
|
11
|
+
subscribeRTE(createSubscriber: {
|
|
12
|
+
fn: (reactor: (user: Amity.InternalUser) => void) => Amity.Unsubscriber;
|
|
13
|
+
action: EnumUserActions | EnumBlockActions;
|
|
14
|
+
}[]): Amity.Unsubscriber[];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=QueryStreamController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryStreamController.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/observers/getBlockingUsers/QueryStreamController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAKpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,iCAAkC,SAAQ,qBAAqB,CAC1E,KAAK,CAAC,mBAAmB,EACzB,KAAK,CAAC,2BAA2B,CAClC;IACC,OAAO,CAAC,YAAY,CAAqD;IAEzE,OAAO,CAAC,cAAc,CAEkB;gBAGtC,KAAK,EAAE,KAAK,CAAC,2BAA2B,EACxC,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,0BAA0B,KAAK,IAAI,EAChE,cAAc,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,KAAK,KAAK,CAAC,4BAA4B;IAOvF,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,mBAAmB;IAWtD,mBAAmB,CACjB,QAAQ,EAAE,KAAK,CAAC,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAC/D,SAAS,EAAE,KAAK,CAAC,2BAA2B,EAC5C,OAAO,UAAQ;IAkBjB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,WACjC,MAAM,YAAY;IAsBnC,YAAY,CACV,gBAAgB,EAAE;QAChB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI,KAAK,KAAK,CAAC,YAAY,CAAC;QACxE,MAAM,EAAE,eAAe,GAAG,gBAAgB,CAAC;KAC5C,EAAE;CAIN"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { UserRepository } from '@amityco/ts-sdk'
|
|
4
|
+
* const unsubscribe = UserRepository.getBlockingUsers(({ data: users }) => {
|
|
5
|
+
* console.log(users)
|
|
6
|
+
* })
|
|
7
|
+
* ```
|
|
8
|
+
*
|
|
9
|
+
* Observe the {@link Amity.User}s who have blocked the current user
|
|
10
|
+
*
|
|
11
|
+
* @param callback to receive updates on the blocking {@link Amity.User}s
|
|
12
|
+
* @returns {@link Amity.Unsubscriber} to unsubscribe from collection
|
|
13
|
+
*
|
|
14
|
+
* @category User API
|
|
15
|
+
*/
|
|
16
|
+
export declare const getBlockingUsers: (callback: Amity.LiveCollectionCallback<Amity.User>) => Amity.Unsubscriber;
|
|
17
|
+
//# sourceMappingURL=getBlockingUsers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBlockingUsers.d.ts","sourceRoot":"","sources":["../../../src/userRepository/observers/getBlockingUsers.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,aACjB,MAAM,sBAAsB,CAAC,MAAM,IAAI,CAAC,KACjD,MAAM,YAsBR,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { getUser } from './getUser';
|
|
2
2
|
export { getUsers } from './getUsers';
|
|
3
3
|
export { getBlockedUsers } from './getBlockedUsers';
|
|
4
|
+
export { getBlockingUsers } from './getBlockingUsers';
|
|
4
5
|
export { searchUserByDisplayName } from './searchUserByDisplayName';
|
|
5
6
|
export { getReachedUsers } from './getReachedUsers';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/userRepository/observers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/userRepository/observers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/userRepository/observers/tests/integrations/getBlockingUsers.integration.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBlockingUsers.integration.test.d.ts","sourceRoot":"","sources":["../../../../../src/userRepository/observers/tests/integrations/getBlockingUsers.integration.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/userRepository/relationship/block/enum/index.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/userRepository/relationship/block/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { onUserDidBlock } from '@amityco/ts-sdk'
|
|
4
|
+
* const dispose = onUserDidBlock(status => {
|
|
5
|
+
* // ...
|
|
6
|
+
* })
|
|
7
|
+
* ```
|
|
8
|
+
*
|
|
9
|
+
* Fired when a block relationship is created in real time — either a user
|
|
10
|
+
* blocks the current user (incoming) or the current user blocks someone on
|
|
11
|
+
* another device (outgoing). The local block-relationship store is updated
|
|
12
|
+
* before the callback runs.
|
|
13
|
+
*
|
|
14
|
+
* @param callback The function to call when the event was fired
|
|
15
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
16
|
+
*
|
|
17
|
+
* @category Block Events
|
|
18
|
+
*/
|
|
19
|
+
export declare const onUserDidBlock: (callback: Amity.Listener<Amity.FollowStatus>) => Amity.Unsubscriber;
|
|
20
|
+
//# sourceMappingURL=onUserDidBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onUserDidBlock.d.ts","sourceRoot":"","sources":["../../../../../src/userRepository/relationship/block/events/onUserDidBlock.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,aAAc,MAAM,QAAQ,CAAC,MAAM,YAAY,CAAC,KAAG,MAAM,YAC7B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ```js
|
|
3
|
+
* import { onUserDidUnblock } from '@amityco/ts-sdk'
|
|
4
|
+
* const dispose = onUserDidUnblock(status => {
|
|
5
|
+
* // ...
|
|
6
|
+
* })
|
|
7
|
+
* ```
|
|
8
|
+
*
|
|
9
|
+
* Fired when a block relationship is removed in real time — either a user
|
|
10
|
+
* unblocks the current user (incoming) or the current user unblocks someone on
|
|
11
|
+
* another device (outgoing). The local block-relationship store is updated
|
|
12
|
+
* before the callback runs.
|
|
13
|
+
*
|
|
14
|
+
* @param callback The function to call when the event was fired
|
|
15
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
16
|
+
*
|
|
17
|
+
* @category Block Events
|
|
18
|
+
*/
|
|
19
|
+
export declare const onUserDidUnblock: (callback: Amity.Listener<Amity.FollowStatus>) => Amity.Unsubscriber;
|
|
20
|
+
//# sourceMappingURL=onUserDidUnblock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onUserDidUnblock.d.ts","sourceRoot":"","sources":["../../../../../src/userRepository/relationship/block/events/onUserDidUnblock.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,aACjB,MAAM,QAAQ,CAAC,MAAM,YAAY,CAAC,KAC3C,MAAM,YAAuE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/relationship/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/relationship/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keeps the follow cache current for incoming/outgoing block changes for the
|
|
3
|
+
* whole session — the ingest happens as a side effect inside
|
|
4
|
+
* createBlockEventSubscriber, so the one-shot `getAllBlockedUsers()` /
|
|
5
|
+
* `getAllBlockingUsers()` reflect RTE block/unblock within the TTL window.
|
|
6
|
+
*
|
|
7
|
+
* Registered via `setupLoginSubscriptions`; the returned unsubscriber is torn
|
|
8
|
+
* down on logout.
|
|
9
|
+
*/
|
|
10
|
+
declare const _default: () => Amity.Unsubscriber;
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=blockRealtimeOnLoginHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockRealtimeOnLoginHandler.d.ts","sourceRoot":"","sources":["../../../../../src/userRepository/relationship/block/utils/blockRealtimeOnLoginHandler.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;8BACgB,MAAM,YAAY;AAArC,wBAGE"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subscribes to a block MQTT event (`user.didBlock` / `user.didUnblock`),
|
|
3
|
+
* ingests the carried `FollowersPayload` (follows + users) into the cache so
|
|
4
|
+
* the block-relationship rows (`['follow', 'get', from#to]`) and user rows are
|
|
5
|
+
* kept current, then forwards the affected {@link Amity.FollowStatus} to the
|
|
6
|
+
* caller.
|
|
7
|
+
*
|
|
8
|
+
* @hidden
|
|
9
|
+
*/
|
|
10
|
+
export declare const createBlockEventSubscriber: (event: keyof Amity.MqttBlockEvents, callback: Amity.Listener<Amity.InternalFollowStatus>) => Amity.Unsubscriber;
|
|
11
|
+
//# sourceMappingURL=createBlockEventSubscriber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createBlockEventSubscriber.d.ts","sourceRoot":"","sources":["../../../../../src/userRepository/relationship/block/utils/createBlockEventSubscriber.ts"],"names":[],"mappings":"AAKA;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,UAC9B,MAAM,MAAM,eAAe,YACxB,MAAM,QAAQ,CAAC,MAAM,oBAAoB,CAAC,uBAerD,CAAC"}
|
|
@@ -4,19 +4,18 @@
|
|
|
4
4
|
* `getAllBlockedUsers()` API.
|
|
5
5
|
*
|
|
6
6
|
* Key behaviours:
|
|
7
|
-
* - `
|
|
8
|
-
* - `
|
|
7
|
+
* - `onSessionEstablished()` is a no-op — fetch is lazy, triggered only by consumer call
|
|
8
|
+
* - `onSessionDestroyed()` resets `lastFetchedAt` to null (ensures fresh fetch on next session)
|
|
9
9
|
* - `ensureFetched()` fetches from server only when cache is expired or never fetched
|
|
10
10
|
* - `lastFetchedAt` is only updated on successful fetch
|
|
11
|
-
* -
|
|
11
|
+
* - reads query the follow cache live, so block/unblock changes are reflected
|
|
12
|
+
* even within the TTL window
|
|
12
13
|
*
|
|
13
14
|
* @internal
|
|
14
15
|
*/
|
|
15
16
|
declare class BlockedUserSyncEngine {
|
|
16
17
|
/** Epoch ms of last successful fetch. null = never fetched in this session. */
|
|
17
18
|
private lastFetchedAt;
|
|
18
|
-
/** Ordered list of userId strings from the most recent successful fetch. */
|
|
19
|
-
private blockedUserIds;
|
|
20
19
|
/** No-op — fetch is lazy, triggered by consumer calling getAllBlockedUsers(). */
|
|
21
20
|
onSessionEstablished(): void;
|
|
22
21
|
/** Resets state so the next session starts with a cold cache. */
|
|
@@ -37,16 +36,17 @@ declare class BlockedUserSyncEngine {
|
|
|
37
36
|
*/
|
|
38
37
|
ensureFetched(): Promise<void>;
|
|
39
38
|
/**
|
|
40
|
-
* Returns blocked
|
|
39
|
+
* Returns the blocked users by querying the follow cache live — the outgoing
|
|
40
|
+
* direction (`from === me`, `status === 'blocked'`). Reading the cache (not a
|
|
41
|
+
* fetched snapshot) means `blockUser()` / `unblockUser()` changes are reflected
|
|
42
|
+
* even within the TTL window.
|
|
41
43
|
*
|
|
42
|
-
* Applies the spec-mandated
|
|
43
|
-
* -
|
|
44
|
-
* -
|
|
45
|
-
*
|
|
46
|
-
* This always reads the latest local state, so changes made by `blockUser()`
|
|
47
|
-
* and `unblockUser()` are reflected even within the TTL window.
|
|
44
|
+
* Applies the spec-mandated query:
|
|
45
|
+
* - filter `from === currentUserId`, `status === 'blocked'`, blocked user not deleted
|
|
46
|
+
* - sort by `updatedAt` DESC
|
|
47
|
+
* - hard limit of 100 results
|
|
48
48
|
*/
|
|
49
|
-
getCachedUsers(): Amity.
|
|
49
|
+
getCachedUsers(): Amity.User[];
|
|
50
50
|
}
|
|
51
51
|
declare const _default: {
|
|
52
52
|
getInstance: () => BlockedUserSyncEngine;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockedUserSyncEngine.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/services/BlockedUserSyncEngine/blockedUserSyncEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blockedUserSyncEngine.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/services/BlockedUserSyncEngine/blockedUserSyncEngine.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;GAcG;AACH,cAAM,qBAAqB;IACzB,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAuB;IAE5C,iFAAiF;IAEjF,oBAAoB,IAAI,IAAI;IAI5B,iEAAiE;IACjE,kBAAkB,IAAI,IAAI;IAI1B,6BAA6B;IAE7B,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;IAKtB;;;;;;;;;;OAUG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBpC;;;;;;;;;;OAUG;IAEH,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE;CAe/B;;uBAKkB,qBAAqB;;AADxC,wBAKE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session-scoped singleton engine that manages TTL-based fetching and caching
|
|
3
|
+
* of blocking users (the "blocked-by" list — users who blocked the current
|
|
4
|
+
* user). Provides a lazy `ensureFetched()` gate for the `getAllBlockingUsers()`
|
|
5
|
+
* API. Directional inverse of {@link BlockedUserSyncEngine}.
|
|
6
|
+
*
|
|
7
|
+
* Key behaviours:
|
|
8
|
+
* - `onSessionEstablished()` is a no-op — fetch is lazy, triggered only by consumer call
|
|
9
|
+
* - `onSessionDestroyed()` resets `lastFetchedAt` to null (ensures fresh fetch on next session)
|
|
10
|
+
* - `ensureFetched()` fetches from server only when cache is expired or never fetched
|
|
11
|
+
* - `lastFetchedAt` is only updated on successful fetch
|
|
12
|
+
* - reads query the follow cache live, so block/unblock changes are reflected
|
|
13
|
+
* even within the TTL window
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
declare class BlockingUserSyncEngine {
|
|
18
|
+
/** Epoch ms of last successful fetch. null = never fetched in this session. */
|
|
19
|
+
private lastFetchedAt;
|
|
20
|
+
/** No-op — fetch is lazy, triggered by consumer calling getAllBlockingUsers(). */
|
|
21
|
+
onSessionEstablished(): void;
|
|
22
|
+
/** Resets state so the next session starts with a cold cache. */
|
|
23
|
+
onSessionDestroyed(): void;
|
|
24
|
+
/** No-op for this engine. */
|
|
25
|
+
onTokenExpired(): void;
|
|
26
|
+
private isCacheExpired;
|
|
27
|
+
/**
|
|
28
|
+
* Ensures the local store is populated with fresh blocking-user data.
|
|
29
|
+
*
|
|
30
|
+
* - If the cache is still within the 5-minute TTL window: resolves immediately
|
|
31
|
+
* (no server call).
|
|
32
|
+
* - If the cache is expired (or never fetched): fetches from the server,
|
|
33
|
+
* persists the payload to the cache, and updates `lastFetchedAt`.
|
|
34
|
+
*
|
|
35
|
+
* On failure the error propagates to the caller and `lastFetchedAt` is NOT
|
|
36
|
+
* updated, so the next call will retry.
|
|
37
|
+
*/
|
|
38
|
+
ensureFetched(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Returns the "blocked-by" users by querying the follow cache live — the
|
|
41
|
+
* incoming direction (`to === me`, `status === 'blocked'`). Reading the cache
|
|
42
|
+
* (not a fetched snapshot) means RTE `user.didBlock` / `user.didUnblock`
|
|
43
|
+
* changes are reflected even within the TTL window.
|
|
44
|
+
*
|
|
45
|
+
* Applies the spec-mandated query (REQ-012/013/014):
|
|
46
|
+
* - filter `to === currentUserId`, `status === 'blocked'`, blocker not deleted
|
|
47
|
+
* - sort by `updatedAt` DESC
|
|
48
|
+
* - hard limit of 100 results
|
|
49
|
+
*/
|
|
50
|
+
getCachedUsers(): Amity.User[];
|
|
51
|
+
}
|
|
52
|
+
declare const _default: {
|
|
53
|
+
getInstance: () => BlockingUserSyncEngine;
|
|
54
|
+
};
|
|
55
|
+
export default _default;
|
|
56
|
+
//# sourceMappingURL=blockingUserSyncEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockingUserSyncEngine.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngine.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;GAeG;AACH,cAAM,sBAAsB;IAC1B,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAuB;IAE5C,kFAAkF;IAElF,oBAAoB,IAAI,IAAI;IAI5B,iEAAiE;IACjE,kBAAkB,IAAI,IAAI;IAI1B,6BAA6B;IAE7B,cAAc,IAAI,IAAI;IAItB,OAAO,CAAC,cAAc;IAKtB;;;;;;;;;;OAUG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBpC;;;;;;;;;;OAUG;IAEH,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE;CAe/B;;uBAKkB,sBAAsB;;AADzC,wBAKE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockingUserSyncEngineOnLoginHandler.d.ts","sourceRoot":"","sources":["../../../../src/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngineOnLoginHandler.ts"],"names":[],"mappings":";AAGA,wBAgBE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareBlockingUserPayload.d.ts","sourceRoot":"","sources":["../../../src/userRepository/utils/prepareBlockingUserPayload.ts"],"names":[],"mappings":"AAEA,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,KAAK,CAAC,mBAAmB,GAClC,KAAK,CAAC,4BAA4B,CAcpC"}
|
|
@@ -25,4 +25,20 @@ export declare const generateBlockedUsers: (...blockedUser: Amity.InternalUser[]
|
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
|
+
export declare const generateBlockingUsers: (...blockingUser: Amity.InternalUser[]) => {
|
|
29
|
+
data: {
|
|
30
|
+
users: Amity.InternalUser[];
|
|
31
|
+
files: never[];
|
|
32
|
+
follows: {
|
|
33
|
+
status: "blocked";
|
|
34
|
+
from: string;
|
|
35
|
+
to: string;
|
|
36
|
+
createdAt: string;
|
|
37
|
+
updatedAt: string;
|
|
38
|
+
}[];
|
|
39
|
+
paging: {
|
|
40
|
+
total: number;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
};
|
|
28
44
|
//# sourceMappingURL=block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,SAAU,MAAM,YAAY;;;;;CAO3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,cACnB,MAAM,YAAY,UACrB,QAAQ,MAAM,gBAAgB,EAAE,KAAK,CAAC;;;;;;;;;;CAQ/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,mBAAoB,MAAM,YAAY,EAAE;;;;;;;;;CAWxE,CAAC"}
|
|
1
|
+
{"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/utils/tests/dummy/block.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,SAAU,MAAM,YAAY;;;;;CAO3D,CAAC;AAEF,eAAO,MAAM,mBAAmB,cACnB,MAAM,YAAY,UACrB,QAAQ,MAAM,gBAAgB,EAAE,KAAK,CAAC;;;;;;;;;;CAQ/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,mBAAoB,MAAM,YAAY,EAAE;;;;;;;;;CAWxE,CAAC;AAEF,eAAO,MAAM,qBAAqB,oBAAqB,MAAM,YAAY,EAAE;;;;;;;;;;;;;;;CAqB1E,CAAC"}
|