@amityco/ts-sdk 0.0.1-02f0fa3.0 → 0.0.1-33a3f0c.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 (61) 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 +272 -12
  23. package/dist/index.d.ts +1 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.esm.js +265 -13
  26. package/dist/index.umd.js +272 -12
  27. package/dist/stream/api/createStream.d.ts.map +1 -1
  28. package/dist/stream/api/deleteStream.d.ts +1 -1
  29. package/dist/stream/api/deleteStream.d.ts.map +1 -1
  30. package/dist/stream/api/disposeStream.d.ts +17 -0
  31. package/dist/stream/api/disposeStream.d.ts.map +1 -0
  32. package/dist/stream/api/getStream.d.ts +22 -2
  33. package/dist/stream/api/getStream.d.ts.map +1 -1
  34. package/dist/stream/api/index.d.ts +1 -0
  35. package/dist/stream/api/index.d.ts.map +1 -1
  36. package/dist/stream/api/queryStreams.d.ts +29 -9
  37. package/dist/stream/api/queryStreams.d.ts.map +1 -1
  38. package/dist/stream/api/updateStream.d.ts +1 -1
  39. package/dist/stream/api/updateStream.d.ts.map +1 -1
  40. package/package.json +1 -1
  41. package/src/@types/core/errors.ts +5 -1
  42. package/src/@types/core/events.ts +6 -1
  43. package/src/@types/core/transport.ts +2 -2
  44. package/src/@types/domains/stream.ts +12 -0
  45. package/src/client/api/enableCache.ts +10 -9
  46. package/src/client/events/index.ts +3 -0
  47. package/src/client/events/onClientBanned.ts +24 -0
  48. package/src/client/events/onClientDisconnected.ts +5 -10
  49. package/src/client/events/onConnectionError.ts +53 -0
  50. package/src/core/errors.ts +12 -5
  51. package/src/core/events.ts +4 -0
  52. package/src/core/model/idResolvers.ts +1 -0
  53. package/src/core/transports.ts +0 -6
  54. package/src/index.ts +1 -3
  55. package/src/stream/api/createStream.ts +7 -5
  56. package/src/stream/api/deleteStream.ts +6 -10
  57. package/src/stream/api/disposeStream.ts +35 -0
  58. package/src/stream/api/getStream.ts +34 -6
  59. package/src/stream/api/index.ts +1 -0
  60. package/src/stream/api/queryStreams.ts +45 -10
  61. 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
  /**
@@ -4745,6 +4804,199 @@ const observeComment = (commentId, callback, policy = 'cache_then_server') => {
4745
4804
  };
4746
4805
  };
4747
4806
 
4807
+ /**
4808
+ * ```js
4809
+ * import { getStream } from '@amityco/ts-sdk'
4810
+ * const stream = await getStream('foobar')
4811
+ * ```
4812
+ *
4813
+ * Fetches a {@link Amity.Stream} object
4814
+ *
4815
+ * @param streamId the ID of the {@link Amity.Stream} to fetch
4816
+ * @returns the associated {@link Amity.Stream} object
4817
+ *
4818
+ * @category Stream API
4819
+ * @async
4820
+ */
4821
+ const getStream = async (streamId) => {
4822
+ const client = getActiveClient();
4823
+ client.log('stream/getStream', streamId);
4824
+ const { data } = await client.http.get(`/api/v3/video-streaming/${streamId}`);
4825
+ decoratePayload(data);
4826
+ ingestInCache(data);
4827
+ const { videoStreamings } = data;
4828
+ return videoStreamings.find(stream => stream.streamId === streamId);
4829
+ };
4830
+ /**
4831
+ * ```js
4832
+ * import { getStream } from '@amityco/ts-sdk'
4833
+ * const stream = getStream.locally('foobar')
4834
+ * ```
4835
+ *
4836
+ * Fetches a {@link Amity.Stream} object
4837
+ *
4838
+ * @param streamId the ID of the {@link Amity.Stream} to fetch
4839
+ * @returns the associated {@link Amity.Stream} object
4840
+ *
4841
+ * @category Stream API
4842
+ */
4843
+ getStream.locally = (streamId) => {
4844
+ var _a;
4845
+ const client = getActiveClient();
4846
+ client.log('stream/getStream', streamId);
4847
+ const [stream] = (_a = pullFromCache('stream', streamId)) !== null && _a !== void 0 ? _a : [];
4848
+ return stream;
4849
+ };
4850
+
4851
+ /**
4852
+ * ```js
4853
+ * import { queryStreams } from '@amityco/ts-sdk'
4854
+ * const streams = await queryStreams()
4855
+ * ```
4856
+ *
4857
+ * Queries a paginable list of {@link Amity.Stream} objects
4858
+ *
4859
+ * @param query The query parameters
4860
+ * @returns A page of {@link Amity.Stream} objects
4861
+ *
4862
+ * @category Stream API
4863
+ * @async
4864
+ */
4865
+ const queryStreams = async (query) => {
4866
+ const client = getActiveClient();
4867
+ client.log('stream/queryStreams', query);
4868
+ const _a = query !== null && query !== void 0 ? query : {}, { page } = _a, params = __rest(_a, ["page"]);
4869
+ const { data } = await client.http.get(`/api/v3/video-streaming`, { params: Object.assign(Object.assign({}, params), { options: {
4870
+ token: toToken(page, 'skiplimit'),
4871
+ } }) });
4872
+ // API-FIX: backend to response Amity.Response: const { paging, videoStreamings } = unwrapPayload(data)
4873
+ // API-FIX: seems returned data has a results identifier on top of data, like no other apis, and this is beautiful
4874
+ const { paging, results } = data;
4875
+ decoratePayload(results);
4876
+ ingestInCache(results);
4877
+ const prevPage = toPage(paging === null || paging === void 0 ? void 0 : paging.previous);
4878
+ const nextPage = toPage(paging === null || paging === void 0 ? void 0 : paging.next);
4879
+ const { videoStreamings } = results;
4880
+ return { data: toRecord(videoStreamings), prevPage, nextPage };
4881
+ };
4882
+ /**
4883
+ * ```js
4884
+ * import { queryStreams } from '@amityco/ts-sdk'
4885
+ * const streams = queryStreams.locally()
4886
+ * ```
4887
+ *
4888
+ * Queries a paginable list of {@link Amity.Stream} objects from cache
4889
+ *
4890
+ * @param query The query parameters
4891
+ * @returns streams
4892
+ *
4893
+ * @category Stream API
4894
+ */
4895
+ queryStreams.locally = (query) => {
4896
+ const client = getActiveClient();
4897
+ client.log('stream/queryStreams.locally', query);
4898
+ // TODO
4899
+ };
4900
+
4901
+ /**
4902
+ * ```js
4903
+ * import { createStream } from '@amityco/ts-sdk'
4904
+ * const created = await createStream({ title: 'my stream', 'thumbnailFileId': fileId })
4905
+ * ```
4906
+ *
4907
+ * Creates an {@link Amity.Stream}
4908
+ *
4909
+ * @param bundle The data necessary to create a new {@link Amity.Stream}
4910
+ * @returns The newly created {@link Amity.Stream}
4911
+ *
4912
+ * @category Stream API
4913
+ * @async
4914
+ */
4915
+ const createStream = async (bundle) => {
4916
+ const client = getActiveClient();
4917
+ client.log('stream/createStream', bundle);
4918
+ const { data } = await client.http.post('/api/v3/video-streaming', bundle);
4919
+ decoratePayload(data);
4920
+ ingestInCache(data);
4921
+ const { videoStreamings } = data;
4922
+ return videoStreamings[0];
4923
+ };
4924
+
4925
+ /**
4926
+ * ```js
4927
+ * import { updateStream } from '@amityco/ts-sdk'
4928
+ * const updated = await updateStream(streamId, { title: 'foobar' })
4929
+ * ```
4930
+ *
4931
+ * Updates an {@link Amity.Stream}
4932
+ *
4933
+ * @param streamId The ID of the {@link Amity.Stream} to edit
4934
+ * @param patch The patch data to apply
4935
+ * @returns the updated {@link Amity.Stream} object
4936
+ *
4937
+ * @category Stream API
4938
+ * @async
4939
+ */
4940
+ const updateStream = async (streamId, patch) => {
4941
+ const client = getActiveClient();
4942
+ client.log('stream/updateStream', streamId, patch);
4943
+ const { data } = await client.http.put(`/api/v3/video-streaming/${streamId}`, patch);
4944
+ decoratePayload(data);
4945
+ ingestInCache(data);
4946
+ const { videoStreamings } = data;
4947
+ return videoStreamings.find(stream => stream.streamId === streamId);
4948
+ };
4949
+
4950
+ // import { unwrapPayload } from '~/core/transports'
4951
+ /**
4952
+ * ```js
4953
+ * import { deleteStream } from '@amityco/ts-sdk'
4954
+ * const success = await deleteStream(streamId)
4955
+ * ```
4956
+ *
4957
+ * Deletes a {@link Amity.Stream}
4958
+ *
4959
+ * @param streamId The {@link Amity.Stream} ID to delete
4960
+ * @return A success boolean if the {@link Amity.Stream} was deleted
4961
+ *
4962
+ * @category Stream API
4963
+ * @async
4964
+ */
4965
+ const deleteStream = async (streamId) => {
4966
+ const client = getActiveClient();
4967
+ client.log('stream/deleteStream', streamId);
4968
+ // API-FIX: it returns { success: boolean } but seems it should be Amity.Response<{ success: boolean }
4969
+ // API-FIX: swagger docs are wrong!
4970
+ const { data } = await client.http.delete(`/api/v3/video-streaming/${streamId}`);
4971
+ const { success } = data; // unwrapPayload(data)
4972
+ return success;
4973
+ };
4974
+
4975
+ /**
4976
+ * ```js
4977
+ * import { disposeStream } from '@amityco/ts-sdk'
4978
+ * const stream = await disposeStream(streamId)
4979
+ * ```
4980
+ *
4981
+ * Dispose a {@link Amity.Stream}.
4982
+ * Streaming status will be updated to "ended" and streaming url will be invalidated
4983
+ *
4984
+ * @param streamId The {@link Amity.Stream} ID to dispose
4985
+ * @returns the associated {@link Amity.Stream} object
4986
+ *
4987
+ * @category Stream API
4988
+ * @async
4989
+ */
4990
+ const disposeStream = async (streamId) => {
4991
+ const client = getActiveClient();
4992
+ client.log('stream/disposeStream', streamId);
4993
+ const { data } = await client.http.delete(`/api/v3/video-streaming/${streamId}/streaming-url`);
4994
+ decoratePayload(data);
4995
+ ingestInCache(data);
4996
+ const { videoStreamings } = data;
4997
+ return videoStreamings.find(stream => stream.streamId === streamId);
4998
+ };
4999
+
4748
5000
  exports.addChannelMembers = addChannelMembers;
4749
5001
  exports.addChannelMembersRole = addChannelMembersRole;
4750
5002
  exports.addCommunityMembers = addCommunityMembers;
@@ -4762,6 +5014,7 @@ exports.createMessage = createMessage;
4762
5014
  exports.createPost = createPost;
4763
5015
  exports.createQuery = createQuery;
4764
5016
  exports.createReport = createReport;
5017
+ exports.createStream = createStream;
4765
5018
  exports.decorateModel = decorateModel;
4766
5019
  exports.decorateModels = decorateModels;
4767
5020
  exports.decoratePayload = decoratePayload;
@@ -4772,7 +5025,9 @@ exports.deleteFile = deleteFile;
4772
5025
  exports.deleteMessage = deleteMessage;
4773
5026
  exports.deletePost = deletePost;
4774
5027
  exports.deleteReport = deleteReport;
5028
+ exports.deleteStream = deleteStream;
4775
5029
  exports.disconnectClient = disconnectClient;
5030
+ exports.disposeStream = disposeStream;
4776
5031
  exports.dropFromCache = dropFromCache;
4777
5032
  exports.enableCache = enableCache;
4778
5033
  exports.fileUrlWithSize = fileUrlWithSize;
@@ -4790,6 +5045,7 @@ exports.getMessages = getMessages;
4790
5045
  exports.getPost = getPost;
4791
5046
  exports.getPosts = getPosts;
4792
5047
  exports.getRole = getRole;
5048
+ exports.getStream = getStream;
4793
5049
  exports.getUser = getUser;
4794
5050
  exports.getUsers = getUsers;
4795
5051
  exports.ingestInCache = ingestInCache;
@@ -4827,6 +5083,7 @@ exports.onChannelDeleted = onChannelDeleted;
4827
5083
  exports.onChannelJoined = onChannelJoined;
4828
5084
  exports.onChannelLeft = onChannelLeft;
4829
5085
  exports.onChannelUpdated = onChannelUpdated;
5086
+ exports.onClientBanned = onClientBanned;
4830
5087
  exports.onClientDisconnected = onClientDisconnected;
4831
5088
  exports.onCommentCreated = onCommentCreated;
4832
5089
  exports.onCommentDeleted = onCommentDeleted;
@@ -4836,6 +5093,7 @@ exports.onCommunityDeleted = onCommunityDeleted;
4836
5093
  exports.onCommunityJoined = onCommunityJoined;
4837
5094
  exports.onCommunityLeft = onCommunityLeft;
4838
5095
  exports.onCommunityUpdated = onCommunityUpdated;
5096
+ exports.onConnectionError = onConnectionError;
4839
5097
  exports.onMemberAdded = onMemberAdded;
4840
5098
  exports.onMemberRemoved = onMemberRemoved;
4841
5099
  exports.onMessageCreated = onMessageCreated;
@@ -4859,6 +5117,7 @@ exports.queryMessages = queryMessages;
4859
5117
  exports.queryOptions = queryOptions;
4860
5118
  exports.queryPosts = queryPosts;
4861
5119
  exports.queryRoles = queryRoles;
5120
+ exports.queryStreams = queryStreams;
4862
5121
  exports.queryUsers = queryUsers;
4863
5122
  exports.removeChannelMembers = removeChannelMembers;
4864
5123
  exports.removeChannelMembersRole = removeChannelMembersRole;
@@ -4881,4 +5140,5 @@ exports.updateComment = updateComment;
4881
5140
  exports.updateCommunity = updateCommunity;
4882
5141
  exports.updateMessage = updateMessage;
4883
5142
  exports.updatePost = updatePost;
5143
+ exports.updateStream = updateStream;
4884
5144
  exports.updateUser = updateUser;
package/dist/index.d.ts CHANGED
@@ -29,4 +29,5 @@ export * from './post/observers';
29
29
  export * from './comment/api';
30
30
  export * from './comment/events';
31
31
  export * from './comment/observers';
32
+ export * from './stream/api';
32
33
  //# sourceMappingURL=index.d.ts.map