@etsoo/appscript 1.6.11 → 1.6.13

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.
@@ -271,4 +271,11 @@ test("Tests for checkSesession", async () => {
271
271
  expect(isSame).toBeTruthy();
272
272
  return Promise.resolve();
273
273
  });
274
+
275
+ app.clearSession();
276
+
277
+ await app.checkSession((isSame) => {
278
+ expect(isSame).toBeFalsy();
279
+ return Promise.resolve();
280
+ });
274
281
  });
@@ -71,8 +71,8 @@ export declare class AuthApi extends BaseApi {
71
71
  * @param tokenKey Refresh token key
72
72
  * @returns Result
73
73
  */
74
- login<T extends IUser, A extends AuthRequest | undefined>(rq: LoginInputRQ, auth: A, payload?: IApiPayload<IActionResult<A extends undefined ? T : LoginInputAuthResult>>, tokenKey?: string): Promise<[
75
- IActionResult<A extends undefined ? T : LoginInputAuthResult> | undefined,
74
+ login<T extends IUser>(rq: LoginInputRQ, payload?: IApiPayload<IActionResult<T | LoginInputAuthResult>>, tokenKey?: string): Promise<[
75
+ IActionResult<T | LoginInputAuthResult> | undefined,
76
76
  string | null
77
77
  ]>;
78
78
  /**
@@ -88,13 +88,12 @@ class AuthApi extends BaseApi_1.BaseApi {
88
88
  * @param tokenKey Refresh token key
89
89
  * @returns Result
90
90
  */
91
- async login(rq, auth, payload, tokenKey) {
91
+ async login(rq, payload, tokenKey) {
92
92
  // Default values
93
93
  payload ?? (payload = {});
94
94
  tokenKey ?? (tokenKey = AuthApi.HeaderTokenField);
95
95
  const data = {
96
96
  ...rq,
97
- auth,
98
97
  deviceId: this.app.deviceId,
99
98
  region: this.app.region,
100
99
  timeZone: this.app.getTimeZone()
@@ -12,6 +12,10 @@ export type LoginInputRQ = LoginIdInputRQ & {
12
12
  * Organization
13
13
  */
14
14
  org?: number;
15
+ /**
16
+ * Authorization request data
17
+ */
18
+ auth?: AuthRequest;
15
19
  };
16
20
  /**
17
21
  * Login input auth result
@@ -25,9 +29,4 @@ export type LoginInputAuthResult = {
25
29
  /**
26
30
  * Login request data
27
31
  */
28
- export type LoginRQ = LoginIdRQ & LoginInputRQ & {
29
- /**
30
- * Authorization request data
31
- */
32
- auth?: AuthRequest;
33
- };
32
+ export type LoginRQ = LoginIdRQ & LoginInputRQ;
@@ -205,6 +205,10 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
205
205
  * @param callback Callback
206
206
  */
207
207
  checkSession(callback: (isSame: boolean) => Promise<void | false>): Promise<void>;
208
+ /**
209
+ * Clear user session
210
+ */
211
+ clearSession(): void;
208
212
  /**
209
213
  * Create Auth API
210
214
  * @param api Specify the API to use
@@ -306,6 +306,12 @@ class CoreApp {
306
306
  this.storage.setData(sessionName, true);
307
307
  }
308
308
  }
309
+ /**
310
+ * Clear user session
311
+ */
312
+ clearSession() {
313
+ this.storage.setData(this.addIdentifier("same-session"), undefined);
314
+ }
309
315
  /**
310
316
  * Create Auth API
311
317
  * @param api Specify the API to use
@@ -283,6 +283,10 @@ export interface IApp {
283
283
  * Clear device id
284
284
  */
285
285
  clearDeviceId(): void;
286
+ /**
287
+ * Clear user session
288
+ */
289
+ clearSession(): void;
286
290
  /**
287
291
  * Create API client, override to implement custom client creation by name
288
292
  * @param name Client name
@@ -71,8 +71,8 @@ export declare class AuthApi extends BaseApi {
71
71
  * @param tokenKey Refresh token key
72
72
  * @returns Result
73
73
  */
74
- login<T extends IUser, A extends AuthRequest | undefined>(rq: LoginInputRQ, auth: A, payload?: IApiPayload<IActionResult<A extends undefined ? T : LoginInputAuthResult>>, tokenKey?: string): Promise<[
75
- IActionResult<A extends undefined ? T : LoginInputAuthResult> | undefined,
74
+ login<T extends IUser>(rq: LoginInputRQ, payload?: IApiPayload<IActionResult<T | LoginInputAuthResult>>, tokenKey?: string): Promise<[
75
+ IActionResult<T | LoginInputAuthResult> | undefined,
76
76
  string | null
77
77
  ]>;
78
78
  /**
@@ -85,13 +85,12 @@ export class AuthApi extends BaseApi {
85
85
  * @param tokenKey Refresh token key
86
86
  * @returns Result
87
87
  */
88
- async login(rq, auth, payload, tokenKey) {
88
+ async login(rq, payload, tokenKey) {
89
89
  // Default values
90
90
  payload ?? (payload = {});
91
91
  tokenKey ?? (tokenKey = AuthApi.HeaderTokenField);
92
92
  const data = {
93
93
  ...rq,
94
- auth,
95
94
  deviceId: this.app.deviceId,
96
95
  region: this.app.region,
97
96
  timeZone: this.app.getTimeZone()
@@ -12,6 +12,10 @@ export type LoginInputRQ = LoginIdInputRQ & {
12
12
  * Organization
13
13
  */
14
14
  org?: number;
15
+ /**
16
+ * Authorization request data
17
+ */
18
+ auth?: AuthRequest;
15
19
  };
16
20
  /**
17
21
  * Login input auth result
@@ -25,9 +29,4 @@ export type LoginInputAuthResult = {
25
29
  /**
26
30
  * Login request data
27
31
  */
28
- export type LoginRQ = LoginIdRQ & LoginInputRQ & {
29
- /**
30
- * Authorization request data
31
- */
32
- auth?: AuthRequest;
33
- };
32
+ export type LoginRQ = LoginIdRQ & LoginInputRQ;
@@ -205,6 +205,10 @@ export declare abstract class CoreApp<U extends IUser, S extends IAppSettings, N
205
205
  * @param callback Callback
206
206
  */
207
207
  checkSession(callback: (isSame: boolean) => Promise<void | false>): Promise<void>;
208
+ /**
209
+ * Clear user session
210
+ */
211
+ clearSession(): void;
208
212
  /**
209
213
  * Create Auth API
210
214
  * @param api Specify the API to use
@@ -303,6 +303,12 @@ export class CoreApp {
303
303
  this.storage.setData(sessionName, true);
304
304
  }
305
305
  }
306
+ /**
307
+ * Clear user session
308
+ */
309
+ clearSession() {
310
+ this.storage.setData(this.addIdentifier("same-session"), undefined);
311
+ }
306
312
  /**
307
313
  * Create Auth API
308
314
  * @param api Specify the API to use
@@ -283,6 +283,10 @@ export interface IApp {
283
283
  * Clear device id
284
284
  */
285
285
  clearDeviceId(): void;
286
+ /**
287
+ * Clear user session
288
+ */
289
+ clearSession(): void;
286
290
  /**
287
291
  * Create API client, override to implement custom client creation by name
288
292
  * @param name Client name
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@etsoo/appscript",
3
- "version": "1.6.11",
3
+ "version": "1.6.13",
4
4
  "description": "Applications shared TypeScript framework",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/mjs/index.js",
@@ -35,9 +35,9 @@
35
35
  },
36
36
  "homepage": "https://github.com/ETSOO/AppScript#readme",
37
37
  "dependencies": {
38
- "@etsoo/notificationbase": "^1.1.58",
39
- "@etsoo/restclient": "^1.1.23",
40
- "@etsoo/shared": "^1.2.61",
38
+ "@etsoo/notificationbase": "^1.1.59",
39
+ "@etsoo/restclient": "^1.1.24",
40
+ "@etsoo/shared": "^1.2.62",
41
41
  "crypto-js": "^4.2.0"
42
42
  },
43
43
  "devDependencies": {
@@ -50,6 +50,6 @@
50
50
  "@vitejs/plugin-react": "^4.3.4",
51
51
  "jsdom": "^26.0.0",
52
52
  "typescript": "^5.7.3",
53
- "vitest": "^3.0.6"
53
+ "vitest": "^3.0.7"
54
54
  }
55
55
  }
@@ -125,18 +125,12 @@ export class AuthApi extends BaseApi {
125
125
  * @param tokenKey Refresh token key
126
126
  * @returns Result
127
127
  */
128
- async login<T extends IUser, A extends AuthRequest | undefined>(
128
+ async login<T extends IUser>(
129
129
  rq: LoginInputRQ,
130
- auth: A,
131
- payload?: IApiPayload<
132
- IActionResult<A extends undefined ? T : LoginInputAuthResult>
133
- >,
130
+ payload?: IApiPayload<IActionResult<T | LoginInputAuthResult>>,
134
131
  tokenKey?: string
135
132
  ): Promise<
136
- [
137
- IActionResult<A extends undefined ? T : LoginInputAuthResult> | undefined,
138
- string | null
139
- ]
133
+ [IActionResult<T | LoginInputAuthResult> | undefined, string | null]
140
134
  > {
141
135
  // Default values
142
136
  payload ??= {};
@@ -144,7 +138,6 @@ export class AuthApi extends BaseApi {
144
138
 
145
139
  const data: LoginRQ = {
146
140
  ...rq,
147
- auth,
148
141
  deviceId: this.app.deviceId,
149
142
  region: this.app.region,
150
143
  timeZone: this.app.getTimeZone()
@@ -14,6 +14,11 @@ export type LoginInputRQ = LoginIdInputRQ & {
14
14
  * Organization
15
15
  */
16
16
  org?: number;
17
+
18
+ /**
19
+ * Authorization request data
20
+ */
21
+ auth?: AuthRequest;
17
22
  };
18
23
 
19
24
  /**
@@ -29,10 +34,4 @@ export type LoginInputAuthResult = {
29
34
  /**
30
35
  * Login request data
31
36
  */
32
- export type LoginRQ = LoginIdRQ &
33
- LoginInputRQ & {
34
- /**
35
- * Authorization request data
36
- */
37
- auth?: AuthRequest;
38
- };
37
+ export type LoginRQ = LoginIdRQ & LoginInputRQ;
@@ -529,6 +529,13 @@ export abstract class CoreApp<
529
529
  }
530
530
  }
531
531
 
532
+ /**
533
+ * Clear user session
534
+ */
535
+ clearSession() {
536
+ this.storage.setData(this.addIdentifier("same-session"), undefined);
537
+ }
538
+
532
539
  /**
533
540
  * Create Auth API
534
541
  * @param api Specify the API to use
package/src/app/IApp.ts CHANGED
@@ -370,6 +370,11 @@ export interface IApp {
370
370
  */
371
371
  clearDeviceId(): void;
372
372
 
373
+ /**
374
+ * Clear user session
375
+ */
376
+ clearSession(): void;
377
+
373
378
  /**
374
379
  * Create API client, override to implement custom client creation by name
375
380
  * @param name Client name