cabloy 5.1.125 → 5.1.126
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/.cabloy-version +1 -1
- package/.claude/skills/cabloy-backend-scaffold/SKILL.md +1 -1
- package/.claude/skills/cabloy-backend-scaffold/evals/evals.json +6 -0
- package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +13 -4
- package/.claude/skills/cabloy-workflow/SKILL.md +4 -2
- package/.claude/skills/cabloy-workflow/evals/evals.json +14 -2
- package/.claude/skills/cabloy-worktree-environment/SKILL.md +206 -0
- package/.claude/skills/cabloy-worktree-environment/evals/evals.json +77 -0
- package/.github/workflows/vona-test-pg.yml +3 -0
- package/.github/workflows/vona-test-sqlite3.yml +3 -0
- package/CHANGELOG.md +15 -0
- package/CLAUDE.md +1 -1
- package/cabloy-docs/.vitepress/config.mjs +1 -0
- package/cabloy-docs/backend/backend-contract-emission-specimen.md +2 -2
- package/cabloy-docs/backend/dto-guide.md +10 -7
- package/cabloy-docs/backend/dto-infer-generation.md +127 -7
- package/cabloy-docs/backend/foundation.md +1 -1
- package/cabloy-docs/backend/introduction.md +1 -0
- package/cabloy-docs/backend/module-dependencies.md +104 -0
- package/cabloy-docs/backend/serialization-guide.md +6 -0
- package/cabloy-docs/fullstack/parallel-worktree-environment.md +72 -34
- package/cabloy-docs/fullstack/suites-and-modules.md +1 -0
- package/cabloy-docs/reference/package-map.md +1 -0
- package/e2e/specs/a-commerce/commerce.spec.ts +89 -0
- package/package.json +2 -1
- package/scripts/init.ts +7 -12
- package/scripts/initAppName.test.ts +72 -0
- package/scripts/initAppName.ts +50 -0
- package/vona/packages-vona/vona/package.json +1 -1
- package/vona/pnpm-lock.yaml +27 -147
- package/vona/src/suite/a-commerce/modules/commerce-member/src/dto/addressMineCreate.tsx +6 -27
- package/vona/src/suite/a-commerce/modules/commerce-member/src/dto/addressMineItem.tsx +6 -31
- package/vona/src/suite/a-commerce/modules/commerce-member/src/dto/addressMineUpdate.tsx +6 -2
- package/vona/src/suite/a-commerce/modules/commerce-member/src/lib/addressMine.ts +16 -0
- package/vona/src/suite/a-commerce/modules/commerce-member/src/service/address.ts +4 -17
- package/vona/src/suite/a-commerce/modules/commerce-member/test/addressOwnership.test.ts +63 -19
- package/vona/src/suite/a-commerce/modules/commerce-payment/package.json +2 -1
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/bean/payScene.commerceOrder.ts +11 -2
- package/vona/src/suite/a-commerce/modules/commerce-payment/src/service/commercePayScene.ts +26 -0
- package/vona/src/suite/a-commerce/modules/commerce-payment/test/paymentAttempt.test.ts +19 -2
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/config/locale/en-us.ts +5 -2
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/config/locale/zh-cn.ts +5 -2
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateCreate.tsx +26 -35
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/dto/couponTemplateUpdate.tsx +6 -1
- package/vona/src/suite/a-commerce/modules/commerce-promotion/src/entity/couponTemplate.tsx +40 -4
- package/vona/src/suite/a-commerce/modules/commerce-promotion/test/couponTemplateFormLayout.test.ts +85 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/.metadata/index.ts +1 -1
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/controller/order.ts +3 -5
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/orderSummary.tsx +7 -40
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/dto/shipmentView.tsx +6 -15
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/lib/order.ts +9 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/src/service/order.ts +121 -11
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/order.test.ts +25 -0
- package/vona/src/suite/a-commerce/modules/commerce-trade/test/paymentOutcome.test.ts +19 -2
- package/vona/src/suite/a-training/modules/training-record/src/dto/detailRecordSubjectResItem.tsx +6 -1
- package/vona/src/suite/a-training/modules/training-record/src/dto/recordSelectResItem.tsx +3 -1
- package/vona/src/suite/a-training/modules/training-record/src/dto/recordView.tsx +4 -1
- package/vona/src/suite/a-training/modules/training-record/test/record.test.ts +45 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordResItem.tsx +6 -1
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentSummary.tsx +5 -23
- package/vona/src/suite/a-training/modules/training-student/test/student.test.ts +37 -5
- package/vona/src/suite-vendor/a-pay/modules/a-pay/package.json +1 -1
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/.metadata/index.ts +29 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/meta.index.ts +3 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/meta.redlock.ts +3 -1
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/meta.version.ts +7 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/queue.outboxDispatch.ts +9 -4
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/bean/schedule.providerOperationDispatch.ts +11 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/entity/outboxEvent.tsx +11 -4
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/entity/providerOperation.tsx +12 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/entity/webhookInbox.tsx +6 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/outbox.ts +12 -5
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/paymentSession.ts +1 -37
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/providerOperation.ts +355 -1
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/refundOperation.ts +226 -0
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/service/webhook.ts +148 -50
- package/vona/src/suite-vendor/a-pay/modules/a-pay/src/types/payScene.ts +2 -1
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/package.json +1 -1
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/.metadata/index.ts +39 -22
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/bean/payProvider.mock.ts +42 -13
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/controller/mockPayment.ts +11 -0
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/dto/mockRefundComplete.tsx +13 -0
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/dto/mockRefundReceipt.tsx +16 -0
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/src/service/payMock.ts +56 -0
- package/vona/src/suite-vendor/a-pay/modules/pay-paypal/package.json +2 -1
- package/vona/src/suite-vendor/a-pay/modules/pay-paypal/src/bean/payProvider.paypal.ts +117 -8
- package/vona/src/suite-vendor/a-pay/modules/pay-stripe/package.json +1 -1
- package/vona/src/suite-vendor/a-pay/package.json +5 -5
- package/vona/src/suite-vendor/a-vona/modules/a-orm/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/lib/dto/dtoGet.ts +5 -5
- package/vona/src/suite-vendor/a-vona/package.json +1 -1
- package/zova/src/suite/a-commerce/modules/commerce-member/src/api/openapi/schemas.ts +54 -12
- package/zova/src/suite/a-commerce/modules/commerce-member/src/api/openapi/types.ts +625 -64
- package/zova/src/suite/a-commerce/modules/commerce-promotion/src/api/openapi/types.ts +55 -15
- package/zova/src/suite/a-commerce/modules/commerce-trade/cli/openapi.config.ts +1 -1
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/commerceTradeOrder.ts +15 -17
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/schemas.ts +12 -8
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/api/openapi/types.ts +111 -26
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/apiSchema/commerceTradeOrder.ts +3 -3
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/component/tableCellActionRefund/controller.tsx +1 -8
- package/zova/src/suite/a-commerce/modules/commerce-trade/src/model/order.ts +5 -9
- package/zova/src/suite/a-training/modules/training-student/src/.metadata/index.ts +1 -1
- package/zova/src/suite/a-training/modules/training-student/src/api/openapi/schemas.ts +301 -17
- package/zova/src/suite/a-training/modules/training-student/src/api/openapi/types.ts +5461 -1788
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import assert from 'node:assert/strict';
|
|
2
|
+
import { execFileSync } from 'node:child_process';
|
|
3
|
+
import { mkdtempSync, mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { tmpdir } from 'node:os';
|
|
5
|
+
import { basename, resolve } from 'node:path';
|
|
6
|
+
import test from 'node:test';
|
|
7
|
+
|
|
8
|
+
import { isLinkedGitWorktree, updateBaseAppName } from './initAppName.ts';
|
|
9
|
+
|
|
10
|
+
function git(cwd: string, args: string[]): void {
|
|
11
|
+
execFileSync('git', args, { cwd, stdio: 'ignore' });
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function writeBaseEnvFiles(rootDir: string, appName: string): void {
|
|
15
|
+
for (const relativePath of ['vona/env/.env', 'zova/env/.env']) {
|
|
16
|
+
const filePath = resolve(rootDir, relativePath);
|
|
17
|
+
mkdirSync(resolve(filePath, '..'), { recursive: true });
|
|
18
|
+
writeFileSync(filePath, `APP_NAME = ${appName}\nOTHER_VALUE = preserved\n`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function readBaseEnvFiles(rootDir: string): string[] {
|
|
23
|
+
return ['vona/env/.env', 'zova/env/.env'].map(relativePath =>
|
|
24
|
+
readFileSync(resolve(rootDir, relativePath), 'utf-8'),
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
test('classifies project roots before updating base APP_NAME files', { concurrency: false }, () => {
|
|
29
|
+
const tempDir = mkdtempSync(resolve(tmpdir(), 'cabloy-init-app-name-'));
|
|
30
|
+
const primaryDir = resolve(tempDir, 'primary');
|
|
31
|
+
const linkedDir = resolve(tempDir, 'linked');
|
|
32
|
+
try {
|
|
33
|
+
mkdirSync(primaryDir);
|
|
34
|
+
git(primaryDir, ['init']);
|
|
35
|
+
git(primaryDir, ['config', 'user.email', 'test@example.com']);
|
|
36
|
+
git(primaryDir, ['config', 'user.name', 'Cabloy Test']);
|
|
37
|
+
writeBaseEnvFiles(primaryDir, 'original');
|
|
38
|
+
git(primaryDir, ['add', '.']);
|
|
39
|
+
git(primaryDir, ['commit', '-m', 'initial fixture']);
|
|
40
|
+
|
|
41
|
+
assert.equal(isLinkedGitWorktree(primaryDir), false);
|
|
42
|
+
assert.equal(updateBaseAppName(primaryDir), true);
|
|
43
|
+
for (const content of readBaseEnvFiles(primaryDir)) {
|
|
44
|
+
assert.equal(content, `APP_NAME = ${basename(primaryDir)}\nOTHER_VALUE = preserved\n`);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
git(primaryDir, ['checkout', '--', '.']);
|
|
48
|
+
git(primaryDir, ['worktree', 'add', '--detach', linkedDir, 'HEAD']);
|
|
49
|
+
const linkedBefore = readBaseEnvFiles(linkedDir);
|
|
50
|
+
assert.equal(isLinkedGitWorktree(linkedDir), true);
|
|
51
|
+
assert.equal(updateBaseAppName(linkedDir), false);
|
|
52
|
+
assert.deepEqual(readBaseEnvFiles(linkedDir), linkedBefore);
|
|
53
|
+
|
|
54
|
+
const nestedProjectDir = resolve(linkedDir, 'created-project');
|
|
55
|
+
writeBaseEnvFiles(nestedProjectDir, 'original');
|
|
56
|
+
assert.equal(isLinkedGitWorktree(nestedProjectDir), false);
|
|
57
|
+
assert.equal(updateBaseAppName(nestedProjectDir), true);
|
|
58
|
+
for (const content of readBaseEnvFiles(nestedProjectDir)) {
|
|
59
|
+
assert.equal(content, `APP_NAME = ${basename(nestedProjectDir)}\nOTHER_VALUE = preserved\n`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const nonGitProjectDir = resolve(tempDir, 'non-git-project');
|
|
63
|
+
writeBaseEnvFiles(nonGitProjectDir, 'original');
|
|
64
|
+
assert.equal(isLinkedGitWorktree(nonGitProjectDir), false);
|
|
65
|
+
assert.equal(updateBaseAppName(nonGitProjectDir), true);
|
|
66
|
+
for (const content of readBaseEnvFiles(nonGitProjectDir)) {
|
|
67
|
+
assert.equal(content, `APP_NAME = ${basename(nonGitProjectDir)}\nOTHER_VALUE = preserved\n`);
|
|
68
|
+
}
|
|
69
|
+
} finally {
|
|
70
|
+
rmSync(tempDir, { recursive: true, force: true });
|
|
71
|
+
}
|
|
72
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import { existsSync, readFileSync, realpathSync, writeFileSync } from 'node:fs';
|
|
3
|
+
import { basename, resolve } from 'node:path';
|
|
4
|
+
|
|
5
|
+
function gitOutput(rootDir: string, args: string[]): string {
|
|
6
|
+
return execFileSync('git', args, {
|
|
7
|
+
cwd: rootDir,
|
|
8
|
+
encoding: 'utf-8',
|
|
9
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
10
|
+
}).trim();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function isLinkedGitWorktree(rootDir: string): boolean {
|
|
14
|
+
const projectRoot = realpathSync(resolve(rootDir));
|
|
15
|
+
try {
|
|
16
|
+
const gitRoot = realpathSync(
|
|
17
|
+
resolve(gitOutput(projectRoot, ['rev-parse', '--path-format=absolute', '--show-toplevel'])),
|
|
18
|
+
);
|
|
19
|
+
if (gitRoot !== projectRoot) return false;
|
|
20
|
+
|
|
21
|
+
const gitDir = realpathSync(
|
|
22
|
+
resolve(gitOutput(projectRoot, ['rev-parse', '--path-format=absolute', '--git-dir'])),
|
|
23
|
+
);
|
|
24
|
+
const gitCommonDir = realpathSync(
|
|
25
|
+
resolve(gitOutput(projectRoot, ['rev-parse', '--path-format=absolute', '--git-common-dir'])),
|
|
26
|
+
);
|
|
27
|
+
return gitDir !== gitCommonDir;
|
|
28
|
+
} catch {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function updateBaseAppName(rootDir: string): boolean {
|
|
34
|
+
if (isLinkedGitWorktree(rootDir)) return false;
|
|
35
|
+
|
|
36
|
+
const projectRoot = resolve(rootDir);
|
|
37
|
+
const projectName = basename(projectRoot);
|
|
38
|
+
const envFiles = [resolve(projectRoot, 'vona/env/.env'), resolve(projectRoot, 'zova/env/.env')];
|
|
39
|
+
for (const filePath of envFiles) {
|
|
40
|
+
if (!existsSync(filePath)) continue;
|
|
41
|
+
const content = readFileSync(filePath, 'utf-8').replace(
|
|
42
|
+
/^APP_NAME.*/m,
|
|
43
|
+
`APP_NAME = ${projectName}`,
|
|
44
|
+
);
|
|
45
|
+
writeFileSync(filePath, content);
|
|
46
|
+
// eslint-disable-next-line
|
|
47
|
+
console.log(`[init] Set APP_NAME = ${projectName} in ${filePath}`);
|
|
48
|
+
}
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.83",
|
|
4
4
|
"gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
|
|
5
5
|
"description": "Vona is an intuitive, elegant and powerful Node.js framework for rapidly developing enterprise applications of any size",
|
|
6
6
|
"keywords": [
|
package/vona/pnpm-lock.yaml
CHANGED
|
@@ -717,11 +717,11 @@ importers:
|
|
|
717
717
|
specifier: npm:@cabloy/zod@4.3.8
|
|
718
718
|
version: '@cabloy/zod@4.3.8'
|
|
719
719
|
zova:
|
|
720
|
-
specifier: ^5.1.
|
|
721
|
-
version: 5.1.
|
|
720
|
+
specifier: ^5.1.144
|
|
721
|
+
version: 5.1.144(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
722
722
|
zova-jsx:
|
|
723
|
-
specifier: ^1.1.
|
|
724
|
-
version: 1.1.
|
|
723
|
+
specifier: ^1.1.81
|
|
724
|
+
version: 1.1.81(typescript@5.9.3)
|
|
725
725
|
zova-module-a-api:
|
|
726
726
|
specifier: ^5.1.21
|
|
727
727
|
version: 5.1.21
|
|
@@ -750,8 +750,8 @@ importers:
|
|
|
750
750
|
specifier: ^5.1.47
|
|
751
751
|
version: 5.1.47
|
|
752
752
|
zova-module-a-pay:
|
|
753
|
-
specifier: ^5.0.
|
|
754
|
-
version: 5.0.
|
|
753
|
+
specifier: ^5.0.2
|
|
754
|
+
version: 5.0.2
|
|
755
755
|
zova-module-a-router:
|
|
756
756
|
specifier: ^5.1.31
|
|
757
757
|
version: 5.1.31
|
|
@@ -768,8 +768,8 @@ importers:
|
|
|
768
768
|
specifier: ^5.1.37
|
|
769
769
|
version: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
770
770
|
zova-module-pay-mock:
|
|
771
|
-
specifier: ^5.0.
|
|
772
|
-
version: 5.0.
|
|
771
|
+
specifier: ^5.0.2
|
|
772
|
+
version: 5.0.2
|
|
773
773
|
zova-module-rest-resource:
|
|
774
774
|
specifier: ^5.1.42
|
|
775
775
|
version: 5.1.42
|
|
@@ -795,11 +795,11 @@ importers:
|
|
|
795
795
|
specifier: npm:@cabloy/zod@4.3.8
|
|
796
796
|
version: '@cabloy/zod@4.3.8'
|
|
797
797
|
zova:
|
|
798
|
-
specifier: ^5.1.
|
|
799
|
-
version: 5.1.
|
|
798
|
+
specifier: ^5.1.144
|
|
799
|
+
version: 5.1.144(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
800
800
|
zova-jsx:
|
|
801
|
-
specifier: ^1.1.
|
|
802
|
-
version: 1.1.
|
|
801
|
+
specifier: ^1.1.81
|
|
802
|
+
version: 1.1.81(typescript@5.9.3)
|
|
803
803
|
zova-module-a-api:
|
|
804
804
|
specifier: ^5.1.21
|
|
805
805
|
version: 5.1.21
|
|
@@ -828,8 +828,8 @@ importers:
|
|
|
828
828
|
specifier: ^5.1.47
|
|
829
829
|
version: 5.1.47
|
|
830
830
|
zova-module-a-pay:
|
|
831
|
-
specifier: ^5.0.
|
|
832
|
-
version: 5.0.
|
|
831
|
+
specifier: ^5.0.2
|
|
832
|
+
version: 5.0.2
|
|
833
833
|
zova-module-a-router:
|
|
834
834
|
specifier: ^5.1.31
|
|
835
835
|
version: 5.1.31
|
|
@@ -846,8 +846,8 @@ importers:
|
|
|
846
846
|
specifier: ^5.1.37
|
|
847
847
|
version: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
848
848
|
zova-module-pay-mock:
|
|
849
|
-
specifier: ^5.0.
|
|
850
|
-
version: 5.0.
|
|
849
|
+
specifier: ^5.0.2
|
|
850
|
+
version: 5.0.2
|
|
851
851
|
zova-module-rest-resource:
|
|
852
852
|
specifier: ^5.1.42
|
|
853
853
|
version: 5.1.42
|
|
@@ -1834,16 +1834,16 @@ importers:
|
|
|
1834
1834
|
src/suite-vendor/a-pay:
|
|
1835
1835
|
dependencies:
|
|
1836
1836
|
vona-module-a-pay:
|
|
1837
|
-
specifier: ^5.0.
|
|
1837
|
+
specifier: ^5.0.2
|
|
1838
1838
|
version: link:modules/a-pay
|
|
1839
1839
|
vona-module-pay-mock:
|
|
1840
|
-
specifier: ^5.0.
|
|
1840
|
+
specifier: ^5.0.2
|
|
1841
1841
|
version: link:modules/pay-mock
|
|
1842
1842
|
vona-module-pay-paypal:
|
|
1843
|
-
specifier: ^5.0.
|
|
1843
|
+
specifier: ^5.0.2
|
|
1844
1844
|
version: link:modules/pay-paypal
|
|
1845
1845
|
vona-module-pay-stripe:
|
|
1846
|
-
specifier: ^5.0.
|
|
1846
|
+
specifier: ^5.0.2
|
|
1847
1847
|
version: link:modules/pay-stripe
|
|
1848
1848
|
|
|
1849
1849
|
src/suite-vendor/a-pay/modules/a-pay:
|
|
@@ -1870,6 +1870,9 @@ importers:
|
|
|
1870
1870
|
|
|
1871
1871
|
src/suite-vendor/a-pay/modules/pay-paypal:
|
|
1872
1872
|
dependencies:
|
|
1873
|
+
'@cabloy/paypal-server-sdk':
|
|
1874
|
+
specifier: 2.2.0
|
|
1875
|
+
version: 2.2.0(supports-color@5.5.0)
|
|
1873
1876
|
vona-module-a-pay:
|
|
1874
1877
|
specifier: workspace:*
|
|
1875
1878
|
version: link:../a-pay
|
|
@@ -1919,7 +1922,7 @@ importers:
|
|
|
1919
1922
|
specifier: ^5.0.8
|
|
1920
1923
|
version: link:modules/test-file
|
|
1921
1924
|
vona-module-test-pay:
|
|
1922
|
-
specifier: ^5.0.
|
|
1925
|
+
specifier: ^5.0.1
|
|
1923
1926
|
version: link:modules/test-pay
|
|
1924
1927
|
|
|
1925
1928
|
src/suite-vendor/a-test/modules/test-auth:
|
|
@@ -3077,6 +3080,9 @@ importers:
|
|
|
3077
3080
|
vona-module-a-pay:
|
|
3078
3081
|
specifier: workspace:*
|
|
3079
3082
|
version: link:../../../../suite-vendor/a-pay/modules/a-pay
|
|
3083
|
+
vona-module-pay-paypal:
|
|
3084
|
+
specifier: workspace:*
|
|
3085
|
+
version: link:../../../../suite-vendor/a-pay/modules/pay-paypal
|
|
3080
3086
|
devDependencies:
|
|
3081
3087
|
clean-package:
|
|
3082
3088
|
specifier: ^2.2.0
|
|
@@ -8556,15 +8562,9 @@ packages:
|
|
|
8556
8562
|
peerDependencies:
|
|
8557
8563
|
zod: ^3.25.28 || ^4
|
|
8558
8564
|
|
|
8559
|
-
zova-core@5.1.79:
|
|
8560
|
-
resolution: {integrity: sha512-q04JWAjwa5x0py9/FCFPX9I8cNA4zzZ/Z+8mm2mVsRBMqDFcafwVqNumOAkZ+DuA10b4YIoncyQKYz5PhhmBUw==}
|
|
8561
|
-
|
|
8562
8565
|
zova-core@5.1.81:
|
|
8563
8566
|
resolution: {integrity: sha512-gLmLWXpd9xNmc+fXx33QEgRZ2ZsNjRlVWDC1HEQLLnq3ZCakDf87qXhfdk+JH5csS2BjGAdckfmbiLqGL15o1Q==}
|
|
8564
8567
|
|
|
8565
|
-
zova-jsx@1.1.79:
|
|
8566
|
-
resolution: {integrity: sha512-iFp9UpW/3Cbaq0H25xyR04LYyaqB2wlAGOL1dEL7OyuIzHI0IHcBwfZRbRGy7ewgDVHit2ULG03kO1sSjjPuWQ==}
|
|
8567
|
-
|
|
8568
8568
|
zova-jsx@1.1.81:
|
|
8569
8569
|
resolution: {integrity: sha512-WVUc4DYsVcjPfcfWgFY2vQbiK8ARIwv2K6o6Auyqvts/vSfJ7BCzD4XqCVHANVY5yJ8povdJUzpiCIAhioWRkg==}
|
|
8570
8570
|
|
|
@@ -8613,9 +8613,6 @@ packages:
|
|
|
8613
8613
|
zova-module-a-openapi@5.1.47:
|
|
8614
8614
|
resolution: {integrity: sha512-iar4YR9GGdCQ9N60yt9yV+RkiM1seKlmbhoyZqLAZ7aR5tLnw2ZL7ElamHEGO5iBtFXRU8QH8RaU+8PnnyaLkg==}
|
|
8615
8615
|
|
|
8616
|
-
zova-module-a-pay@5.0.0:
|
|
8617
|
-
resolution: {integrity: sha512-jt9acZZPKnkJs8t4qOBOmqO7gyOGnByujCyNsuohAYLQSXkjdTKOJqXDe6dj0KcdayHry0ZvJiaErzQJsiNbWA==}
|
|
8618
|
-
|
|
8619
8616
|
zova-module-a-pay@5.0.2:
|
|
8620
8617
|
resolution: {integrity: sha512-BOKkM7R//Kju54PhZxnyJ0O8gHnyKrwxXpAAr85wJurHQAl3NIsdRwINj+i+hIe3Btc+UJmi/H1kpg0d3YuoZQ==}
|
|
8621
8618
|
|
|
@@ -8646,30 +8643,18 @@ packages:
|
|
|
8646
8643
|
zova-module-a-zod@5.1.36:
|
|
8647
8644
|
resolution: {integrity: sha512-4gEjxJBelVOA84aP2XWSNSmzQr+AYh14Ha5QCj9yZIpSnEajSgYLoyLw4dwiVcscuEw7xAAOOnWbZS9uXSpJzg==}
|
|
8648
8645
|
|
|
8649
|
-
zova-module-a-zova@5.1.94:
|
|
8650
|
-
resolution: {integrity: sha512-c2qbu3YiNYRSMpprPkBbZ9RaQ9KKF4Y/cEumDJaCpPoZEbJClI/WBZMrY/ZpG9Rsp/87DJ63Vkbu+iSTOh7csg==}
|
|
8651
|
-
|
|
8652
8646
|
zova-module-a-zova@5.1.96:
|
|
8653
8647
|
resolution: {integrity: sha512-lP6LgzbrSlHBqyA1QhMZ66B0DQBLcXcEcWBh3zESFnhFzbomlfABjG+cnju5ki771YhT2CuPeo3m9v01WYc3Bg==}
|
|
8654
8648
|
|
|
8655
|
-
zova-module-pay-mock@5.0.0:
|
|
8656
|
-
resolution: {integrity: sha512-WORyFqRNkrcGZCzLaesu4BDziQ2iOUIeRMVbwXx/Wzp2W0EpwMvqqAPqO8U3PKjvWtAw3YwTJFsXs1Qh66l4zQ==}
|
|
8657
|
-
|
|
8658
8649
|
zova-module-pay-mock@5.0.2:
|
|
8659
8650
|
resolution: {integrity: sha512-G6ld4ZZJ3crSUQ1fH+Tn2p9/05ngfJYtDtTtq7K1Xo9ei2fjbp13Jrbjh3cKR+dhWuK9Q1gwAs7xwhu7NIiTKA==}
|
|
8660
8651
|
|
|
8661
8652
|
zova-module-rest-resource@5.1.42:
|
|
8662
8653
|
resolution: {integrity: sha512-eMWhc4428U5Hs4BHqFJoF7yaH+bK8t71scIrCnpLbQS7M80lNkoHxY9s/Kl4i8Uo3+lVWbSbuaXWtR+zVLNqpA==}
|
|
8663
8654
|
|
|
8664
|
-
zova-suite-a-zova@5.1.141:
|
|
8665
|
-
resolution: {integrity: sha512-fqeynyYUL12PTZMQ1ZxryHEFcCfaQL2hLTs8MxxdbHCKDhOjNEaOTW5MGR5DzSRM7uMXNCq1crPvbYvDmmeUdg==}
|
|
8666
|
-
|
|
8667
8655
|
zova-suite-a-zova@5.1.143:
|
|
8668
8656
|
resolution: {integrity: sha512-DMaYtWO1HVu0BIeNguAYqlcOGa9MVfejDLvLqw6mOqmPSSLrvGSSC+lzYGhI/J9xQBbGRFaWbIdMhetCpuZdwg==}
|
|
8669
8657
|
|
|
8670
|
-
zova@5.1.142:
|
|
8671
|
-
resolution: {integrity: sha512-qvrKhrS9y4BVI2Nszre3TSvDJu5BjTo2adzAXP2qC3TeoW4IZ8njvV2ROoAPe//X6SiJ1Il60oTNSc1PnkXvWg==}
|
|
8672
|
-
|
|
8673
8658
|
zova@5.1.144:
|
|
8674
8659
|
resolution: {integrity: sha512-YEgsYl7hL635nK9134oH8GMUqHp41IAp0I+rWz27f2QCkp8QGLqvQIbrvXoFnYwJyuYmaCz/eBMMrl1y+mzs0w==}
|
|
8675
8660
|
|
|
@@ -14591,35 +14576,6 @@ snapshots:
|
|
|
14591
14576
|
dependencies:
|
|
14592
14577
|
zod: '@cabloy/zod@4.3.8'
|
|
14593
14578
|
|
|
14594
|
-
zova-core@5.1.79(typescript@5.9.3):
|
|
14595
|
-
dependencies:
|
|
14596
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14597
|
-
'@cabloy/extend': link:packages-utils/extend
|
|
14598
|
-
'@cabloy/json5': link:packages-utils/json5
|
|
14599
|
-
'@cabloy/localeutil': link:packages-utils/localeutil
|
|
14600
|
-
'@cabloy/logger': 1.1.24
|
|
14601
|
-
'@cabloy/module-info': 2.0.3
|
|
14602
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14603
|
-
'@cabloy/vue-compiler-sfc': 3.5.14
|
|
14604
|
-
'@cabloy/vue-reactivity': 3.5.16
|
|
14605
|
-
'@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
|
|
14606
|
-
'@cabloy/vue-runtime-core': 3.5.57
|
|
14607
|
-
'@cabloy/vue-runtime-dom': 3.5.13
|
|
14608
|
-
'@cabloy/vue-server-renderer': 3.5.18(vue@3.5.39(typescript@5.9.3))
|
|
14609
|
-
'@cabloy/word-utils': 2.1.14
|
|
14610
|
-
'@cabloy/zod-errors-custom': link:packages-utils/zod-errors-custom
|
|
14611
|
-
'@cabloy/zod-openapi': link:packages-utils/zod-openapi
|
|
14612
|
-
'@cabloy/zod-query': link:packages-utils/zod-query
|
|
14613
|
-
'@types/js-cookie': 3.0.6
|
|
14614
|
-
'@vue/shared': 3.5.36
|
|
14615
|
-
deep-equal: 2.2.3
|
|
14616
|
-
reflect-metadata: 0.2.2
|
|
14617
|
-
vue: 3.5.39(typescript@5.9.3)
|
|
14618
|
-
vue-plugin-render-freeze: 2.0.4(vue@3.5.39(typescript@5.9.3))
|
|
14619
|
-
zod: '@cabloy/zod@4.3.8'
|
|
14620
|
-
transitivePeerDependencies:
|
|
14621
|
-
- typescript
|
|
14622
|
-
|
|
14623
14579
|
zova-core@5.1.81(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3):
|
|
14624
14580
|
dependencies:
|
|
14625
14581
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14649,17 +14605,6 @@ snapshots:
|
|
|
14649
14605
|
transitivePeerDependencies:
|
|
14650
14606
|
- typescript
|
|
14651
14607
|
|
|
14652
|
-
zova-jsx@1.1.79(typescript@5.9.3):
|
|
14653
|
-
dependencies:
|
|
14654
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14655
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14656
|
-
'@cabloy/word-utils': 2.1.14
|
|
14657
|
-
typestyle: 2.4.0
|
|
14658
|
-
vue: 3.5.39(typescript@5.9.3)
|
|
14659
|
-
zova-core: 5.1.79(typescript@5.9.3)
|
|
14660
|
-
transitivePeerDependencies:
|
|
14661
|
-
- typescript
|
|
14662
|
-
|
|
14663
14608
|
zova-jsx@1.1.81(typescript@5.9.3):
|
|
14664
14609
|
dependencies:
|
|
14665
14610
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14730,8 +14675,6 @@ snapshots:
|
|
|
14730
14675
|
openapi3-ts: 4.6.0
|
|
14731
14676
|
typestyle: 2.4.0
|
|
14732
14677
|
|
|
14733
|
-
zova-module-a-pay@5.0.0: {}
|
|
14734
|
-
|
|
14735
14678
|
zova-module-a-pay@5.0.2: {}
|
|
14736
14679
|
|
|
14737
14680
|
zova-module-a-router@5.1.31: {}
|
|
@@ -14773,22 +14716,6 @@ snapshots:
|
|
|
14773
14716
|
'@cabloy/zod-query': link:packages-utils/zod-query
|
|
14774
14717
|
zod: '@cabloy/zod@4.3.8'
|
|
14775
14718
|
|
|
14776
|
-
zova-module-a-zova@5.1.94(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14777
|
-
dependencies:
|
|
14778
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14779
|
-
'@cabloy/deps': link:packages-utils/deps
|
|
14780
|
-
'@cabloy/json5': link:packages-utils/json5
|
|
14781
|
-
'@cabloy/module-info': 2.0.3
|
|
14782
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14783
|
-
'@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
|
|
14784
|
-
'@cabloy/word-utils': 2.1.14
|
|
14785
|
-
defu: 6.1.7
|
|
14786
|
-
luxon: 3.7.2
|
|
14787
|
-
zova-jsx: 1.1.79(typescript@5.9.3)
|
|
14788
|
-
transitivePeerDependencies:
|
|
14789
|
-
- typescript
|
|
14790
|
-
- vue
|
|
14791
|
-
|
|
14792
14719
|
zova-module-a-zova@5.1.96(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14793
14720
|
dependencies:
|
|
14794
14721
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14805,46 +14732,10 @@ snapshots:
|
|
|
14805
14732
|
- typescript
|
|
14806
14733
|
- vue
|
|
14807
14734
|
|
|
14808
|
-
zova-module-pay-mock@5.0.0: {}
|
|
14809
|
-
|
|
14810
14735
|
zova-module-pay-mock@5.0.2: {}
|
|
14811
14736
|
|
|
14812
14737
|
zova-module-rest-resource@5.1.42: {}
|
|
14813
14738
|
|
|
14814
|
-
zova-suite-a-zova@5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14815
|
-
dependencies:
|
|
14816
|
-
zova-module-a-api: 5.1.21
|
|
14817
|
-
zova-module-a-app: 5.1.25
|
|
14818
|
-
zova-module-a-bean: 5.1.32
|
|
14819
|
-
zova-module-a-behavior: 5.1.25
|
|
14820
|
-
zova-module-a-behaviors: 5.1.21
|
|
14821
|
-
zova-module-a-boundary: 5.1.21
|
|
14822
|
-
zova-module-a-command: 5.1.33
|
|
14823
|
-
zova-module-a-fetch: 5.1.24
|
|
14824
|
-
zova-module-a-form: 5.1.46(vue@3.5.39(typescript@5.9.3))
|
|
14825
|
-
zova-module-a-icon: 5.1.26
|
|
14826
|
-
zova-module-a-interceptor: 5.1.29
|
|
14827
|
-
zova-module-a-logger: 5.1.26
|
|
14828
|
-
zova-module-a-meta: 5.1.21
|
|
14829
|
-
zova-module-a-model: 5.1.33(vue@3.5.39(typescript@5.9.3))
|
|
14830
|
-
zova-module-a-openapi: 5.1.47
|
|
14831
|
-
zova-module-a-router: 5.1.31
|
|
14832
|
-
zova-module-a-routerstack: 5.1.26
|
|
14833
|
-
zova-module-a-routertabs: 5.1.33
|
|
14834
|
-
zova-module-a-ssr: 5.1.32
|
|
14835
|
-
zova-module-a-ssrhmr: 5.1.22
|
|
14836
|
-
zova-module-a-ssrserver: 5.1.23
|
|
14837
|
-
zova-module-a-style: 5.1.32
|
|
14838
|
-
zova-module-a-table: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
14839
|
-
zova-module-a-zod: 5.1.36
|
|
14840
|
-
zova-module-a-zova: 5.1.94(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
14841
|
-
transitivePeerDependencies:
|
|
14842
|
-
- '@vue/composition-api'
|
|
14843
|
-
- debug
|
|
14844
|
-
- supports-color
|
|
14845
|
-
- typescript
|
|
14846
|
-
- vue
|
|
14847
|
-
|
|
14848
14739
|
zova-suite-a-zova@5.1.143(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14849
14740
|
dependencies:
|
|
14850
14741
|
zova-module-a-api: 5.1.21
|
|
@@ -14879,17 +14770,6 @@ snapshots:
|
|
|
14879
14770
|
- typescript
|
|
14880
14771
|
- vue
|
|
14881
14772
|
|
|
14882
|
-
zova@5.1.142(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14883
|
-
dependencies:
|
|
14884
|
-
zova-core: 5.1.79(typescript@5.9.3)
|
|
14885
|
-
zova-suite-a-zova: 5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
14886
|
-
transitivePeerDependencies:
|
|
14887
|
-
- '@vue/composition-api'
|
|
14888
|
-
- debug
|
|
14889
|
-
- supports-color
|
|
14890
|
-
- typescript
|
|
14891
|
-
- vue
|
|
14892
|
-
|
|
14893
14773
|
zova@5.1.144(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14894
14774
|
dependencies:
|
|
14895
14775
|
zova-core: 5.1.81(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3)
|
|
@@ -1,35 +1,14 @@
|
|
|
1
1
|
import type { IDecoratorDtoOptions } from 'vona-module-a-web';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { $Dto } from 'vona-module-a-orm';
|
|
4
4
|
import { Dto } from 'vona-module-a-web';
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { addressMineWriteColumns } from '../lib/addressMine.ts';
|
|
7
|
+
import { ModelAddress } from '../model/address.ts';
|
|
7
8
|
|
|
8
9
|
export interface IDtoOptionsAddressMineCreate extends IDecoratorDtoOptions {}
|
|
9
10
|
|
|
10
11
|
@Dto<IDtoOptionsAddressMineCreate>()
|
|
11
|
-
export class DtoAddressMineCreate {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
@Api.field(v.title($locale('Phone')), v.required(), v.min(1), v.max(50))
|
|
16
|
-
phone: string;
|
|
17
|
-
|
|
18
|
-
@Api.field(v.title($locale('CountryCode')), v.required(), v.min(2), v.max(10))
|
|
19
|
-
countryCode: string;
|
|
20
|
-
|
|
21
|
-
@Api.field(v.title($locale('Region')), v.required(), v.min(1), v.max(100))
|
|
22
|
-
region: string;
|
|
23
|
-
|
|
24
|
-
@Api.field(v.title($locale('City')), v.required(), v.min(1), v.max(100))
|
|
25
|
-
city: string;
|
|
26
|
-
|
|
27
|
-
@Api.field(v.title($locale('PostalCode')), v.required(), v.min(1), v.max(30))
|
|
28
|
-
postalCode: string;
|
|
29
|
-
|
|
30
|
-
@Api.field(v.title($locale('AddressLine1')), v.required(), v.min(1), v.max(255))
|
|
31
|
-
addressLine1: string;
|
|
32
|
-
|
|
33
|
-
@Api.field(v.title($locale('AddressLine2')), v.optional(), v.max(255))
|
|
34
|
-
addressLine2?: string;
|
|
35
|
-
}
|
|
12
|
+
export class DtoAddressMineCreate extends $Dto.create(() => ModelAddress, {
|
|
13
|
+
columns: addressMineWriteColumns,
|
|
14
|
+
}) {}
|
|
@@ -1,39 +1,14 @@
|
|
|
1
|
-
import type { TableIdentity } from 'table-identity';
|
|
2
1
|
import type { IDecoratorDtoOptions } from 'vona-module-a-web';
|
|
3
2
|
|
|
4
|
-
import {
|
|
3
|
+
import { $Dto } from 'vona-module-a-orm';
|
|
5
4
|
import { Dto } from 'vona-module-a-web';
|
|
6
5
|
|
|
7
|
-
import {
|
|
6
|
+
import { addressMineReadColumns } from '../lib/addressMine.ts';
|
|
7
|
+
import { ModelAddress } from '../model/address.ts';
|
|
8
8
|
|
|
9
9
|
export interface IDtoOptionsAddressMineItem extends IDecoratorDtoOptions {}
|
|
10
10
|
|
|
11
11
|
@Dto<IDtoOptionsAddressMineItem>()
|
|
12
|
-
export class DtoAddressMineItem {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
@Api.field(v.title($locale('RecipientName')), v.required(), v.min(2), v.max(100))
|
|
17
|
-
recipientName: string;
|
|
18
|
-
|
|
19
|
-
@Api.field(v.title($locale('Phone')), v.required(), v.min(1), v.max(50))
|
|
20
|
-
phone: string;
|
|
21
|
-
|
|
22
|
-
@Api.field(v.title($locale('CountryCode')), v.required(), v.min(2), v.max(10))
|
|
23
|
-
countryCode: string;
|
|
24
|
-
|
|
25
|
-
@Api.field(v.title($locale('Region')), v.required(), v.min(1), v.max(100))
|
|
26
|
-
region: string;
|
|
27
|
-
|
|
28
|
-
@Api.field(v.title($locale('City')), v.required(), v.min(1), v.max(100))
|
|
29
|
-
city: string;
|
|
30
|
-
|
|
31
|
-
@Api.field(v.title($locale('PostalCode')), v.required(), v.min(1), v.max(30))
|
|
32
|
-
postalCode: string;
|
|
33
|
-
|
|
34
|
-
@Api.field(v.title($locale('AddressLine1')), v.required(), v.min(1), v.max(255))
|
|
35
|
-
addressLine1: string;
|
|
36
|
-
|
|
37
|
-
@Api.field(v.title($locale('AddressLine2')), v.optional(), v.max(255))
|
|
38
|
-
addressLine2?: string;
|
|
39
|
-
}
|
|
12
|
+
export class DtoAddressMineItem extends $Dto.get(() => ModelAddress, {
|
|
13
|
+
columns: addressMineReadColumns,
|
|
14
|
+
}) {}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import type { IDecoratorDtoOptions } from 'vona-module-a-web';
|
|
2
2
|
|
|
3
|
+
import { $Dto } from 'vona-module-a-orm';
|
|
3
4
|
import { Dto } from 'vona-module-a-web';
|
|
4
5
|
|
|
5
|
-
import {
|
|
6
|
+
import { addressMineWriteColumns } from '../lib/addressMine.ts';
|
|
7
|
+
import { ModelAddress } from '../model/address.ts';
|
|
6
8
|
|
|
7
9
|
export interface IDtoOptionsAddressMineUpdate extends IDecoratorDtoOptions {}
|
|
8
10
|
|
|
9
11
|
@Dto<IDtoOptionsAddressMineUpdate>()
|
|
10
|
-
export class DtoAddressMineUpdate extends
|
|
12
|
+
export class DtoAddressMineUpdate extends $Dto.update(() => ModelAddress, {
|
|
13
|
+
columns: addressMineWriteColumns,
|
|
14
|
+
}) {}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { EntityAddress } from '../entity/address.tsx';
|
|
2
|
+
|
|
3
|
+
export const addressMineWriteColumns = [
|
|
4
|
+
'recipientName',
|
|
5
|
+
'phone',
|
|
6
|
+
'countryCode',
|
|
7
|
+
'region',
|
|
8
|
+
'city',
|
|
9
|
+
'postalCode',
|
|
10
|
+
'addressLine1',
|
|
11
|
+
'addressLine2',
|
|
12
|
+
] satisfies Array<keyof EntityAddress>;
|
|
13
|
+
|
|
14
|
+
export const addressMineReadColumns = ['id', ...addressMineWriteColumns] satisfies Array<
|
|
15
|
+
keyof EntityAddress
|
|
16
|
+
>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
|
-
import type { IQueryParams
|
|
2
|
+
import type { IQueryParams } from 'vona-module-a-orm';
|
|
3
3
|
|
|
4
4
|
import { BeanBase } from 'vona';
|
|
5
5
|
import { Service } from 'vona-module-a-bean';
|
|
@@ -10,22 +10,9 @@ import type { DtoAddressMineUpdate } from '../dto/addressMineUpdate.tsx';
|
|
|
10
10
|
import type { DtoAddressMineView } from '../dto/addressMineView.tsx';
|
|
11
11
|
import type { DtoAddressSelectRes } from '../dto/addressSelectRes.tsx';
|
|
12
12
|
import type { DtoAddressView } from '../dto/addressView.tsx';
|
|
13
|
-
import type { EntityAddress } from '../entity/address.tsx';
|
|
14
13
|
import type { ModelAddress } from '../model/address.ts';
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
'id',
|
|
18
|
-
'recipientName',
|
|
19
|
-
'phone',
|
|
20
|
-
'countryCode',
|
|
21
|
-
'region',
|
|
22
|
-
'city',
|
|
23
|
-
'postalCode',
|
|
24
|
-
'addressLine1',
|
|
25
|
-
'addressLine2',
|
|
26
|
-
'createdAt',
|
|
27
|
-
'updatedAt',
|
|
28
|
-
];
|
|
15
|
+
import { addressMineReadColumns } from '../lib/addressMine.ts';
|
|
29
16
|
|
|
30
17
|
@Service()
|
|
31
18
|
export class ServiceAddress extends BeanBase {
|
|
@@ -43,7 +30,7 @@ export class ServiceAddress extends BeanBase {
|
|
|
43
30
|
async mine(params?: IQueryParams<ModelAddress>): Promise<DtoAddressMineRes> {
|
|
44
31
|
return await this.scope.model.address.selectAndCount({
|
|
45
32
|
...params,
|
|
46
|
-
columns:
|
|
33
|
+
columns: addressMineReadColumns,
|
|
47
34
|
where: { ...params?.where, userId: this._getCurrentUserId() },
|
|
48
35
|
orders: params?.orders ?? [['id', 'asc']],
|
|
49
36
|
});
|
|
@@ -79,7 +66,7 @@ export class ServiceAddress extends BeanBase {
|
|
|
79
66
|
private async _getOwnedAddress(id: TableIdentity) {
|
|
80
67
|
return await this.scope.model.address.get(
|
|
81
68
|
{ id, userId: this._getCurrentUserId() },
|
|
82
|
-
{ columns:
|
|
69
|
+
{ columns: addressMineReadColumns },
|
|
83
70
|
);
|
|
84
71
|
}
|
|
85
72
|
}
|