@amityco/ts-sdk 7.8.1-2caef95.0 → 7.8.1-38bda3f6.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 (62) hide show
  1. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts +32 -0
  2. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.d.ts.map +1 -1
  3. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js +22 -1
  4. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/domains/feed.js.map +1 -1
  5. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts +1 -0
  6. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.d.ts.map +1 -1
  7. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js +1 -0
  8. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/@types/index.js.map +1 -1
  9. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts +1 -1
  10. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.d.ts.map +1 -1
  11. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js +1 -1
  12. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/index.js.map +1 -1
  13. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +13 -0
  14. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -0
  15. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js +108 -0
  16. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/LiveCollectionController.js.map +1 -0
  17. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts +5 -0
  18. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts.map +1 -0
  19. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.js +15 -0
  20. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/PaginationController.js.map +1 -0
  21. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts +15 -0
  22. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts.map +1 -0
  23. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.js +78 -0
  24. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed/QueryStreamController.js.map +1 -0
  25. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.d.ts +23 -0
  26. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.d.ts.map +1 -0
  27. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.js +46 -0
  28. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/getUserFeed.js.map +1 -0
  29. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts +1 -0
  30. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.d.ts.map +1 -1
  31. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js +1 -0
  32. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/dist/feedRepository/observers/index.js.map +1 -1
  33. package/.rollup.cache/home/runner/work/AmityTypescriptSDK/AmityTypescriptSDK/packages/sdk/tsconfig.tsbuildinfo +1 -1
  34. package/dist/@types/domains/feed.d.ts +32 -0
  35. package/dist/@types/domains/feed.d.ts.map +1 -1
  36. package/dist/@types/index.d.ts +1 -0
  37. package/dist/@types/index.d.ts.map +1 -1
  38. package/dist/feedRepository/index.d.ts +1 -1
  39. package/dist/feedRepository/index.d.ts.map +1 -1
  40. package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts +13 -0
  41. package/dist/feedRepository/observers/getUserFeed/LiveCollectionController.d.ts.map +1 -0
  42. package/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts +5 -0
  43. package/dist/feedRepository/observers/getUserFeed/PaginationController.d.ts.map +1 -0
  44. package/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts +15 -0
  45. package/dist/feedRepository/observers/getUserFeed/QueryStreamController.d.ts.map +1 -0
  46. package/dist/feedRepository/observers/getUserFeed.d.ts +23 -0
  47. package/dist/feedRepository/observers/getUserFeed.d.ts.map +1 -0
  48. package/dist/feedRepository/observers/index.d.ts +1 -0
  49. package/dist/feedRepository/observers/index.d.ts.map +1 -1
  50. package/dist/index.cjs.js +241 -1
  51. package/dist/index.esm.js +242 -2
  52. package/dist/index.umd.js +4 -4
  53. package/package.json +1 -1
  54. package/src/@types/domains/feed.ts +44 -0
  55. package/src/@types/index.ts +1 -0
  56. package/src/feedRepository/index.ts +1 -1
  57. package/src/feedRepository/observers/getUserFeed/LiveCollectionController.ts +162 -0
  58. package/src/feedRepository/observers/getUserFeed/PaginationController.ts +37 -0
  59. package/src/feedRepository/observers/getUserFeed/QueryStreamController.ts +119 -0
  60. package/src/feedRepository/observers/getUserFeed.ts +56 -0
  61. package/src/feedRepository/observers/index.ts +1 -0
  62. package/tsconfig.tsbuildinfo +1 -1
@@ -1,6 +1,28 @@
1
1
  export {};
2
+ export declare const enum FeedDataTypeEnum {
3
+ Text = "text",
4
+ Video = "video",
5
+ Image = "image",
6
+ File = "file",
7
+ LiveStream = "liveStream",
8
+ Clip = "clip",
9
+ Poll = "poll"
10
+ }
11
+ export declare const enum FeedSortByEnum {
12
+ LastCreated = "lastCreated",
13
+ FirstCreated = "firstCreated",
14
+ LastUpdated = "lastUpdated",
15
+ FirstUpdated = "firstUpdated"
16
+ }
17
+ export declare const enum FeedSourceEnum {
18
+ Community = "community",
19
+ User = "user"
20
+ }
2
21
  declare global {
3
22
  namespace Amity {
23
+ type FeedDataType = FeedDataTypeEnum;
24
+ type FeedSortBy = FeedSortByEnum;
25
+ type FeedSource = FeedSourceEnum;
4
26
  type Feed = {
5
27
  feedId: string;
6
28
  feedType: 'reviewing' | 'published';
@@ -17,6 +39,16 @@ declare global {
17
39
  type CustomRankingGlobalFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryGlobalFeed>;
18
40
  type GlobalFeedLiveCollection = Amity.LiveCollectionParams<Omit<QueryGlobalFeed, 'queryToken'>>;
19
41
  type GlobalFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryGlobalFeed>;
42
+ type QueryUserFeed = {
43
+ userId: string;
44
+ includeDeleted?: boolean;
45
+ sortBy?: Amity.FeedSortBy;
46
+ dataTypes?: Amity.FeedDataType[];
47
+ matchingOnlyParentPost?: boolean;
48
+ feedSources?: Amity.FeedSource[];
49
+ };
50
+ type UserFeedLiveCollection = Amity.LiveCollectionParams<QueryUserFeed>;
51
+ type UserFeedLiveCollectionCache = Amity.LiveCollectionCache<Amity.InternalPost['postId'], QueryUserFeed>;
20
52
  }
21
53
  }
22
54
  //# sourceMappingURL=feed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,IAAI,GAAG;YACV,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAC;YACpC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;YACxD,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,GAAG,KAAK,CAAC,UAAU,CAAC;QAErB,KAAK,eAAe,GAAG;YACrB,SAAS,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;YACnE,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,aAAa,CAAC,EAAE,OAAO,CAAC;SACzB,CAAC;QAEF,KAAK,qCAAqC,GAAG,KAAK,CAAC,oBAAoB,CACrE,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CAAC,CACtD,CAAC;QAEF,KAAK,0CAA0C,GAAG,KAAK,CAAC,mBAAmB,CACzE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAChB,CAAC;QAEF,KAAK,wBAAwB,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QAEhG,KAAK,6BAA6B,GAAG,KAAK,CAAC,mBAAmB,CAC5D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAChB,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,0BAAkB,gBAAgB;IAChC,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,0BAAkB,cAAc;IAC9B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AAED,0BAAkB,cAAc;IAC9B,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,YAAY,GAAG,gBAAgB,CAAC;QAErC,KAAK,UAAU,GAAG,cAAc,CAAC;QAEjC,KAAK,UAAU,GAAG,cAAc,CAAC;QAEjC,KAAK,IAAI,GAAG;YACV,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAC;YACpC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;YACxD,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,GAAG,KAAK,CAAC,UAAU,CAAC;QAErB,KAAK,eAAe,GAAG;YACrB,SAAS,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;YACnE,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,aAAa,CAAC,EAAE,OAAO,CAAC;SACzB,CAAC;QAEF,KAAK,qCAAqC,GAAG,KAAK,CAAC,oBAAoB,CACrE,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CAAC,CACtD,CAAC;QAEF,KAAK,0CAA0C,GAAG,KAAK,CAAC,mBAAmB,CACzE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAChB,CAAC;QAEF,KAAK,wBAAwB,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QAEhG,KAAK,6BAA6B,GAAG,KAAK,CAAC,mBAAmB,CAC5D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAChB,CAAC;QAEF,KAAK,aAAa,GAAG;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,cAAc,CAAC,EAAE,OAAO,CAAC;YACzB,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;YAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;YACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;YACjC,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;SAClC,CAAC;QAEF,KAAK,sBAAsB,GAAG,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAExE,KAAK,2BAA2B,GAAG,KAAK,CAAC,mBAAmB,CAC1D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,aAAa,CACd,CAAC;KACH;CACF"}
@@ -35,5 +35,6 @@ export * from './domains/joinRequest';
35
35
  export * from './domains/pin';
36
36
  export * from './domains/pinnedPost';
37
37
  export * from './domains/liveReaction';
38
+ export * from './domains/feed';
38
39
  export * from './domains/hashtag';
39
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/@types/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,cAAc,CAAC;AACtB,OAAO,aAAa,CAAC;AAGrB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAE1B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAE5B,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,sBAAsB,CAAC;AAE9B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAE3B,OAAO,kBAAkB,CAAC;AAE1B,OAAO,mBAAmB,CAAC;AAE3B,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AAEzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/@types/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AACxB,OAAO,eAAe,CAAC;AACvB,OAAO,eAAe,CAAC;AACvB,OAAO,cAAc,CAAC;AACtB,OAAO,cAAc,CAAC;AACtB,OAAO,aAAa,CAAC;AAGrB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,gBAAgB,CAAC;AACxB,OAAO,kBAAkB,CAAC;AAE1B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAE5B,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,sBAAsB,CAAC;AAE9B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAE3B,OAAO,kBAAkB,CAAC;AAE1B,OAAO,mBAAmB,CAAC;AAE3B,OAAO,gBAAgB,CAAC;AACxB,OAAO,iBAAiB,CAAC;AAEzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { queryGlobalFeed } from './api';
2
- export { getCustomRankingGlobalFeed, getGlobalFeed } from './observers';
2
+ export { getCustomRankingGlobalFeed, getGlobalFeed, getUserFeed } from './observers';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/feedRepository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/feedRepository/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { UserFeedPaginationController } from './PaginationController';
2
+ import { LiveCollectionController } from '~/core/liveCollection/LiveCollectionController';
3
+ export declare class UserFeedLiveCollectionController extends LiveCollectionController<'post', Amity.UserFeedLiveCollection, Amity.Post, UserFeedPaginationController> {
4
+ private queryStreamController;
5
+ private query;
6
+ constructor(query: Amity.UserFeedLiveCollection, callback: Amity.LiveCollectionCallback<Amity.Post>);
7
+ protected setup(): void;
8
+ protected persistModel(queryPayload: Amity.PostPayload & Amity.Pagination): Promise<void>;
9
+ protected persistQueryStream({ response, direction, refresh, }: Amity.LiveCollectionPersistQueryStreamParams<'post'>): void;
10
+ startSubscription(): Amity.Unsubscriber[];
11
+ notifyChange({ origin, loading, error }: Amity.LiveCollectionNotifyParams): void;
12
+ }
13
+ //# sourceMappingURL=LiveCollectionController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiveCollectionController.d.ts","sourceRoot":"","sources":["../../../../src/feedRepository/observers/getUserFeed/LiveCollectionController.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAEtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAwB1F,qBAAa,gCAAiC,SAAQ,wBAAwB,CAC5E,MAAM,EACN,KAAK,CAAC,sBAAsB,EAC5B,KAAK,CAAC,IAAI,EACV,4BAA4B,CAC7B;IACC,OAAO,CAAC,qBAAqB,CAAgC;IAE7D,OAAO,CAAC,KAAK,CAA+B;gBAG1C,KAAK,EAAE,KAAK,CAAC,sBAAsB,EACnC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC;IAoBpD,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;IA0DjB,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,0BAA0B;CAqB1E"}
@@ -0,0 +1,5 @@
1
+ import { PaginationController } from '~/core/liveCollection/PaginationController';
2
+ export declare class UserFeedPaginationController extends PaginationController<'post', Amity.UserFeedLiveCollection> {
3
+ getRequest(queryParams: Amity.UserFeedLiveCollection, token: string | undefined): Promise<Amity.PostPayload<any> & Amity.Pagination>;
4
+ }
5
+ //# sourceMappingURL=PaginationController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationController.d.ts","sourceRoot":"","sources":["../../../../src/feedRepository/observers/getUserFeed/PaginationController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAIlF,qBAAa,4BAA6B,SAAQ,oBAAoB,CACpE,MAAM,EACN,KAAK,CAAC,sBAAsB,CAC7B;IACO,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,sBAAsB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;CA4BtF"}
@@ -0,0 +1,15 @@
1
+ import { EnumPostActions } from '~/postRepository/observers/enums';
2
+ import { QueryStreamController } from '~/core/liveCollection/QueryStreamController';
3
+ export declare class UserFeedQueryStreamController extends QueryStreamController<Amity.PostPayload, Amity.UserFeedLiveCollection> {
4
+ private notifyChange;
5
+ private preparePayload;
6
+ constructor(query: Amity.UserFeedLiveCollection, cacheKey: string[], notifyChange: (params: Amity.LiveCollectionNotifyParams) => void, preparePayload: (response: Amity.PostPayload) => Amity.ProcessedPostPayload);
7
+ saveToMainDB(response: Amity.PostPayload): Promise<void>;
8
+ appendToQueryStream(response: Amity.PostPayload & Partial<Amity.Pagination>, direction: Amity.LiveCollectionPageDirection, refresh?: boolean): void;
9
+ reactor(action: EnumPostActions): (post: Amity.InternalPost) => void;
10
+ subscribeRTE(createSubscriber: {
11
+ fn: (reactor: (post: Amity.InternalPost) => void) => Amity.Unsubscriber;
12
+ action: EnumPostActions;
13
+ }[]): Amity.Unsubscriber[];
14
+ }
15
+ //# sourceMappingURL=QueryStreamController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryStreamController.d.ts","sourceRoot":"","sources":["../../../../src/feedRepository/observers/getUserFeed/QueryStreamController.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAEpF,qBAAa,6BAA8B,SAAQ,qBAAqB,CACtE,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,sBAAsB,CAC7B;IACC,OAAO,CAAC,YAAY,CAAqD;IAEzE,OAAO,CAAC,cAAc,CAA8D;gBAGlF,KAAK,EAAE,KAAK,CAAC,sBAAsB,EACnC,QAAQ,EAAE,MAAM,EAAE,EAClB,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,0BAA0B,KAAK,IAAI,EAChE,cAAc,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,oBAAoB;IAOvE,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW;IAW9C,mBAAmB,CACjB,QAAQ,EAAE,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EACvD,SAAS,EAAE,KAAK,CAAC,2BAA2B,EAC5C,OAAO,UAAQ;IAkBjB,OAAO,CAAC,MAAM,EAAE,eAAe,UACf,MAAM,YAAY;IAmDlC,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,CAAC;KACzB,EAAE;CAIN"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * ```js
3
+ * import { FeedRepository } from '@amityco/ts-sdk'
4
+ *
5
+ * let posts = []
6
+ * const unsubscribe = FeedRepository.getUserFeed({
7
+ * userId: string,
8
+ * feedSources: ['user', 'community'],
9
+ * }, response => response => processResponse(response))
10
+ * ```
11
+ *
12
+ * Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
13
+ *
14
+ * @param params.userId the ID of the user
15
+ * @param params.feedSources the sources of the feed
16
+ * @param callback the function to call when new data are available
17
+ * @param config
18
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
19
+ *
20
+ * @category Posts Live Collection
21
+ */
22
+ export declare const getUserFeed: (params: Amity.UserFeedLiveCollection, callback: Amity.LiveCollectionCallback<Amity.Post>, config?: Amity.LiveCollectionConfig) => Amity.Unsubscriber;
23
+ //# sourceMappingURL=getUserFeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserFeed.d.ts","sourceRoot":"","sources":["../../../src/feedRepository/observers/getUserFeed.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,WACd,MAAM,sBAAsB,YAC1B,MAAM,sBAAsB,CAAC,MAAM,IAAI,CAAC,WACzC,MAAM,oBAAoB,KAClC,MAAM,YAqBR,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { getCustomRankingGlobalFeed } from './getCustomRankingGlobalFeed';
2
2
  export { getGlobalFeed } from './getGlobalFeed';
3
+ export { getUserFeed } from './getUserFeed';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feedRepository/observers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/feedRepository/observers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.cjs.js CHANGED
@@ -153,6 +153,29 @@ exports.JoinResultStatusEnum = void 0;
153
153
  JoinResultStatusEnum["Pending"] = "pending";
154
154
  })(exports.JoinResultStatusEnum || (exports.JoinResultStatusEnum = {}));
155
155
 
156
+ exports.FeedDataTypeEnum = void 0;
157
+ (function (FeedDataTypeEnum) {
158
+ FeedDataTypeEnum["Text"] = "text";
159
+ FeedDataTypeEnum["Video"] = "video";
160
+ FeedDataTypeEnum["Image"] = "image";
161
+ FeedDataTypeEnum["File"] = "file";
162
+ FeedDataTypeEnum["LiveStream"] = "liveStream";
163
+ FeedDataTypeEnum["Clip"] = "clip";
164
+ FeedDataTypeEnum["Poll"] = "poll";
165
+ })(exports.FeedDataTypeEnum || (exports.FeedDataTypeEnum = {}));
166
+ exports.FeedSortByEnum = void 0;
167
+ (function (FeedSortByEnum) {
168
+ FeedSortByEnum["LastCreated"] = "lastCreated";
169
+ FeedSortByEnum["FirstCreated"] = "firstCreated";
170
+ FeedSortByEnum["LastUpdated"] = "lastUpdated";
171
+ FeedSortByEnum["FirstUpdated"] = "firstUpdated";
172
+ })(exports.FeedSortByEnum || (exports.FeedSortByEnum = {}));
173
+ exports.FeedSourceEnum = void 0;
174
+ (function (FeedSourceEnum) {
175
+ FeedSourceEnum["Community"] = "community";
176
+ FeedSourceEnum["User"] = "user";
177
+ })(exports.FeedSourceEnum || (exports.FeedSourceEnum = {}));
178
+
156
179
  function getVersion() {
157
180
  try {
158
181
  // the string ''v7.8.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
@@ -24571,11 +24594,228 @@ const getGlobalFeed = (params, callback, config) => {
24571
24594
  };
24572
24595
  /* end_public_function */
24573
24596
 
24597
+ class UserFeedPaginationController extends PaginationController {
24598
+ async getRequest(queryParams, token) {
24599
+ const { userId, feedSources, dataTypes, includeDeleted, matchingOnlyParentPost, limit = COLLECTION_DEFAULT_PAGINATION_LIMIT } = queryParams, params = __rest(queryParams, ["userId", "feedSources", "dataTypes", "includeDeleted", "matchingOnlyParentPost", "limit"]);
24600
+ const options = token ? { token } : { limit };
24601
+ const { data: queryResponse } = await this.http.get(`/api/v4/user-feeds/${userId}`, {
24602
+ params: Object.assign(Object.assign({}, params), { options, dataTypes: (dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) ? dataTypes : undefined, includePostedFeed: feedSources, isDeleted: inferIsDeleted(includeDeleted), matchingOnlyParentPost: matchingOnlyParentPost !== null && matchingOnlyParentPost !== void 0 ? matchingOnlyParentPost : !(dataTypes === null || dataTypes === void 0 ? void 0 : dataTypes.length) }),
24603
+ });
24604
+ return queryResponse;
24605
+ }
24606
+ }
24607
+
24608
+ class UserFeedQueryStreamController extends QueryStreamController {
24609
+ constructor(query, cacheKey, notifyChange, preparePayload) {
24610
+ super(query, cacheKey);
24611
+ this.notifyChange = notifyChange;
24612
+ this.preparePayload = preparePayload;
24613
+ }
24614
+ async saveToMainDB(response) {
24615
+ const processedPayload = await this.preparePayload(response);
24616
+ const client = getActiveClient();
24617
+ const cachedAt = client.cache && Date.now();
24618
+ if (client.cache) {
24619
+ ingestInCache(processedPayload, { cachedAt });
24620
+ }
24621
+ }
24622
+ appendToQueryStream(response, direction, refresh = false) {
24623
+ var _a, _b;
24624
+ if (refresh) {
24625
+ pushToCache(this.cacheKey, {
24626
+ data: response.posts.map(getResolver('post')),
24627
+ });
24628
+ }
24629
+ else {
24630
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24631
+ const posts = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
24632
+ pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: [...new Set([...posts, ...response.posts.map(getResolver('post'))])] }));
24633
+ }
24634
+ }
24635
+ reactor(action) {
24636
+ return (post) => {
24637
+ var _a, _b;
24638
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24639
+ if (!collection)
24640
+ return;
24641
+ // if the collection is parent post collection and
24642
+ // post is not included in the collection or post is child post
24643
+ if ((!this.query.dataTypes || this.query.dataTypes.length === 0) &&
24644
+ !collection.data.includes(post.parentPostId ? post.parentPostId : post.postId))
24645
+ return;
24646
+ if (action === EnumPostActions.OnPostDeleted) {
24647
+ collection.data = collection.data.filter(postId => postId !== post.postId);
24648
+ }
24649
+ if (post.parentPostId && post.isDeleted) {
24650
+ const parentPost = (_b = pullFromCache([
24651
+ 'post',
24652
+ 'get',
24653
+ post.parentPostId,
24654
+ ])) === null || _b === void 0 ? void 0 : _b.data;
24655
+ if (!parentPost)
24656
+ return;
24657
+ parentPost.children = parentPost.children.filter(childId => childId !== post.postId);
24658
+ pushToCache(['post', 'get', parentPost.postId], parentPost);
24659
+ }
24660
+ if (action === EnumPostActions.OnPostDeclined) {
24661
+ collection.data = collection.data.filter(postId => postId !== post.postId);
24662
+ }
24663
+ if (action === EnumPostActions.OnPostCreated || action === EnumPostActions.OnPostApproved) {
24664
+ if (this.query.dataTypes &&
24665
+ this.query.dataTypes.length > 0 &&
24666
+ !this.query.dataTypes.includes(post.dataType)) {
24667
+ return;
24668
+ }
24669
+ collection.data = [...new Set([post.postId, ...collection.data])];
24670
+ }
24671
+ pushToCache(this.cacheKey, collection);
24672
+ this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
24673
+ };
24674
+ }
24675
+ subscribeRTE(createSubscriber) {
24676
+ return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
24677
+ }
24678
+ }
24679
+
24680
+ class UserFeedLiveCollectionController extends LiveCollectionController {
24681
+ constructor(query, callback) {
24682
+ const queryStreamId = hash__default["default"](query);
24683
+ const cacheKey = ['userFeed', 'collection', queryStreamId];
24684
+ const paginationController = new UserFeedPaginationController(query);
24685
+ super(paginationController, queryStreamId, cacheKey, callback);
24686
+ this.query = query;
24687
+ this.queryStreamController = new UserFeedQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), preparePostPayload);
24688
+ this.callback = callback.bind(this);
24689
+ this.loadPage({ initial: true });
24690
+ }
24691
+ setup() {
24692
+ var _a;
24693
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24694
+ if (!collection) {
24695
+ pushToCache(this.cacheKey, {
24696
+ data: [],
24697
+ params: {},
24698
+ });
24699
+ }
24700
+ }
24701
+ async persistModel(queryPayload) {
24702
+ await this.queryStreamController.saveToMainDB(queryPayload);
24703
+ }
24704
+ persistQueryStream({ response, direction, refresh, }) {
24705
+ this.queryStreamController.appendToQueryStream(response, direction, refresh);
24706
+ }
24707
+ startSubscription() {
24708
+ return this.queryStreamController.subscribeRTE([
24709
+ { fn: onPostCreated, action: EnumPostActions.OnPostCreated },
24710
+ { fn: onPostUpdated, action: EnumPostActions.OnPostUpdated },
24711
+ { fn: onPostUpdatedLocal, action: EnumPostActions.OnPostUpdated },
24712
+ { fn: onPostDeleted, action: EnumPostActions.OnPostDeleted },
24713
+ { fn: onPostFlagged, action: EnumPostActions.OnPostFlagged },
24714
+ { fn: onPostUnflagged, action: EnumPostActions.OnPostUnflagged },
24715
+ { fn: onPostApproved, action: EnumPostActions.OnPostApproved },
24716
+ { fn: onPostDeclined, action: EnumPostActions.OnPostDeclined },
24717
+ { fn: onPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
24718
+ { fn: onPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
24719
+ { fn: onLocalPostReactionAdded, action: EnumPostActions.OnPostReactionAdded },
24720
+ { fn: onLocalPostReactionRemoved, action: EnumPostActions.OnPostReactionRemoved },
24721
+ { fn: onLocalPostDeleted, action: EnumPostActions.OnPostDeleted },
24722
+ {
24723
+ fn: convertEventPayload((callback) => {
24724
+ return onCommentCreated(async (comment) => {
24725
+ var _a;
24726
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24727
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
24728
+ return;
24729
+ await getPost$1(comment.referenceId);
24730
+ callback(comment);
24731
+ });
24732
+ }, 'referenceId', 'post'),
24733
+ action: EnumPostActions.OnPostUpdated,
24734
+ },
24735
+ {
24736
+ fn: convertEventPayload((callback) => {
24737
+ return onCommentDeleted(async (comment) => {
24738
+ var _a;
24739
+ const currentCollection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24740
+ if (!currentCollection || currentCollection.data.includes(comment.referenceId))
24741
+ return;
24742
+ await getPost$1(comment.referenceId);
24743
+ callback(comment);
24744
+ });
24745
+ }, 'referenceId', 'post'),
24746
+ action: EnumPostActions.OnPostUpdated,
24747
+ },
24748
+ ]);
24749
+ }
24750
+ notifyChange({ origin, loading, error }) {
24751
+ var _a, _b;
24752
+ const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
24753
+ if (!collection)
24754
+ return;
24755
+ const data = ((_b = collection.data
24756
+ .map(id => pullFromCache(['post', 'get', id]))
24757
+ .filter(isNonNullable)
24758
+ .map(({ data }) => data)) !== null && _b !== void 0 ? _b : []).map(LinkedObject.post);
24759
+ if (!this.shouldNotify(data) && origin === 'event')
24760
+ return;
24761
+ this.callback({
24762
+ onNextPage: () => this.loadPage({ direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */ }),
24763
+ data,
24764
+ hasNextPage: !!this.paginationController.getNextToken(),
24765
+ loading,
24766
+ error,
24767
+ });
24768
+ }
24769
+ }
24770
+
24771
+ /* begin_public_function
24772
+ id: feed.query.user_feed
24773
+ */
24774
+ /**
24775
+ * ```js
24776
+ * import { FeedRepository } from '@amityco/ts-sdk'
24777
+ *
24778
+ * let posts = []
24779
+ * const unsubscribe = FeedRepository.getUserFeed({
24780
+ * userId: string,
24781
+ * feedSources: ['user', 'community'],
24782
+ * }, response => response => processResponse(response))
24783
+ * ```
24784
+ *
24785
+ * Observe all mutations on a list of {@link Amity.Post} for a given user and feedSources
24786
+ *
24787
+ * @param params.userId the ID of the user
24788
+ * @param params.feedSources the sources of the feed
24789
+ * @param callback the function to call when new data are available
24790
+ * @param config
24791
+ * @returns An {@link Amity.Unsubscriber} function to run when willing to stop observing the messages
24792
+ *
24793
+ * @category Posts Live Collection
24794
+ */
24795
+ const getUserFeed = (params, callback, config) => {
24796
+ const { log, cache } = getActiveClient();
24797
+ if (!cache) {
24798
+ console.log(ENABLE_CACHE_MESSAGE);
24799
+ }
24800
+ const timestamp = Date.now();
24801
+ log(`getUserFeed(tmpid: ${timestamp}) > listen`);
24802
+ const userFeedLiveCollection = new UserFeedLiveCollectionController(params, callback);
24803
+ const disposers = userFeedLiveCollection.startSubscription();
24804
+ const cacheKey = userFeedLiveCollection.getCacheKey();
24805
+ disposers.push(() => dropFromCache(cacheKey));
24806
+ return () => {
24807
+ log(`getUserFeed(tmpid: ${timestamp}) > dispose`);
24808
+ disposers.forEach(fn => fn());
24809
+ };
24810
+ };
24811
+ /* end_public_function */
24812
+
24574
24813
  var index$9 = /*#__PURE__*/Object.freeze({
24575
24814
  __proto__: null,
24576
24815
  queryGlobalFeed: queryGlobalFeed,
24577
24816
  getCustomRankingGlobalFeed: getCustomRankingGlobalFeed,
24578
- getGlobalFeed: getGlobalFeed
24817
+ getGlobalFeed: getGlobalFeed,
24818
+ getUserFeed: getUserFeed
24579
24819
  });
24580
24820
 
24581
24821
  /* begin_public_function