@amityco/ts-sdk 0.0.1-02f0fa3.0 → 0.0.1-0cfb462.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 (67) hide show
  1. package/dist/@types/core/errors.d.ts +5 -2
  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/transport.d.ts +2 -2
  6. package/dist/@types/domains/stream.d.ts +10 -0
  7. package/dist/@types/domains/stream.d.ts.map +1 -1
  8. package/dist/client/api/enableCache.d.ts.map +1 -1
  9. package/dist/client/events/index.d.ts +2 -0
  10. package/dist/client/events/index.d.ts.map +1 -1
  11. package/dist/client/events/onClientBanned.d.ts +17 -0
  12. package/dist/client/events/onClientBanned.d.ts.map +1 -0
  13. package/dist/client/events/onClientDisconnected.d.ts +1 -1
  14. package/dist/client/events/onClientDisconnected.d.ts.map +1 -1
  15. package/dist/client/events/onConnectionError.d.ts +18 -0
  16. package/dist/client/events/onConnectionError.d.ts.map +1 -0
  17. package/dist/core/errors.d.ts +6 -5
  18. package/dist/core/errors.d.ts.map +1 -1
  19. package/dist/core/events.d.ts.map +1 -1
  20. package/dist/core/model/idResolvers.d.ts.map +1 -1
  21. package/dist/core/transports.d.ts.map +1 -1
  22. package/dist/index.cjs.js +277 -13
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.esm.js +270 -14
  26. package/dist/index.umd.js +277 -13
  27. package/dist/post/api/createPost.d.ts +5 -1
  28. package/dist/post/api/createPost.d.ts.map +1 -1
  29. package/dist/post/api/queryPosts.d.ts +2 -0
  30. package/dist/post/api/queryPosts.d.ts.map +1 -1
  31. package/dist/stream/api/createStream.d.ts.map +1 -1
  32. package/dist/stream/api/deleteStream.d.ts +1 -1
  33. package/dist/stream/api/deleteStream.d.ts.map +1 -1
  34. package/dist/stream/api/disposeStream.d.ts +17 -0
  35. package/dist/stream/api/disposeStream.d.ts.map +1 -0
  36. package/dist/stream/api/getStream.d.ts +22 -2
  37. package/dist/stream/api/getStream.d.ts.map +1 -1
  38. package/dist/stream/api/index.d.ts +1 -0
  39. package/dist/stream/api/index.d.ts.map +1 -1
  40. package/dist/stream/api/queryStreams.d.ts +29 -9
  41. package/dist/stream/api/queryStreams.d.ts.map +1 -1
  42. package/dist/stream/api/updateStream.d.ts +1 -1
  43. package/dist/stream/api/updateStream.d.ts.map +1 -1
  44. package/package.json +1 -1
  45. package/src/@types/core/errors.ts +5 -1
  46. package/src/@types/core/events.ts +6 -1
  47. package/src/@types/core/transport.ts +2 -2
  48. package/src/@types/domains/stream.ts +12 -0
  49. package/src/client/api/enableCache.ts +10 -9
  50. package/src/client/events/index.ts +3 -0
  51. package/src/client/events/onClientBanned.ts +24 -0
  52. package/src/client/events/onClientDisconnected.ts +5 -10
  53. package/src/client/events/onConnectionError.ts +53 -0
  54. package/src/core/errors.ts +12 -5
  55. package/src/core/events.ts +4 -0
  56. package/src/core/model/idResolvers.ts +1 -0
  57. package/src/core/transports.ts +0 -6
  58. package/src/index.ts +1 -3
  59. package/src/post/api/createPost.ts +5 -1
  60. package/src/post/api/queryPosts.ts +2 -0
  61. package/src/stream/api/createStream.ts +7 -5
  62. package/src/stream/api/deleteStream.ts +6 -10
  63. package/src/stream/api/disposeStream.ts +35 -0
  64. package/src/stream/api/getStream.ts +34 -6
  65. package/src/stream/api/index.ts +1 -0
  66. package/src/stream/api/queryStreams.ts +45 -10
  67. package/src/stream/api/updateStream.ts +8 -6
@@ -5,6 +5,7 @@ declare global {
5
5
  ERROR = "error",
6
6
  FATAL = "fatal"
7
7
  }
8
+ type ErrorCode = ServerError | ClientError;
8
9
  const enum ServerError {
9
10
  BAD_REQUEST = 400000,
10
11
  UNAUTHORIZED = 400100,
@@ -13,8 +14,9 @@ declare global {
13
14
  CONFLICT = 400900,
14
15
  FORBIDDEN = 400300,
15
16
  USER_IS_MUTED = 400302,
16
- USER_IS_BANNED = 400304,
17
17
  CHANNEL_IS_MUTED = 400303,
18
+ CHANNEL_BAN = 400304,
19
+ GLOBAL_BAN = 400312,
18
20
  NUMBER_OF_MEMBERS_EXCEEDED = 400305,
19
21
  MAX_REPETITION_EXCEEDED = 400307,
20
22
  BAN_WORD_FOUND = 400308,
@@ -25,7 +27,8 @@ declare global {
25
27
  UNKNOWN_ERROR = 800000,
26
28
  INVALID_PARAMETERS = 800110,
27
29
  QUERY_IN_PROGRESS = 800170,
28
- CONNECTION_ERROR = 800210
30
+ CONNECTION_ERROR = 800210,
31
+ DISCONNECTED = 800211
29
32
  }
30
33
  }
31
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/@types/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAA;AAET,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,WAAW,UAAU;YACnB,KAAK,UAAU;YACf,KAAK,UAAU;SAChB;QAED,WAAW,WAAW;YACpB,WAAW,SAAS;YACpB,YAAY,SAAS;YACrB,iBAAiB,SAAS;YAC1B,cAAc,SAAS;YACvB,QAAQ,SAAS;YACjB,SAAS,SAAS;YAClB,aAAa,SAAS;YACtB,cAAc,SAAS;YACvB,gBAAgB,SAAS;YACzB,0BAA0B,SAAS;YACnC,uBAAuB,SAAS;YAChC,cAAc,SAAS;YACvB,gBAAgB,SAAS;YACzB,cAAc,SAAS;SACxB;QAED,WAAW,WAAW;YACpB,aAAa,SAAS;YACtB,kBAAkB,SAAS;YAC3B,iBAAiB,SAAS;YAC1B,gBAAgB,SAAS;SAC1B;KACF;CACF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/@types/core/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAA;AAET,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,WAAW,UAAU;YACnB,KAAK,UAAU;YACf,KAAK,UAAU;SAChB;QAED,KAAK,SAAS,GAAG,WAAW,GAAG,WAAW,CAAA;QAE1C,WAAW,WAAW;YACpB,WAAW,SAAS;YACpB,YAAY,SAAS;YACrB,iBAAiB,SAAS;YAC1B,cAAc,SAAS;YACvB,QAAQ,SAAS;YACjB,SAAS,SAAS;YAClB,aAAa,SAAS;YACtB,gBAAgB,SAAS;YACzB,WAAW,SAAS;YACpB,UAAU,SAAS;YACnB,0BAA0B,SAAS;YACnC,uBAAuB,SAAS;YAChC,cAAc,SAAS;YACvB,gBAAgB,SAAS;YACzB,cAAc,SAAS;SACxB;QAED,WAAW,WAAW;YACpB,aAAa,SAAS;YACtB,kBAAkB,SAAS;YAC3B,iBAAiB,SAAS;YAC1B,gBAAgB,SAAS;YACzB,YAAY,SAAS;SACtB;KACF;CACF"}
@@ -10,7 +10,11 @@ declare global {
10
10
  type Unsubscriber = () => void;
11
11
  type Subscriber<T = any> = (fn: Amity.Listener<T>) => Unsubscriber;
12
12
  type Events = {
13
- disconnected: string | undefined;
13
+ disconnected: Amity.ErrorResponse | undefined;
14
+ error: Amity.ErrorResponse | undefined;
15
+ connect_error: Amity.ErrorResponse | undefined;
16
+ reconnect_error: Amity.ErrorResponse | undefined;
17
+ reconnect_failed: Amity.ErrorResponse | undefined;
14
18
  'v3.user.didUpdate': Amity.UserPayload;
15
19
  'v3.channel.didCreate': Amity.ChannelPayload;
16
20
  'v3.channel.didUpdate': Amity.ChannelPayload;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/@types/core/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAA;AAET,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;QAE5C,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAG;YACzD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;SAChD,GAAG;aACD,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC/B,CAAA,CAAA;QAED,KAAK,YAAY,GAAG,MAAM,IAAI,CAAA;QAE9B,KAAK,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAY,CAAA;QAElE,KAAK,MAAM,GAAG;YACZ,YAAY,EAAE,MAAM,GAAG,SAAS,CAAA;YAChC,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAA;YAEtC,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,oBAAoB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC1C,qBAAqB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC3C,wBAAwB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC9C,2BAA2B,EAAE,KAAK,CAAC,cAAc,CAAA;YACjD,mBAAmB,EAAE,KAAK,CAAC,cAAc,CAAA;YACzC,qBAAqB,EAAE,KAAK,CAAC,cAAc,CAAA;YAE3C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAE5C,2BAA2B,EAAE,KAAK,CAAC,aAAa,CAAA;YAChD,0BAA0B,EAAE,KAAK,CAAC,aAAa,CAAA;YAC/C,yBAAyB,EAAE,KAAK,CAAC,aAAa,CAAA;YAM9C,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAChD,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAChD,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAChD,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAC9C,uBAAuB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAC/C,0BAA0B,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAClD,6BAA6B,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAErD,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAA;YACtC,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAA;YACtC,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAA;YAEtC,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;SAC7C,CAAA;KACF;CACF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/@types/core/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAA;AAET,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,QAAQ,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;QAE5C,KAAK,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAG;YACzD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;SAChD,GAAG;aACD,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;SAC/B,CAAA,CAAA;QAED,KAAK,YAAY,GAAG,MAAM,IAAI,CAAA;QAE9B,KAAK,UAAU,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,YAAY,CAAA;QAElE,KAAK,MAAM,GAAG;YACZ,YAAY,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;YAC7C,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;YACvC,aAAa,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/C,eAAe,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;YACjD,gBAAgB,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;YAElD,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAA;YAEtC,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,oBAAoB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC1C,qBAAqB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC3C,wBAAwB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC9C,2BAA2B,EAAE,KAAK,CAAC,cAAc,CAAA;YACjD,mBAAmB,EAAE,KAAK,CAAC,cAAc,CAAA;YACzC,qBAAqB,EAAE,KAAK,CAAC,cAAc,CAAA;YAE3C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAE5C,2BAA2B,EAAE,KAAK,CAAC,aAAa,CAAA;YAChD,0BAA0B,EAAE,KAAK,CAAC,aAAa,CAAA;YAC/C,yBAAyB,EAAE,KAAK,CAAC,aAAa,CAAA;YAM9C,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAChD,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAChD,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAChD,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAC9C,uBAAuB,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAC/C,0BAA0B,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAClD,6BAA6B,EAAE,KAAK,CAAC,gBAAgB,CAAA;YAErD,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAA;YACtC,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAA;YACtC,mBAAmB,EAAE,KAAK,CAAC,WAAW,CAAA;YAEtC,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;YAC5C,sBAAsB,EAAE,KAAK,CAAC,cAAc,CAAA;SAC7C,CAAA;KACF;CACF"}
@@ -7,12 +7,12 @@ declare global {
7
7
  };
8
8
  type FailResponse = {
9
9
  status: 'fail';
10
- code: Amity.ClientError;
10
+ code: Amity.ServerError;
11
11
  };
12
12
  type ErrorResponse = {
13
13
  status: 'error';
14
14
  message: string;
15
- code: Amity.ClientError;
15
+ code: Amity.ServerError;
16
16
  };
17
17
  type Response<T> = (SuccessResponse<T> | FailResponse | ErrorResponse);
18
18
  type Token = string;
@@ -7,6 +7,11 @@ declare global {
7
7
  ENDED = "ended",
8
8
  RECORDED = "recorded"
9
9
  }
10
+ const enum StreamResolution {
11
+ SD = "SD",
12
+ HD = "HD",
13
+ FHD = "FHD"
14
+ }
10
15
  type MultiFormat<T> = {
11
16
  flv?: T;
12
17
  mp4?: T;
@@ -38,6 +43,11 @@ declare global {
38
43
  description?: string;
39
44
  status: StreamStatus;
40
45
  platform: StreamPlatform;
46
+ isLive?: boolean;
47
+ endedAt: timestamp;
48
+ startedAt: timestamp;
49
+ userId: User['userId'];
50
+ resolution: StreamResolution;
41
51
  streamerUrl: StreamEndpoint;
42
52
  watcherUrl: MultiFormat<StreamEndpoint>;
43
53
  recordings: MultiFormat<StreamRecording>[];
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAA;AAET,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,WAAW,YAAY;YACrB,IAAI,SAAS;YACb,IAAI,SAAS;YACb,KAAK,UAAU;YACf,QAAQ,aAAa;SACtB;QAED,KAAK,WAAW,CAAC,CAAC,IAAI;YACpB,GAAG,CAAC,EAAE,CAAC,CAAA;YACP,GAAG,CAAC,EAAE,CAAC,CAAA;YACP,IAAI,CAAC,EAAE,CAAC,CAAA;SACT,CAAA;QAED,KAAK,cAAc,GAAG;YACpB,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;SAChB,CAAA;QAED,KAAK,cAAc,GAAG;YACpB,GAAG,EAAE,MAAM,CAAA;YACX,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAA;gBACd,OAAO,EAAE,MAAM,CAAA;gBACf,UAAU,EAAE,MAAM,CAAA;gBAClB,KAAK,EAAE,MAAM,CAAA;aACd,CAAA;SACF,CAAA;QAED,KAAK,eAAe,GAAG;YACrB,GAAG,EAAE,MAAM,CAAA;YACX,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;QAED,KAAK,MAAM,GAAG;YACZ,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,eAAe,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,MAAM,EAAE,YAAY,CAAA;YACpB,QAAQ,EAAE,cAAc,CAAA;YAExB,WAAW,EAAE,cAAc,CAAA;YAC3B,UAAU,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;YACvC,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,EAAE,CAAA;SAC3C,GACC,KAAK,CAAC,QAAQ,GACd,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,QAAQ,CAAA;KACjB;CACF"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAA;AAET,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,WAAW,YAAY;YACrB,IAAI,SAAS;YACb,IAAI,SAAS;YACb,KAAK,UAAU;YACf,QAAQ,aAAa;SACtB;QAED,WAAW,gBAAgB;YACzB,EAAE,OAAO;YACT,EAAE,OAAO;YACT,GAAG,QAAQ;SACZ;QAED,KAAK,WAAW,CAAC,CAAC,IAAI;YACpB,GAAG,CAAC,EAAE,CAAC,CAAA;YACP,GAAG,CAAC,EAAE,CAAC,CAAA;YACP,IAAI,CAAC,EAAE,CAAC,CAAA;SACT,CAAA;QAED,KAAK,cAAc,GAAG;YACpB,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;SAChB,CAAA;QAED,KAAK,cAAc,GAAG;YACpB,GAAG,EAAE,MAAM,CAAA;YACX,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM,CAAA;gBACd,OAAO,EAAE,MAAM,CAAA;gBACf,UAAU,EAAE,MAAM,CAAA;gBAClB,KAAK,EAAE,MAAM,CAAA;aACd,CAAA;SACF,CAAA;QAED,KAAK,eAAe,GAAG;YACrB,GAAG,EAAE,MAAM,CAAA;YACX,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,QAAQ,EAAE,MAAM,CAAA;SACjB,CAAA;QAED,KAAK,MAAM,GAAG;YACZ,QAAQ,EAAE,MAAM,CAAA;YAChB,KAAK,EAAE,MAAM,CAAA;YACb,eAAe,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAA;YAC/C,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,MAAM,EAAE,YAAY,CAAA;YACpB,QAAQ,EAAE,cAAc,CAAA;YAExB,MAAM,CAAC,EAAE,OAAO,CAAA;YAChB,OAAO,EAAE,SAAS,CAAA;YAClB,SAAS,EAAE,SAAS,CAAA;YACpB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtB,UAAU,EAAE,gBAAgB,CAAA;YAE5B,WAAW,EAAE,cAAc,CAAA;YAC3B,UAAU,EAAE,WAAW,CAAC,cAAc,CAAC,CAAA;YACvC,UAAU,EAAE,WAAW,CAAC,eAAe,CAAC,EAAE,CAAA;SAC3C,GACC,KAAK,CAAC,QAAQ,GACd,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,QAAQ,CAAA;KACjB;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"enableCache.d.ts","sourceRoot":"","sources":["../../../src/client/api/enableCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG1C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,YACd,WAAW,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAgB1C,CAAA"}
1
+ {"version":3,"file":"enableCache.d.ts","sourceRoot":"","sources":["../../../src/client/api/enableCache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAG1C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,YACd,WAAW,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAiB1C,CAAA"}
@@ -1,2 +1,4 @@
1
+ export * from './onConnectionError';
1
2
  export * from './onClientDisconnected';
3
+ export * from './onClientBanned';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AAEnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ```js
3
+ * import { onClientBanned } from '@amityco/ts-sdk'
4
+ * const dispose = onClientBanned(() => {
5
+ * // ...
6
+ * })
7
+ * ```
8
+ *
9
+ * Fired when any {@link Amity.Client} have been banned from the platform
10
+ *
11
+ * @param callback The function to call when the event was fired
12
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
13
+ *
14
+ * @category Client Events
15
+ */
16
+ export declare const onClientBanned: (callback: Amity.Listener<void>) => Amity.Unsubscriber;
17
+ //# sourceMappingURL=onClientBanned.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onClientBanned.d.ts","sourceRoot":"","sources":["../../../src/client/events/onClientBanned.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,aACf,MAAM,QAAQ,CAAC,IAAI,CAAC,KAC7B,MAAM,YAIR,CAAA"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * ```js
3
3
  * import { onClientDisconnected } from '@amityco/ts-sdk'
4
- * const dispose = onClientDisconnected(reason => {
4
+ * const dispose = onClientDisconnected(() => {
5
5
  * // ...
6
6
  * })
7
7
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"onClientDisconnected.d.ts","sourceRoot":"","sources":["../../../src/client/events/onClientDisconnected.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAC7B,MAAM,YAOR,CAAA"}
1
+ {"version":3,"file":"onClientDisconnected.d.ts","sourceRoot":"","sources":["../../../src/client/events/onClientDisconnected.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,aACrB,MAAM,QAAQ,CAAC,IAAI,CAAC,KAC7B,MAAM,YAIR,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { ASCError } from '~/core/errors';
2
+ /**
3
+ * ```js
4
+ * import { onConnectionError } from '@amityco/ts-sdk'
5
+ * const dispose = onClientBanned(() => {
6
+ * // ...
7
+ * })
8
+ * ```
9
+ *
10
+ * Fired when any {@link Amity.Client} have been banned from the platform
11
+ *
12
+ * @param callback The function to call when the event was fired
13
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
14
+ *
15
+ * @category Client Events
16
+ */
17
+ export declare const onConnectionError: (callback: Amity.Listener<ASCError>) => Amity.Unsubscriber;
18
+ //# sourceMappingURL=onConnectionError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onConnectionError.d.ts","sourceRoot":"","sources":["../../../src/client/events/onConnectionError.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAA;AAU5D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,aAClB,MAAM,QAAQ,CAAC,QAAQ,CAAC,KACjC,MAAM,YAqBR,CAAA"}
@@ -3,7 +3,7 @@
3
3
  * @category Errors
4
4
  */
5
5
  export declare class ASCError extends Error {
6
- readonly code: Amity.ClientError;
6
+ readonly code: Amity.ErrorCode;
7
7
  readonly level: Amity.ErrorLevel;
8
8
  readonly type: string;
9
9
  readonly timestamp: number;
@@ -12,7 +12,7 @@ export declare class ASCError extends Error {
12
12
  * @param code A normalized error code
13
13
  * @param level A normalized failure level descriptor
14
14
  */
15
- constructor(message: string, code: Amity.ClientError, level: Amity.ErrorLevel);
15
+ constructor(message: string, code: Amity.ErrorCode, level: Amity.ErrorLevel);
16
16
  }
17
17
  /**
18
18
  * API level error
@@ -23,7 +23,7 @@ export declare class ASCApiError extends ASCError {
23
23
  * @param code A normalized error code
24
24
  * @param level A normalized failure level descriptor
25
25
  */
26
- constructor(message: string, code: Amity.ClientError, level: Amity.ErrorLevel);
26
+ constructor(message: string, code: Amity.ErrorCode, level: Amity.ErrorLevel);
27
27
  }
28
28
  /**
29
29
  * Unexpected error
@@ -34,17 +34,18 @@ export declare class ASCUnknownError extends ASCError {
34
34
  * @param code A normalized error code
35
35
  * @param level A normalized failure level descriptor
36
36
  */
37
- constructor(code?: Amity.ClientError, level?: Amity.ErrorLevel);
37
+ constructor(code?: Amity.ErrorCode, level?: Amity.ErrorLevel);
38
38
  }
39
39
  /**
40
40
  * Network related error
41
41
  * @category Errors
42
42
  */
43
43
  export declare class ASCConnectionError extends ASCError {
44
+ readonly event: string;
44
45
  /**
45
46
  * @param message A custom error message
46
47
  */
47
- constructor(message?: string);
48
+ constructor(event: string, message?: string);
48
49
  }
49
50
  /**
50
51
  * Input sanitization related error
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;aAWf,IAAI,EAAE,KAAK,CAAC,WAAW;aACvB,KAAK,EAAE,KAAK,CAAC,UAAU;IAXzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAa;IAEvC;;;;OAIG;gBAED,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,KAAK,CAAC,WAAW,EACvB,KAAK,EAAE,KAAK,CAAC,UAAU;CAO1C;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACvC;;;OAGG;gBAED,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,CAAC,WAAW,EACvB,KAAK,EAAE,KAAK,CAAC,UAAU;CAI1B;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C;;;OAGG;gBAED,IAAI,GAAE,KAAK,CAAC,WAA6C,EACzD,KAAK,GAAE,KAAK,CAAC,UAAmC;CAInD;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C;;OAEG;gBACS,OAAO,GAAE,MAAiD;CAGvE;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,QAAQ;IACpD;;OAEG;gBACS,OAAO,EAAE,MAAM;CAG5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,QAAS,SAAQ,KAAK;aAWf,IAAI,EAAE,KAAK,CAAC,SAAS;aACrB,KAAK,EAAE,KAAK,CAAC,UAAU;IAXzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAQ;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAa;IAEvC;;;;OAIG;gBAED,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,KAAK,EAAE,KAAK,CAAC,UAAU;CAO1C;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACvC;;;OAGG;gBAED,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,CAAC,SAAS,EACrB,KAAK,EAAE,KAAK,CAAC,UAAU;CAI1B;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C;;;OAGG;gBAED,IAAI,GAAE,KAAK,CAAC,SAA2C,EACvD,KAAK,GAAE,KAAK,CAAC,UAAmC;CAInD;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,QAAQ;aAK5B,KAAK,EAAE,MAAM;IAJ/B;;OAEG;gBAEe,KAAK,EAAE,MAAM,EAC7B,OAAO,GAAE,MAAiD;CAQ7D;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,QAAQ;IACpD;;OAEG;gBACS,OAAO,EAAE,MAAM;CAG5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"AAwBA,cAAc;AACd,eAAO,MAAM,kBAAkB,4CAE9B,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,OAAQ,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,MAAM,CAAC,SAAS,CAAC,SAI5F,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,yCACxB,MAAM,MAAM,aACT,MAAM,oDAGhB,MAAM,YAiBR,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,4EAMrB,CAAA"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/core/events.ts"],"names":[],"mappings":"AA4BA,cAAc;AACd,eAAO,MAAM,kBAAkB,4CAE9B,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,OAAQ,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,MAAM,CAAC,SAAS,CAAC,SAI5F,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,yCACxB,MAAM,MAAM,aACT,MAAM,oDAGhB,MAAM,YAiBR,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,4EAMrB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"idResolvers.d.ts","sourceRoot":"","sources":["../../../src/core/model/idResolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,aAAK,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;AAgC3E;;;;;GAKG;AACH,eAAO,MAAM,WAAW,uDAEvB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAcvD,CAAA"}
1
+ {"version":3,"file":"idResolvers.d.ts","sourceRoot":"","sources":["../../../src/core/model/idResolvers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,aAAK,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAA;AAgC3E;;;;;GAKG;AACH,eAAO,MAAM,WAAW,uDAEvB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAevD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../../src/core/transports.ts"],"names":[],"mappings":";AAgCA;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,cAAc,MAAM,kCA2BnD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,cAAc,MAAM,0BAmBxD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,uCAWzB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,cACpB,MAAM,MAAM,SACb,MAAM,sDAgBd,CAAA"}
1
+ {"version":3,"file":"transports.d.ts","sourceRoot":"","sources":["../../src/core/transports.ts"],"names":[],"mappings":";AAgCA;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,cAAc,MAAM,kCA2BnD,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,cAAc,MAAM,0BAaxD,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,uCAWzB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,cACpB,MAAM,MAAM,SACb,MAAM,sDAgBd,CAAA"}
package/dist/index.cjs.js CHANGED
@@ -75,8 +75,9 @@ class ASCConnectionError extends ASCError {
75
75
  /**
76
76
  * @param message A custom error message
77
77
  */
78
- constructor(message = 'SDK client is having connection issues') {
79
- super(message, 800210 /* CONNECTION_ERROR */, "error" /* ERROR */);
78
+ constructor(event, message = 'SDK client is having connection issues') {
79
+ super(`${message} (${event})`, event === 'disconnected' ? 800211 /* DISCONNECTED */ : 800210 /* CONNECTION_ERROR */, "error" /* ERROR */);
80
+ this.event = event;
80
81
  }
81
82
  }
82
83
 
@@ -173,6 +174,7 @@ const storeInterests = {
173
174
  posts: 'post',
174
175
  postChildren: 'post',
175
176
  comments: 'comment',
177
+ videoStreamings: 'stream',
176
178
  };
177
179
 
178
180
  /**
@@ -827,11 +829,6 @@ const createWebsocketTransport = (endpoint = 'https://api.ekomedia.technology')
827
829
  if (reason === 'io server disconnect')
828
830
  socket.connect();
829
831
  });
830
- ['error', 'connect_error', 'connect_timeout', 'reconnect_error', 'reconnect_failed'].forEach(event => {
831
- socket.on(event, (error) => {
832
- throw new ASCConnectionError(`socket.io(${event}): ${error.message}`);
833
- });
834
- });
835
832
  return socket;
836
833
  };
837
834
  /**
@@ -888,8 +885,12 @@ const synchronousWSCall = async (client, event, data) => {
888
885
  };
889
886
 
890
887
  // need to sync up the list
891
- const EVENTS = [
888
+ const EVENTS$1 = [
892
889
  'disconnected',
890
+ 'error',
891
+ 'connect_error',
892
+ 'reconnect_error',
893
+ 'reconnect_failed',
893
894
  'v3.user.didUpdate',
894
895
  'v3.channel.didUpdate',
895
896
  'v3.channel.didUpdate',
@@ -918,7 +919,7 @@ const createEventEmitter = () => {
918
919
  * @hidden
919
920
  */
920
921
  const proxyWebsocketEvents = (ws, emitter) => {
921
- EVENTS.forEach(event => {
922
+ EVENTS$1.forEach(event => {
922
923
  ws.on(event, (param) => emitter.emit(event, param));
923
924
  });
924
925
  };
@@ -1253,7 +1254,7 @@ const persistentStore = async (persistentKey, defaultValue = {}, debounceTime =
1253
1254
  *
1254
1255
  * @category Client API
1255
1256
  */
1256
- const enableCache = (stores = memoryStores('user', 'file', 'channel', 'message', 'community', 'post', 'comment', 'communityUsers', 'channelUsers')) => {
1257
+ const enableCache = (stores = memoryStores('user', 'file', 'channel', 'message', 'community', 'post', 'comment', 'communityUsers', 'channelUsers', 'stream')) => {
1257
1258
  const client = getActiveClient();
1258
1259
  client.log('client/api/enableCache');
1259
1260
  client.cache = createCache(stores);
@@ -1373,10 +1374,45 @@ const sortByLastCreated = ({ createdAt: a }, { createdAt: b }) => new Date(b).va
1373
1374
  */
1374
1375
  const sortByLastActivity = ({ lastActivity: a }, { lastActivity: b }) => new Date(b).valueOf() - new Date(a).valueOf();
1375
1376
 
1377
+ const EVENTS = [
1378
+ 'disconnected',
1379
+ 'error',
1380
+ 'connect_error',
1381
+ 'reconnect_error',
1382
+ 'reconnect_failed',
1383
+ ];
1384
+ /**
1385
+ * ```js
1386
+ * import { onConnectionError } from '@amityco/ts-sdk'
1387
+ * const dispose = onClientBanned(() => {
1388
+ * // ...
1389
+ * })
1390
+ * ```
1391
+ *
1392
+ * Fired when any {@link Amity.Client} have been banned from the platform
1393
+ *
1394
+ * @param callback The function to call when the event was fired
1395
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
1396
+ *
1397
+ * @category Client Events
1398
+ */
1399
+ const onConnectionError = (callback) => {
1400
+ const client = getActiveClient();
1401
+ const subscribers = EVENTS.map(event => (createEventSubscriber(client, `client/onConnectionError(${event})`, event, (response) => {
1402
+ const error = (response && 'code' in response)
1403
+ ? new ASCError(response.message, response.code, "fatal" /* FATAL */)
1404
+ : new ASCConnectionError(event);
1405
+ callback(error);
1406
+ })));
1407
+ return () => {
1408
+ subscribers.forEach(fn => fn());
1409
+ };
1410
+ };
1411
+
1376
1412
  /**
1377
1413
  * ```js
1378
1414
  * import { onClientDisconnected } from '@amityco/ts-sdk'
1379
- * const dispose = onClientDisconnected(reason => {
1415
+ * const dispose = onClientDisconnected(() => {
1380
1416
  * // ...
1381
1417
  * })
1382
1418
  * ```
@@ -1389,7 +1425,30 @@ const sortByLastActivity = ({ lastActivity: a }, { lastActivity: b }) => new Dat
1389
1425
  * @category Client Events
1390
1426
  */
1391
1427
  const onClientDisconnected = (callback) => {
1392
- return createEventSubscriber(getActiveClient(), 'client/onClientDisconnected', 'disconnected', () => callback());
1428
+ return onConnectionError(({ code }) => {
1429
+ code === 800211 /* DISCONNECTED */ && callback();
1430
+ });
1431
+ };
1432
+
1433
+ /**
1434
+ * ```js
1435
+ * import { onClientBanned } from '@amityco/ts-sdk'
1436
+ * const dispose = onClientBanned(() => {
1437
+ * // ...
1438
+ * })
1439
+ * ```
1440
+ *
1441
+ * Fired when any {@link Amity.Client} have been banned from the platform
1442
+ *
1443
+ * @param callback The function to call when the event was fired
1444
+ * @returns an {@link Amity.Unsubscriber} function to stop listening
1445
+ *
1446
+ * @category Client Events
1447
+ */
1448
+ const onClientBanned = (callback) => {
1449
+ return onConnectionError(({ code }) => {
1450
+ code === 400312 /* GLOBAL_BAN */ && callback();
1451
+ });
1393
1452
  };
1394
1453
 
1395
1454
  /**
@@ -2415,7 +2474,11 @@ getPost.locally = (postId) => {
2415
2474
  /**
2416
2475
  * ```js
2417
2476
  * import { createPost } from '@amityco/ts-sdk'
2418
- * const newPost = await createPost(bundle)
2477
+ * const created = await createPost({
2478
+ * targetType: 'user',
2479
+ * targetId: 'foobar',
2480
+ * data: { text: 'hello world' }
2481
+ * }))
2419
2482
  * ```
2420
2483
  *
2421
2484
  * Creates an {@link Amity.Post}
@@ -4745,6 +4808,199 @@ const observeComment = (commentId, callback, policy = 'cache_then_server') => {
4745
4808
  };
4746
4809
  };
4747
4810
 
4811
+ /**
4812
+ * ```js
4813
+ * import { getStream } from '@amityco/ts-sdk'
4814
+ * const stream = await getStream('foobar')
4815
+ * ```
4816
+ *
4817
+ * Fetches a {@link Amity.Stream} object
4818
+ *
4819
+ * @param streamId the ID of the {@link Amity.Stream} to fetch
4820
+ * @returns the associated {@link Amity.Stream} object
4821
+ *
4822
+ * @category Stream API
4823
+ * @async
4824
+ */
4825
+ const getStream = async (streamId) => {
4826
+ const client = getActiveClient();
4827
+ client.log('stream/getStream', streamId);
4828
+ const { data } = await client.http.get(`/api/v3/video-streaming/${streamId}`);
4829
+ decoratePayload(data);
4830
+ ingestInCache(data);
4831
+ const { videoStreamings } = data;
4832
+ return videoStreamings.find(stream => stream.streamId === streamId);
4833
+ };
4834
+ /**
4835
+ * ```js
4836
+ * import { getStream } from '@amityco/ts-sdk'
4837
+ * const stream = getStream.locally('foobar')
4838
+ * ```
4839
+ *
4840
+ * Fetches a {@link Amity.Stream} object
4841
+ *
4842
+ * @param streamId the ID of the {@link Amity.Stream} to fetch
4843
+ * @returns the associated {@link Amity.Stream} object
4844
+ *
4845
+ * @category Stream API
4846
+ */
4847
+ getStream.locally = (streamId) => {
4848
+ var _a;
4849
+ const client = getActiveClient();
4850
+ client.log('stream/getStream', streamId);
4851
+ const [stream] = (_a = pullFromCache('stream', streamId)) !== null && _a !== void 0 ? _a : [];
4852
+ return stream;
4853
+ };
4854
+
4855
+ /**
4856
+ * ```js
4857
+ * import { queryStreams } from '@amityco/ts-sdk'
4858
+ * const streams = await queryStreams()
4859
+ * ```
4860
+ *
4861
+ * Queries a paginable list of {@link Amity.Stream} objects
4862
+ *
4863
+ * @param query The query parameters
4864
+ * @returns A page of {@link Amity.Stream} objects
4865
+ *
4866
+ * @category Stream API
4867
+ * @async
4868
+ */
4869
+ const queryStreams = async (query) => {
4870
+ const client = getActiveClient();
4871
+ client.log('stream/queryStreams', query);
4872
+ const _a = query !== null && query !== void 0 ? query : {}, { page } = _a, params = __rest(_a, ["page"]);
4873
+ const { data } = await client.http.get(`/api/v3/video-streaming`, { params: Object.assign(Object.assign({}, params), { options: {
4874
+ token: toToken(page, 'skiplimit'),
4875
+ } }) });
4876
+ // API-FIX: backend to response Amity.Response: const { paging, videoStreamings } = unwrapPayload(data)
4877
+ // API-FIX: seems returned data has a results identifier on top of data, like no other apis, and this is beautiful
4878
+ const { paging, results } = data;
4879
+ decoratePayload(results);
4880
+ ingestInCache(results);
4881
+ const prevPage = toPage(paging === null || paging === void 0 ? void 0 : paging.previous);
4882
+ const nextPage = toPage(paging === null || paging === void 0 ? void 0 : paging.next);
4883
+ const { videoStreamings } = results;
4884
+ return { data: toRecord(videoStreamings), prevPage, nextPage };
4885
+ };
4886
+ /**
4887
+ * ```js
4888
+ * import { queryStreams } from '@amityco/ts-sdk'
4889
+ * const streams = queryStreams.locally()
4890
+ * ```
4891
+ *
4892
+ * Queries a paginable list of {@link Amity.Stream} objects from cache
4893
+ *
4894
+ * @param query The query parameters
4895
+ * @returns streams
4896
+ *
4897
+ * @category Stream API
4898
+ */
4899
+ queryStreams.locally = (query) => {
4900
+ const client = getActiveClient();
4901
+ client.log('stream/queryStreams.locally', query);
4902
+ // TODO
4903
+ };
4904
+
4905
+ /**
4906
+ * ```js
4907
+ * import { createStream } from '@amityco/ts-sdk'
4908
+ * const created = await createStream({ title: 'my stream', 'thumbnailFileId': fileId })
4909
+ * ```
4910
+ *
4911
+ * Creates an {@link Amity.Stream}
4912
+ *
4913
+ * @param bundle The data necessary to create a new {@link Amity.Stream}
4914
+ * @returns The newly created {@link Amity.Stream}
4915
+ *
4916
+ * @category Stream API
4917
+ * @async
4918
+ */
4919
+ const createStream = async (bundle) => {
4920
+ const client = getActiveClient();
4921
+ client.log('stream/createStream', bundle);
4922
+ const { data } = await client.http.post('/api/v3/video-streaming', bundle);
4923
+ decoratePayload(data);
4924
+ ingestInCache(data);
4925
+ const { videoStreamings } = data;
4926
+ return videoStreamings[0];
4927
+ };
4928
+
4929
+ /**
4930
+ * ```js
4931
+ * import { updateStream } from '@amityco/ts-sdk'
4932
+ * const updated = await updateStream(streamId, { title: 'foobar' })
4933
+ * ```
4934
+ *
4935
+ * Updates an {@link Amity.Stream}
4936
+ *
4937
+ * @param streamId The ID of the {@link Amity.Stream} to edit
4938
+ * @param patch The patch data to apply
4939
+ * @returns the updated {@link Amity.Stream} object
4940
+ *
4941
+ * @category Stream API
4942
+ * @async
4943
+ */
4944
+ const updateStream = async (streamId, patch) => {
4945
+ const client = getActiveClient();
4946
+ client.log('stream/updateStream', streamId, patch);
4947
+ const { data } = await client.http.put(`/api/v3/video-streaming/${streamId}`, patch);
4948
+ decoratePayload(data);
4949
+ ingestInCache(data);
4950
+ const { videoStreamings } = data;
4951
+ return videoStreamings.find(stream => stream.streamId === streamId);
4952
+ };
4953
+
4954
+ // import { unwrapPayload } from '~/core/transports'
4955
+ /**
4956
+ * ```js
4957
+ * import { deleteStream } from '@amityco/ts-sdk'
4958
+ * const success = await deleteStream(streamId)
4959
+ * ```
4960
+ *
4961
+ * Deletes a {@link Amity.Stream}
4962
+ *
4963
+ * @param streamId The {@link Amity.Stream} ID to delete
4964
+ * @return A success boolean if the {@link Amity.Stream} was deleted
4965
+ *
4966
+ * @category Stream API
4967
+ * @async
4968
+ */
4969
+ const deleteStream = async (streamId) => {
4970
+ const client = getActiveClient();
4971
+ client.log('stream/deleteStream', streamId);
4972
+ // API-FIX: it returns { success: boolean } but seems it should be Amity.Response<{ success: boolean }
4973
+ // API-FIX: swagger docs are wrong!
4974
+ const { data } = await client.http.delete(`/api/v3/video-streaming/${streamId}`);
4975
+ const { success } = data; // unwrapPayload(data)
4976
+ return success;
4977
+ };
4978
+
4979
+ /**
4980
+ * ```js
4981
+ * import { disposeStream } from '@amityco/ts-sdk'
4982
+ * const stream = await disposeStream(streamId)
4983
+ * ```
4984
+ *
4985
+ * Dispose a {@link Amity.Stream}.
4986
+ * Streaming status will be updated to "ended" and streaming url will be invalidated
4987
+ *
4988
+ * @param streamId The {@link Amity.Stream} ID to dispose
4989
+ * @returns the associated {@link Amity.Stream} object
4990
+ *
4991
+ * @category Stream API
4992
+ * @async
4993
+ */
4994
+ const disposeStream = async (streamId) => {
4995
+ const client = getActiveClient();
4996
+ client.log('stream/disposeStream', streamId);
4997
+ const { data } = await client.http.delete(`/api/v3/video-streaming/${streamId}/streaming-url`);
4998
+ decoratePayload(data);
4999
+ ingestInCache(data);
5000
+ const { videoStreamings } = data;
5001
+ return videoStreamings.find(stream => stream.streamId === streamId);
5002
+ };
5003
+
4748
5004
  exports.addChannelMembers = addChannelMembers;
4749
5005
  exports.addChannelMembersRole = addChannelMembersRole;
4750
5006
  exports.addCommunityMembers = addCommunityMembers;
@@ -4762,6 +5018,7 @@ exports.createMessage = createMessage;
4762
5018
  exports.createPost = createPost;
4763
5019
  exports.createQuery = createQuery;
4764
5020
  exports.createReport = createReport;
5021
+ exports.createStream = createStream;
4765
5022
  exports.decorateModel = decorateModel;
4766
5023
  exports.decorateModels = decorateModels;
4767
5024
  exports.decoratePayload = decoratePayload;
@@ -4772,7 +5029,9 @@ exports.deleteFile = deleteFile;
4772
5029
  exports.deleteMessage = deleteMessage;
4773
5030
  exports.deletePost = deletePost;
4774
5031
  exports.deleteReport = deleteReport;
5032
+ exports.deleteStream = deleteStream;
4775
5033
  exports.disconnectClient = disconnectClient;
5034
+ exports.disposeStream = disposeStream;
4776
5035
  exports.dropFromCache = dropFromCache;
4777
5036
  exports.enableCache = enableCache;
4778
5037
  exports.fileUrlWithSize = fileUrlWithSize;
@@ -4790,6 +5049,7 @@ exports.getMessages = getMessages;
4790
5049
  exports.getPost = getPost;
4791
5050
  exports.getPosts = getPosts;
4792
5051
  exports.getRole = getRole;
5052
+ exports.getStream = getStream;
4793
5053
  exports.getUser = getUser;
4794
5054
  exports.getUsers = getUsers;
4795
5055
  exports.ingestInCache = ingestInCache;
@@ -4827,6 +5087,7 @@ exports.onChannelDeleted = onChannelDeleted;
4827
5087
  exports.onChannelJoined = onChannelJoined;
4828
5088
  exports.onChannelLeft = onChannelLeft;
4829
5089
  exports.onChannelUpdated = onChannelUpdated;
5090
+ exports.onClientBanned = onClientBanned;
4830
5091
  exports.onClientDisconnected = onClientDisconnected;
4831
5092
  exports.onCommentCreated = onCommentCreated;
4832
5093
  exports.onCommentDeleted = onCommentDeleted;
@@ -4836,6 +5097,7 @@ exports.onCommunityDeleted = onCommunityDeleted;
4836
5097
  exports.onCommunityJoined = onCommunityJoined;
4837
5098
  exports.onCommunityLeft = onCommunityLeft;
4838
5099
  exports.onCommunityUpdated = onCommunityUpdated;
5100
+ exports.onConnectionError = onConnectionError;
4839
5101
  exports.onMemberAdded = onMemberAdded;
4840
5102
  exports.onMemberRemoved = onMemberRemoved;
4841
5103
  exports.onMessageCreated = onMessageCreated;
@@ -4859,6 +5121,7 @@ exports.queryMessages = queryMessages;
4859
5121
  exports.queryOptions = queryOptions;
4860
5122
  exports.queryPosts = queryPosts;
4861
5123
  exports.queryRoles = queryRoles;
5124
+ exports.queryStreams = queryStreams;
4862
5125
  exports.queryUsers = queryUsers;
4863
5126
  exports.removeChannelMembers = removeChannelMembers;
4864
5127
  exports.removeChannelMembersRole = removeChannelMembersRole;
@@ -4881,4 +5144,5 @@ exports.updateComment = updateComment;
4881
5144
  exports.updateCommunity = updateCommunity;
4882
5145
  exports.updateMessage = updateMessage;
4883
5146
  exports.updatePost = updatePost;
5147
+ exports.updateStream = updateStream;
4884
5148
  exports.updateUser = updateUser;