openxiangda-nest 2.0.0-alpha.100

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 (106) hide show
  1. package/README.md +158 -0
  2. package/dist/application-credentials.d.ts +19 -0
  3. package/dist/application-credentials.d.ts.map +1 -0
  4. package/dist/application-credentials.js +158 -0
  5. package/dist/application-credentials.js.map +1 -0
  6. package/dist/assignee-provider.d.ts +35 -0
  7. package/dist/assignee-provider.d.ts.map +1 -0
  8. package/dist/assignee-provider.js +223 -0
  9. package/dist/assignee-provider.js.map +1 -0
  10. package/dist/authz.d.ts +28 -0
  11. package/dist/authz.d.ts.map +1 -0
  12. package/dist/authz.js +207 -0
  13. package/dist/authz.js.map +1 -0
  14. package/dist/bootstrap.d.ts +15 -0
  15. package/dist/bootstrap.d.ts.map +1 -0
  16. package/dist/bootstrap.js +40 -0
  17. package/dist/bootstrap.js.map +1 -0
  18. package/dist/business-action-context.d.ts +14 -0
  19. package/dist/business-action-context.d.ts.map +1 -0
  20. package/dist/business-action-context.js +41 -0
  21. package/dist/business-action-context.js.map +1 -0
  22. package/dist/business-directory.d.ts +14 -0
  23. package/dist/business-directory.d.ts.map +1 -0
  24. package/dist/business-directory.js +40 -0
  25. package/dist/business-directory.js.map +1 -0
  26. package/dist/business-notification.d.ts +23 -0
  27. package/dist/business-notification.d.ts.map +1 -0
  28. package/dist/business-notification.js +58 -0
  29. package/dist/business-notification.js.map +1 -0
  30. package/dist/business-process.d.ts +23 -0
  31. package/dist/business-process.d.ts.map +1 -0
  32. package/dist/business-process.js +106 -0
  33. package/dist/business-process.js.map +1 -0
  34. package/dist/data-api.d.ts +116 -0
  35. package/dist/data-api.d.ts.map +1 -0
  36. package/dist/data-api.js +248 -0
  37. package/dist/data-api.js.map +1 -0
  38. package/dist/event-context.d.ts +15 -0
  39. package/dist/event-context.d.ts.map +1 -0
  40. package/dist/event-context.js +33 -0
  41. package/dist/event-context.js.map +1 -0
  42. package/dist/event-handler.d.ts +36 -0
  43. package/dist/event-handler.d.ts.map +1 -0
  44. package/dist/event-handler.js +174 -0
  45. package/dist/event-handler.js.map +1 -0
  46. package/dist/events.d.ts +64 -0
  47. package/dist/events.d.ts.map +1 -0
  48. package/dist/events.js +513 -0
  49. package/dist/events.js.map +1 -0
  50. package/dist/gateway-transport.d.ts +53 -0
  51. package/dist/gateway-transport.d.ts.map +1 -0
  52. package/dist/gateway-transport.js +369 -0
  53. package/dist/gateway-transport.js.map +1 -0
  54. package/dist/health.d.ts +36 -0
  55. package/dist/health.d.ts.map +1 -0
  56. package/dist/health.js +105 -0
  57. package/dist/health.js.map +1 -0
  58. package/dist/index.d.ts +25 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +25 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/infrastructure-controller.d.ts +8 -0
  63. package/dist/infrastructure-controller.d.ts.map +1 -0
  64. package/dist/infrastructure-controller.js +15 -0
  65. package/dist/infrastructure-controller.js.map +1 -0
  66. package/dist/logger.d.ts +20 -0
  67. package/dist/logger.d.ts.map +1 -0
  68. package/dist/logger.js +62 -0
  69. package/dist/logger.js.map +1 -0
  70. package/dist/module.d.ts +6 -0
  71. package/dist/module.d.ts.map +1 -0
  72. package/dist/module.js +293 -0
  73. package/dist/module.js.map +1 -0
  74. package/dist/notification.d.ts +18 -0
  75. package/dist/notification.d.ts.map +1 -0
  76. package/dist/notification.js +52 -0
  77. package/dist/notification.js.map +1 -0
  78. package/dist/platform-client.d.ts +115 -0
  79. package/dist/platform-client.d.ts.map +1 -0
  80. package/dist/platform-client.js +506 -0
  81. package/dist/platform-client.js.map +1 -0
  82. package/dist/runtime.d.ts +56 -0
  83. package/dist/runtime.d.ts.map +1 -0
  84. package/dist/runtime.js +253 -0
  85. package/dist/runtime.js.map +1 -0
  86. package/dist/standard-operations.d.ts +62 -0
  87. package/dist/standard-operations.d.ts.map +1 -0
  88. package/dist/standard-operations.js +169 -0
  89. package/dist/standard-operations.js.map +1 -0
  90. package/dist/todo.d.ts +20 -0
  91. package/dist/todo.d.ts.map +1 -0
  92. package/dist/todo.js +48 -0
  93. package/dist/todo.js.map +1 -0
  94. package/dist/tokens.d.ts +5 -0
  95. package/dist/tokens.d.ts.map +1 -0
  96. package/dist/tokens.js +5 -0
  97. package/dist/tokens.js.map +1 -0
  98. package/dist/types.d.ts +178 -0
  99. package/dist/types.d.ts.map +1 -0
  100. package/dist/types.js +2 -0
  101. package/dist/types.js.map +1 -0
  102. package/dist/workflow.d.ts +41 -0
  103. package/dist/workflow.d.ts.map +1 -0
  104. package/dist/workflow.js +97 -0
  105. package/dist/workflow.js.map +1 -0
  106. package/package.json +64 -0
@@ -0,0 +1,106 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Inject, Injectable, Scope, UnauthorizedException } from '@nestjs/common';
14
+ import { REQUEST } from '@nestjs/core';
15
+ import { SCHEMA_VERSIONS, } from 'openxiangda-contracts';
16
+ import { requireOpenXiangdaBusinessActionContext } from './business-action-context.js';
17
+ import { OpenXiangdaPlatformClient } from './platform-client.js';
18
+ /**
19
+ * Durable business mutation + Workflow command facade for verified Named Actions.
20
+ * The operation proof is derived exclusively from the gateway-verified request.
21
+ */
22
+ let OpenXiangdaBusinessProcessService = class OpenXiangdaBusinessProcessService {
23
+ request;
24
+ platform;
25
+ constructor(request, platform) {
26
+ this.request = request;
27
+ this.platform = platform;
28
+ }
29
+ async commit(input) {
30
+ const context = this.context(input.workflow.workflowCode);
31
+ return await this.platform.commitBusinessProcess(context.authorization, {
32
+ ...input,
33
+ schemaVersion: SCHEMA_VERSIONS.businessProcessCommit,
34
+ environmentKey: context.environmentKey,
35
+ }, context.action);
36
+ }
37
+ async status(commandId) {
38
+ const context = this.context();
39
+ return this.assertDeclared(await this.platform.businessProcessStatus(context.authorization, commandId, context.action), context.workflowCodes);
40
+ }
41
+ async receipt(commandId) {
42
+ const context = this.context();
43
+ const receipt = await this.platform.businessProcessReceipt(context.authorization, commandId, context.action);
44
+ this.assertDeclared(receipt.command, context.workflowCodes);
45
+ return receipt;
46
+ }
47
+ async poll(commandId, afterRevision = 0) {
48
+ const context = this.context();
49
+ const poll = await this.platform.businessProcessPoll(context.authorization, commandId, afterRevision, context.action);
50
+ this.assertDeclared(poll.command, context.workflowCodes);
51
+ return poll;
52
+ }
53
+ async surface(commandId) {
54
+ const context = this.context();
55
+ const surface = await this.platform.businessProcessSurface(context.authorization, commandId, context.action);
56
+ this.assertDeclared(surface.command, context.workflowCodes);
57
+ return surface;
58
+ }
59
+ async answer(commandId, input) {
60
+ const context = this.context();
61
+ return this.assertDeclared(await this.platform.answerBusinessProcess(context.authorization, commandId, { ...input, schemaVersion: SCHEMA_VERSIONS.businessProcessAnswer }, context.action), context.workflowCodes);
62
+ }
63
+ async retry(commandId, input) {
64
+ const context = this.context();
65
+ return this.assertDeclared(await this.platform.retryBusinessProcess(context.authorization, commandId, { ...input, schemaVersion: SCHEMA_VERSIONS.businessProcessRetry }, context.action), context.workflowCodes);
66
+ }
67
+ context(workflowCode) {
68
+ const runtime = requireOpenXiangdaBusinessActionContext(this.request);
69
+ const verified = this.request.openxiangda;
70
+ const declaration = verified.operation?.platformAccess?.workflow;
71
+ if (!declaration ||
72
+ Object.keys(declaration).length !== 1 ||
73
+ !Array.isArray(declaration.codes) ||
74
+ declaration.codes.length === 0 ||
75
+ new Set(declaration.codes).size !== declaration.codes.length) {
76
+ throw new UnauthorizedException('OPENXIANGDA_BUSINESS_PROCESS_WORKFLOW_ACCESS_REQUIRED');
77
+ }
78
+ const workflowCodes = [...declaration.codes];
79
+ if (workflowCode && !workflowCodes.includes(workflowCode)) {
80
+ throw new UnauthorizedException('OPENXIANGDA_BUSINESS_PROCESS_WORKFLOW_NOT_DECLARED');
81
+ }
82
+ const environmentKey = verified.principal.environmentKey;
83
+ if (!['preproduction', 'production'].includes(environmentKey)) {
84
+ throw new UnauthorizedException('OPENXIANGDA_BUSINESS_PROCESS_ENVIRONMENT_INVALID');
85
+ }
86
+ return {
87
+ ...runtime,
88
+ environmentKey: environmentKey,
89
+ workflowCodes,
90
+ };
91
+ }
92
+ assertDeclared(command, workflowCodes) {
93
+ if (!workflowCodes.includes(command.workflowCode)) {
94
+ throw new UnauthorizedException('OPENXIANGDA_BUSINESS_PROCESS_COMMAND_WORKFLOW_NOT_DECLARED');
95
+ }
96
+ return command;
97
+ }
98
+ };
99
+ OpenXiangdaBusinessProcessService = __decorate([
100
+ Injectable({ scope: Scope.REQUEST }),
101
+ __param(0, Inject(REQUEST)),
102
+ __param(1, Inject(OpenXiangdaPlatformClient)),
103
+ __metadata("design:paramtypes", [Object, OpenXiangdaPlatformClient])
104
+ ], OpenXiangdaBusinessProcessService);
105
+ export { OpenXiangdaBusinessProcessService };
106
+ //# sourceMappingURL=business-process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"business-process.js","sourceRoot":"","sources":["../src/business-process.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import type { DataPage, DataAggregatePage, DataAggregateQuery, DataAuditPage, DataFileRef, DataFileUploadPlan, DataFileCopyRequest, DataFileCopyReceipt, DataQuery, DataRecord, DataTransactionRequest, DataTransactionResult } from 'openxiangda-contracts';
2
+ import { OpenXiangdaApplicationCredentials } from './application-credentials.js';
3
+ import { OpenXiangdaPlatformClient } from './platform-client.js';
4
+ import type { OpenXiangdaHttpRequest } from './types.js';
5
+ export interface OpenXiangdaDomainEventEmitInput {
6
+ idempotencyKey: string;
7
+ eventType: string;
8
+ subject?: string;
9
+ data: Record<string, unknown>;
10
+ }
11
+ export interface OpenXiangdaDomainEventEmitResult {
12
+ eventId: string;
13
+ eventType: string;
14
+ replayed: boolean;
15
+ }
16
+ export declare class OpenXiangdaDataApiService {
17
+ private readonly request;
18
+ private readonly platform;
19
+ constructor(request: OpenXiangdaHttpRequest, platform: OpenXiangdaPlatformClient);
20
+ query<T extends Record<string, unknown>>(resourceCode: string, query: DataQuery): Promise<DataPage<T>>;
21
+ get<T extends Record<string, unknown>>(resourceCode: string, id: string): Promise<DataRecord<T>>;
22
+ aggregate<T extends Record<string, unknown>>(resourceCode: string, query: DataAggregateQuery): Promise<DataAggregatePage<T>>;
23
+ audit(resourceCode: string, id: string, input?: {
24
+ limit?: number;
25
+ offset?: number;
26
+ }): Promise<DataAuditPage>;
27
+ initiateFileUpload(resourceCode: string, input: {
28
+ fieldCode: string;
29
+ fileName: string;
30
+ fileSize: number;
31
+ contentType?: string;
32
+ recordId?: string;
33
+ }): Promise<DataFileUploadPlan>;
34
+ completeFileUpload(resourceCode: string, fileId: string): Promise<DataFileRef>;
35
+ copyManagedFile(input: DataFileCopyRequest): Promise<DataFileCopyReceipt>;
36
+ getManagedFileCopyReceipt(receiptId: string): Promise<DataFileCopyReceipt>;
37
+ create<T extends Record<string, unknown>>(resourceCode: string, data: Record<string, unknown>): Promise<DataRecord<T>>;
38
+ update<T extends Record<string, unknown>>(resourceCode: string, id: string, input: {
39
+ expectedRevision: number;
40
+ data: Record<string, unknown>;
41
+ }): Promise<DataRecord<T>>;
42
+ delete<T extends Record<string, unknown>>(resourceCode: string, id: string, expectedRevision: number): Promise<DataRecord<T>>;
43
+ transaction(transaction: DataTransactionRequest): Promise<DataTransactionResult>;
44
+ emitEvent(input: OpenXiangdaDomainEventEmitInput): Promise<OpenXiangdaDomainEventEmitResult>;
45
+ private context;
46
+ }
47
+ /**
48
+ * Data API facade for a declared request-scoped business action.
49
+ *
50
+ * The App Gateway and OpenXiangdaOperation guard authorize the caller once.
51
+ * Native Data executes as this exact app/environment's trusted backend while
52
+ * retaining the initiating principal in its audit records.
53
+ */
54
+ export declare class OpenXiangdaBusinessDataApiService {
55
+ private readonly request;
56
+ private readonly platform;
57
+ constructor(request: OpenXiangdaHttpRequest, platform: OpenXiangdaPlatformClient);
58
+ query<T extends Record<string, unknown>>(resourceCode: string, query: DataQuery): Promise<DataPage<T>>;
59
+ get<T extends Record<string, unknown>>(resourceCode: string, id: string): Promise<DataRecord<T>>;
60
+ aggregate<T extends Record<string, unknown>>(resourceCode: string, query: DataAggregateQuery): Promise<DataAggregatePage<T>>;
61
+ audit(resourceCode: string, id: string, input?: {
62
+ limit?: number;
63
+ offset?: number;
64
+ }): Promise<DataAuditPage>;
65
+ initiateFileUpload(resourceCode: string, input: {
66
+ fieldCode: string;
67
+ fileName: string;
68
+ fileSize: number;
69
+ contentType?: string;
70
+ recordId?: string;
71
+ }): Promise<DataFileUploadPlan>;
72
+ completeFileUpload(resourceCode: string, fileId: string): Promise<DataFileRef>;
73
+ copyManagedFile(input: DataFileCopyRequest): Promise<DataFileCopyReceipt>;
74
+ getManagedFileCopyReceipt(receiptId: string): Promise<DataFileCopyReceipt>;
75
+ create<T extends Record<string, unknown>>(resourceCode: string, data: Record<string, unknown>): Promise<DataRecord<T>>;
76
+ update<T extends Record<string, unknown>>(resourceCode: string, id: string, input: {
77
+ expectedRevision: number;
78
+ data: Record<string, unknown>;
79
+ }): Promise<DataRecord<T>>;
80
+ delete<T extends Record<string, unknown>>(resourceCode: string, id: string, expectedRevision: number): Promise<DataRecord<T>>;
81
+ transaction(transaction: DataTransactionRequest): Promise<DataTransactionResult>;
82
+ emitEvent(input: OpenXiangdaDomainEventEmitInput): Promise<OpenXiangdaDomainEventEmitResult>;
83
+ private context;
84
+ }
85
+ /** Data API facade for Worker/Scheduler and other work without an HTTP request. */
86
+ export declare class OpenXiangdaApplicationDataApiService {
87
+ private readonly platform;
88
+ private readonly credentials;
89
+ constructor(platform: OpenXiangdaPlatformClient, credentials: OpenXiangdaApplicationCredentials);
90
+ query<T extends Record<string, unknown>>(resourceCode: string, query: DataQuery): Promise<DataPage<T>>;
91
+ get<T extends Record<string, unknown>>(resourceCode: string, id: string): Promise<DataRecord<T>>;
92
+ aggregate<T extends Record<string, unknown>>(resourceCode: string, query: DataAggregateQuery): Promise<DataAggregatePage<T>>;
93
+ audit(resourceCode: string, id: string, input?: {
94
+ limit?: number;
95
+ offset?: number;
96
+ }): Promise<DataAuditPage>;
97
+ initiateFileUpload(resourceCode: string, input: {
98
+ fieldCode: string;
99
+ fileName: string;
100
+ fileSize: number;
101
+ contentType?: string;
102
+ recordId?: string;
103
+ }): Promise<DataFileUploadPlan>;
104
+ completeFileUpload(resourceCode: string, fileId: string): Promise<DataFileRef>;
105
+ copyManagedFile(input: DataFileCopyRequest): Promise<DataFileCopyReceipt>;
106
+ getManagedFileCopyReceipt(receiptId: string): Promise<DataFileCopyReceipt>;
107
+ create<T extends Record<string, unknown>>(resourceCode: string, data: Record<string, unknown>): Promise<DataRecord<T>>;
108
+ update<T extends Record<string, unknown>>(resourceCode: string, id: string, input: {
109
+ expectedRevision: number;
110
+ data: Record<string, unknown>;
111
+ }): Promise<DataRecord<T>>;
112
+ delete<T extends Record<string, unknown>>(resourceCode: string, id: string, expectedRevision: number): Promise<DataRecord<T>>;
113
+ transaction(transaction: DataTransactionRequest): Promise<DataTransactionResult>;
114
+ emitEvent(input: OpenXiangdaDomainEventEmitInput): Promise<OpenXiangdaDomainEventEmitResult>;
115
+ }
116
+ //# sourceMappingURL=data-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api.d.ts","sourceRoot":"","sources":["../src/data-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,248 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ import { Inject, Injectable, Scope, UnauthorizedException } from '@nestjs/common';
14
+ import { REQUEST } from '@nestjs/core';
15
+ import { SCHEMA_VERSIONS } from 'openxiangda-contracts';
16
+ import { OpenXiangdaApplicationCredentials } from './application-credentials.js';
17
+ import { requireOpenXiangdaBusinessActionContext } from './business-action-context.js';
18
+ import { OpenXiangdaPlatformClient } from './platform-client.js';
19
+ function domainEventTransaction(input) {
20
+ return {
21
+ schemaVersion: SCHEMA_VERSIONS.dataTransactionRequest,
22
+ idempotencyKey: input.idempotencyKey,
23
+ operations: [
24
+ {
25
+ operation: 'emitEvent',
26
+ eventType: input.eventType,
27
+ ...(input.subject ? { subject: input.subject } : {}),
28
+ data: input.data,
29
+ },
30
+ ],
31
+ };
32
+ }
33
+ function domainEventResult(result) {
34
+ const item = result.items[0];
35
+ if (!item || item.operation !== 'emitEvent') {
36
+ throw new Error('OPENXIANGDA_DOMAIN_EVENT_RESULT_INVALID');
37
+ }
38
+ return {
39
+ eventId: item.eventId,
40
+ eventType: item.eventType,
41
+ replayed: result.replayed,
42
+ };
43
+ }
44
+ let OpenXiangdaDataApiService = class OpenXiangdaDataApiService {
45
+ request;
46
+ platform;
47
+ constructor(request, platform) {
48
+ this.request = request;
49
+ this.platform = platform;
50
+ }
51
+ async query(resourceCode, query) {
52
+ const context = this.context();
53
+ return await this.platform.queryData(context.authorization, context.perspectiveCode, resourceCode, query);
54
+ }
55
+ async get(resourceCode, id) {
56
+ const context = this.context();
57
+ return await this.platform.getData(context.authorization, context.perspectiveCode, resourceCode, id);
58
+ }
59
+ async aggregate(resourceCode, query) {
60
+ const context = this.context();
61
+ return await this.platform.aggregateData(context.authorization, context.perspectiveCode, resourceCode, query);
62
+ }
63
+ async audit(resourceCode, id, input = {}) {
64
+ const context = this.context();
65
+ return await this.platform.dataAudit(context.authorization, context.perspectiveCode, resourceCode, id, input);
66
+ }
67
+ async initiateFileUpload(resourceCode, input) {
68
+ const context = this.context();
69
+ return await this.platform.initiateDataFileUpload(context.authorization, context.perspectiveCode, resourceCode, input);
70
+ }
71
+ async completeFileUpload(resourceCode, fileId) {
72
+ const context = this.context();
73
+ return await this.platform.completeDataFileUpload(context.authorization, context.perspectiveCode, resourceCode, fileId);
74
+ }
75
+ async copyManagedFile(input) {
76
+ const context = this.context();
77
+ return await this.platform.copyManagedFile(context.authorization, context.perspectiveCode, input);
78
+ }
79
+ async getManagedFileCopyReceipt(receiptId) {
80
+ const context = this.context();
81
+ return await this.platform.getManagedFileCopyReceipt(context.authorization, context.perspectiveCode, receiptId);
82
+ }
83
+ async create(resourceCode, data) {
84
+ const context = this.context();
85
+ return await this.platform.createData(context.authorization, context.perspectiveCode, resourceCode, data);
86
+ }
87
+ async update(resourceCode, id, input) {
88
+ const context = this.context();
89
+ return await this.platform.updateData(context.authorization, context.perspectiveCode, resourceCode, id, input);
90
+ }
91
+ async delete(resourceCode, id, expectedRevision) {
92
+ const context = this.context();
93
+ return await this.platform.deleteData(context.authorization, context.perspectiveCode, resourceCode, id, expectedRevision);
94
+ }
95
+ async transaction(transaction) {
96
+ const context = this.context();
97
+ return await this.platform.transactData(context.authorization, context.perspectiveCode, transaction);
98
+ }
99
+ async emitEvent(input) {
100
+ return domainEventResult(await this.transaction(domainEventTransaction(input)));
101
+ }
102
+ context() {
103
+ if (!this.request.openxiangda) {
104
+ throw new UnauthorizedException('OPENXIANGDA_CONTEXT_NOT_VERIFIED');
105
+ }
106
+ return this.request.openxiangda;
107
+ }
108
+ };
109
+ OpenXiangdaDataApiService = __decorate([
110
+ Injectable({ scope: Scope.REQUEST }),
111
+ __param(0, Inject(REQUEST)),
112
+ __param(1, Inject(OpenXiangdaPlatformClient)),
113
+ __metadata("design:paramtypes", [Object, OpenXiangdaPlatformClient])
114
+ ], OpenXiangdaDataApiService);
115
+ export { OpenXiangdaDataApiService };
116
+ /**
117
+ * Data API facade for a declared request-scoped business action.
118
+ *
119
+ * The App Gateway and OpenXiangdaOperation guard authorize the caller once.
120
+ * Native Data executes as this exact app/environment's trusted backend while
121
+ * retaining the initiating principal in its audit records.
122
+ */
123
+ let OpenXiangdaBusinessDataApiService = class OpenXiangdaBusinessDataApiService {
124
+ request;
125
+ platform;
126
+ constructor(request, platform) {
127
+ this.request = request;
128
+ this.platform = platform;
129
+ }
130
+ async query(resourceCode, query) {
131
+ const context = this.context();
132
+ return await this.platform.queryData(context.authorization, context.perspectiveCode, resourceCode, query, context.action);
133
+ }
134
+ async get(resourceCode, id) {
135
+ const context = this.context();
136
+ return await this.platform.getData(context.authorization, context.perspectiveCode, resourceCode, id, context.action);
137
+ }
138
+ async aggregate(resourceCode, query) {
139
+ const context = this.context();
140
+ return await this.platform.aggregateData(context.authorization, context.perspectiveCode, resourceCode, query, context.action);
141
+ }
142
+ async audit(resourceCode, id, input = {}) {
143
+ const context = this.context();
144
+ return await this.platform.dataAudit(context.authorization, context.perspectiveCode, resourceCode, id, input, context.action);
145
+ }
146
+ async initiateFileUpload(resourceCode, input) {
147
+ const context = this.context();
148
+ return await this.platform.initiateDataFileUpload(context.authorization, context.perspectiveCode, resourceCode, input, context.action);
149
+ }
150
+ async completeFileUpload(resourceCode, fileId) {
151
+ const context = this.context();
152
+ return await this.platform.completeDataFileUpload(context.authorization, context.perspectiveCode, resourceCode, fileId, context.action);
153
+ }
154
+ async copyManagedFile(input) {
155
+ const context = this.context();
156
+ return await this.platform.copyManagedFile(context.authorization, context.perspectiveCode, input, context.action);
157
+ }
158
+ async getManagedFileCopyReceipt(receiptId) {
159
+ const context = this.context();
160
+ return await this.platform.getManagedFileCopyReceipt(context.authorization, context.perspectiveCode, receiptId, context.action);
161
+ }
162
+ async create(resourceCode, data) {
163
+ const context = this.context();
164
+ return await this.platform.createData(context.authorization, context.perspectiveCode, resourceCode, data, context.action);
165
+ }
166
+ async update(resourceCode, id, input) {
167
+ const context = this.context();
168
+ return await this.platform.updateData(context.authorization, context.perspectiveCode, resourceCode, id, input, context.action);
169
+ }
170
+ async delete(resourceCode, id, expectedRevision) {
171
+ const context = this.context();
172
+ return await this.platform.deleteData(context.authorization, context.perspectiveCode, resourceCode, id, expectedRevision, context.action);
173
+ }
174
+ async transaction(transaction) {
175
+ const context = this.context();
176
+ return await this.platform.transactData(context.authorization, context.perspectiveCode, transaction, context.action);
177
+ }
178
+ async emitEvent(input) {
179
+ return domainEventResult(await this.transaction(domainEventTransaction(input)));
180
+ }
181
+ context() {
182
+ return requireOpenXiangdaBusinessActionContext(this.request);
183
+ }
184
+ };
185
+ OpenXiangdaBusinessDataApiService = __decorate([
186
+ Injectable({ scope: Scope.REQUEST }),
187
+ __param(0, Inject(REQUEST)),
188
+ __param(1, Inject(OpenXiangdaPlatformClient)),
189
+ __metadata("design:paramtypes", [Object, OpenXiangdaPlatformClient])
190
+ ], OpenXiangdaBusinessDataApiService);
191
+ export { OpenXiangdaBusinessDataApiService };
192
+ /** Data API facade for Worker/Scheduler and other work without an HTTP request. */
193
+ let OpenXiangdaApplicationDataApiService = class OpenXiangdaApplicationDataApiService {
194
+ platform;
195
+ credentials;
196
+ constructor(platform, credentials) {
197
+ this.platform = platform;
198
+ this.credentials = credentials;
199
+ }
200
+ async query(resourceCode, query) {
201
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.queryData(authorization, null, resourceCode, query));
202
+ }
203
+ async get(resourceCode, id) {
204
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.getData(authorization, null, resourceCode, id));
205
+ }
206
+ async aggregate(resourceCode, query) {
207
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.aggregateData(authorization, null, resourceCode, query));
208
+ }
209
+ async audit(resourceCode, id, input = {}) {
210
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.dataAudit(authorization, null, resourceCode, id, input));
211
+ }
212
+ async initiateFileUpload(resourceCode, input) {
213
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.initiateDataFileUpload(authorization, null, resourceCode, input));
214
+ }
215
+ async completeFileUpload(resourceCode, fileId) {
216
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.completeDataFileUpload(authorization, null, resourceCode, fileId));
217
+ }
218
+ async copyManagedFile(input) {
219
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.copyManagedFile(authorization, null, input));
220
+ }
221
+ async getManagedFileCopyReceipt(receiptId) {
222
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.getManagedFileCopyReceipt(authorization, null, receiptId));
223
+ }
224
+ async create(resourceCode, data) {
225
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.createData(authorization, null, resourceCode, data));
226
+ }
227
+ async update(resourceCode, id, input) {
228
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.updateData(authorization, null, resourceCode, id, input));
229
+ }
230
+ async delete(resourceCode, id, expectedRevision) {
231
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.deleteData(authorization, null, resourceCode, id, expectedRevision));
232
+ }
233
+ async transaction(transaction) {
234
+ return await this.credentials.withAuthorization(async (authorization) => this.platform.transactData(authorization, null, transaction));
235
+ }
236
+ async emitEvent(input) {
237
+ return domainEventResult(await this.transaction(domainEventTransaction(input)));
238
+ }
239
+ };
240
+ OpenXiangdaApplicationDataApiService = __decorate([
241
+ Injectable(),
242
+ __param(0, Inject(OpenXiangdaPlatformClient)),
243
+ __param(1, Inject(OpenXiangdaApplicationCredentials)),
244
+ __metadata("design:paramtypes", [OpenXiangdaPlatformClient,
245
+ OpenXiangdaApplicationCredentials])
246
+ ], OpenXiangdaApplicationDataApiService);
247
+ export { OpenXiangdaApplicationDataApiService };
248
+ //# sourceMappingURL=data-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-api.js","sourceRoot":"","sources":["../src/data-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { CloudEvent } from 'openxiangda-contracts';
2
+ export interface OpenXiangdaEventHandlerContext {
3
+ eventId: string;
4
+ deliveryId: string;
5
+ subscriptionCode: string;
6
+ traceId: string;
7
+ idempotencyKey: string;
8
+ causationDepth: number;
9
+ }
10
+ export declare class OpenXiangdaEventContext {
11
+ private readonly storage;
12
+ run<T>(event: CloudEvent, deliveryId: string, subscriptionCode: string, operation: (context: OpenXiangdaEventHandlerContext) => Promise<T> | T): Promise<T> | T;
13
+ current(): OpenXiangdaEventHandlerContext | null;
14
+ }
15
+ //# sourceMappingURL=event-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-context.d.ts","sourceRoot":"","sources":["../src/event-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CACkC;IAE1D,GAAG,CAAC,CAAC,EACH,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,CAAC,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GACrE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAkBjB,OAAO;CAGR"}
@@ -0,0 +1,33 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { AsyncLocalStorage } from 'node:async_hooks';
8
+ import { Injectable } from '@nestjs/common';
9
+ let OpenXiangdaEventContext = class OpenXiangdaEventContext {
10
+ storage = new AsyncLocalStorage();
11
+ run(event, deliveryId, subscriptionCode, operation) {
12
+ const inputDepth = Number(event.data?.cause?.depth ?? 0);
13
+ const context = Object.freeze({
14
+ eventId: event.id,
15
+ deliveryId,
16
+ subscriptionCode,
17
+ traceId: String(event.traceid || event.id),
18
+ idempotencyKey: event.id,
19
+ causationDepth: Number.isSafeInteger(inputDepth) && inputDepth >= 0
20
+ ? inputDepth + 1
21
+ : 1,
22
+ });
23
+ return this.storage.run(context, () => operation(context));
24
+ }
25
+ current() {
26
+ return this.storage.getStore() || null;
27
+ }
28
+ };
29
+ OpenXiangdaEventContext = __decorate([
30
+ Injectable()
31
+ ], OpenXiangdaEventContext);
32
+ export { OpenXiangdaEventContext };
33
+ //# sourceMappingURL=event-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-context.js","sourceRoot":"","sources":["../src/event-context.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAarC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IACjB,OAAO,GACtB,IAAI,iBAAiB,EAAkC,CAAC;IAE1D,GAAG,CACD,KAAiB,EACjB,UAAkB,EAClB,gBAAwB,EACxB,SAAsE;QAEtE,MAAM,UAAU,GAAG,MAAM,CACtB,KAAK,CAAC,IAAwC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,CACnE,CAAC;QACF,MAAM,OAAO,GAAmC,MAAM,CAAC,MAAM,CAAC;YAC5D,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,UAAU;YACV,gBAAgB;YAChB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1C,cAAc,EAAE,KAAK,CAAC,EAAE;YACxB,cAAc,EACZ,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC;gBACjD,CAAC,CAAC,UAAU,GAAG,CAAC;gBAChB,CAAC,CAAC,CAAC;SACR,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;IACzC,CAAC;CACF,CAAA;AA9BY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CA8BnC"}
@@ -0,0 +1,36 @@
1
+ import { OnModuleInit } from '@nestjs/common';
2
+ import { DiscoveryService, Reflector } from '@nestjs/core';
3
+ import { type AppEventHandlerContract, type CloudEvent } from 'openxiangda-contracts';
4
+ import type { OpenXiangdaEventHandlerContext } from './event-context.js';
5
+ import { OpenXiangdaEventReceiver } from './events.js';
6
+ import type { OpenXiangdaModuleOptions } from './types.js';
7
+ export type OpenXiangdaEventHandlerDeclaration = Omit<AppEventHandlerContract, 'eventTypes' | 'dataSchemaVersions'> & {
8
+ readonly eventTypes: readonly string[];
9
+ readonly dataSchemaVersions: readonly string[];
10
+ };
11
+ export interface OpenXiangdaEventConsumer<TEvent extends CloudEvent = CloudEvent> {
12
+ handle(event: TEvent, context: OpenXiangdaEventHandlerContext): Promise<unknown> | unknown;
13
+ }
14
+ export declare function OpenXiangdaEventHandler(declaration: OpenXiangdaEventHandlerDeclaration): ClassDecorator;
15
+ export declare class OpenXiangdaEventRegistry implements OnModuleInit {
16
+ private readonly discovery;
17
+ private readonly reflector;
18
+ private readonly options;
19
+ private readonly handlers;
20
+ constructor(discovery: DiscoveryService, reflector: Reflector, options: OpenXiangdaModuleOptions);
21
+ onModuleInit(): void;
22
+ resolve(code: string): {
23
+ contract: AppEventHandlerContract;
24
+ consumer: OpenXiangdaEventConsumer;
25
+ };
26
+ private declaredHandlers;
27
+ }
28
+ export declare class OpenXiangdaEventController {
29
+ private readonly receiver;
30
+ private readonly registry;
31
+ constructor(receiver: OpenXiangdaEventReceiver, registry: OpenXiangdaEventRegistry);
32
+ deliver(subscriptionCode: string, headers: Record<string, string | string[] | undefined>, request: {
33
+ rawBody?: Buffer;
34
+ }): Promise<import("openxiangda-contracts").EventDeliveryAck>;
35
+ }
36
+ //# sourceMappingURL=event-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-handler.d.ts","sourceRoot":"","sources":["../src/event-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,YAAY,EAKb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,UAAU,EAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGvD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAI3D,MAAM,MAAM,kCAAkC,GAAG,IAAI,CACnD,uBAAuB,EACvB,YAAY,GAAG,oBAAoB,CACpC,GAAG;IACF,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;CAChD,CAAC;AAEF,MAAM,WAAW,wBAAwB,CAAC,MAAM,SAAS,UAAU,GAAG,UAAU;IAC9E,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC/B;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,kCAAkC,GAC9C,cAAc,CAGhB;AAED,qBACa,wBAAyB,YAAW,YAAY;IAWzD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAd1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAMrB;gBAIe,SAAS,EAAE,gBAAgB,EAE3B,SAAS,EAAE,SAAS,EAEpB,OAAO,EAAE,wBAAwB;IAGpD,YAAY;IAkCZ,OAAO,CAAC,IAAI,EAAE,MAAM;kBAhDN,uBAAuB;kBACvB,wBAAwB;;IAyDtC,OAAO,CAAC,gBAAgB;CAqBzB;AAED,qBAEa,0BAA0B;IAGnC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAEzB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,QAAQ,EAAE,wBAAwB,EAElC,QAAQ,EAAE,wBAAwB;IAI/C,OAAO,CACgB,gBAAgB,EAAE,MAAM,EACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EAC1D,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;CAcvC"}