@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.
Files changed (108) hide show
  1. package/dist/@types/core/errors.d.ts +2 -1
  2. package/dist/@types/core/errors.d.ts.map +1 -1
  3. package/dist/@types/core/events.d.ts +5 -1
  4. package/dist/@types/core/events.d.ts.map +1 -1
  5. package/dist/@types/core/payload.d.ts +5 -1
  6. package/dist/@types/core/payload.d.ts.map +1 -1
  7. package/dist/@types/domains/block.d.ts +5 -0
  8. package/dist/@types/domains/block.d.ts.map +1 -1
  9. package/dist/@types/domains/channel.d.ts +11 -0
  10. package/dist/@types/domains/channel.d.ts.map +1 -1
  11. package/dist/@types/domains/client.d.ts +23 -0
  12. package/dist/@types/domains/client.d.ts.map +1 -1
  13. package/dist/@types/domains/comment.d.ts +1 -0
  14. package/dist/@types/domains/comment.d.ts.map +1 -1
  15. package/dist/@types/domains/post.d.ts +1 -0
  16. package/dist/@types/domains/post.d.ts.map +1 -1
  17. package/dist/channelRepository/observers/index.d.ts +1 -0
  18. package/dist/channelRepository/observers/index.d.ts.map +1 -1
  19. package/dist/channelRepository/observers/searchChannels/SearchChannelLiveCollectionController.d.ts +14 -0
  20. package/dist/channelRepository/observers/searchChannels/SearchChannelLiveCollectionController.d.ts.map +1 -0
  21. package/dist/channelRepository/observers/searchChannels/SearchChannelPaginationController.d.ts +10 -0
  22. package/dist/channelRepository/observers/searchChannels/SearchChannelPaginationController.d.ts.map +1 -0
  23. package/dist/channelRepository/observers/searchChannels/SearchChannelQueryStreamController.d.ts +13 -0
  24. package/dist/channelRepository/observers/searchChannels/SearchChannelQueryStreamController.d.ts.map +1 -0
  25. package/dist/channelRepository/observers/searchChannels.d.ts +21 -0
  26. package/dist/channelRepository/observers/searchChannels.d.ts.map +1 -0
  27. package/dist/channelRepository/observers/tests/integrations/searchChannels.integration.test.d.ts +2 -0
  28. package/dist/channelRepository/observers/tests/integrations/searchChannels.integration.test.d.ts.map +1 -0
  29. package/dist/client/api/autoSubscription.d.ts +47 -0
  30. package/dist/client/api/autoSubscription.d.ts.map +1 -0
  31. package/dist/client/api/createClient.d.ts.map +1 -1
  32. package/dist/client/api/getCoreUserSettings.d.ts +16 -0
  33. package/dist/client/api/getCoreUserSettings.d.ts.map +1 -0
  34. package/dist/client/api/getForYouFeedSetting.d.ts +17 -0
  35. package/dist/client/api/getForYouFeedSetting.d.ts.map +1 -0
  36. package/dist/client/api/index.d.ts +3 -0
  37. package/dist/client/api/index.d.ts.map +1 -1
  38. package/dist/client/api/setupLoginSubscriptions.d.ts.map +1 -1
  39. package/dist/client/utils/autoSubscriptionManager.d.ts +21 -0
  40. package/dist/client/utils/autoSubscriptionManager.d.ts.map +1 -0
  41. package/dist/client/utils/subscribeGlobalTopic.d.ts +6 -1
  42. package/dist/client/utils/subscribeGlobalTopic.d.ts.map +1 -1
  43. package/dist/client/utils/tests/autoSubscriptionManager.test.d.ts +2 -0
  44. package/dist/client/utils/tests/autoSubscriptionManager.test.d.ts.map +1 -0
  45. package/dist/commentRepository/observers/getComments/CommentLiveCollectionController.d.ts.map +1 -1
  46. package/dist/commentRepository/observers/tests/integrations/getCommentsExcludeBlockUser.integration.test.d.ts +2 -0
  47. package/dist/commentRepository/observers/tests/integrations/getCommentsExcludeBlockUser.integration.test.d.ts.map +1 -0
  48. package/dist/core/events.d.ts +3 -3
  49. package/dist/core/events.d.ts.map +1 -1
  50. package/dist/core/query/filtering.d.ts +32 -0
  51. package/dist/core/query/filtering.d.ts.map +1 -1
  52. package/dist/feedRepository/observers/getForYouFeed/CursorController.d.ts +2 -0
  53. package/dist/feedRepository/observers/getForYouFeed/CursorController.d.ts.map +1 -1
  54. package/dist/feedRepository/observers/getForYouFeed/PaginationController.d.ts +5 -4
  55. package/dist/feedRepository/observers/getForYouFeed/PaginationController.d.ts.map +1 -1
  56. package/dist/index.cjs.js +1442 -269
  57. package/dist/index.esm.js +1440 -270
  58. package/dist/index.umd.js +3 -3
  59. package/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
  60. package/dist/postRepository/observers/tests/getPostsExcludeBlockUser.test.d.ts +2 -0
  61. package/dist/postRepository/observers/tests/getPostsExcludeBlockUser.test.d.ts.map +1 -0
  62. package/dist/userRepository/api/getAllBlockedUsers.d.ts.map +1 -1
  63. package/dist/userRepository/api/getAllBlockingUsers.d.ts +20 -0
  64. package/dist/userRepository/api/getAllBlockingUsers.d.ts.map +1 -0
  65. package/dist/userRepository/api/index.d.ts +1 -0
  66. package/dist/userRepository/api/index.d.ts.map +1 -1
  67. package/dist/userRepository/api/tests/integration/getAllBlockingUsers.integration.test.d.ts +2 -0
  68. package/dist/userRepository/api/tests/integration/getAllBlockingUsers.integration.test.d.ts.map +1 -0
  69. package/dist/userRepository/observers/getBlockedUsers/BlockedUserLiveCollectionController.d.ts.map +1 -1
  70. package/dist/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.d.ts +4 -3
  71. package/dist/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.d.ts.map +1 -1
  72. package/dist/userRepository/observers/getBlockingUsers/LiveCollectionController.d.ts +13 -0
  73. package/dist/userRepository/observers/getBlockingUsers/LiveCollectionController.d.ts.map +1 -0
  74. package/dist/userRepository/observers/getBlockingUsers/PaginationController.d.ts +5 -0
  75. package/dist/userRepository/observers/getBlockingUsers/PaginationController.d.ts.map +1 -0
  76. package/dist/userRepository/observers/getBlockingUsers/QueryStreamController.d.ts +16 -0
  77. package/dist/userRepository/observers/getBlockingUsers/QueryStreamController.d.ts.map +1 -0
  78. package/dist/userRepository/observers/getBlockingUsers.d.ts +17 -0
  79. package/dist/userRepository/observers/getBlockingUsers.d.ts.map +1 -0
  80. package/dist/userRepository/observers/index.d.ts +1 -0
  81. package/dist/userRepository/observers/index.d.ts.map +1 -1
  82. package/dist/userRepository/observers/tests/integrations/getBlockingUsers.integration.test.d.ts +2 -0
  83. package/dist/userRepository/observers/tests/integrations/getBlockingUsers.integration.test.d.ts.map +1 -0
  84. package/dist/userRepository/relationship/block/enum/index.d.ts +5 -0
  85. package/dist/userRepository/relationship/block/enum/index.d.ts.map +1 -0
  86. package/dist/userRepository/relationship/block/events/index.d.ts +3 -0
  87. package/dist/userRepository/relationship/block/events/index.d.ts.map +1 -0
  88. package/dist/userRepository/relationship/block/events/onUserDidBlock.d.ts +20 -0
  89. package/dist/userRepository/relationship/block/events/onUserDidBlock.d.ts.map +1 -0
  90. package/dist/userRepository/relationship/block/events/onUserDidUnblock.d.ts +20 -0
  91. package/dist/userRepository/relationship/block/events/onUserDidUnblock.d.ts.map +1 -0
  92. package/dist/userRepository/relationship/block/index.d.ts +1 -0
  93. package/dist/userRepository/relationship/block/index.d.ts.map +1 -1
  94. package/dist/userRepository/relationship/block/utils/blockRealtimeOnLoginHandler.d.ts +12 -0
  95. package/dist/userRepository/relationship/block/utils/blockRealtimeOnLoginHandler.d.ts.map +1 -0
  96. package/dist/userRepository/relationship/block/utils/createBlockEventSubscriber.d.ts +11 -0
  97. package/dist/userRepository/relationship/block/utils/createBlockEventSubscriber.d.ts.map +1 -0
  98. package/dist/userRepository/services/BlockedUserSyncEngine/blockedUserSyncEngine.d.ts +13 -13
  99. package/dist/userRepository/services/BlockedUserSyncEngine/blockedUserSyncEngine.d.ts.map +1 -1
  100. package/dist/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngine.d.ts +56 -0
  101. package/dist/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngine.d.ts.map +1 -0
  102. package/dist/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngineOnLoginHandler.d.ts +3 -0
  103. package/dist/userRepository/services/BlockingUserSyncEngine/blockingUserSyncEngineOnLoginHandler.d.ts.map +1 -0
  104. package/dist/userRepository/utils/prepareBlockingUserPayload.d.ts +2 -0
  105. package/dist/userRepository/utils/prepareBlockingUserPayload.d.ts.map +1 -0
  106. package/dist/utils/tests/dummy/block.d.ts +16 -0
  107. package/dist/utils/tests/dummy/block.d.ts.map +1 -1
  108. 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;AAe1F,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;IAIjB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;IA2BzE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE;CAwCvC"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getPostsExcludeBlockUser.test.d.ts.map
@@ -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,CAW/D,CAAC"}
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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getAllBlockingUsers.integration.test.d.ts.map
@@ -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":""}
@@ -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;AAU1F,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;IAkBjB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;IAuBzE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE;CAOvC"}
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
@@ -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,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAE/E,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,gBAC7B,MAAM,YAAY;IAexC,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,CAAC;KAC7C,EAAE;CAIN"}
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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getBlockingUsers.integration.test.d.ts.map
@@ -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,5 @@
1
+ export declare enum EnumBlockActions {
2
+ OnBlocked = "onBlocked",
3
+ OnUnblocked = "onUnblocked"
4
+ }
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export * from './onUserDidBlock';
2
+ export * from './onUserDidUnblock';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 +1,3 @@
1
1
  export * from './api';
2
+ export * from './events';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -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
- * - `establish()` is a no-op — fetch is lazy, triggered only by consumer call
8
- * - `destroy()` resets `lastFetchedAt` to null (ensures fresh fetch on next session)
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
- * - `blockedUserIds` is kept in sync with each successful fetch
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 {@link Amity.InternalUser} objects from the in-memory cache.
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 filter:
43
- * - Only users whose `isDeleted` is false or null
44
- * - Hard limit of 100 results
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.InternalUser[];
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":"AAQA;;;;;;;;;;;;;GAaG;AACH,cAAM,qBAAqB;IACzB,+EAA+E;IAC/E,OAAO,CAAC,aAAa,CAAuB;IAE5C,4EAA4E;IAC5E,OAAO,CAAC,cAAc,CAAgB;IAMtC,iFAAiF;IAEjF,oBAAoB,IAAI,IAAI;IAI5B,iEAAiE;IACjE,kBAAkB,IAAI,IAAI;IAK1B,6BAA6B;IAE7B,cAAc,IAAI,IAAI;IAQtB,OAAO,CAAC,cAAc;IAStB;;;;;;;;;;OAUG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BpC;;;;;;;;;OASG;IACH,cAAc,IAAI,KAAK,CAAC,YAAY,EAAE;CAYvC;;uBASkB,qBAAqB;;AADxC,wBAKE"}
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,3 @@
1
+ declare const _default: () => () => void;
2
+ export default _default;
3
+ //# sourceMappingURL=blockingUserSyncEngineOnLoginHandler.d.ts.map
@@ -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,2 @@
1
+ export declare function prepareBlockingUserPayload(response: Amity.BlockingUserPayload): Amity.ProcessedBlockingUserPayload;
2
+ //# sourceMappingURL=prepareBlockingUserPayload.d.ts.map
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amityco/ts-sdk",
3
- "version": "7.22.1-ef6b9414.0",
3
+ "version": "7.23.0",
4
4
  "license": "CC-BY-ND-4.0",
5
5
  "author": "amity.co <developers@amity.co> (https://amity.co)",
6
6
  "description": "Amity Social Cloud Typescript SDK",