@commercelayer/provisioning-sdk 1.0.0-beta.3 → 1.0.0-beta.5

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 (37) hide show
  1. package/lib/cjs/api.d.ts +6 -5
  2. package/lib/cjs/api.js +4 -1
  3. package/lib/cjs/commercelayer.d.ts +1 -0
  4. package/lib/cjs/commercelayer.js +1 -0
  5. package/lib/cjs/error.d.ts +5 -5
  6. package/lib/cjs/model.d.ts +1 -0
  7. package/lib/cjs/resources/api_credentials.d.ts +7 -4
  8. package/lib/cjs/resources/application_memberships.d.ts +61 -0
  9. package/lib/cjs/resources/application_memberships.js +45 -0
  10. package/lib/cjs/resources/memberships.d.ts +10 -0
  11. package/lib/cjs/resources/memberships.js +4 -0
  12. package/lib/cjs/resources/organizations.d.ts +5 -5
  13. package/lib/cjs/resources/permissions.d.ts +1 -1
  14. package/lib/cjs/resources/roles.d.ts +1 -1
  15. package/lib/cjs/resources/versions.d.ts +5 -5
  16. package/lib/cjs/static.d.ts +1 -1
  17. package/lib/cjs/static.js +2 -2
  18. package/lib/esm/api.d.ts +6 -5
  19. package/lib/esm/api.js +2 -0
  20. package/lib/esm/commercelayer.d.ts +1 -0
  21. package/lib/esm/commercelayer.js +1 -0
  22. package/lib/esm/error.d.ts +5 -5
  23. package/lib/esm/model.d.ts +1 -0
  24. package/lib/esm/resources/api_credentials.d.ts +7 -4
  25. package/lib/esm/resources/application_memberships.d.ts +61 -0
  26. package/lib/esm/resources/application_memberships.js +43 -0
  27. package/lib/esm/resources/memberships.d.ts +10 -0
  28. package/lib/esm/resources/memberships.js +4 -0
  29. package/lib/esm/resources/organizations.d.ts +5 -5
  30. package/lib/esm/resources/permissions.d.ts +1 -1
  31. package/lib/esm/resources/roles.d.ts +1 -1
  32. package/lib/esm/resources/versions.d.ts +5 -5
  33. package/lib/esm/static.d.ts +1 -1
  34. package/lib/esm/static.js +2 -2
  35. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  36. package/lib/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +10 -10
package/lib/cjs/api.d.ts CHANGED
@@ -4,14 +4,15 @@ import type { VersionType } from './resources/versions';
4
4
  * ©2023 Commerce Layer Inc.
5
5
  **/
6
6
  export { default as ApiCredentials } from './resources/api_credentials';
7
+ export { default as ApplicationMemberships } from './resources/application_memberships';
7
8
  export { default as Memberships } from './resources/memberships';
8
9
  export { default as Organizations } from './resources/organizations';
9
10
  export { default as Permissions } from './resources/permissions';
10
11
  export { default as Roles } from './resources/roles';
11
12
  export { default as Users } from './resources/user';
12
13
  export { default as Versions } from './resources/versions';
13
- export type ResourceTypeLock = 'api_credentials' | 'memberships' | 'organizations' | 'permissions' | 'roles' | 'user' | 'versions';
14
- export declare const resourceList: readonly ["api_credentials", "memberships", "organizations", "permissions", "roles", "user", "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"];
15
16
  export type RetrievableResourceType = ResourceTypeLock;
16
17
  export type RetrievableResource = Resource & {
17
18
  type: RetrievableResourceType;
@@ -20,15 +21,15 @@ export type ListableResourceType = Exclude<ResourceTypeLock, 'user'>;
20
21
  export type ListableResource = Resource & {
21
22
  type: ListableResourceType;
22
23
  };
23
- export type CreatableResourceType = 'api_credentials' | 'memberships' | 'organizations' | 'permissions' | 'roles';
24
+ export type CreatableResourceType = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles';
24
25
  export type CreatableResource = Resource & {
25
26
  type: CreatableResourceType;
26
27
  };
27
- export type UpdatableResourceType = 'api_credentials' | 'memberships' | 'organizations' | 'permissions' | 'roles';
28
+ export type UpdatableResourceType = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles';
28
29
  export type UpdatableResource = Resource & {
29
30
  type: UpdatableResourceType;
30
31
  };
31
- export type DeletableResourceType = 'api_credentials' | 'memberships';
32
+ export type DeletableResourceType = 'api_credentials' | 'application_memberships' | 'memberships';
32
33
  export type DeletableResource = Resource & {
33
34
  type: DeletableResourceType;
34
35
  };
package/lib/cjs/api.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resourceList = exports.Versions = exports.Users = exports.Roles = exports.Permissions = exports.Organizations = exports.Memberships = exports.ApiCredentials = void 0;
6
+ exports.resourceList = exports.Versions = exports.Users = exports.Roles = exports.Permissions = exports.Organizations = exports.Memberships = exports.ApplicationMemberships = exports.ApiCredentials = void 0;
7
7
  // ##__API_RESOURCES_START__##
8
8
  // ##__API_RESOURCES_TEMPLATE:: export { default as ##__RESOURCE_CLASS__## } from './resources/##__RESOURCE_TYPE__##'
9
9
  /**
@@ -11,6 +11,8 @@ exports.resourceList = exports.Versions = exports.Users = exports.Roles = export
11
11
  **/
12
12
  var api_credentials_1 = require("./resources/api_credentials");
13
13
  Object.defineProperty(exports, "ApiCredentials", { enumerable: true, get: function () { return __importDefault(api_credentials_1).default; } });
14
+ var application_memberships_1 = require("./resources/application_memberships");
15
+ Object.defineProperty(exports, "ApplicationMemberships", { enumerable: true, get: function () { return __importDefault(application_memberships_1).default; } });
14
16
  var memberships_1 = require("./resources/memberships");
15
17
  Object.defineProperty(exports, "Memberships", { enumerable: true, get: function () { return __importDefault(memberships_1).default; } });
16
18
  var organizations_1 = require("./resources/organizations");
@@ -27,6 +29,7 @@ Object.defineProperty(exports, "Versions", { enumerable: true, get: function ()
27
29
  exports.resourceList = [
28
30
  // ##__API_RESOURCE_LIST_START__##
29
31
  'api_credentials',
32
+ 'application_memberships',
30
33
  'memberships',
31
34
  'organizations',
32
35
  'permissions',
@@ -11,6 +11,7 @@ declare class CommerceLayerProvisioningClient {
11
11
  #private;
12
12
  readonly openApiSchemaVersion = "1.0.0";
13
13
  api_credentials: api.ApiCredentials;
14
+ application_memberships: api.ApplicationMemberships;
14
15
  memberships: api.Memberships;
15
16
  organizations: api.Organizations;
16
17
  permissions: api.Permissions;
@@ -59,6 +59,7 @@ class CommerceLayerProvisioningClient {
59
59
  // ##__CL_RESOURCES_INIT_START__##
60
60
  // ##__CL_RESOURCES_INIT_TEMPLATE:: ##__TAB__####__TAB__##this.##__RESOURCE_TYPE__## = new api.##__RESOURCE_CLASS__##(this.#adapter)
61
61
  this.api_credentials = new api.ApiCredentials(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
62
+ this.application_memberships = new api.ApplicationMemberships(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
62
63
  this.memberships = new api.Memberships(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
63
64
  this.organizations = new api.Organizations(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
64
65
  this.permissions = new api.Permissions(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
@@ -1,9 +1,9 @@
1
1
  declare enum ErrorType {
2
- CLIENT = "client",
3
- REQUEST = "request",
4
- RESPONSE = "response",
5
- CANCEL = "cancel",
6
- PARSE = "parse",
2
+ CLIENT = "client",// Error instantiating the client
3
+ REQUEST = "request",// Error preparing API request
4
+ RESPONSE = "response",// Error response from API
5
+ CANCEL = "cancel",// Forced request abort using interceptor
6
+ PARSE = "parse",// Error parsing API resource
7
7
  GENERIC = "generic"
8
8
  }
9
9
  declare class SdkError extends Error {
@@ -2,6 +2,7 @@
2
2
  * ©2023 Commerce Layer Inc.
3
3
  **/
4
4
  export type { ApiCredential, ApiCredentialCreate, ApiCredentialUpdate } from './resources/api_credentials';
5
+ export type { ApplicationMembership, ApplicationMembershipCreate, ApplicationMembershipUpdate } from './resources/application_memberships';
5
6
  export type { Membership, MembershipCreate, MembershipUpdate } from './resources/memberships';
6
7
  export type { Organization, OrganizationCreate, OrganizationUpdate } from './resources/organizations';
7
8
  export type { Permission, PermissionCreate, PermissionUpdate } from './resources/permissions';
@@ -17,12 +17,14 @@ interface ApiCredential extends Resource {
17
17
  readonly type: ApiCredentialType;
18
18
  name: string;
19
19
  kind: string;
20
- confidential?: boolean | null;
20
+ confidential: boolean;
21
21
  redirect_uri?: string | null;
22
- client_id?: string | null;
23
- client_secret?: string | null;
24
- scopes?: string | null;
22
+ client_id: string;
23
+ client_secret: string;
24
+ scopes: string;
25
25
  expires_in?: number | null;
26
+ mode: string;
27
+ custom?: boolean | null;
26
28
  organization?: Organization | null;
27
29
  role?: Role | null;
28
30
  }
@@ -31,6 +33,7 @@ interface ApiCredentialCreate extends ResourceCreate {
31
33
  kind: string;
32
34
  redirect_uri?: string | null;
33
35
  expires_in?: number | null;
36
+ custom?: boolean | null;
34
37
  organization: OrganizationRel;
35
38
  role?: RoleRel | null;
36
39
  }
@@ -0,0 +1,61 @@
1
+ import { ApiResource } from '../resource';
2
+ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel } from '../resource';
3
+ import type { QueryParamsRetrieve } from '../query';
4
+ import type { ApiCredential, ApiCredentialType } from './api_credentials';
5
+ import type { Membership, MembershipType } from './memberships';
6
+ import type { User, UserType } from './user';
7
+ import type { Organization, OrganizationType } from './organizations';
8
+ import type { Role, RoleType } from './roles';
9
+ type ApplicationMembershipType = 'application_memberships';
10
+ type ApplicationMembershipRel = ResourceRel & {
11
+ type: ApplicationMembershipType;
12
+ };
13
+ type ApiCredentialRel = ResourceRel & {
14
+ type: ApiCredentialType;
15
+ };
16
+ type MembershipRel = ResourceRel & {
17
+ type: MembershipType;
18
+ };
19
+ type UserRel = ResourceRel & {
20
+ type: UserType;
21
+ };
22
+ type OrganizationRel = ResourceRel & {
23
+ type: OrganizationType;
24
+ };
25
+ type RoleRel = ResourceRel & {
26
+ type: RoleType;
27
+ };
28
+ interface ApplicationMembership extends Resource {
29
+ readonly type: ApplicationMembershipType;
30
+ api_credential?: ApiCredential | null;
31
+ membership?: Membership | null;
32
+ user?: User | null;
33
+ organization?: Organization | null;
34
+ role?: Role | null;
35
+ }
36
+ interface ApplicationMembershipCreate extends ResourceCreate {
37
+ api_credential: ApiCredentialRel;
38
+ membership: MembershipRel;
39
+ user: UserRel;
40
+ organization: OrganizationRel;
41
+ role: RoleRel;
42
+ }
43
+ interface ApplicationMembershipUpdate extends ResourceUpdate {
44
+ role?: RoleRel | null;
45
+ }
46
+ declare class ApplicationMemberships extends ApiResource<ApplicationMembership> {
47
+ static readonly TYPE: ApplicationMembershipType;
48
+ create(resource: ApplicationMembershipCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<ApplicationMembership>;
49
+ update(resource: ApplicationMembershipUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<ApplicationMembership>;
50
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
51
+ api_credential(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<ApiCredential>;
52
+ membership(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Membership>;
53
+ user(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<User>;
54
+ organization(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Organization>;
55
+ role(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Role>;
56
+ isApplicationMembership(resource: any): resource is ApplicationMembership;
57
+ relationship(id: string | ResourceId | null): ApplicationMembershipRel;
58
+ type(): ApplicationMembershipType;
59
+ }
60
+ export default ApplicationMemberships;
61
+ export type { ApplicationMembership, ApplicationMembershipCreate, ApplicationMembershipUpdate, ApplicationMembershipType };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const resource_1 = require("../resource");
4
+ class ApplicationMemberships extends resource_1.ApiResource {
5
+ async create(resource, params, options) {
6
+ return this.resources.create({ ...resource, type: ApplicationMemberships.TYPE }, params, options);
7
+ }
8
+ async update(resource, params, options) {
9
+ return this.resources.update({ ...resource, type: ApplicationMemberships.TYPE }, params, options);
10
+ }
11
+ async delete(id, options) {
12
+ await this.resources.delete((typeof id === 'string') ? { id, type: ApplicationMemberships.TYPE } : id, options);
13
+ }
14
+ async api_credential(applicationMembershipId, params, options) {
15
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
16
+ return this.resources.fetch({ type: 'api_credentials' }, `application_memberships/${_applicationMembershipId}/api_credential`, params, options);
17
+ }
18
+ async membership(applicationMembershipId, params, options) {
19
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
20
+ return this.resources.fetch({ type: 'memberships' }, `application_memberships/${_applicationMembershipId}/membership`, params, options);
21
+ }
22
+ async user(applicationMembershipId, params, options) {
23
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
24
+ return this.resources.fetch({ type: 'user' }, `application_memberships/${_applicationMembershipId}/user`, params, options);
25
+ }
26
+ async organization(applicationMembershipId, params, options) {
27
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
28
+ return this.resources.fetch({ type: 'organizations' }, `application_memberships/${_applicationMembershipId}/organization`, params, options);
29
+ }
30
+ async role(applicationMembershipId, params, options) {
31
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
32
+ return this.resources.fetch({ type: 'roles' }, `application_memberships/${_applicationMembershipId}/role`, params, options);
33
+ }
34
+ isApplicationMembership(resource) {
35
+ return resource.type && (resource.type === ApplicationMemberships.TYPE);
36
+ }
37
+ relationship(id) {
38
+ return ((id === null) || (typeof id === 'string')) ? { id, type: ApplicationMemberships.TYPE } : { id: id.id, type: ApplicationMemberships.TYPE };
39
+ }
40
+ type() {
41
+ return ApplicationMemberships.TYPE;
42
+ }
43
+ }
44
+ ApplicationMemberships.TYPE = 'application_memberships';
45
+ exports.default = ApplicationMemberships;
@@ -3,6 +3,7 @@ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesCon
3
3
  import type { QueryParamsRetrieve, QueryParamsList } from '../query';
4
4
  import type { Organization, OrganizationType } from './organizations';
5
5
  import type { Role, RoleType } from './roles';
6
+ import type { ApplicationMembership, ApplicationMembershipType } from './application_memberships';
6
7
  import type { Version } from './versions';
7
8
  type MembershipType = 'memberships';
8
9
  type MembershipRel = ResourceRel & {
@@ -14,21 +15,29 @@ type OrganizationRel = ResourceRel & {
14
15
  type RoleRel = ResourceRel & {
15
16
  type: RoleType;
16
17
  };
18
+ type ApplicationMembershipRel = ResourceRel & {
19
+ type: ApplicationMembershipType;
20
+ };
17
21
  interface Membership extends Resource {
18
22
  readonly type: MembershipType;
19
23
  user_email: string;
24
+ user_first_name: string;
25
+ user_last_name: string;
20
26
  status: 'pending' | 'active';
21
27
  organization?: Organization | null;
22
28
  role?: Role | null;
29
+ application_memberships?: ApplicationMembership[] | null;
23
30
  versions?: Version[] | null;
24
31
  }
25
32
  interface MembershipCreate extends ResourceCreate {
26
33
  user_email: string;
27
34
  organization: OrganizationRel;
28
35
  role: RoleRel;
36
+ application_memberships?: ApplicationMembershipRel[] | null;
29
37
  }
30
38
  interface MembershipUpdate extends ResourceUpdate {
31
39
  role?: RoleRel | null;
40
+ application_memberships?: ApplicationMembershipRel[] | null;
32
41
  }
33
42
  declare class Memberships extends ApiResource<Membership> {
34
43
  static readonly TYPE: MembershipType;
@@ -37,6 +46,7 @@ declare class Memberships extends ApiResource<Membership> {
37
46
  delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
38
47
  organization(membershipId: string | Membership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Organization>;
39
48
  role(membershipId: string | Membership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Role>;
49
+ application_memberships(membershipId: string | Membership, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<ApplicationMembership>>;
40
50
  versions(membershipId: string | Membership, params?: QueryParamsList, options?: ResourcesConfig): Promise<ListResponse<Version>>;
41
51
  isMembership(resource: any): resource is Membership;
42
52
  relationship(id: string | ResourceId | null): MembershipRel;
@@ -19,6 +19,10 @@ class Memberships extends resource_1.ApiResource {
19
19
  const _membershipId = membershipId.id || membershipId;
20
20
  return this.resources.fetch({ type: 'roles' }, `memberships/${_membershipId}/role`, params, options);
21
21
  }
22
+ async application_memberships(membershipId, params, options) {
23
+ const _membershipId = membershipId.id || membershipId;
24
+ return this.resources.fetch({ type: 'application_memberships' }, `memberships/${_membershipId}/application_memberships`, params, options);
25
+ }
22
26
  async versions(membershipId, params, options) {
23
27
  const _membershipId = membershipId.id || membershipId;
24
28
  return this.resources.fetch({ type: 'versions' }, `memberships/${_membershipId}/versions`, params, options);
@@ -12,8 +12,8 @@ type OrganizationRel = ResourceRel & {
12
12
  interface Organization extends Resource {
13
13
  readonly type: OrganizationType;
14
14
  name: string;
15
- slug?: string | null;
16
- domain?: string | null;
15
+ slug: string;
16
+ domain: string;
17
17
  support_phone?: string | null;
18
18
  support_email?: string | null;
19
19
  logo_url?: string | null;
@@ -25,9 +25,9 @@ interface Organization extends Resource {
25
25
  discount_disabled?: boolean | null;
26
26
  account_disabled?: boolean | null;
27
27
  acceptance_disabled?: boolean | null;
28
- max_concurrent_promotions?: number | null;
29
- max_concurrent_imports?: number | null;
30
- associated_markets?: Record<string, any> | null;
28
+ max_concurrent_promotions: number;
29
+ max_concurrent_imports: number;
30
+ associated_markets: Record<string, any>;
31
31
  region?: string | null;
32
32
  memberships?: Membership[] | null;
33
33
  roles?: Role[] | null;
@@ -18,7 +18,7 @@ interface Permission extends Resource {
18
18
  can_update: boolean;
19
19
  can_destroy: boolean;
20
20
  subject: string;
21
- restrictions?: Record<string, any> | null;
21
+ restrictions: Record<string, any>;
22
22
  organization?: Organization | null;
23
23
  role?: Role | null;
24
24
  versions?: Version[] | null;
@@ -16,7 +16,7 @@ type OrganizationRel = ResourceRel & {
16
16
  interface Role extends Resource {
17
17
  readonly type: RoleType;
18
18
  name: string;
19
- kind?: string | null;
19
+ kind: string;
20
20
  organization?: Organization | null;
21
21
  permissions?: Permission[] | null;
22
22
  memberships?: Membership[] | null;
@@ -6,11 +6,11 @@ type VersionRel = ResourceRel & {
6
6
  };
7
7
  interface Version extends Resource {
8
8
  readonly type: VersionType;
9
- resource_type?: string | null;
10
- resource_id?: string | null;
11
- event?: string | null;
12
- changes?: Record<string, any> | null;
13
- who?: Record<string, any> | null;
9
+ resource_type: string;
10
+ resource_id: string;
11
+ event: string;
12
+ changes: Record<string, any>;
13
+ who: Record<string, any>;
14
14
  }
15
15
  declare class Versions extends ApiResource<Version> {
16
16
  static readonly TYPE: VersionType;
@@ -1,7 +1,7 @@
1
1
  import { SdkError, ApiError } from './error';
2
2
  import type { CommerceLayerProvisioningClient, CommerceLayerInitConfig } from './commercelayer';
3
3
  export declare const CommerceLayerProvisioningStatic: {
4
- resources: () => readonly string[];
4
+ resources: (sort?: boolean) => readonly string[];
5
5
  isSdkError: (error: unknown) => error is SdkError;
6
6
  isApiError: (error: unknown) => error is ApiError;
7
7
  init: (config: CommerceLayerInitConfig) => CommerceLayerProvisioningClient;
package/lib/cjs/static.js CHANGED
@@ -29,8 +29,8 @@ const error_1 = require("./error");
29
29
  const commercelayer_1 = __importStar(require("./commercelayer"));
30
30
  /* Static functions */
31
31
  exports.CommerceLayerProvisioningStatic = {
32
- resources: () => {
33
- return api.resourceList;
32
+ resources: (sort) => {
33
+ return sort ? [...api.resourceList].sort() : api.resourceList;
34
34
  },
35
35
  isSdkError: (error) => {
36
36
  return error_1.SdkError.isSdkError(error);
package/lib/esm/api.d.ts CHANGED
@@ -4,14 +4,15 @@ import type { VersionType } from './resources/versions';
4
4
  * ©2023 Commerce Layer Inc.
5
5
  **/
6
6
  export { default as ApiCredentials } from './resources/api_credentials';
7
+ export { default as ApplicationMemberships } from './resources/application_memberships';
7
8
  export { default as Memberships } from './resources/memberships';
8
9
  export { default as Organizations } from './resources/organizations';
9
10
  export { default as Permissions } from './resources/permissions';
10
11
  export { default as Roles } from './resources/roles';
11
12
  export { default as Users } from './resources/user';
12
13
  export { default as Versions } from './resources/versions';
13
- export type ResourceTypeLock = 'api_credentials' | 'memberships' | 'organizations' | 'permissions' | 'roles' | 'user' | 'versions';
14
- export declare const resourceList: readonly ["api_credentials", "memberships", "organizations", "permissions", "roles", "user", "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"];
15
16
  export type RetrievableResourceType = ResourceTypeLock;
16
17
  export type RetrievableResource = Resource & {
17
18
  type: RetrievableResourceType;
@@ -20,15 +21,15 @@ export type ListableResourceType = Exclude<ResourceTypeLock, 'user'>;
20
21
  export type ListableResource = Resource & {
21
22
  type: ListableResourceType;
22
23
  };
23
- export type CreatableResourceType = 'api_credentials' | 'memberships' | 'organizations' | 'permissions' | 'roles';
24
+ export type CreatableResourceType = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles';
24
25
  export type CreatableResource = Resource & {
25
26
  type: CreatableResourceType;
26
27
  };
27
- export type UpdatableResourceType = 'api_credentials' | 'memberships' | 'organizations' | 'permissions' | 'roles';
28
+ export type UpdatableResourceType = 'api_credentials' | 'application_memberships' | 'memberships' | 'organizations' | 'permissions' | 'roles';
28
29
  export type UpdatableResource = Resource & {
29
30
  type: UpdatableResourceType;
30
31
  };
31
- export type DeletableResourceType = 'api_credentials' | 'memberships';
32
+ export type DeletableResourceType = 'api_credentials' | 'application_memberships' | 'memberships';
32
33
  export type DeletableResource = Resource & {
33
34
  type: DeletableResourceType;
34
35
  };
package/lib/esm/api.js CHANGED
@@ -4,6 +4,7 @@
4
4
  * ©2023 Commerce Layer Inc.
5
5
  **/
6
6
  export { default as ApiCredentials } from './resources/api_credentials';
7
+ export { default as ApplicationMemberships } from './resources/application_memberships';
7
8
  export { default as Memberships } from './resources/memberships';
8
9
  export { default as Organizations } from './resources/organizations';
9
10
  export { default as Permissions } from './resources/permissions';
@@ -14,6 +15,7 @@ export { default as Versions } from './resources/versions';
14
15
  export const resourceList = [
15
16
  // ##__API_RESOURCE_LIST_START__##
16
17
  'api_credentials',
18
+ 'application_memberships',
17
19
  'memberships',
18
20
  'organizations',
19
21
  'permissions',
@@ -11,6 +11,7 @@ declare class CommerceLayerProvisioningClient {
11
11
  #private;
12
12
  readonly openApiSchemaVersion = "1.0.0";
13
13
  api_credentials: api.ApiCredentials;
14
+ application_memberships: api.ApplicationMemberships;
14
15
  memberships: api.Memberships;
15
16
  organizations: api.Organizations;
16
17
  permissions: api.Permissions;
@@ -30,6 +30,7 @@ class CommerceLayerProvisioningClient {
30
30
  // ##__CL_RESOURCES_INIT_START__##
31
31
  // ##__CL_RESOURCES_INIT_TEMPLATE:: ##__TAB__####__TAB__##this.##__RESOURCE_TYPE__## = new api.##__RESOURCE_CLASS__##(this.#adapter)
32
32
  this.api_credentials = new api.ApiCredentials(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
33
+ this.application_memberships = new api.ApplicationMemberships(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
33
34
  this.memberships = new api.Memberships(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
34
35
  this.organizations = new api.Organizations(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
35
36
  this.permissions = new api.Permissions(__classPrivateFieldGet(this, _CommerceLayerProvisioningClient_adapter, "f"));
@@ -1,9 +1,9 @@
1
1
  declare enum ErrorType {
2
- CLIENT = "client",
3
- REQUEST = "request",
4
- RESPONSE = "response",
5
- CANCEL = "cancel",
6
- PARSE = "parse",
2
+ CLIENT = "client",// Error instantiating the client
3
+ REQUEST = "request",// Error preparing API request
4
+ RESPONSE = "response",// Error response from API
5
+ CANCEL = "cancel",// Forced request abort using interceptor
6
+ PARSE = "parse",// Error parsing API resource
7
7
  GENERIC = "generic"
8
8
  }
9
9
  declare class SdkError extends Error {
@@ -2,6 +2,7 @@
2
2
  * ©2023 Commerce Layer Inc.
3
3
  **/
4
4
  export type { ApiCredential, ApiCredentialCreate, ApiCredentialUpdate } from './resources/api_credentials';
5
+ export type { ApplicationMembership, ApplicationMembershipCreate, ApplicationMembershipUpdate } from './resources/application_memberships';
5
6
  export type { Membership, MembershipCreate, MembershipUpdate } from './resources/memberships';
6
7
  export type { Organization, OrganizationCreate, OrganizationUpdate } from './resources/organizations';
7
8
  export type { Permission, PermissionCreate, PermissionUpdate } from './resources/permissions';
@@ -17,12 +17,14 @@ interface ApiCredential extends Resource {
17
17
  readonly type: ApiCredentialType;
18
18
  name: string;
19
19
  kind: string;
20
- confidential?: boolean | null;
20
+ confidential: boolean;
21
21
  redirect_uri?: string | null;
22
- client_id?: string | null;
23
- client_secret?: string | null;
24
- scopes?: string | null;
22
+ client_id: string;
23
+ client_secret: string;
24
+ scopes: string;
25
25
  expires_in?: number | null;
26
+ mode: string;
27
+ custom?: boolean | null;
26
28
  organization?: Organization | null;
27
29
  role?: Role | null;
28
30
  }
@@ -31,6 +33,7 @@ interface ApiCredentialCreate extends ResourceCreate {
31
33
  kind: string;
32
34
  redirect_uri?: string | null;
33
35
  expires_in?: number | null;
36
+ custom?: boolean | null;
34
37
  organization: OrganizationRel;
35
38
  role?: RoleRel | null;
36
39
  }
@@ -0,0 +1,61 @@
1
+ import { ApiResource } from '../resource';
2
+ import type { Resource, ResourceCreate, ResourceUpdate, ResourceId, ResourcesConfig, ResourceRel } from '../resource';
3
+ import type { QueryParamsRetrieve } from '../query';
4
+ import type { ApiCredential, ApiCredentialType } from './api_credentials';
5
+ import type { Membership, MembershipType } from './memberships';
6
+ import type { User, UserType } from './user';
7
+ import type { Organization, OrganizationType } from './organizations';
8
+ import type { Role, RoleType } from './roles';
9
+ type ApplicationMembershipType = 'application_memberships';
10
+ type ApplicationMembershipRel = ResourceRel & {
11
+ type: ApplicationMembershipType;
12
+ };
13
+ type ApiCredentialRel = ResourceRel & {
14
+ type: ApiCredentialType;
15
+ };
16
+ type MembershipRel = ResourceRel & {
17
+ type: MembershipType;
18
+ };
19
+ type UserRel = ResourceRel & {
20
+ type: UserType;
21
+ };
22
+ type OrganizationRel = ResourceRel & {
23
+ type: OrganizationType;
24
+ };
25
+ type RoleRel = ResourceRel & {
26
+ type: RoleType;
27
+ };
28
+ interface ApplicationMembership extends Resource {
29
+ readonly type: ApplicationMembershipType;
30
+ api_credential?: ApiCredential | null;
31
+ membership?: Membership | null;
32
+ user?: User | null;
33
+ organization?: Organization | null;
34
+ role?: Role | null;
35
+ }
36
+ interface ApplicationMembershipCreate extends ResourceCreate {
37
+ api_credential: ApiCredentialRel;
38
+ membership: MembershipRel;
39
+ user: UserRel;
40
+ organization: OrganizationRel;
41
+ role: RoleRel;
42
+ }
43
+ interface ApplicationMembershipUpdate extends ResourceUpdate {
44
+ role?: RoleRel | null;
45
+ }
46
+ declare class ApplicationMemberships extends ApiResource<ApplicationMembership> {
47
+ static readonly TYPE: ApplicationMembershipType;
48
+ create(resource: ApplicationMembershipCreate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<ApplicationMembership>;
49
+ update(resource: ApplicationMembershipUpdate, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<ApplicationMembership>;
50
+ delete(id: string | ResourceId, options?: ResourcesConfig): Promise<void>;
51
+ api_credential(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<ApiCredential>;
52
+ membership(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Membership>;
53
+ user(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<User>;
54
+ organization(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Organization>;
55
+ role(applicationMembershipId: string | ApplicationMembership, params?: QueryParamsRetrieve, options?: ResourcesConfig): Promise<Role>;
56
+ isApplicationMembership(resource: any): resource is ApplicationMembership;
57
+ relationship(id: string | ResourceId | null): ApplicationMembershipRel;
58
+ type(): ApplicationMembershipType;
59
+ }
60
+ export default ApplicationMemberships;
61
+ export type { ApplicationMembership, ApplicationMembershipCreate, ApplicationMembershipUpdate, ApplicationMembershipType };
@@ -0,0 +1,43 @@
1
+ import { ApiResource } from '../resource';
2
+ class ApplicationMemberships extends ApiResource {
3
+ async create(resource, params, options) {
4
+ return this.resources.create({ ...resource, type: ApplicationMemberships.TYPE }, params, options);
5
+ }
6
+ async update(resource, params, options) {
7
+ return this.resources.update({ ...resource, type: ApplicationMemberships.TYPE }, params, options);
8
+ }
9
+ async delete(id, options) {
10
+ await this.resources.delete((typeof id === 'string') ? { id, type: ApplicationMemberships.TYPE } : id, options);
11
+ }
12
+ async api_credential(applicationMembershipId, params, options) {
13
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
14
+ return this.resources.fetch({ type: 'api_credentials' }, `application_memberships/${_applicationMembershipId}/api_credential`, params, options);
15
+ }
16
+ async membership(applicationMembershipId, params, options) {
17
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
18
+ return this.resources.fetch({ type: 'memberships' }, `application_memberships/${_applicationMembershipId}/membership`, params, options);
19
+ }
20
+ async user(applicationMembershipId, params, options) {
21
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
22
+ return this.resources.fetch({ type: 'user' }, `application_memberships/${_applicationMembershipId}/user`, params, options);
23
+ }
24
+ async organization(applicationMembershipId, params, options) {
25
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
26
+ return this.resources.fetch({ type: 'organizations' }, `application_memberships/${_applicationMembershipId}/organization`, params, options);
27
+ }
28
+ async role(applicationMembershipId, params, options) {
29
+ const _applicationMembershipId = applicationMembershipId.id || applicationMembershipId;
30
+ return this.resources.fetch({ type: 'roles' }, `application_memberships/${_applicationMembershipId}/role`, params, options);
31
+ }
32
+ isApplicationMembership(resource) {
33
+ return resource.type && (resource.type === ApplicationMemberships.TYPE);
34
+ }
35
+ relationship(id) {
36
+ return ((id === null) || (typeof id === 'string')) ? { id, type: ApplicationMemberships.TYPE } : { id: id.id, type: ApplicationMemberships.TYPE };
37
+ }
38
+ type() {
39
+ return ApplicationMemberships.TYPE;
40
+ }
41
+ }
42
+ ApplicationMemberships.TYPE = 'application_memberships';
43
+ export default ApplicationMemberships;