@xemahq/identity-client 0.3.2 → 0.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { EnsureSystemOrgRequest, IdentityApiClientOptions, OnBehalfOfTokenRequest, OnBehalfOfTokenResponse, Organization, RegisterServiceRequest, RegisterServiceResponse, ServiceCredentials, VerifyMembershipResponse } from './types';
1
+ import type { CreateOrganizationRequest, EnsureSystemOrgRequest, IdentityApiClientOptions, OnBehalfOfTokenRequest, OnBehalfOfTokenResponse, Organization, OrganizationListParams, OrganizationListResponse, OrganizationRecord, RegisterServiceRequest, RegisterServiceResponse, ServiceCredentials, UpdateOrganizationRequest, VerifyMembershipResponse } from './types';
2
2
  export declare class IdentityApiClient {
3
3
  private readonly baseUrl;
4
4
  private readonly internalToken;
@@ -10,9 +10,16 @@ export declare class IdentityApiClient {
10
10
  ensureSystemOrg(request: EnsureSystemOrgRequest): Promise<Organization>;
11
11
  getSystemOrg(name: string): Promise<Organization>;
12
12
  listOrgIds(realm: string): Promise<string[]>;
13
+ listOrganizations(realm: string, params?: OrganizationListParams): Promise<OrganizationListResponse>;
14
+ getOrganization(id: string, realm: string): Promise<OrganizationRecord>;
15
+ createOrganization(input: CreateOrganizationRequest): Promise<OrganizationRecord>;
16
+ updateOrganization(id: string, input: UpdateOrganizationRequest): Promise<OrganizationRecord>;
17
+ deleteOrganization(id: string, realm: string): Promise<void>;
13
18
  mintOnBehalfOfToken(request: OnBehalfOfTokenRequest): Promise<OnBehalfOfTokenResponse>;
14
19
  private get;
15
20
  private post;
21
+ private patch;
22
+ private getEnvelope;
16
23
  private request;
17
24
  }
18
25
  export declare class IdentityApiError extends Error {
package/dist/client.js CHANGED
@@ -50,6 +50,30 @@ class IdentityApiClient {
50
50
  async listOrgIds(realm) {
51
51
  return this.get(`/internal/organizations/all-ids?realm=${encodeURIComponent(realm)}`);
52
52
  }
53
+ async listOrganizations(realm, params) {
54
+ const search = new URLSearchParams({ realm });
55
+ if (params?.skip !== undefined) {
56
+ search.set('skip', String(params.skip));
57
+ }
58
+ if (params?.take !== undefined) {
59
+ search.set('take', String(params.take));
60
+ }
61
+ return this.getEnvelope(`/internal/organizations?${search.toString()}`);
62
+ }
63
+ async getOrganization(id, realm) {
64
+ const search = new URLSearchParams({ realm });
65
+ return this.get(`/internal/organizations/${encodeURIComponent(id)}?${search.toString()}`);
66
+ }
67
+ async createOrganization(input) {
68
+ return this.post('/internal/organizations', input);
69
+ }
70
+ async updateOrganization(id, input) {
71
+ return this.patch(`/internal/organizations/${encodeURIComponent(id)}`, input);
72
+ }
73
+ async deleteOrganization(id, realm) {
74
+ const search = new URLSearchParams({ realm });
75
+ await this.request('DELETE', `/internal/organizations/${encodeURIComponent(id)}?${search.toString()}`);
76
+ }
53
77
  async mintOnBehalfOfToken(request) {
54
78
  return this.post('/internal/tokens/on-behalf-of', request);
55
79
  }
@@ -63,6 +87,15 @@ class IdentityApiClient {
63
87
  const envelope = (await response.json());
64
88
  return envelope.data;
65
89
  }
90
+ async patch(path, body) {
91
+ const response = await this.request('PATCH', path, body);
92
+ const envelope = (await response.json());
93
+ return envelope.data;
94
+ }
95
+ async getEnvelope(path) {
96
+ const response = await this.request('GET', path);
97
+ return (await response.json());
98
+ }
66
99
  async request(method, path, body) {
67
100
  const url = `${this.baseUrl}${path}`;
68
101
  const controller = new AbortController();
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { IdentityApiClient, IdentityApiError } from './client';
2
2
  export { OrgRole, ORG_ADMIN_ROLES, } from './types';
3
- export type { ApiEnvelope, EnsureSystemOrgRequest, IdentityApiClientOptions, Organization, RegisterServiceRequest, RegisterServiceResponse, ServiceCredentials, ServiceType, VerifyMembershipParams, VerifyMembershipResponse, } from './types';
3
+ export type { ApiEnvelope, CreateOrganizationRequest, EnsureSystemOrgRequest, IdentityApiClientOptions, Organization, OrganizationListPagination, OrganizationListParams, OrganizationListResponse, OrganizationRecord, RegisterServiceRequest, RegisterServiceResponse, ServiceCredentials, ServiceType, UpdateOrganizationRequest, VerifyMembershipParams, VerifyMembershipResponse, } from './types';
4
4
  export { IdentityBootstrapModule, IdentityBootstrapModuleAsyncOptions, IdentityBootstrapService, IdentityBootstrapConfig, IDENTITY_BOOTSTRAP_CONFIG, } from './nestjs';
5
5
  export { OrgAuthModule, OrgAdminGuard, ORG_AUTH_CONFIG, type OrgAuthConfig, type OrgAuthModuleAsyncOptions, } from './nestjs';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA+D;AAAtD,2GAAA,iBAAiB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAC5C,iCAGiB;AAFf,gGAAA,OAAO,OAAA;AACP,wGAAA,eAAe,OAAA;AAgBjB,mCAMkB;AALhB,iHAAA,uBAAuB,OAAA;AAEvB,kHAAA,wBAAwB,OAAA;AAExB,mHAAA,yBAAyB,OAAA;AAI3B,mCAMkB;AALhB,uGAAA,aAAa,OAAA;AACb,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mCAA+D;AAAtD,2GAAA,iBAAiB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAC5C,iCAGiB;AAFf,gGAAA,OAAO,OAAA;AACP,wGAAA,eAAe,OAAA;AAsBjB,mCAMkB;AALhB,iHAAA,uBAAuB,OAAA;AAEvB,kHAAA,wBAAwB,OAAA;AAExB,mHAAA,yBAAyB,OAAA;AAI3B,mCAMkB;AALhB,uGAAA,aAAa,OAAA;AACb,uGAAA,aAAa,OAAA;AACb,yGAAA,eAAe,OAAA"}
@@ -4,6 +4,7 @@ export declare class OrgAdminGuard implements CanActivate {
4
4
  private readonly logger;
5
5
  private readonly identityClient;
6
6
  private readonly cacheTtlMs;
7
+ private readonly requestContextSymbol?;
7
8
  private readonly cache;
8
9
  constructor(config: OrgAuthConfig);
9
10
  canActivate(context: ExecutionContext): Promise<boolean>;
@@ -24,6 +24,7 @@ let OrgAdminGuard = OrgAdminGuard_1 = class OrgAdminGuard {
24
24
  logger = new common_1.Logger(OrgAdminGuard_1.name);
25
25
  identityClient;
26
26
  cacheTtlMs;
27
+ requestContextSymbol;
27
28
  cache = new Map();
28
29
  constructor(config) {
29
30
  this.identityClient = new client_1.IdentityApiClient({
@@ -31,6 +32,9 @@ let OrgAdminGuard = OrgAdminGuard_1 = class OrgAdminGuard {
31
32
  internalToken: config.identityApiInternalToken,
32
33
  });
33
34
  this.cacheTtlMs = config.cacheTtlMs ?? DEFAULT_CACHE_TTL_MS;
35
+ this.requestContextSymbol = config.requestContextSymbolKey
36
+ ? Symbol.for(config.requestContextSymbolKey)
37
+ : undefined;
34
38
  }
35
39
  async canActivate(context) {
36
40
  const request = context.switchToHttp().getRequest();
@@ -76,11 +80,13 @@ let OrgAdminGuard = OrgAdminGuard_1 = class OrgAdminGuard {
76
80
  }
77
81
  }
78
82
  extractContext(request) {
83
+ if (this.requestContextSymbol) {
84
+ return request[this.requestContextSymbol];
85
+ }
79
86
  const symbols = Object.getOwnPropertySymbols(request);
80
87
  for (const sym of symbols) {
81
88
  if (sym.description === 'REQUEST_CONTEXT') {
82
- const ctx = request[sym];
83
- return ctx;
89
+ return request[sym];
84
90
  }
85
91
  }
86
92
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"org-admin.guard.js","sourceRoot":"","sources":["../../../src/nestjs/org-auth/org-admin.guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"org-admin.guard.js","sourceRoot":"","sources":["../../../src/nestjs/org-auth/org-admin.guard.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface OrgAuthConfig {
4
4
  identityApiUrl: string;
5
5
  identityApiInternalToken: string;
6
6
  cacheTtlMs?: number;
7
+ requestContextSymbolKey?: string;
7
8
  }
8
9
  type ModuleImport = Type<unknown> | ForwardReference<unknown> | DynamicModule | Promise<DynamicModule>;
9
10
  export interface OrgAuthModuleAsyncOptions {
package/dist/types.d.ts CHANGED
@@ -52,6 +52,45 @@ export interface Organization {
52
52
  description?: string;
53
53
  metadata?: Record<string, unknown>;
54
54
  }
55
+ export interface OrganizationRecord {
56
+ id: string;
57
+ name: string;
58
+ displayName: string;
59
+ domain: string | null;
60
+ isActive: boolean;
61
+ role: string | null;
62
+ metadata: Record<string, unknown>;
63
+ createdAt: string | null;
64
+ updatedAt: string | null;
65
+ }
66
+ export interface OrganizationListPagination {
67
+ page: number;
68
+ limit: number;
69
+ total: number;
70
+ totalPages: number;
71
+ }
72
+ export interface OrganizationListResponse {
73
+ data: OrganizationRecord[];
74
+ pagination: OrganizationListPagination;
75
+ }
76
+ export interface OrganizationListParams {
77
+ skip?: number;
78
+ take?: number;
79
+ }
80
+ export interface CreateOrganizationRequest {
81
+ name: string;
82
+ displayName: string;
83
+ domain?: string;
84
+ metadata?: Record<string, unknown>;
85
+ realm?: string;
86
+ }
87
+ export interface UpdateOrganizationRequest {
88
+ displayName?: string;
89
+ domain?: string;
90
+ isActive?: boolean;
91
+ metadata?: Record<string, unknown>;
92
+ realm?: string;
93
+ }
55
94
  export declare enum OrgRole {
56
95
  ORG_OWNER = "org_owner",
57
96
  ORG_ADMIN = "org_admin",
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAgBA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,iDAA2B,CAAA;IAC3B,mEAA6C,CAAA;AAC/C,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B;AAwFD,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,kCAAuB,CAAA;IACvB,oCAAyB,CAAA;AAC3B,CAAC,EAJW,OAAO,uBAAP,OAAO,QAIlB;AAGY,QAAA,eAAe,GAAyB,IAAI,GAAG,CAAC;IAC3D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAgBA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,iDAA2B,CAAA;IAC3B,mEAA6C,CAAA;AAC/C,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B;AAwKD,IAAY,OAIX;AAJD,WAAY,OAAO;IACjB,kCAAuB,CAAA;IACvB,kCAAuB,CAAA;IACvB,oCAAyB,CAAA;AAC3B,CAAC,EAJW,OAAO,uBAAP,OAAO,QAIlB;AAGY,QAAA,eAAe,GAAyB,IAAI,GAAG,CAAC;IAC3D,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,SAAS;CAClB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/identity-client",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "NestJS client library and standalone HTTP client for Identity API - service registration, credential management, and JWT token lifecycle",
5
5
  "author": "xemahq",
6
6
  "license": "MIT",