openxiangda-nest 2.3.3 → 2.4.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.
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export * from './notification.js';
17
17
  export * from './platform-client.js';
18
18
  export * from './runtime.js';
19
19
  export * from './standard-operations.js';
20
+ export * from './snapshot-values.js';
20
21
  export * from './tokens.js';
21
22
  export * from './types.js';
22
23
  export * from './workflow.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAE9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAE9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@ export * from './notification.js';
17
17
  export * from './platform-client.js';
18
18
  export * from './runtime.js';
19
19
  export * from './standard-operations.js';
20
+ export * from './snapshot-values.js';
20
21
  export * from './tokens.js';
21
22
  export * from './types.js';
22
23
  export * from './workflow.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAE9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAE9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { DepartmentReferenceValue, ResourceReferenceValue, UserReferenceValue } from 'openxiangda-contracts';
2
+ /**
3
+ * 快照值写入助手。平台的 option/user/department/resource-ref 字段在 Data API
4
+ * 写入时保存 `{ label, value }` 显示快照(`value` 是比较键),事务与普通写入
5
+ * 都必须使用这些形状,直接写裸字符串会被字段校验拒绝。
6
+ */
7
+ export declare function optionSnapshot(label: string, value: string): {
8
+ label: string;
9
+ value: string;
10
+ };
11
+ export declare function userSnapshot(userId: string, displayName?: string): UserReferenceValue;
12
+ export declare function departmentSnapshot(departmentId: string, displayName?: string): DepartmentReferenceValue;
13
+ export declare function resourceSnapshot(resourceCode: string, recordId: string, label: string): ResourceReferenceValue;
14
+ /**
15
+ * 判定一个错误是否为平台幂等冲突:同一 idempotencyKey 携带了不同内容(典型
16
+ * 场景是重试时乐观锁 revision 已前进)。捕获后应回读当前状态确认"已生效"并按
17
+ * 幂等结果返回,而不是把冲突透传给调用方或生成新键重试。
18
+ */
19
+ export declare function isIdempotencyConflict(error: unknown): boolean;
20
+ //# sourceMappingURL=snapshot-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-values.d.ts","sourceRoot":"","sources":["../src/snapshot-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAG/B;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;EAE1D;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,kBAAkB,CAEpB;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,wBAAwB,CAE1B;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,sBAAsB,CAExB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK7D"}
@@ -0,0 +1,28 @@
1
+ import { OpenXiangdaPlatformError } from './platform-client.js';
2
+ /**
3
+ * 快照值写入助手。平台的 option/user/department/resource-ref 字段在 Data API
4
+ * 写入时保存 `{ label, value }` 显示快照(`value` 是比较键),事务与普通写入
5
+ * 都必须使用这些形状,直接写裸字符串会被字段校验拒绝。
6
+ */
7
+ export function optionSnapshot(label, value) {
8
+ return { label, value };
9
+ }
10
+ export function userSnapshot(userId, displayName) {
11
+ return { label: displayName?.trim() || userId, value: userId };
12
+ }
13
+ export function departmentSnapshot(departmentId, displayName) {
14
+ return { label: displayName?.trim() || departmentId, value: departmentId };
15
+ }
16
+ export function resourceSnapshot(resourceCode, recordId, label) {
17
+ return { label, value: recordId, resourceCode };
18
+ }
19
+ /**
20
+ * 判定一个错误是否为平台幂等冲突:同一 idempotencyKey 携带了不同内容(典型
21
+ * 场景是重试时乐观锁 revision 已前进)。捕获后应回读当前状态确认"已生效"并按
22
+ * 幂等结果返回,而不是把冲突透传给调用方或生成新键重试。
23
+ */
24
+ export function isIdempotencyConflict(error) {
25
+ return (error instanceof OpenXiangdaPlatformError &&
26
+ error.code === 'OPENXIANGDA_NATIVE_DATA_IDEMPOTENCY_CONFLICT');
27
+ }
28
+ //# sourceMappingURL=snapshot-values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-values.js","sourceRoot":"","sources":["../src/snapshot-values.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,KAAa;IACzD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,WAAoB;IAEpB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,WAAoB;IAEpB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAoB,EACpB,QAAgB,EAChB,KAAa;IAEb,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,CACL,KAAK,YAAY,wBAAwB;QACzC,KAAK,CAAC,IAAI,KAAK,8CAA8C,CAC9D,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openxiangda-nest",
3
- "version": "2.3.3",
3
+ "version": "2.4.1",
4
4
  "description": "OpenXiangda 2.0 的受信 NestJS 业务后端集成。",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -18,7 +18,7 @@
18
18
  ],
19
19
  "dependencies": {
20
20
  "ajv": "8.20.0",
21
- "openxiangda-contracts": "2.12.0"
21
+ "openxiangda-contracts": "2.14.0"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "@nestjs/common": ">=11 <12",