jourycms-sdk 1.1.56 → 1.1.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export default class JouryCMSSdk implements SDK.ISdk {
16
16
  private _requestCount;
17
17
  protected serviceContainers: Partial<Record<Levelup.CMS.V1.Utils.SystemStructure.TMicroService | "insights" | "custom", SDK.IServiceContainer>>;
18
18
  protected _helpersInstance: JouryCMSSdkHelpers;
19
+ private _events;
19
20
  static getInstance(config: SDK.ISdkConfig, id?: string): JouryCMSSdk;
20
21
  constructor(config: SDK.ISdkConfig);
21
22
  get auth(): AuthServiceContainer;
@@ -24,6 +25,9 @@ export default class JouryCMSSdk implements SDK.ISdk {
24
25
  get system(): SystemServiceContainer;
25
26
  get custom(): CustomHandlerServiceContainer;
26
27
  get helpers(): JouryCMSSdkHelpers;
28
+ on<Event extends SDK.TSdkEvent>(event: Event, cb: SDK.TSdkEventHandler<Event>): void;
29
+ off<Event extends SDK.TSdkEvent>(event: Event, cb: SDK.TSdkEventHandler<Event>): void;
30
+ emit<Event extends SDK.TSdkEvent>(event: Event, data?: SDK.TSdkEventPayload<Event>): Promise<void>;
27
31
  generateHeadersFromRequestConfig(config?: SDK.TRequestConfig): {
28
32
  [key: string]: AxiosHeaderValue;
29
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,aAAa,EAEd,MAAM,OAAO,CAAC;AAEf,OAAO,oBAAoB,MAAM,qCAAqC,CAAC;AACvE,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAC7E,OAAO,6BAA6B,MAAM,+CAA+C,CAAC;AAC1F,OAAO,uBAAuB,MAAM,wCAAwC,CAAC;AAC7E,OAAO,gBAAgB,MAAM,qCAAqC,CAAC;AACnE,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,OAAO,EACL,OAAO,EACP,8BAA8B,EAC9B,gCAAgC,EACjC,MAAM,YAAY,CAAC;AACpB,OAAO,kBAAkB,MAAM,iBAAiB,CAAC;AAIjD,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;AAChC,OAAO,sBAAsB,MAAM,uCAAuC,CAAC;AAE3E,MAAM,CAAC,OAAO,OAAO,WAAY,YAAW,GAAG,CAAC,IAAI;IAClD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC;IAChC,OAAO,CAAC,MAAM,CAAC,SAAS,CAEjB;IACP,OAAO,CAAC,aAAa,CAAK;IAC1B,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAClC,MAAM,CACJ,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,aAAa,GAAG,UAAU,GAAG,QAAQ,EAC1E,GAAG,CAAC,iBAAiB,CACtB,CACF,CAAM;IACP,SAAS,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IAE/C,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,EAAE,GAAE,MAAkB;gBAKrD,MAAM,EAAE,GAAG,CAAC,UAAU;IAMlC,IAAI,IAAI,IAGgC,oBAAoB,CAC3D;IAED,IAAI,OAAO,IAGgC,uBAAuB,CACjE;IAED,IAAI,OAAO,IAGgC,uBAAuB,CACjE;IAED,IAAI,MAAM,IAGgC,sBAAsB,CAC/D;IAED,IAAI,MAAM,IAGgC,6BAA6B,CACtE;IAED,IAAI,OAAO,uBAGV;IAKD,gCAAgC,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,cAAc,GAAG;QAC7D,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;KACjC;IAkBK,cAAc,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,EAC1C,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,GAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAkCjC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM;IAgBnC,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,gBAAgB;IAIzD,WAAW,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC;IAuJ7D,kBAAkB;IAIlB,qBAAqB;IAIrB,eAAe;CAGvB;AAED,OAAO,EACL,gBAAgB,EAAE,OAAO,EACzB,8BAA8B,EAC9B,gCAAgC,EACjC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ class JouryCMSSdk {
25
25
  _requestCount = 0;
26
26
  serviceContainers = {};
27
27
  _helpersInstance;
28
+ _events = {};
28
29
  static getInstance(config, id = "DEFAULT") {
29
30
  if (!this.instances[id])
30
31
  this.instances[id] = new JouryCMSSdk(config);
@@ -68,6 +69,28 @@ class JouryCMSSdk {
68
69
  /* -------------------------------------------------------------------------- */
69
70
  /* end PharmaDz */
70
71
  /* -------------------------------------------------------------------------- */
72
+ /* -------------------------------------------------------------------------- */
73
+ /* EVENTS */
74
+ /* -------------------------------------------------------------------------- */
75
+ on(event, cb) {
76
+ if (!this._events[event])
77
+ this._events[event] = [];
78
+ this._events[event]?.push(cb);
79
+ }
80
+ off(event, cb) {
81
+ if (this._events[event])
82
+ this._events[event] = this._events[event].filter(item => item !== cb);
83
+ }
84
+ async emit(event, data) {
85
+ if (this._events[event]) {
86
+ for (const cb of this._events[event]) {
87
+ await cb(data);
88
+ }
89
+ }
90
+ }
91
+ /* -------------------------------------------------------------------------- */
92
+ /* END EVENTS */
93
+ /* -------------------------------------------------------------------------- */
71
94
  generateHeadersFromRequestConfig(config) {
72
95
  const headers = {};
73
96
  if (config?.serviceName) {
@@ -90,7 +113,12 @@ class JouryCMSSdk {
90
113
  }
91
114
  async handleResponse(response) {
92
115
  this.logResponse(response);
116
+ this.emit("response", response.data);
93
117
  if (response.data?.error) {
118
+ this.emit("error", response.data.error);
119
+ if (response.data.error.name === "JWTTokenExpired") {
120
+ this.emit("jwt-token-expired");
121
+ }
94
122
  if (response.data.error.name === "JWTTokenExpired" &&
95
123
  this.config.refreshTokenHandler) {
96
124
  // implement refresh token logic here
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jourycms-sdk",
3
- "version": "1.1.56",
3
+ "version": "1.1.58",
4
4
  "description": "Sdk for Joury CMS",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -54,7 +54,22 @@ declare global {
54
54
  throw_not_found_error?: boolean;
55
55
  };
56
56
 
57
-
57
+ type TSdkEvent = 'request' | 'response' | 'error' | 'reinit' | 'refresh-token' | 'jwt-token-expired';
58
+ type TSdkEventPayload<Event extends TSdkEvent> = Event extends 'request' ? Levelup.CMS.V1.Utils.Api.Request.Request
59
+ : Event extends 'response' ? { data?: object | Array<object>; } & Levelup.CMS.V1.Utils.Api.Response.DefaultResponse & Levelup.CMS.V1.Utils.Api.Response.PagedResponse
60
+ : Event extends 'error' ? Levelup.CMS.V1.Utils.Api.Response.Error
61
+ : Event extends 'reinit' ? never
62
+ : Event extends 'refresh-token' ? never
63
+ : Event extends 'jwt-token-expired' ? never
64
+ : never;
65
+
66
+ type TSdkEventHandler<Event extends TSdkEvent> = Event extends 'request' ? (data: TSdkEventPayload<Event>) => void | PromiseLike<void>
67
+ : Event extends 'response' ? (data: TSdkEventPayload<Event>) => void | PromiseLike<void>
68
+ : Event extends 'error' ? (error:TSdkEventPayload<Event>) => void | PromiseLike<void>
69
+ : Event extends 'reinit' ? () => void | PromiseLike<void>
70
+ : Event extends 'refresh-token' ? () => void | PromiseLike<void>
71
+ : Event extends 'jwt-token-expired' ? () => void | PromiseLike<void>
72
+ : never;
58
73
 
59
74
  interface IAppContainer {
60
75
  readonly sdk: ISdk;
@@ -147,7 +162,7 @@ declare global {
147
162
  }
148
163
  }
149
164
  }
150
- }
165
+ }
151
166
  }
152
167
 
153
168
  type TResponseDatum<T extends { data?: object | Array<object>; }> = {
@@ -15,6 +15,7 @@ declare module Levelup {
15
15
 
16
16
  export type Options<IsMulti extends boolean = false> = BaseFieldOption<Input, IsMulti> & {
17
17
  multiple: IsMulti;
18
+ accept: ("text" | "audio" | "excel" | "word" | "pdf" | "images" | "videos" | "compressed")[]
18
19
  }
19
20
  }
20
21
  }