cabloy 5.1.124 → 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 +21 -0
- package/CLAUDE.md +1 -1
- package/cabloy-docs/.vitepress/config.mjs +2 -0
- package/cabloy-docs/ai/playbook-technical-blog-authoring.md +158 -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 +48 -146
- 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
- package/vona/src/suite-vendor/a-pay/modules/a-pay/test/outbox.test.ts +0 -209
- package/vona/src/suite-vendor/a-pay/modules/a-pay/test/paymentSession.test.ts +0 -153
- package/vona/src/suite-vendor/a-pay/modules/a-pay/test/webhook.test.ts +0 -278
- package/vona/src/suite-vendor/a-pay/modules/pay-mock/test/payMock.test.ts +0 -141
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cabloy",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.126",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "A Node.js fullstack framework",
|
|
6
6
|
"keywords": [
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"scripts": {
|
|
24
24
|
"init": "node scripts/init.ts",
|
|
25
25
|
"init:test-data": "node scripts/initTestData.ts",
|
|
26
|
+
"test:scripts": "node --test scripts/initAppName.test.ts",
|
|
26
27
|
"upgrade": "node scripts/upgrade.ts",
|
|
27
28
|
"upgrade:dry-run": "node scripts/upgrade.ts --dry-run",
|
|
28
29
|
"vona": "node ./vona/packages-cli/cli/src/bin/vona.ts --projectPath=vona",
|
package/scripts/init.ts
CHANGED
|
@@ -9,10 +9,11 @@ import {
|
|
|
9
9
|
rmSync,
|
|
10
10
|
writeFileSync,
|
|
11
11
|
} from 'node:fs';
|
|
12
|
-
import { basename } from 'node:path';
|
|
13
12
|
import { dirname, resolve } from 'node:path';
|
|
14
13
|
import { fileURLToPath } from 'node:url';
|
|
15
14
|
|
|
15
|
+
import { updateBaseAppName } from './initAppName.ts';
|
|
16
|
+
|
|
16
17
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
17
18
|
const ROOT_DIR = resolve(__dirname, '..');
|
|
18
19
|
const VONA_DIR = resolve(ROOT_DIR, 'vona');
|
|
@@ -141,19 +142,13 @@ function seedVonaZovaRestWorkspaceDependencies(pkgPath: string): void {
|
|
|
141
142
|
console.log('[init] Seeded Vona .zova-rest dependencies');
|
|
142
143
|
}
|
|
143
144
|
|
|
144
|
-
// --- Step 0: Set APP_NAME in .env files ---
|
|
145
|
+
// --- Step 0: Set APP_NAME in base .env files ---
|
|
145
146
|
|
|
146
147
|
function setAppName(): void {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
let content = readFileSync(filePath, 'utf-8');
|
|
152
|
-
content = content.replace(/^APP_NAME.*/m, `APP_NAME = ${projectName}`);
|
|
153
|
-
writeFileSync(filePath, content);
|
|
154
|
-
// eslint-disable-next-line
|
|
155
|
-
console.log(`[init] Set APP_NAME = ${projectName} in ${filePath}`);
|
|
156
|
-
}
|
|
148
|
+
updateBaseAppName(ROOT_DIR);
|
|
149
|
+
// if (updateBaseAppName(ROOT_DIR)) return;
|
|
150
|
+
// eslint-disable-next-line
|
|
151
|
+
// console.log('[init] Linked Git worktree detected; preserving base APP_NAME defaults');
|
|
157
152
|
}
|
|
158
153
|
|
|
159
154
|
// --- Step A: Generate vona/env/.env.prod.local ---
|
|
@@ -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
|
@@ -418,6 +418,9 @@ importers:
|
|
|
418
418
|
vona-module-test-image:
|
|
419
419
|
specifier: workspace:^
|
|
420
420
|
version: link:src/suite-vendor/a-test/modules/test-image
|
|
421
|
+
vona-module-test-pay:
|
|
422
|
+
specifier: workspace:^
|
|
423
|
+
version: link:src/suite-vendor/a-test/modules/test-pay
|
|
421
424
|
vona-module-test-rest:
|
|
422
425
|
specifier: workspace:^
|
|
423
426
|
version: link:src/suite-vendor/a-test/modules/test-rest
|
|
@@ -714,11 +717,11 @@ importers:
|
|
|
714
717
|
specifier: npm:@cabloy/zod@4.3.8
|
|
715
718
|
version: '@cabloy/zod@4.3.8'
|
|
716
719
|
zova:
|
|
717
|
-
specifier: ^5.1.
|
|
718
|
-
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))
|
|
719
722
|
zova-jsx:
|
|
720
|
-
specifier: ^1.1.
|
|
721
|
-
version: 1.1.
|
|
723
|
+
specifier: ^1.1.81
|
|
724
|
+
version: 1.1.81(typescript@5.9.3)
|
|
722
725
|
zova-module-a-api:
|
|
723
726
|
specifier: ^5.1.21
|
|
724
727
|
version: 5.1.21
|
|
@@ -747,8 +750,8 @@ importers:
|
|
|
747
750
|
specifier: ^5.1.47
|
|
748
751
|
version: 5.1.47
|
|
749
752
|
zova-module-a-pay:
|
|
750
|
-
specifier: ^5.0.
|
|
751
|
-
version: 5.0.
|
|
753
|
+
specifier: ^5.0.2
|
|
754
|
+
version: 5.0.2
|
|
752
755
|
zova-module-a-router:
|
|
753
756
|
specifier: ^5.1.31
|
|
754
757
|
version: 5.1.31
|
|
@@ -765,8 +768,8 @@ importers:
|
|
|
765
768
|
specifier: ^5.1.37
|
|
766
769
|
version: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
767
770
|
zova-module-pay-mock:
|
|
768
|
-
specifier: ^5.0.
|
|
769
|
-
version: 5.0.
|
|
771
|
+
specifier: ^5.0.2
|
|
772
|
+
version: 5.0.2
|
|
770
773
|
zova-module-rest-resource:
|
|
771
774
|
specifier: ^5.1.42
|
|
772
775
|
version: 5.1.42
|
|
@@ -792,11 +795,11 @@ importers:
|
|
|
792
795
|
specifier: npm:@cabloy/zod@4.3.8
|
|
793
796
|
version: '@cabloy/zod@4.3.8'
|
|
794
797
|
zova:
|
|
795
|
-
specifier: ^5.1.
|
|
796
|
-
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))
|
|
797
800
|
zova-jsx:
|
|
798
|
-
specifier: ^1.1.
|
|
799
|
-
version: 1.1.
|
|
801
|
+
specifier: ^1.1.81
|
|
802
|
+
version: 1.1.81(typescript@5.9.3)
|
|
800
803
|
zova-module-a-api:
|
|
801
804
|
specifier: ^5.1.21
|
|
802
805
|
version: 5.1.21
|
|
@@ -825,8 +828,8 @@ importers:
|
|
|
825
828
|
specifier: ^5.1.47
|
|
826
829
|
version: 5.1.47
|
|
827
830
|
zova-module-a-pay:
|
|
828
|
-
specifier: ^5.0.
|
|
829
|
-
version: 5.0.
|
|
831
|
+
specifier: ^5.0.2
|
|
832
|
+
version: 5.0.2
|
|
830
833
|
zova-module-a-router:
|
|
831
834
|
specifier: ^5.1.31
|
|
832
835
|
version: 5.1.31
|
|
@@ -843,8 +846,8 @@ importers:
|
|
|
843
846
|
specifier: ^5.1.37
|
|
844
847
|
version: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
845
848
|
zova-module-pay-mock:
|
|
846
|
-
specifier: ^5.0.
|
|
847
|
-
version: 5.0.
|
|
849
|
+
specifier: ^5.0.2
|
|
850
|
+
version: 5.0.2
|
|
848
851
|
zova-module-rest-resource:
|
|
849
852
|
specifier: ^5.1.42
|
|
850
853
|
version: 5.1.42
|
|
@@ -1831,16 +1834,16 @@ importers:
|
|
|
1831
1834
|
src/suite-vendor/a-pay:
|
|
1832
1835
|
dependencies:
|
|
1833
1836
|
vona-module-a-pay:
|
|
1834
|
-
specifier: ^5.0.
|
|
1837
|
+
specifier: ^5.0.2
|
|
1835
1838
|
version: link:modules/a-pay
|
|
1836
1839
|
vona-module-pay-mock:
|
|
1837
|
-
specifier: ^5.0.
|
|
1840
|
+
specifier: ^5.0.2
|
|
1838
1841
|
version: link:modules/pay-mock
|
|
1839
1842
|
vona-module-pay-paypal:
|
|
1840
|
-
specifier: ^5.0.
|
|
1843
|
+
specifier: ^5.0.2
|
|
1841
1844
|
version: link:modules/pay-paypal
|
|
1842
1845
|
vona-module-pay-stripe:
|
|
1843
|
-
specifier: ^5.0.
|
|
1846
|
+
specifier: ^5.0.2
|
|
1844
1847
|
version: link:modules/pay-stripe
|
|
1845
1848
|
|
|
1846
1849
|
src/suite-vendor/a-pay/modules/a-pay:
|
|
@@ -1867,6 +1870,9 @@ importers:
|
|
|
1867
1870
|
|
|
1868
1871
|
src/suite-vendor/a-pay/modules/pay-paypal:
|
|
1869
1872
|
dependencies:
|
|
1873
|
+
'@cabloy/paypal-server-sdk':
|
|
1874
|
+
specifier: 2.2.0
|
|
1875
|
+
version: 2.2.0(supports-color@5.5.0)
|
|
1870
1876
|
vona-module-a-pay:
|
|
1871
1877
|
specifier: workspace:*
|
|
1872
1878
|
version: link:../a-pay
|
|
@@ -1915,6 +1921,9 @@ importers:
|
|
|
1915
1921
|
vona-module-test-file:
|
|
1916
1922
|
specifier: ^5.0.8
|
|
1917
1923
|
version: link:modules/test-file
|
|
1924
|
+
vona-module-test-pay:
|
|
1925
|
+
specifier: ^5.0.1
|
|
1926
|
+
version: link:modules/test-pay
|
|
1918
1927
|
|
|
1919
1928
|
src/suite-vendor/a-test/modules/test-auth:
|
|
1920
1929
|
devDependencies:
|
|
@@ -1961,6 +1970,22 @@ importers:
|
|
|
1961
1970
|
specifier: ^6.1.3
|
|
1962
1971
|
version: 6.1.3
|
|
1963
1972
|
|
|
1973
|
+
src/suite-vendor/a-test/modules/test-pay:
|
|
1974
|
+
dependencies:
|
|
1975
|
+
vona-module-a-pay:
|
|
1976
|
+
specifier: workspace:*
|
|
1977
|
+
version: link:../../../a-pay/modules/a-pay
|
|
1978
|
+
vona-module-pay-mock:
|
|
1979
|
+
specifier: workspace:*
|
|
1980
|
+
version: link:../../../a-pay/modules/pay-mock
|
|
1981
|
+
devDependencies:
|
|
1982
|
+
clean-package:
|
|
1983
|
+
specifier: ^2.2.0
|
|
1984
|
+
version: 2.2.0
|
|
1985
|
+
rimraf:
|
|
1986
|
+
specifier: ^6.1.3
|
|
1987
|
+
version: 6.1.3
|
|
1988
|
+
|
|
1964
1989
|
src/suite-vendor/a-test/modules/test-rest:
|
|
1965
1990
|
dependencies:
|
|
1966
1991
|
'@faker-js/faker':
|
|
@@ -3055,6 +3080,9 @@ importers:
|
|
|
3055
3080
|
vona-module-a-pay:
|
|
3056
3081
|
specifier: workspace:*
|
|
3057
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
|
|
3058
3086
|
devDependencies:
|
|
3059
3087
|
clean-package:
|
|
3060
3088
|
specifier: ^2.2.0
|
|
@@ -8534,15 +8562,9 @@ packages:
|
|
|
8534
8562
|
peerDependencies:
|
|
8535
8563
|
zod: ^3.25.28 || ^4
|
|
8536
8564
|
|
|
8537
|
-
zova-core@5.1.79:
|
|
8538
|
-
resolution: {integrity: sha512-q04JWAjwa5x0py9/FCFPX9I8cNA4zzZ/Z+8mm2mVsRBMqDFcafwVqNumOAkZ+DuA10b4YIoncyQKYz5PhhmBUw==}
|
|
8539
|
-
|
|
8540
8565
|
zova-core@5.1.81:
|
|
8541
8566
|
resolution: {integrity: sha512-gLmLWXpd9xNmc+fXx33QEgRZ2ZsNjRlVWDC1HEQLLnq3ZCakDf87qXhfdk+JH5csS2BjGAdckfmbiLqGL15o1Q==}
|
|
8542
8567
|
|
|
8543
|
-
zova-jsx@1.1.79:
|
|
8544
|
-
resolution: {integrity: sha512-iFp9UpW/3Cbaq0H25xyR04LYyaqB2wlAGOL1dEL7OyuIzHI0IHcBwfZRbRGy7ewgDVHit2ULG03kO1sSjjPuWQ==}
|
|
8545
|
-
|
|
8546
8568
|
zova-jsx@1.1.81:
|
|
8547
8569
|
resolution: {integrity: sha512-WVUc4DYsVcjPfcfWgFY2vQbiK8ARIwv2K6o6Auyqvts/vSfJ7BCzD4XqCVHANVY5yJ8povdJUzpiCIAhioWRkg==}
|
|
8548
8570
|
|
|
@@ -8591,9 +8613,6 @@ packages:
|
|
|
8591
8613
|
zova-module-a-openapi@5.1.47:
|
|
8592
8614
|
resolution: {integrity: sha512-iar4YR9GGdCQ9N60yt9yV+RkiM1seKlmbhoyZqLAZ7aR5tLnw2ZL7ElamHEGO5iBtFXRU8QH8RaU+8PnnyaLkg==}
|
|
8593
8615
|
|
|
8594
|
-
zova-module-a-pay@5.0.0:
|
|
8595
|
-
resolution: {integrity: sha512-jt9acZZPKnkJs8t4qOBOmqO7gyOGnByujCyNsuohAYLQSXkjdTKOJqXDe6dj0KcdayHry0ZvJiaErzQJsiNbWA==}
|
|
8596
|
-
|
|
8597
8616
|
zova-module-a-pay@5.0.2:
|
|
8598
8617
|
resolution: {integrity: sha512-BOKkM7R//Kju54PhZxnyJ0O8gHnyKrwxXpAAr85wJurHQAl3NIsdRwINj+i+hIe3Btc+UJmi/H1kpg0d3YuoZQ==}
|
|
8599
8618
|
|
|
@@ -8624,30 +8643,18 @@ packages:
|
|
|
8624
8643
|
zova-module-a-zod@5.1.36:
|
|
8625
8644
|
resolution: {integrity: sha512-4gEjxJBelVOA84aP2XWSNSmzQr+AYh14Ha5QCj9yZIpSnEajSgYLoyLw4dwiVcscuEw7xAAOOnWbZS9uXSpJzg==}
|
|
8626
8645
|
|
|
8627
|
-
zova-module-a-zova@5.1.94:
|
|
8628
|
-
resolution: {integrity: sha512-c2qbu3YiNYRSMpprPkBbZ9RaQ9KKF4Y/cEumDJaCpPoZEbJClI/WBZMrY/ZpG9Rsp/87DJ63Vkbu+iSTOh7csg==}
|
|
8629
|
-
|
|
8630
8646
|
zova-module-a-zova@5.1.96:
|
|
8631
8647
|
resolution: {integrity: sha512-lP6LgzbrSlHBqyA1QhMZ66B0DQBLcXcEcWBh3zESFnhFzbomlfABjG+cnju5ki771YhT2CuPeo3m9v01WYc3Bg==}
|
|
8632
8648
|
|
|
8633
|
-
zova-module-pay-mock@5.0.0:
|
|
8634
|
-
resolution: {integrity: sha512-WORyFqRNkrcGZCzLaesu4BDziQ2iOUIeRMVbwXx/Wzp2W0EpwMvqqAPqO8U3PKjvWtAw3YwTJFsXs1Qh66l4zQ==}
|
|
8635
|
-
|
|
8636
8649
|
zova-module-pay-mock@5.0.2:
|
|
8637
8650
|
resolution: {integrity: sha512-G6ld4ZZJ3crSUQ1fH+Tn2p9/05ngfJYtDtTtq7K1Xo9ei2fjbp13Jrbjh3cKR+dhWuK9Q1gwAs7xwhu7NIiTKA==}
|
|
8638
8651
|
|
|
8639
8652
|
zova-module-rest-resource@5.1.42:
|
|
8640
8653
|
resolution: {integrity: sha512-eMWhc4428U5Hs4BHqFJoF7yaH+bK8t71scIrCnpLbQS7M80lNkoHxY9s/Kl4i8Uo3+lVWbSbuaXWtR+zVLNqpA==}
|
|
8641
8654
|
|
|
8642
|
-
zova-suite-a-zova@5.1.141:
|
|
8643
|
-
resolution: {integrity: sha512-fqeynyYUL12PTZMQ1ZxryHEFcCfaQL2hLTs8MxxdbHCKDhOjNEaOTW5MGR5DzSRM7uMXNCq1crPvbYvDmmeUdg==}
|
|
8644
|
-
|
|
8645
8655
|
zova-suite-a-zova@5.1.143:
|
|
8646
8656
|
resolution: {integrity: sha512-DMaYtWO1HVu0BIeNguAYqlcOGa9MVfejDLvLqw6mOqmPSSLrvGSSC+lzYGhI/J9xQBbGRFaWbIdMhetCpuZdwg==}
|
|
8647
8657
|
|
|
8648
|
-
zova@5.1.142:
|
|
8649
|
-
resolution: {integrity: sha512-qvrKhrS9y4BVI2Nszre3TSvDJu5BjTo2adzAXP2qC3TeoW4IZ8njvV2ROoAPe//X6SiJ1Il60oTNSc1PnkXvWg==}
|
|
8650
|
-
|
|
8651
8658
|
zova@5.1.144:
|
|
8652
8659
|
resolution: {integrity: sha512-YEgsYl7hL635nK9134oH8GMUqHp41IAp0I+rWz27f2QCkp8QGLqvQIbrvXoFnYwJyuYmaCz/eBMMrl1y+mzs0w==}
|
|
8653
8660
|
|
|
@@ -14569,35 +14576,6 @@ snapshots:
|
|
|
14569
14576
|
dependencies:
|
|
14570
14577
|
zod: '@cabloy/zod@4.3.8'
|
|
14571
14578
|
|
|
14572
|
-
zova-core@5.1.79(typescript@5.9.3):
|
|
14573
|
-
dependencies:
|
|
14574
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14575
|
-
'@cabloy/extend': link:packages-utils/extend
|
|
14576
|
-
'@cabloy/json5': link:packages-utils/json5
|
|
14577
|
-
'@cabloy/localeutil': link:packages-utils/localeutil
|
|
14578
|
-
'@cabloy/logger': 1.1.24
|
|
14579
|
-
'@cabloy/module-info': 2.0.3
|
|
14580
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14581
|
-
'@cabloy/vue-compiler-sfc': 3.5.14
|
|
14582
|
-
'@cabloy/vue-reactivity': 3.5.16
|
|
14583
|
-
'@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
|
|
14584
|
-
'@cabloy/vue-runtime-core': 3.5.57
|
|
14585
|
-
'@cabloy/vue-runtime-dom': 3.5.13
|
|
14586
|
-
'@cabloy/vue-server-renderer': 3.5.18(vue@3.5.39(typescript@5.9.3))
|
|
14587
|
-
'@cabloy/word-utils': 2.1.14
|
|
14588
|
-
'@cabloy/zod-errors-custom': link:packages-utils/zod-errors-custom
|
|
14589
|
-
'@cabloy/zod-openapi': link:packages-utils/zod-openapi
|
|
14590
|
-
'@cabloy/zod-query': link:packages-utils/zod-query
|
|
14591
|
-
'@types/js-cookie': 3.0.6
|
|
14592
|
-
'@vue/shared': 3.5.36
|
|
14593
|
-
deep-equal: 2.2.3
|
|
14594
|
-
reflect-metadata: 0.2.2
|
|
14595
|
-
vue: 3.5.39(typescript@5.9.3)
|
|
14596
|
-
vue-plugin-render-freeze: 2.0.4(vue@3.5.39(typescript@5.9.3))
|
|
14597
|
-
zod: '@cabloy/zod@4.3.8'
|
|
14598
|
-
transitivePeerDependencies:
|
|
14599
|
-
- typescript
|
|
14600
|
-
|
|
14601
14579
|
zova-core@5.1.81(patch_hash=ff659aa5f659be32501f56841b72f148c24acf1546f79cce551586e27fcde2ce)(typescript@5.9.3):
|
|
14602
14580
|
dependencies:
|
|
14603
14581
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14627,17 +14605,6 @@ snapshots:
|
|
|
14627
14605
|
transitivePeerDependencies:
|
|
14628
14606
|
- typescript
|
|
14629
14607
|
|
|
14630
|
-
zova-jsx@1.1.79(typescript@5.9.3):
|
|
14631
|
-
dependencies:
|
|
14632
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14633
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14634
|
-
'@cabloy/word-utils': 2.1.14
|
|
14635
|
-
typestyle: 2.4.0
|
|
14636
|
-
vue: 3.5.39(typescript@5.9.3)
|
|
14637
|
-
zova-core: 5.1.79(typescript@5.9.3)
|
|
14638
|
-
transitivePeerDependencies:
|
|
14639
|
-
- typescript
|
|
14640
|
-
|
|
14641
14608
|
zova-jsx@1.1.81(typescript@5.9.3):
|
|
14642
14609
|
dependencies:
|
|
14643
14610
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14708,8 +14675,6 @@ snapshots:
|
|
|
14708
14675
|
openapi3-ts: 4.6.0
|
|
14709
14676
|
typestyle: 2.4.0
|
|
14710
14677
|
|
|
14711
|
-
zova-module-a-pay@5.0.0: {}
|
|
14712
|
-
|
|
14713
14678
|
zova-module-a-pay@5.0.2: {}
|
|
14714
14679
|
|
|
14715
14680
|
zova-module-a-router@5.1.31: {}
|
|
@@ -14751,22 +14716,6 @@ snapshots:
|
|
|
14751
14716
|
'@cabloy/zod-query': link:packages-utils/zod-query
|
|
14752
14717
|
zod: '@cabloy/zod@4.3.8'
|
|
14753
14718
|
|
|
14754
|
-
zova-module-a-zova@5.1.94(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14755
|
-
dependencies:
|
|
14756
|
-
'@cabloy/compose': link:packages-utils/compose
|
|
14757
|
-
'@cabloy/deps': link:packages-utils/deps
|
|
14758
|
-
'@cabloy/json5': link:packages-utils/json5
|
|
14759
|
-
'@cabloy/module-info': 2.0.3
|
|
14760
|
-
'@cabloy/utils': link:packages-utils/utils
|
|
14761
|
-
'@cabloy/vue-router': 4.4.16(vue@3.5.39(typescript@5.9.3))
|
|
14762
|
-
'@cabloy/word-utils': 2.1.14
|
|
14763
|
-
defu: 6.1.7
|
|
14764
|
-
luxon: 3.7.2
|
|
14765
|
-
zova-jsx: 1.1.79(typescript@5.9.3)
|
|
14766
|
-
transitivePeerDependencies:
|
|
14767
|
-
- typescript
|
|
14768
|
-
- vue
|
|
14769
|
-
|
|
14770
14719
|
zova-module-a-zova@5.1.96(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14771
14720
|
dependencies:
|
|
14772
14721
|
'@cabloy/compose': link:packages-utils/compose
|
|
@@ -14783,46 +14732,10 @@ snapshots:
|
|
|
14783
14732
|
- typescript
|
|
14784
14733
|
- vue
|
|
14785
14734
|
|
|
14786
|
-
zova-module-pay-mock@5.0.0: {}
|
|
14787
|
-
|
|
14788
14735
|
zova-module-pay-mock@5.0.2: {}
|
|
14789
14736
|
|
|
14790
14737
|
zova-module-rest-resource@5.1.42: {}
|
|
14791
14738
|
|
|
14792
|
-
zova-suite-a-zova@5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14793
|
-
dependencies:
|
|
14794
|
-
zova-module-a-api: 5.1.21
|
|
14795
|
-
zova-module-a-app: 5.1.25
|
|
14796
|
-
zova-module-a-bean: 5.1.32
|
|
14797
|
-
zova-module-a-behavior: 5.1.25
|
|
14798
|
-
zova-module-a-behaviors: 5.1.21
|
|
14799
|
-
zova-module-a-boundary: 5.1.21
|
|
14800
|
-
zova-module-a-command: 5.1.33
|
|
14801
|
-
zova-module-a-fetch: 5.1.24
|
|
14802
|
-
zova-module-a-form: 5.1.46(vue@3.5.39(typescript@5.9.3))
|
|
14803
|
-
zova-module-a-icon: 5.1.26
|
|
14804
|
-
zova-module-a-interceptor: 5.1.29
|
|
14805
|
-
zova-module-a-logger: 5.1.26
|
|
14806
|
-
zova-module-a-meta: 5.1.21
|
|
14807
|
-
zova-module-a-model: 5.1.33(vue@3.5.39(typescript@5.9.3))
|
|
14808
|
-
zova-module-a-openapi: 5.1.47
|
|
14809
|
-
zova-module-a-router: 5.1.31
|
|
14810
|
-
zova-module-a-routerstack: 5.1.26
|
|
14811
|
-
zova-module-a-routertabs: 5.1.33
|
|
14812
|
-
zova-module-a-ssr: 5.1.32
|
|
14813
|
-
zova-module-a-ssrhmr: 5.1.22
|
|
14814
|
-
zova-module-a-ssrserver: 5.1.23
|
|
14815
|
-
zova-module-a-style: 5.1.32
|
|
14816
|
-
zova-module-a-table: 5.1.37(vue@3.5.39(typescript@5.9.3))
|
|
14817
|
-
zova-module-a-zod: 5.1.36
|
|
14818
|
-
zova-module-a-zova: 5.1.94(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
14819
|
-
transitivePeerDependencies:
|
|
14820
|
-
- '@vue/composition-api'
|
|
14821
|
-
- debug
|
|
14822
|
-
- supports-color
|
|
14823
|
-
- typescript
|
|
14824
|
-
- vue
|
|
14825
|
-
|
|
14826
14739
|
zova-suite-a-zova@5.1.143(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14827
14740
|
dependencies:
|
|
14828
14741
|
zova-module-a-api: 5.1.21
|
|
@@ -14857,17 +14770,6 @@ snapshots:
|
|
|
14857
14770
|
- typescript
|
|
14858
14771
|
- vue
|
|
14859
14772
|
|
|
14860
|
-
zova@5.1.142(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14861
|
-
dependencies:
|
|
14862
|
-
zova-core: 5.1.79(typescript@5.9.3)
|
|
14863
|
-
zova-suite-a-zova: 5.1.141(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3))
|
|
14864
|
-
transitivePeerDependencies:
|
|
14865
|
-
- '@vue/composition-api'
|
|
14866
|
-
- debug
|
|
14867
|
-
- supports-color
|
|
14868
|
-
- typescript
|
|
14869
|
-
- vue
|
|
14870
|
-
|
|
14871
14773
|
zova@5.1.144(typescript@5.9.3)(vue@3.5.39(typescript@5.9.3)):
|
|
14872
14774
|
dependencies:
|
|
14873
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
|
+
>;
|