@commercelayer/provisioning-sdk 1.0.4 → 2.0.0-beta.1

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 (99) hide show
  1. package/lib/index.d.mts +665 -0
  2. package/lib/index.d.ts +665 -0
  3. package/lib/index.js +1 -0
  4. package/lib/index.mjs +1 -0
  5. package/package.json +22 -26
  6. package/lib/cjs/api.d.ts +0 -43
  7. package/lib/cjs/api.js +0 -45
  8. package/lib/cjs/client.d.ts +0 -42
  9. package/lib/cjs/client.js +0 -149
  10. package/lib/cjs/commercelayer.d.ts +0 -39
  11. package/lib/cjs/commercelayer.js +0 -130
  12. package/lib/cjs/common.d.ts +0 -5
  13. package/lib/cjs/common.js +0 -12
  14. package/lib/cjs/config.d.ts +0 -15
  15. package/lib/cjs/config.js +0 -19
  16. package/lib/cjs/debug.d.ts +0 -3
  17. package/lib/cjs/debug.js +0 -38
  18. package/lib/cjs/error.d.ts +0 -31
  19. package/lib/cjs/error.js +0 -77
  20. package/lib/cjs/index.d.ts +0 -7
  21. package/lib/cjs/index.js +0 -13
  22. package/lib/cjs/interceptor.d.ts +0 -25
  23. package/lib/cjs/interceptor.js +0 -2
  24. package/lib/cjs/jsonapi.d.ts +0 -6
  25. package/lib/cjs/jsonapi.js +0 -94
  26. package/lib/cjs/model.d.ts +0 -11
  27. package/lib/cjs/model.js +0 -3
  28. package/lib/cjs/query.d.ts +0 -17
  29. package/lib/cjs/query.js +0 -52
  30. package/lib/cjs/resource.d.ts +0 -86
  31. package/lib/cjs/resource.js +0 -194
  32. package/lib/cjs/resources/api_credentials.d.ts +0 -59
  33. package/lib/cjs/resources/api_credentials.js +0 -33
  34. package/lib/cjs/resources/application_memberships.d.ts +0 -57
  35. package/lib/cjs/resources/application_memberships.js +0 -41
  36. package/lib/cjs/resources/memberships.d.ts +0 -58
  37. package/lib/cjs/resources/memberships.js +0 -45
  38. package/lib/cjs/resources/organizations.d.ts +0 -84
  39. package/lib/cjs/resources/organizations.js +0 -42
  40. package/lib/cjs/resources/permissions.d.ts +0 -52
  41. package/lib/cjs/resources/permissions.js +0 -34
  42. package/lib/cjs/resources/roles.d.ts +0 -47
  43. package/lib/cjs/resources/roles.js +0 -42
  44. package/lib/cjs/resources/user.d.ts +0 -29
  45. package/lib/cjs/resources/user.js +0 -20
  46. package/lib/cjs/resources/versions.d.ts +0 -22
  47. package/lib/cjs/resources/versions.js +0 -16
  48. package/lib/cjs/static.d.ts +0 -12
  49. package/lib/cjs/static.js +0 -51
  50. package/lib/cjs/util.d.ts +0 -9
  51. package/lib/cjs/util.js +0 -16
  52. package/lib/esm/api.d.ts +0 -43
  53. package/lib/esm/api.js +0 -31
  54. package/lib/esm/client.d.ts +0 -42
  55. package/lib/esm/client.js +0 -144
  56. package/lib/esm/commercelayer.d.ts +0 -39
  57. package/lib/esm/commercelayer.js +0 -101
  58. package/lib/esm/common.d.ts +0 -5
  59. package/lib/esm/common.js +0 -8
  60. package/lib/esm/config.d.ts +0 -15
  61. package/lib/esm/config.js +0 -17
  62. package/lib/esm/debug.d.ts +0 -3
  63. package/lib/esm/debug.js +0 -36
  64. package/lib/esm/error.d.ts +0 -31
  65. package/lib/esm/error.js +0 -69
  66. package/lib/esm/index.d.ts +0 -7
  67. package/lib/esm/index.js +0 -4
  68. package/lib/esm/interceptor.d.ts +0 -25
  69. package/lib/esm/interceptor.js +0 -1
  70. package/lib/esm/jsonapi.d.ts +0 -6
  71. package/lib/esm/jsonapi.js +0 -87
  72. package/lib/esm/model.d.ts +0 -11
  73. package/lib/esm/model.js +0 -2
  74. package/lib/esm/query.d.ts +0 -17
  75. package/lib/esm/query.js +0 -45
  76. package/lib/esm/resource.d.ts +0 -86
  77. package/lib/esm/resource.js +0 -187
  78. package/lib/esm/resources/api_credentials.d.ts +0 -59
  79. package/lib/esm/resources/api_credentials.js +0 -31
  80. package/lib/esm/resources/application_memberships.d.ts +0 -57
  81. package/lib/esm/resources/application_memberships.js +0 -39
  82. package/lib/esm/resources/memberships.d.ts +0 -58
  83. package/lib/esm/resources/memberships.js +0 -43
  84. package/lib/esm/resources/organizations.d.ts +0 -84
  85. package/lib/esm/resources/organizations.js +0 -40
  86. package/lib/esm/resources/permissions.d.ts +0 -52
  87. package/lib/esm/resources/permissions.js +0 -32
  88. package/lib/esm/resources/roles.d.ts +0 -47
  89. package/lib/esm/resources/roles.js +0 -40
  90. package/lib/esm/resources/user.d.ts +0 -29
  91. package/lib/esm/resources/user.js +0 -18
  92. package/lib/esm/resources/versions.d.ts +0 -22
  93. package/lib/esm/resources/versions.js +0 -14
  94. package/lib/esm/static.d.ts +0 -12
  95. package/lib/esm/static.js +0 -25
  96. package/lib/esm/util.d.ts +0 -9
  97. package/lib/esm/util.js +0 -37
  98. package/lib/tsconfig.esm.tsbuildinfo +0 -1
  99. package/lib/tsconfig.tsbuildinfo +0 -1
@@ -1,52 +0,0 @@
1
- import { ApiResource } from '../resource';
2
- import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
3
- import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
- import type { Organization } from './organizations';
5
- import type { Role, RoleType } from './roles';
6
- import type { Version } from './versions';
7
- type PermissionType = 'permissions';
8
- type PermissionRel = ResourceRel & {
9
- type: PermissionType;
10
- };
11
- type RoleRel = ResourceRel & {
12
- type: RoleType;
13
- };
14
- interface Permission extends Resource {
15
- readonly type: PermissionType;
16
- can_create: boolean;
17
- can_read: boolean;
18
- can_update: boolean;
19
- can_destroy: boolean;
20
- subject: string;
21
- restrictions: Record<string, any>;
22
- organization?: Organization | null;
23
- role?: Role | null;
24
- versions?: Version[] | null;
25
- }
26
- interface PermissionCreate extends ResourceCreate {
27
- can_create: boolean;
28
- can_read: boolean;
29
- can_update: boolean;
30
- can_destroy: boolean;
31
- subject: string;
32
- role: RoleRel;
33
- }
34
- interface PermissionUpdate extends ResourceUpdate {
35
- can_create?: boolean | null;
36
- can_read?: boolean | null;
37
- can_update?: boolean | null;
38
- can_destroy?: boolean | null;
39
- }
40
- declare class Permissions extends ApiResource<Permission> {
41
- static readonly TYPE: PermissionType;
42
- create(resource: PermissionCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Permission>;
43
- update(resource: PermissionUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Permission>;
44
- organization(permissionId: string | Permission, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Organization>;
45
- role(permissionId: string | Permission, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Role>;
46
- versions(permissionId: string | Permission, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Version>>;
47
- isPermission(resource: any): resource is Permission;
48
- relationship(id: string | ResourceId | null): PermissionRel;
49
- type(): PermissionType;
50
- }
51
- export default Permissions;
52
- export type { Permission, PermissionCreate, PermissionUpdate, PermissionType };
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const resource_1 = require("../resource");
4
- class Permissions extends resource_1.ApiResource {
5
- async create(resource, params, options) {
6
- return this.resources.create({ ...resource, type: Permissions.TYPE }, params, options);
7
- }
8
- async update(resource, params, options) {
9
- return this.resources.update({ ...resource, type: Permissions.TYPE }, params, options);
10
- }
11
- async organization(permissionId, params, options) {
12
- const _permissionId = permissionId.id || permissionId;
13
- return this.resources.fetch({ type: 'organizations' }, `permissions/${_permissionId}/organization`, params, options);
14
- }
15
- async role(permissionId, params, options) {
16
- const _permissionId = permissionId.id || permissionId;
17
- return this.resources.fetch({ type: 'roles' }, `permissions/${_permissionId}/role`, params, options);
18
- }
19
- async versions(permissionId, params, options) {
20
- const _permissionId = permissionId.id || permissionId;
21
- return this.resources.fetch({ type: 'versions' }, `permissions/${_permissionId}/versions`, params, options);
22
- }
23
- isPermission(resource) {
24
- return resource.type && (resource.type === Permissions.TYPE);
25
- }
26
- relationship(id) {
27
- return ((id === null) || (typeof id === 'string')) ? { id, type: Permissions.TYPE } : { id: id.id, type: Permissions.TYPE };
28
- }
29
- type() {
30
- return Permissions.TYPE;
31
- }
32
- }
33
- Permissions.TYPE = 'permissions';
34
- exports.default = Permissions;
@@ -1,47 +0,0 @@
1
- import { ApiResource } from '../resource';
2
- import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel, ListResponse } from '../resource';
3
- import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
- import type { Organization, OrganizationType } from './organizations';
5
- import type { Permission } from './permissions';
6
- import type { Membership } from './memberships';
7
- import type { ApiCredential } from './api_credentials';
8
- import type { Version } from './versions';
9
- type RoleType = 'roles';
10
- type RoleRel = ResourceRel & {
11
- type: RoleType;
12
- };
13
- type OrganizationRel = ResourceRel & {
14
- type: OrganizationType;
15
- };
16
- interface Role extends Resource {
17
- readonly type: RoleType;
18
- name: string;
19
- kind: string;
20
- organization?: Organization | null;
21
- permissions?: Permission[] | null;
22
- memberships?: Membership[] | null;
23
- api_credentials?: ApiCredential[] | null;
24
- versions?: Version[] | null;
25
- }
26
- interface RoleCreate extends ResourceCreate {
27
- name: string;
28
- organization: OrganizationRel;
29
- }
30
- interface RoleUpdate extends ResourceUpdate {
31
- name?: string | null;
32
- }
33
- declare class Roles extends ApiResource<Role> {
34
- static readonly TYPE: RoleType;
35
- create(resource: RoleCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Role>;
36
- update(resource: RoleUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Role>;
37
- organization(roleId: string | Role, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Organization>;
38
- permissions(roleId: string | Role, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Permission>>;
39
- memberships(roleId: string | Role, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Membership>>;
40
- api_credentials(roleId: string | Role, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<ApiCredential>>;
41
- versions(roleId: string | Role, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Version>>;
42
- isRole(resource: any): resource is Role;
43
- relationship(id: string | ResourceId | null): RoleRel;
44
- type(): RoleType;
45
- }
46
- export default Roles;
47
- export type { Role, RoleCreate, RoleUpdate, RoleType };
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const resource_1 = require("../resource");
4
- class Roles extends resource_1.ApiResource {
5
- async create(resource, params, options) {
6
- return this.resources.create({ ...resource, type: Roles.TYPE }, params, options);
7
- }
8
- async update(resource, params, options) {
9
- return this.resources.update({ ...resource, type: Roles.TYPE }, params, options);
10
- }
11
- async organization(roleId, params, options) {
12
- const _roleId = roleId.id || roleId;
13
- return this.resources.fetch({ type: 'organizations' }, `roles/${_roleId}/organization`, params, options);
14
- }
15
- async permissions(roleId, params, options) {
16
- const _roleId = roleId.id || roleId;
17
- return this.resources.fetch({ type: 'permissions' }, `roles/${_roleId}/permissions`, params, options);
18
- }
19
- async memberships(roleId, params, options) {
20
- const _roleId = roleId.id || roleId;
21
- return this.resources.fetch({ type: 'memberships' }, `roles/${_roleId}/memberships`, params, options);
22
- }
23
- async api_credentials(roleId, params, options) {
24
- const _roleId = roleId.id || roleId;
25
- return this.resources.fetch({ type: 'api_credentials' }, `roles/${_roleId}/api_credentials`, params, options);
26
- }
27
- async versions(roleId, params, options) {
28
- const _roleId = roleId.id || roleId;
29
- return this.resources.fetch({ type: 'versions' }, `roles/${_roleId}/versions`, params, options);
30
- }
31
- isRole(resource) {
32
- return resource.type && (resource.type === Roles.TYPE);
33
- }
34
- relationship(id) {
35
- return ((id === null) || (typeof id === 'string')) ? { id, type: Roles.TYPE } : { id: id.id, type: Roles.TYPE };
36
- }
37
- type() {
38
- return Roles.TYPE;
39
- }
40
- }
41
- Roles.TYPE = 'roles';
42
- exports.default = Roles;
@@ -1,29 +0,0 @@
1
- import { ApiSingleton } from '../resource';
2
- import type { Resource, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel } from '../resource';
3
- import type { QueryParamsRetrieve } from '../query';
4
- type UserType = 'user';
5
- type UserRel = ResourceRel & {
6
- type: UserType;
7
- };
8
- interface User extends Resource {
9
- readonly type: UserType;
10
- email: string;
11
- first_name: string;
12
- last_name: string;
13
- time_zone?: string | null;
14
- }
15
- interface UserUpdate extends ResourceUpdate {
16
- email?: string | null;
17
- first_name?: string | null;
18
- last_name?: string | null;
19
- time_zone?: string | null;
20
- }
21
- declare class Users extends ApiSingleton<User> {
22
- static readonly TYPE: UserType;
23
- update(resource: UserUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<User>;
24
- isUser(resource: any): resource is User;
25
- relationship(id: string | ResourceId | null): UserRel;
26
- type(): UserType;
27
- }
28
- export default Users;
29
- export type { User, UserUpdate, UserType };
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const resource_1 = require("../resource");
4
- class Users extends resource_1.ApiSingleton {
5
- async update(resource, params, options) {
6
- const res = await this.retrieve(params, options); // JsonAPI requires id in the request body
7
- return this.resources.update({ ...resource, id: res.id, type: Users.TYPE }, params, options);
8
- }
9
- isUser(resource) {
10
- return resource.type && (resource.type === Users.TYPE);
11
- }
12
- relationship(id) {
13
- return ((id === null) || (typeof id === 'string')) ? { id, type: Users.TYPE } : { id: id.id, type: Users.TYPE };
14
- }
15
- type() {
16
- return Users.TYPE;
17
- }
18
- }
19
- Users.TYPE = 'user';
20
- exports.default = Users;
@@ -1,22 +0,0 @@
1
- import { ApiResource } from '../resource';
2
- import type { Resource, ResourceId, ResourceRel } from '../resource';
3
- type VersionType = 'versions';
4
- type VersionRel = ResourceRel & {
5
- type: VersionType;
6
- };
7
- interface Version extends Resource {
8
- readonly type: VersionType;
9
- resource_type: string;
10
- resource_id: string;
11
- event: string;
12
- changes: Record<string, any>;
13
- who: Record<string, any>;
14
- }
15
- declare class Versions extends ApiResource<Version> {
16
- static readonly TYPE: VersionType;
17
- isVersion(resource: any): resource is Version;
18
- relationship(id: string | ResourceId | null): VersionRel;
19
- type(): VersionType;
20
- }
21
- export default Versions;
22
- export type { Version, VersionType };
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const resource_1 = require("../resource");
4
- class Versions extends resource_1.ApiResource {
5
- isVersion(resource) {
6
- return resource.type && (resource.type === Versions.TYPE);
7
- }
8
- relationship(id) {
9
- return ((id === null) || (typeof id === 'string')) ? { id, type: Versions.TYPE } : { id: id.id, type: Versions.TYPE };
10
- }
11
- type() {
12
- return Versions.TYPE;
13
- }
14
- }
15
- Versions.TYPE = 'versions';
16
- exports.default = Versions;
@@ -1,12 +0,0 @@
1
- import * as api from './api';
2
- import { SdkError, ApiError } from './error';
3
- import type { CommerceLayerProvisioningClient, CommerceLayerInitConfig } from './commercelayer';
4
- export declare const CommerceLayerProvisioningStatic: {
5
- resources: (sort?: boolean) => readonly string[];
6
- singletons: (sort?: boolean) => readonly string[];
7
- isSingleton: (resource: api.ResourceTypeLock) => boolean;
8
- isSdkError: (error: unknown) => error is SdkError;
9
- isApiError: (error: unknown) => error is ApiError;
10
- init: (config: CommerceLayerInitConfig) => CommerceLayerProvisioningClient;
11
- readonly schemaVersion: string;
12
- };
package/lib/cjs/static.js DELETED
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.CommerceLayerProvisioningStatic = void 0;
27
- const api = __importStar(require("./api"));
28
- const error_1 = require("./error");
29
- const commercelayer_1 = __importStar(require("./commercelayer"));
30
- /* Static functions */
31
- exports.CommerceLayerProvisioningStatic = {
32
- resources: (sort) => {
33
- return sort ? [...api.resourceList].sort() : api.resourceList;
34
- },
35
- singletons: (sort) => {
36
- return sort ? [...api.singletonList].sort() : api.singletonList;
37
- },
38
- isSingleton: (resource) => {
39
- return api.singletonList.includes(resource);
40
- },
41
- isSdkError: (error) => {
42
- return error_1.SdkError.isSdkError(error);
43
- },
44
- isApiError: (error) => {
45
- return error_1.ApiError.isApiError(error);
46
- },
47
- init: (config) => {
48
- return (0, commercelayer_1.default)(config);
49
- },
50
- get schemaVersion() { return commercelayer_1.OPEN_API_SCHEMA_VERSION; }
51
- };
package/lib/cjs/util.d.ts DELETED
@@ -1,9 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- /// <reference types="node" />
5
- /// <reference types="node" />
6
- import type { ObjectType } from "../src/common";
7
- declare const sleep: (ms: number) => Promise<NodeJS.Timeout>;
8
- declare const sortObjectFields: (obj: ObjectType) => ObjectType;
9
- export { sleep, sortObjectFields, };
package/lib/cjs/util.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sortObjectFields = exports.sleep = void 0;
4
- // import path from 'path'
5
- const sleep = async (ms) => {
6
- return new Promise(resolve => setTimeout(resolve, ms));
7
- };
8
- exports.sleep = sleep;
9
- const sortObjectFields = (obj) => {
10
- const sorted = Object.keys(obj).sort().reduce((accumulator, key) => {
11
- accumulator[key] = obj[key];
12
- return accumulator;
13
- }, {});
14
- return sorted;
15
- };
16
- exports.sortObjectFields = sortObjectFields;
package/lib/esm/api.d.ts DELETED
@@ -1,43 +0,0 @@
1
- import type { Resource, ResourceRel } from './resource';
2
- import type { VersionType } from './resources/versions';
3
- /**
4
- * ©2024 Commerce Layer Inc.
5
- **/
6
- export { default as ApiCredentials } from './resources/api_credentials';
7
- export { default as ApplicationMemberships } from './resources/application_memberships';
8
- export { default as Memberships } from './resources/memberships';
9
- export { default as Organizations } from './resources/organizations';
10
- export { default as Permissions } from './resources/permissions';
11
- export { default as Roles } from './resources/roles';
12
- export { default as Users } from './resources/user';
13
- export { default as Versions } from './resources/versions';
14
- export type ResourceTypeLock = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles' | 'user' | 'versions';
15
- export declare const resourceList: readonly ["api_credentials", "application_memberships", "memberships", "organizations", "permissions", "roles", "user", "versions"];
16
- export declare const singletonList: readonly ["user"];
17
- export type RetrievableResourceType = ResourceTypeLock;
18
- export type RetrievableResource = Resource & {
19
- type: RetrievableResourceType;
20
- };
21
- export type ListableResourceType = Exclude<ResourceTypeLock, 'user'>;
22
- export type ListableResource = Resource & {
23
- type: ListableResourceType;
24
- };
25
- export type CreatableResourceType = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles';
26
- export type CreatableResource = Resource & {
27
- type: CreatableResourceType;
28
- };
29
- export type UpdatableResourceType = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles';
30
- export type UpdatableResource = Resource & {
31
- type: UpdatableResourceType;
32
- };
33
- export type DeletableResourceType = 'api_credentials' | 'application_memberships' | 'memberships';
34
- export type DeletableResource = Resource & {
35
- type: DeletableResourceType;
36
- };
37
- export type VersionableResourceType = 'memberships' | 'permissions' | 'roles';
38
- export type VersionableResource = Resource & {
39
- type: VersionableResourceType;
40
- versions?: Array<ResourceRel & {
41
- type: VersionType;
42
- }> | null;
43
- };
package/lib/esm/api.js DELETED
@@ -1,31 +0,0 @@
1
- // ##__API_RESOURCES_START__##
2
- // ##__API_RESOURCES_TEMPLATE:: export { default as ##__RESOURCE_CLASS__## } from './resources/##__RESOURCE_TYPE__##'
3
- /**
4
- * ©2024 Commerce Layer Inc.
5
- **/
6
- export { default as ApiCredentials } from './resources/api_credentials';
7
- export { default as ApplicationMemberships } from './resources/application_memberships';
8
- export { default as Memberships } from './resources/memberships';
9
- export { default as Organizations } from './resources/organizations';
10
- export { default as Permissions } from './resources/permissions';
11
- export { default as Roles } from './resources/roles';
12
- export { default as Users } from './resources/user';
13
- export { default as Versions } from './resources/versions';
14
- // ##__API_RESOURCE_TYPES_STOP__##
15
- export const resourceList = [
16
- // ##__API_RESOURCE_LIST_START__##
17
- 'api_credentials',
18
- 'application_memberships',
19
- 'memberships',
20
- 'organizations',
21
- 'permissions',
22
- 'roles',
23
- 'user',
24
- 'versions'
25
- // ##__API_RESOURCE_LIST_STOP__##
26
- ];
27
- export const singletonList = [
28
- // ##__API_RESOURCE_SINGLETON_START__##
29
- 'user'
30
- // ##__API_RESOURCE_SINGLETON_STOP__##
31
- ];
@@ -1,42 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import type { AxiosAdapter, AxiosProxyConfig, Method } from 'axios';
4
- import type { InterceptorManager } from './interceptor';
5
- import type { Agent as HttpAgent } from 'http';
6
- import type { Agent as HttpsAgent } from 'https';
7
- type ProxyConfig = AxiosProxyConfig | false;
8
- type Adapter = AxiosAdapter;
9
- type RequestParams = Record<string, string | number | boolean>;
10
- type RequestHeaders = Record<string, string>;
11
- type RequestConfig = {
12
- timeout?: number;
13
- params?: RequestParams;
14
- httpAgent?: HttpAgent;
15
- httpsAgent?: HttpsAgent;
16
- proxy?: ProxyConfig;
17
- headers?: RequestHeaders;
18
- };
19
- type RequestConfigExtra = {
20
- adapter?: Adapter;
21
- userAgent?: string;
22
- };
23
- type ApiConfig = {
24
- domain?: string;
25
- accessToken: string;
26
- };
27
- type ApiClientInitConfig = ApiConfig & RequestConfig & RequestConfigExtra;
28
- type ApiClientConfig = Partial<ApiClientInitConfig>;
29
- declare class ApiClient {
30
- #private;
31
- static create(options: ApiClientInitConfig): ApiClient;
32
- baseUrl: string;
33
- interceptors: InterceptorManager;
34
- private constructor();
35
- config(config: ApiClientConfig): ApiClient;
36
- userAgent(userAgent: string): ApiClient;
37
- adapter(adapter: Adapter): ApiClient;
38
- request(method: Method, path: string, body?: any, options?: ApiClientConfig): Promise<any>;
39
- private customHeaders;
40
- }
41
- export default ApiClient;
42
- export type { ApiClientInitConfig, ApiClientConfig, RequestConfig };
package/lib/esm/client.js DELETED
@@ -1,144 +0,0 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _ApiClient_accessToken, _ApiClient_client;
13
- import axios from 'axios';
14
- import { SdkError, handleError } from './error';
15
- import config from './config';
16
- // import { packageInfo } from './util'
17
- import Debug from './debug';
18
- const debug = Debug('client');
19
- const baseURL = (domain) => {
20
- return `https://provisioning.${domain || config.default.domain}/api`;
21
- };
22
- class ApiClient {
23
- static create(options) {
24
- for (const attr of config.client.requiredAttributes)
25
- if (!options || !options[attr])
26
- throw new SdkError({ message: `Undefined '${attr}' parameter` });
27
- return new ApiClient(options);
28
- }
29
- constructor(options) {
30
- _ApiClient_accessToken.set(this, void 0);
31
- _ApiClient_client.set(this, void 0);
32
- debug('new client instance %O', options);
33
- this.baseUrl = baseURL(options.domain);
34
- __classPrivateFieldSet(this, _ApiClient_accessToken, options.accessToken, "f");
35
- const axiosConfig = {
36
- timeout: options.timeout || config.client.timeout,
37
- proxy: options.proxy,
38
- httpAgent: options.httpAgent,
39
- httpsAgent: options.httpsAgent
40
- };
41
- // Set custom headers
42
- const customHeaders = this.customHeaders(options.headers);
43
- // Set headers
44
- const headers = {
45
- ...customHeaders,
46
- 'Accept': 'application/vnd.api+json',
47
- 'Content-Type': 'application/vnd.api+json',
48
- 'Authorization': 'Bearer ' + __classPrivateFieldGet(this, _ApiClient_accessToken, "f")
49
- };
50
- // Set User-Agent
51
- let userAgent = options.userAgent; // || `SDK-provisioning axios/${axios.VERSION}`
52
- if (userAgent) {
53
- if (!userAgent.includes('axios/'))
54
- userAgent += ` axios/${axios.VERSION}`;
55
- headers['User-Agent'] = userAgent;
56
- }
57
- const axiosOptions = {
58
- baseURL: this.baseUrl,
59
- timeout: config.client.timeout,
60
- headers,
61
- ...axiosConfig
62
- };
63
- if (options.adapter)
64
- axiosOptions.adapter = options.adapter;
65
- debug('axios options: %O', axiosOptions);
66
- __classPrivateFieldSet(this, _ApiClient_client, axios.create(axiosOptions), "f");
67
- this.interceptors = __classPrivateFieldGet(this, _ApiClient_client, "f").interceptors;
68
- }
69
- config(config) {
70
- debug('config %o', config);
71
- const def = __classPrivateFieldGet(this, _ApiClient_client, "f").defaults;
72
- // Axios config
73
- if (config.timeout)
74
- def.timeout = config.timeout;
75
- if (config.proxy)
76
- def.proxy = config.proxy;
77
- if (config.httpAgent)
78
- def.httpAgent = config.httpAgent;
79
- if (config.httpsAgent)
80
- def.httpsAgent = config.httpsAgent;
81
- if (config.adapter)
82
- this.adapter(config.adapter);
83
- if (config.userAgent)
84
- this.userAgent(config.userAgent);
85
- // API Client config
86
- if (config.accessToken) {
87
- __classPrivateFieldSet(this, _ApiClient_accessToken, config.accessToken, "f");
88
- def.headers.common.Authorization = 'Bearer ' + __classPrivateFieldGet(this, _ApiClient_accessToken, "f");
89
- }
90
- if (config.headers)
91
- def.headers.common = this.customHeaders(config.headers);
92
- return this;
93
- }
94
- userAgent(userAgent) {
95
- if (userAgent) {
96
- let ua = userAgent;
97
- if (!ua.includes('axios/')) {
98
- // const axiosVer = packageInfo(['dependencies.axios'], { nestedName: true })
99
- if (axios.VERSION)
100
- ua += ` axios/${axios.VERSION}`;
101
- }
102
- __classPrivateFieldGet(this, _ApiClient_client, "f").defaults.headers['User-Agent'] = ua;
103
- }
104
- return this;
105
- }
106
- adapter(adapter) {
107
- if (adapter)
108
- __classPrivateFieldGet(this, _ApiClient_client, "f").defaults.adapter = adapter;
109
- return this;
110
- }
111
- async request(method, path, body, options) {
112
- debug('request %s %s, %O, %O', method, path, body || {}, options || {});
113
- // Ignored params alerts (in debug mode)
114
- if (options === null || options === void 0 ? void 0 : options.adapter)
115
- debug('Adapter ignored in request config');
116
- if (options === null || options === void 0 ? void 0 : options.userAgent)
117
- debug('User-Agent header ignored in request config');
118
- const data = body ? { data: body } : undefined;
119
- const url = path;
120
- // Runtime request parameters
121
- const accessToken = (options === null || options === void 0 ? void 0 : options.accessToken) || __classPrivateFieldGet(this, _ApiClient_accessToken, "f");
122
- const headers = this.customHeaders(options === null || options === void 0 ? void 0 : options.headers);
123
- if (accessToken)
124
- headers.Authorization = 'Bearer ' + accessToken;
125
- const requestParams = { method, url, data, ...options, headers };
126
- debug('request params: %O', requestParams);
127
- // const start = Date.now()
128
- return __classPrivateFieldGet(this, _ApiClient_client, "f").request(requestParams)
129
- .then(response => response.data)
130
- .catch((error) => handleError(error));
131
- // .finally(() => console.log(`<<-- ${method} ${path} ${Date.now() - start}`))
132
- }
133
- customHeaders(headers) {
134
- const customHeaders = {};
135
- if (headers) {
136
- for (const [name, value] of Object.entries(headers))
137
- if (!['accept', 'content-type', 'authorization', 'user-agent'].includes(name.toLowerCase()))
138
- customHeaders[name] = value;
139
- }
140
- return customHeaders;
141
- }
142
- }
143
- _ApiClient_accessToken = new WeakMap(), _ApiClient_client = new WeakMap();
144
- export default ApiClient;