@memori.ai/memori-api-client 6.5.4 → 6.5.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
 
2
2
 
3
+ ## [6.5.6](https://github.com/memori-ai/memori-api-client/compare/v6.5.5...v6.5.6) (2025-06-23)
4
+
5
+
6
+ ### Features
7
+
8
+ * implement user management API functions including login, logout and user details retrieval ([58a6b44](https://github.com/memori-ai/memori-api-client/commit/58a6b44f039fac65e0a45d80399519bce3566ea6))
9
+
10
+
11
+ ### Changes
12
+
13
+ * rename user management API functions to include 'pwl' prefix for clarity ([1b49f3f](https://github.com/memori-ai/memori-api-client/commit/1b49f3f8e413731f362f7cac751dca270df5a7a5))
14
+
15
+ ## [6.5.5](https://github.com/memori-ai/memori-api-client/compare/v6.5.4...v6.5.5) (2025-06-11)
16
+
17
+
18
+ ### Features
19
+
20
+ * add uploadAssetUnlogged function to handle file uploads for unlogged users ([37f75f3](https://github.com/memori-ai/memori-api-client/commit/37f75f34deb4c47378dd087a2c19e721622cc4c8))
21
+
3
22
  ## [6.5.4](https://github.com/memori-ai/memori-api-client/compare/v6.5.3...v6.5.4) (2025-06-10)
4
23
 
5
24
 
@@ -4,6 +4,9 @@ declare const _default: (apiUrl: string) => {
4
4
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string, memoryID?: string) => Promise<ResponseSpec & {
5
5
  asset: Asset;
6
6
  }>;
7
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<ResponseSpec & {
8
+ asset: Asset;
9
+ }>;
7
10
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
8
11
  getAssetList: (authToken: string) => Promise<ResponseSpec & {
9
12
  assets: Asset[];
@@ -14,6 +14,17 @@ exports.default = (apiUrl) => ({
14
14
  });
15
15
  return (await upload.json());
16
16
  },
17
+ uploadAssetUnlogged: async (fileName, fileUrl, memoriID, sessionID) => {
18
+ const data = new FormData();
19
+ const file = await fetch(fileUrl);
20
+ const fileBlob = await file.blob();
21
+ data.append(fileName, fileBlob, fileName);
22
+ const upload = await fetch(`${apiUrl}/Asset/unlogged/${memoriID}/${sessionID}`, {
23
+ method: 'POST',
24
+ body: data,
25
+ });
26
+ return (await upload.json());
27
+ },
17
28
  getAsset: (fileName, sessionID) => (0, apiFetcher_1.apiFetcher)(`/Asset/${fileName}/${sessionID}`, {
18
29
  apiUrl,
19
30
  method: 'GET',
@@ -1 +1 @@
1
- {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/backend/asset.ts"],"names":[],"mappings":";;AACA,8CAA2C;AAE3C,kBAAe,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAQlC,iBAAiB,EAAE,CACjB,SAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,EAAE,CACF,GAAG,MAAM,UAAU,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAC3D,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC9B,EAAE;IASJ,WAAW,EAAE,KAAK,EAChB,QAAgB,EAChB,OAAe,EACf,SAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,EAAE;QACF,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,GAAG,MAAM,UAAU,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAC3D,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC9B,EAAE,EACF;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CACF,CAAC;QACF,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAI1B,CAAC;IACJ,CAAC;IAQD,QAAQ,EAAE,CAAC,QAAgB,EAAE,SAAiB,EAAE,EAAE,CAChD,IAAA,uBAAU,EAAC,UAAU,QAAQ,IAAI,SAAS,EAAE,EAAE;QAC5C,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAAC;IAOJ,YAAY,EAAE,CAAC,SAAiB,EAAE,EAAE,CAClC,IAAA,uBAAU,EAAC,WAAW,SAAS,EAAE,EAAE;QACjC,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAAgD;IAQnD,WAAW,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,KAAY,EAAE,EAAE,CACjE,IAAA,uBAAU,EAAC,UAAU,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACpE,MAAM;QACN,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,KAAK;KACZ,CAA6C;IAOhD,WAAW,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE,CACnD,IAAA,uBAAU,EAAC,UAAU,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACpE,MAAM;QACN,MAAM,EAAE,QAAQ;KACjB,CAA0B;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/backend/asset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { ResponseSpec, User, UserFilters } from '../types';
2
+ declare const _default: (apiUrl: string) => {
3
+ pwlUserLogin: (user: User) => Promise<ResponseSpec & {
4
+ user: User;
5
+ token?: string | undefined;
6
+ flowID?: string | undefined;
7
+ }>;
8
+ pwlUserLogout: (authToken: string) => Promise<ResponseSpec>;
9
+ pwlGetCurrentUser: (authToken: string) => Promise<ResponseSpec & {
10
+ user: User;
11
+ }>;
12
+ pwlGetUser: (authToken: string, userID: string) => Promise<ResponseSpec & {
13
+ user: User;
14
+ }>;
15
+ pwlGetUsersList: (authToken: string) => Promise<ResponseSpec & {
16
+ users: User[];
17
+ }>;
18
+ pwlGetUsersListPaginated: (authToken: string, filters: UserFilters) => Promise<ResponseSpec & {
19
+ users: User[];
20
+ count: number;
21
+ }>;
22
+ pwlDeleteUser: (authToken: string, userID: string) => Promise<ResponseSpec>;
23
+ pwlUpdateUser: (authToken: string, userID: string, user: User) => Promise<ResponseSpec & {
24
+ user: User;
25
+ }>;
26
+ pwlRecoverUsername: (user: User) => Promise<ResponseSpec>;
27
+ pwlCreateUser: (authToken: string, user: Partial<User>) => Promise<ResponseSpec & {
28
+ user: User;
29
+ }>;
30
+ pwlLoginWithJWT: (jwt: string) => Promise<ResponseSpec & {
31
+ user: User;
32
+ token?: string | undefined;
33
+ flowID?: string | undefined;
34
+ }>;
35
+ };
36
+ export default _default;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const apiFetcher_1 = require("../apiFetcher");
4
+ exports.default = (apiUrl) => ({
5
+ pwlUserLogin: (user) => (0, apiFetcher_1.apiFetcher)('/PwlLogin', {
6
+ apiUrl,
7
+ body: user,
8
+ method: 'POST',
9
+ }),
10
+ pwlUserLogout: (authToken) => (0, apiFetcher_1.apiFetcher)(`/PwlLogout/${authToken}`, {
11
+ apiUrl,
12
+ method: 'POST',
13
+ }),
14
+ pwlGetCurrentUser: (authToken) => (0, apiFetcher_1.apiFetcher)(`/PwlUser/${authToken}`, {
15
+ apiUrl,
16
+ }),
17
+ pwlGetUser: (authToken, userID) => (0, apiFetcher_1.apiFetcher)(`/PwlUser/${authToken}/${userID}`, {
18
+ apiUrl,
19
+ }),
20
+ pwlGetUsersList: (authToken) => (0, apiFetcher_1.apiFetcher)(`/PwlUsers/${authToken}`, {
21
+ apiUrl,
22
+ }),
23
+ pwlGetUsersListPaginated: (authToken, filters) => (0, apiFetcher_1.apiFetcher)(`/FilterPwlUsers/${authToken}`, {
24
+ apiUrl,
25
+ body: filters,
26
+ method: 'POST',
27
+ }),
28
+ pwlDeleteUser: (authToken, userID) => (0, apiFetcher_1.apiFetcher)(`/PwlUser/${authToken}/${userID}`, {
29
+ apiUrl,
30
+ method: 'DELETE',
31
+ }),
32
+ pwlUpdateUser: (authToken, userID, user) => (0, apiFetcher_1.apiFetcher)(`/PwlUser/${authToken}/${userID}`, {
33
+ apiUrl,
34
+ method: 'PATCH',
35
+ body: user,
36
+ }),
37
+ pwlRecoverUsername: (user) => (0, apiFetcher_1.apiFetcher)(`/RecoverPwlUserName`, {
38
+ apiUrl,
39
+ body: user,
40
+ method: 'POST',
41
+ }),
42
+ pwlCreateUser: (authToken, user) => (0, apiFetcher_1.apiFetcher)(`/PwlUser/${authToken}`, {
43
+ apiUrl,
44
+ body: user,
45
+ method: 'POST',
46
+ }),
47
+ pwlLoginWithJWT: (jwt) => (0, apiFetcher_1.apiFetcher)('/LoginWithJWT', {
48
+ apiUrl,
49
+ body: { jwt },
50
+ method: 'POST',
51
+ }),
52
+ });
53
+ //# sourceMappingURL=userPwl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userPwl.js","sourceRoot":"","sources":["../../src/backend/userPwl.ts"],"names":[],"mappings":";;AACA,8CAA2C;AAE3C,kBAAe,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAMlC,YAAY,EAAE,CAAC,IAAU,EAAE,EAAE,CAC3B,IAAA,uBAAU,EAAC,WAAW,EAAE;QACtB,MAAM;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;KACf,CAEA;IAMH,aAAa,EAAE,CAAC,SAAiB,EAAE,EAAE,CACnC,IAAA,uBAAU,EAAC,cAAc,SAAS,EAAE,EAAE;QACpC,MAAM;QACN,MAAM,EAAE,MAAM;KACf,CAA0B;IAO7B,iBAAiB,EAAE,CAAC,SAAiB,EAAE,EAAE,CACvC,IAAA,uBAAU,EAAC,YAAY,SAAS,EAAE,EAAE;QAClC,MAAM;KACP,CAIA;IAQH,UAAU,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAChD,IAAA,uBAAU,EAAC,YAAY,SAAS,IAAI,MAAM,EAAE,EAAE;QAC5C,MAAM;KACP,CAIA;IAOH,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE,CACrC,IAAA,uBAAU,EAAC,aAAa,SAAS,EAAE,EAAE;QACnC,MAAM;KACP,CAIA;IASH,wBAAwB,EAAE,CAAC,SAAiB,EAAE,OAAoB,EAAE,EAAE,CACpE,IAAA,uBAAU,EAAC,mBAAmB,SAAS,EAAE,EAAE;QACzC,MAAM;QACN,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM;KACf,CAKA;IAOH,aAAa,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CACnD,IAAA,uBAAU,EAAC,YAAY,SAAS,IAAI,MAAM,EAAE,EAAE;QAC5C,MAAM;QACN,MAAM,EAAE,QAAQ;KACjB,CAA0B;IAQ7B,aAAa,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,IAAU,EAAE,EAAE,CAC/D,IAAA,uBAAU,EAAC,YAAY,SAAS,IAAI,MAAM,EAAE,EAAE;QAC5C,MAAM;QACN,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,IAAI;KACX,CAIA;IAMH,kBAAkB,EAAE,CAAC,IAAU,EAAE,EAAE,CACjC,IAAA,uBAAU,EAAC,qBAAqB,EAAE;QAChC,MAAM;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;KACf,CAA0B;IAM7B,aAAa,EAAE,CAAC,SAAiB,EAAE,IAAmB,EAAE,EAAE,CACxD,IAAA,uBAAU,EAAC,YAAY,SAAS,EAAE,EAAE;QAClC,MAAM;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;KACf,CAA2C;IAQ9C,eAAe,EAAE,CAAC,GAAW,EAAE,EAAE,CAC/B,IAAA,uBAAU,EAAC,eAAe,EAAE;QAC1B,MAAM;QACN,IAAI,EAAE,EAAE,GAAG,EAAE;QACb,MAAM,EAAE,MAAM;KACf,CAEA;CACJ,CAAC,CAAC"}
package/dist/backend.d.ts CHANGED
@@ -249,6 +249,9 @@ declare const backendAPI: (apiUrl: string) => {
249
249
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string | undefined, memoryID?: string | undefined) => Promise<import("./types").ResponseSpec & {
250
250
  asset: import("./types").Asset;
251
251
  }>;
252
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<import("./types").ResponseSpec & {
253
+ asset: import("./types").Asset;
254
+ }>;
252
255
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
253
256
  getAssetList: (authToken: string) => Promise<import("./types").ResponseSpec & {
254
257
  assets: import("./types").Asset[];
@@ -262,6 +265,9 @@ declare const backendAPI: (apiUrl: string) => {
262
265
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string | undefined, memoryID?: string | undefined) => Promise<import("./types").ResponseSpec & {
263
266
  asset: import("./types").Asset;
264
267
  }>;
268
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<import("./types").ResponseSpec & {
269
+ asset: import("./types").Asset;
270
+ }>;
265
271
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
266
272
  getAssetList: (authToken: string) => Promise<import("./types").ResponseSpec & {
267
273
  assets: import("./types").Asset[];
package/dist/index.d.ts CHANGED
@@ -995,6 +995,9 @@ declare const api: (backendEndpoint?: string, engineEndpoint?: string) => {
995
995
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string | undefined, memoryID?: string | undefined) => Promise<import("./types").ResponseSpec & {
996
996
  asset: import("./types").Asset;
997
997
  }>;
998
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<import("./types").ResponseSpec & {
999
+ asset: import("./types").Asset;
1000
+ }>;
998
1001
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
999
1002
  getAssetList: (authToken: string) => Promise<import("./types").ResponseSpec & {
1000
1003
  assets: import("./types").Asset[];
@@ -1008,6 +1011,9 @@ declare const api: (backendEndpoint?: string, engineEndpoint?: string) => {
1008
1011
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string | undefined, memoryID?: string | undefined) => Promise<import("./types").ResponseSpec & {
1009
1012
  asset: import("./types").Asset;
1010
1013
  }>;
1014
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<import("./types").ResponseSpec & {
1015
+ asset: import("./types").Asset;
1016
+ }>;
1011
1017
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
1012
1018
  getAssetList: (authToken: string) => Promise<import("./types").ResponseSpec & {
1013
1019
  assets: import("./types").Asset[];
@@ -4,6 +4,9 @@ declare const _default: (apiUrl: string) => {
4
4
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string, memoryID?: string) => Promise<ResponseSpec & {
5
5
  asset: Asset;
6
6
  }>;
7
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<ResponseSpec & {
8
+ asset: Asset;
9
+ }>;
7
10
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
8
11
  getAssetList: (authToken: string) => Promise<ResponseSpec & {
9
12
  assets: Asset[];
@@ -12,6 +12,17 @@ export default (apiUrl) => ({
12
12
  });
13
13
  return (await upload.json());
14
14
  },
15
+ uploadAssetUnlogged: async (fileName, fileUrl, memoriID, sessionID) => {
16
+ const data = new FormData();
17
+ const file = await fetch(fileUrl);
18
+ const fileBlob = await file.blob();
19
+ data.append(fileName, fileBlob, fileName);
20
+ const upload = await fetch(`${apiUrl}/Asset/unlogged/${memoriID}/${sessionID}`, {
21
+ method: 'POST',
22
+ body: data,
23
+ });
24
+ return (await upload.json());
25
+ },
15
26
  getAsset: (fileName, sessionID) => apiFetcher(`/Asset/${fileName}/${sessionID}`, {
16
27
  apiUrl,
17
28
  method: 'GET',
@@ -1 +1 @@
1
- {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/backend/asset.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAe,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAQlC,iBAAiB,EAAE,CACjB,SAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,EAAE,CACF,GAAG,MAAM,UAAU,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAC3D,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC9B,EAAE;IASJ,WAAW,EAAE,KAAK,EAChB,QAAgB,EAChB,OAAe,EACf,SAAiB,EACjB,QAAiB,EACjB,QAAiB,EACjB,EAAE;QACF,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,GAAG,MAAM,UAAU,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,GAC3D,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAC9B,EAAE,EACF;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;SACX,CACF,CAAC;QACF,OAAO,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAI1B,CAAC;IACJ,CAAC;IAQD,QAAQ,EAAE,CAAC,QAAgB,EAAE,SAAiB,EAAE,EAAE,CAChD,UAAU,CAAC,UAAU,QAAQ,IAAI,SAAS,EAAE,EAAE;QAC5C,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAAC;IAOJ,YAAY,EAAE,CAAC,SAAiB,EAAE,EAAE,CAClC,UAAU,CAAC,WAAW,SAAS,EAAE,EAAE;QACjC,MAAM;QACN,MAAM,EAAE,KAAK;KACd,CAAgD;IAQnD,WAAW,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,KAAY,EAAE,EAAE,CACjE,UAAU,CAAC,UAAU,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACpE,MAAM;QACN,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,KAAK;KACZ,CAA6C;IAOhD,WAAW,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,EAAE,CACnD,UAAU,CAAC,UAAU,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACpE,MAAM;QACN,MAAM,EAAE,QAAQ;KACjB,CAA0B;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"asset.js","sourceRoot":"","sources":["../../src/backend/asset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { ResponseSpec, User, UserFilters } from '../types';
2
+ declare const _default: (apiUrl: string) => {
3
+ pwlUserLogin: (user: User) => Promise<ResponseSpec & {
4
+ user: User;
5
+ token?: string | undefined;
6
+ flowID?: string | undefined;
7
+ }>;
8
+ pwlUserLogout: (authToken: string) => Promise<ResponseSpec>;
9
+ pwlGetCurrentUser: (authToken: string) => Promise<ResponseSpec & {
10
+ user: User;
11
+ }>;
12
+ pwlGetUser: (authToken: string, userID: string) => Promise<ResponseSpec & {
13
+ user: User;
14
+ }>;
15
+ pwlGetUsersList: (authToken: string) => Promise<ResponseSpec & {
16
+ users: User[];
17
+ }>;
18
+ pwlGetUsersListPaginated: (authToken: string, filters: UserFilters) => Promise<ResponseSpec & {
19
+ users: User[];
20
+ count: number;
21
+ }>;
22
+ pwlDeleteUser: (authToken: string, userID: string) => Promise<ResponseSpec>;
23
+ pwlUpdateUser: (authToken: string, userID: string, user: User) => Promise<ResponseSpec & {
24
+ user: User;
25
+ }>;
26
+ pwlRecoverUsername: (user: User) => Promise<ResponseSpec>;
27
+ pwlCreateUser: (authToken: string, user: Partial<User>) => Promise<ResponseSpec & {
28
+ user: User;
29
+ }>;
30
+ pwlLoginWithJWT: (jwt: string) => Promise<ResponseSpec & {
31
+ user: User;
32
+ token?: string | undefined;
33
+ flowID?: string | undefined;
34
+ }>;
35
+ };
36
+ export default _default;
@@ -0,0 +1,51 @@
1
+ import { apiFetcher } from '../apiFetcher';
2
+ export default (apiUrl) => ({
3
+ pwlUserLogin: (user) => apiFetcher('/PwlLogin', {
4
+ apiUrl,
5
+ body: user,
6
+ method: 'POST',
7
+ }),
8
+ pwlUserLogout: (authToken) => apiFetcher(`/PwlLogout/${authToken}`, {
9
+ apiUrl,
10
+ method: 'POST',
11
+ }),
12
+ pwlGetCurrentUser: (authToken) => apiFetcher(`/PwlUser/${authToken}`, {
13
+ apiUrl,
14
+ }),
15
+ pwlGetUser: (authToken, userID) => apiFetcher(`/PwlUser/${authToken}/${userID}`, {
16
+ apiUrl,
17
+ }),
18
+ pwlGetUsersList: (authToken) => apiFetcher(`/PwlUsers/${authToken}`, {
19
+ apiUrl,
20
+ }),
21
+ pwlGetUsersListPaginated: (authToken, filters) => apiFetcher(`/FilterPwlUsers/${authToken}`, {
22
+ apiUrl,
23
+ body: filters,
24
+ method: 'POST',
25
+ }),
26
+ pwlDeleteUser: (authToken, userID) => apiFetcher(`/PwlUser/${authToken}/${userID}`, {
27
+ apiUrl,
28
+ method: 'DELETE',
29
+ }),
30
+ pwlUpdateUser: (authToken, userID, user) => apiFetcher(`/PwlUser/${authToken}/${userID}`, {
31
+ apiUrl,
32
+ method: 'PATCH',
33
+ body: user,
34
+ }),
35
+ pwlRecoverUsername: (user) => apiFetcher(`/RecoverPwlUserName`, {
36
+ apiUrl,
37
+ body: user,
38
+ method: 'POST',
39
+ }),
40
+ pwlCreateUser: (authToken, user) => apiFetcher(`/PwlUser/${authToken}`, {
41
+ apiUrl,
42
+ body: user,
43
+ method: 'POST',
44
+ }),
45
+ pwlLoginWithJWT: (jwt) => apiFetcher('/LoginWithJWT', {
46
+ apiUrl,
47
+ body: { jwt },
48
+ method: 'POST',
49
+ }),
50
+ });
51
+ //# sourceMappingURL=userPwl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userPwl.js","sourceRoot":"","sources":["../../src/backend/userPwl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAe,CAAC,MAAc,EAAE,EAAE,CAAC,CAAC;IAMlC,YAAY,EAAE,CAAC,IAAU,EAAE,EAAE,CAC3B,UAAU,CAAC,WAAW,EAAE;QACtB,MAAM;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;KACf,CAEA;IAMH,aAAa,EAAE,CAAC,SAAiB,EAAE,EAAE,CACnC,UAAU,CAAC,cAAc,SAAS,EAAE,EAAE;QACpC,MAAM;QACN,MAAM,EAAE,MAAM;KACf,CAA0B;IAO7B,iBAAiB,EAAE,CAAC,SAAiB,EAAE,EAAE,CACvC,UAAU,CAAC,YAAY,SAAS,EAAE,EAAE;QAClC,MAAM;KACP,CAIA;IAQH,UAAU,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CAChD,UAAU,CAAC,YAAY,SAAS,IAAI,MAAM,EAAE,EAAE;QAC5C,MAAM;KACP,CAIA;IAOH,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE,CACrC,UAAU,CAAC,aAAa,SAAS,EAAE,EAAE;QACnC,MAAM;KACP,CAIA;IASH,wBAAwB,EAAE,CAAC,SAAiB,EAAE,OAAoB,EAAE,EAAE,CACpE,UAAU,CAAC,mBAAmB,SAAS,EAAE,EAAE;QACzC,MAAM;QACN,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,MAAM;KACf,CAKA;IAOH,aAAa,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,EAAE,CACnD,UAAU,CAAC,YAAY,SAAS,IAAI,MAAM,EAAE,EAAE;QAC5C,MAAM;QACN,MAAM,EAAE,QAAQ;KACjB,CAA0B;IAQ7B,aAAa,EAAE,CAAC,SAAiB,EAAE,MAAc,EAAE,IAAU,EAAE,EAAE,CAC/D,UAAU,CAAC,YAAY,SAAS,IAAI,MAAM,EAAE,EAAE;QAC5C,MAAM;QACN,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,IAAI;KACX,CAIA;IAMH,kBAAkB,EAAE,CAAC,IAAU,EAAE,EAAE,CACjC,UAAU,CAAC,qBAAqB,EAAE;QAChC,MAAM;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;KACf,CAA0B;IAM7B,aAAa,EAAE,CAAC,SAAiB,EAAE,IAAmB,EAAE,EAAE,CACxD,UAAU,CAAC,YAAY,SAAS,EAAE,EAAE;QAClC,MAAM;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM;KACf,CAA2C;IAQ9C,eAAe,EAAE,CAAC,GAAW,EAAE,EAAE,CAC/B,UAAU,CAAC,eAAe,EAAE;QAC1B,MAAM;QACN,IAAI,EAAE,EAAE,GAAG,EAAE;QACb,MAAM,EAAE,MAAM;KACf,CAEA;CACJ,CAAC,CAAC"}
package/esm/backend.d.ts CHANGED
@@ -249,6 +249,9 @@ declare const backendAPI: (apiUrl: string) => {
249
249
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string | undefined, memoryID?: string | undefined) => Promise<import("./types").ResponseSpec & {
250
250
  asset: import("./types").Asset;
251
251
  }>;
252
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<import("./types").ResponseSpec & {
253
+ asset: import("./types").Asset;
254
+ }>;
252
255
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
253
256
  getAssetList: (authToken: string) => Promise<import("./types").ResponseSpec & {
254
257
  assets: import("./types").Asset[];
@@ -262,6 +265,9 @@ declare const backendAPI: (apiUrl: string) => {
262
265
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string | undefined, memoryID?: string | undefined) => Promise<import("./types").ResponseSpec & {
263
266
  asset: import("./types").Asset;
264
267
  }>;
268
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<import("./types").ResponseSpec & {
269
+ asset: import("./types").Asset;
270
+ }>;
265
271
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
266
272
  getAssetList: (authToken: string) => Promise<import("./types").ResponseSpec & {
267
273
  assets: import("./types").Asset[];
package/esm/index.d.ts CHANGED
@@ -995,6 +995,9 @@ declare const api: (backendEndpoint?: string, engineEndpoint?: string) => {
995
995
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string | undefined, memoryID?: string | undefined) => Promise<import("./types").ResponseSpec & {
996
996
  asset: import("./types").Asset;
997
997
  }>;
998
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<import("./types").ResponseSpec & {
999
+ asset: import("./types").Asset;
1000
+ }>;
998
1001
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
999
1002
  getAssetList: (authToken: string) => Promise<import("./types").ResponseSpec & {
1000
1003
  assets: import("./types").Asset[];
@@ -1008,6 +1011,9 @@ declare const api: (backendEndpoint?: string, engineEndpoint?: string) => {
1008
1011
  uploadAsset: (fileName: string, fileUrl: string, authToken: string, memoriID?: string | undefined, memoryID?: string | undefined) => Promise<import("./types").ResponseSpec & {
1009
1012
  asset: import("./types").Asset;
1010
1013
  }>;
1014
+ uploadAssetUnlogged: (fileName: string, fileUrl: string, memoriID: string, sessionID: string) => Promise<import("./types").ResponseSpec & {
1015
+ asset: import("./types").Asset;
1016
+ }>;
1011
1017
  getAsset: (fileName: string, sessionID: string) => Promise<any>;
1012
1018
  getAssetList: (authToken: string) => Promise<import("./types").ResponseSpec & {
1013
1019
  assets: import("./types").Asset[];
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "6.5.4",
2
+ "version": "6.5.6",
3
3
  "name": "@memori.ai/memori-api-client",
4
4
  "description": "React library to integrate a Memori in your app or website",
5
5
  "license": "Apache-2.0",
@@ -54,6 +54,40 @@ export default (apiUrl: string) => ({
54
54
  >;
55
55
  },
56
56
 
57
+ /**
58
+ * Uploads a file and creates a new Asset object for unlogged users.
59
+ * @param {string} fileName - The file name
60
+ * @param {string} fileUrl - The URL of the file to upload
61
+ * @param {string} memoriID - The memori ID
62
+ * @param {string} sessionID - The session ID
63
+ * @returns Response of an Upload Asset request.
64
+ */
65
+ uploadAssetUnlogged: async (
66
+ fileName: string,
67
+ fileUrl: string,
68
+ memoriID: string,
69
+ sessionID: string
70
+ ) => {
71
+ const data = new FormData();
72
+ const file = await fetch(fileUrl);
73
+ const fileBlob = await file.blob();
74
+
75
+ data.append(fileName, fileBlob, fileName);
76
+
77
+ const upload = await fetch(
78
+ `${apiUrl}/Asset/unlogged/${memoriID}/${sessionID}`,
79
+ {
80
+ method: 'POST',
81
+ body: data,
82
+ }
83
+ );
84
+ return (await upload.json()) as Promise<
85
+ ResponseSpec & {
86
+ asset: Asset;
87
+ }
88
+ >;
89
+ },
90
+
57
91
  /**
58
92
  * Downloads a file from an Asset object
59
93
  * @param {string} fileName - The file name
@@ -0,0 +1,155 @@
1
+ import { ResponseSpec, User, UserFilters } from '../types';
2
+ import { apiFetcher } from '../apiFetcher';
3
+
4
+ export default (apiUrl: string) => ({
5
+ /**
6
+ * Tries a login with the specified credentials and returns a login token if successful.
7
+ * @param user - The user object
8
+ * @returns The logged in user object
9
+ */
10
+ pwlUserLogin: (user: User) =>
11
+ apiFetcher('/PwlLogin', {
12
+ apiUrl,
13
+ body: user,
14
+ method: 'POST',
15
+ }) as Promise<
16
+ ResponseSpec & { user: User; token?: string; flowID?: string }
17
+ >,
18
+
19
+ /**
20
+ * Logs out the user.
21
+ * @param authToken - The login token
22
+ */
23
+ pwlUserLogout: (authToken: string) =>
24
+ apiFetcher(`/PwlLogout/${authToken}`, {
25
+ apiUrl,
26
+ method: 'POST',
27
+ }) as Promise<ResponseSpec>,
28
+
29
+ /**
30
+ * Gets the details of the currently logged in User object.
31
+ * @param authToken - The login token
32
+ * @returns The user object
33
+ */
34
+ pwlGetCurrentUser: (authToken: string) =>
35
+ apiFetcher(`/PwlUser/${authToken}`, {
36
+ apiUrl,
37
+ }) as Promise<
38
+ ResponseSpec & {
39
+ user: User;
40
+ }
41
+ >,
42
+
43
+ /**
44
+ * Gets the details of a User object.
45
+ * @param authToken - The login token
46
+ * @param userID - The user ID
47
+ * @returns The user object
48
+ */
49
+ pwlGetUser: (authToken: string, userID: string) =>
50
+ apiFetcher(`/PwlUser/${authToken}/${userID}`, {
51
+ apiUrl,
52
+ }) as Promise<
53
+ ResponseSpec & {
54
+ user: User;
55
+ }
56
+ >,
57
+
58
+ /**
59
+ * Gets a list of all the existing User objects.
60
+ * @param authToken - The login token
61
+ * @returns A list of User objects
62
+ */
63
+ pwlGetUsersList: (authToken: string) =>
64
+ apiFetcher(`/PwlUsers/${authToken}`, {
65
+ apiUrl,
66
+ }) as Promise<
67
+ ResponseSpec & {
68
+ users: User[];
69
+ }
70
+ >,
71
+
72
+ /**
73
+ * Gets a list of all the existing User objects paginated.
74
+ * @param authToken - The login token
75
+ * @param from - The 0-based index of the first User object to list
76
+ * @param howMany - The number of User objects to list
77
+ * @returns A list of User objects
78
+ */
79
+ pwlGetUsersListPaginated: (authToken: string, filters: UserFilters) =>
80
+ apiFetcher(`/FilterPwlUsers/${authToken}`, {
81
+ apiUrl,
82
+ body: filters,
83
+ method: 'POST',
84
+ }) as Promise<
85
+ ResponseSpec & {
86
+ users: User[];
87
+ count: number;
88
+ }
89
+ >,
90
+
91
+ /**
92
+ * Deletes the currently logged in User.
93
+ * @param {string} authToken - The login token
94
+ * @param {string} userID: The User ID
95
+ */
96
+ pwlDeleteUser: (authToken: string, userID: string) =>
97
+ apiFetcher(`/PwlUser/${authToken}/${userID}`, {
98
+ apiUrl,
99
+ method: 'DELETE',
100
+ }) as Promise<ResponseSpec>,
101
+
102
+ /**
103
+ * Updates the details of a User object.
104
+ * @param authToken - The login token
105
+ * @param userID - The user ID
106
+ * @returns The user object
107
+ */
108
+ pwlUpdateUser: (authToken: string, userID: string, user: User) =>
109
+ apiFetcher(`/PwlUser/${authToken}/${userID}`, {
110
+ apiUrl,
111
+ method: 'PATCH',
112
+ body: user,
113
+ }) as Promise<
114
+ ResponseSpec & {
115
+ user: User;
116
+ }
117
+ >,
118
+
119
+ /**
120
+ * Recovers a User's name and sends it to their configured e-mail.
121
+ * @param {User} user - The user object
122
+ */
123
+ pwlRecoverUsername: (user: User) =>
124
+ apiFetcher(`/RecoverPwlUserName`, {
125
+ apiUrl,
126
+ body: user,
127
+ method: 'POST',
128
+ }) as Promise<ResponseSpec>,
129
+
130
+ /**
131
+ * Registers a new user.
132
+ * @param {User} user - The user object
133
+ */
134
+ pwlCreateUser: (authToken: string, user: Partial<User>) =>
135
+ apiFetcher(`/PwlUser/${authToken}`, {
136
+ apiUrl,
137
+ body: user,
138
+ method: 'POST',
139
+ }) as Promise<ResponseSpec & { user: User }>,
140
+
141
+ /**
142
+ * Tries a login with the specified JWT and returns a login token if successful.
143
+ * @param {object} payload - The payload object
144
+ * @param {string} payload.jwt - The JWT
145
+ * @returns The logged in user object
146
+ */
147
+ pwlLoginWithJWT: (jwt: string) =>
148
+ apiFetcher('/LoginWithJWT', {
149
+ apiUrl,
150
+ body: { jwt },
151
+ method: 'POST',
152
+ }) as Promise<
153
+ ResponseSpec & { user: User; token?: string; flowID?: string }
154
+ >,
155
+ });