@bolta-io/cli 0.0.15 → 0.0.17
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/CHANGELOG.md +25 -0
- package/CLAUDE.md +5 -1
- package/README.md +2 -0
- package/dist/bin/bolta.js +18 -30
- package/dist/bin/bolta.js.map +1 -1
- package/dist/src/client/bolta-client.d.ts +3 -0
- package/dist/src/client/bolta-client.d.ts.map +1 -1
- package/dist/src/client/bolta-client.js +24 -6
- package/dist/src/client/bolta-client.js.map +1 -1
- package/dist/src/commands/config/index.d.ts.map +1 -1
- package/dist/src/commands/config/index.js +73 -33
- package/dist/src/commands/config/index.js.map +1 -1
- package/dist/src/commands/invoice/amend.d.ts.map +1 -1
- package/dist/src/commands/invoice/amend.js +5 -18
- package/dist/src/commands/invoice/amend.js.map +1 -1
- package/dist/src/commands/invoice/issue-request.d.ts.map +1 -1
- package/dist/src/commands/invoice/issue-request.js +3 -8
- package/dist/src/commands/invoice/issue-request.js.map +1 -1
- package/dist/src/commands/invoice/issue.d.ts.map +1 -1
- package/dist/src/commands/invoice/issue.js +3 -8
- package/dist/src/commands/invoice/issue.js.map +1 -1
- package/dist/src/commands/update/nudge.d.ts +12 -0
- package/dist/src/commands/update/nudge.d.ts.map +1 -0
- package/dist/src/commands/update/nudge.js +104 -0
- package/dist/src/commands/update/nudge.js.map +1 -0
- package/dist/src/commands/update/updater.d.ts.map +1 -1
- package/dist/src/commands/update/updater.js +15 -28
- package/dist/src/commands/update/updater.js.map +1 -1
- package/dist/src/config/config-manager.d.ts +13 -0
- package/dist/src/config/config-manager.d.ts.map +1 -1
- package/dist/src/config/config-manager.js +57 -21
- package/dist/src/config/config-manager.js.map +1 -1
- package/dist/src/config/update-check-cache.d.ts +12 -0
- package/dist/src/config/update-check-cache.d.ts.map +1 -0
- package/dist/src/config/update-check-cache.js +45 -0
- package/dist/src/config/update-check-cache.js.map +1 -0
- package/dist/src/types/api.d.ts +2 -2
- package/dist/src/types/api.d.ts.map +1 -1
- package/dist/src/utils/client.d.ts +17 -0
- package/dist/src/utils/client.d.ts.map +1 -0
- package/dist/src/utils/client.js +17 -0
- package/dist/src/utils/client.js.map +1 -0
- package/dist/src/utils/output.d.ts +10 -2
- package/dist/src/utils/output.d.ts.map +1 -1
- package/dist/src/utils/output.js +17 -3
- package/dist/src/utils/output.js.map +1 -1
- package/dist/src/utils/platform.d.ts +1 -0
- package/dist/src/utils/platform.d.ts.map +1 -1
- package/dist/src/utils/platform.js +36 -9
- package/dist/src/utils/platform.js.map +1 -1
- package/dist/src/utils/version.d.ts +3 -0
- package/dist/src/utils/version.d.ts.map +1 -1
- package/dist/src/utils/version.js +24 -0
- package/dist/src/utils/version.js.map +1 -1
- package/dist/src/validators/schemas.d.ts.map +1 -1
- package/dist/src/validators/schemas.js +60 -45
- package/dist/src/validators/schemas.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { resolveApiKey, resolveSupplierKeyWithSource, resolveBaseUrl } from '../config/config-manager.js';
|
|
2
|
+
import { BoltaClient } from '../client/bolta-client.js';
|
|
3
|
+
import { BoltaAuthError } from './errors.js';
|
|
4
|
+
/**
|
|
5
|
+
* 글로벌 옵션(및 env/config)으로부터 인증을 해석해 BoltaClient를 만든다.
|
|
6
|
+
* 발행/수정 커맨드에서 반복되던 apiKey 확인 + supplierKey 해석 + 클라이언트 생성을 한곳으로 모은다.
|
|
7
|
+
* 커맨드가 요청 시 supplierKey 값을 함께 넘겨야 하므로 client와 함께 반환한다.
|
|
8
|
+
*/
|
|
9
|
+
export function createClient(globalOpts) {
|
|
10
|
+
const apiKey = resolveApiKey(globalOpts.apiKey);
|
|
11
|
+
if (!apiKey)
|
|
12
|
+
throw new BoltaAuthError('API 키가 설정되지 않았습니다.');
|
|
13
|
+
const { value: supplierKey, source: supplierKeySource } = resolveSupplierKeyWithSource(globalOpts.supplierKey, globalOpts.customerKey);
|
|
14
|
+
const client = new BoltaClient({ apiKey, baseUrl: resolveBaseUrl(), supplierKey, supplierKeySource });
|
|
15
|
+
return { client, supplierKey };
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,4BAA4B,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC1G,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQ7C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,UAAyB;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAE5D,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,4BAA4B,CACpF,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,WAAW,CACvB,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACtG,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
export declare function outputSuccess<T>(data: T): void;
|
|
2
2
|
export declare function outputError(error: unknown): never;
|
|
3
|
+
/**
|
|
4
|
+
* 비밀값(apiKey/supplierKey 등)을 로그·에러에 안전하게 노출하기 위해 마스킹한다.
|
|
5
|
+
* 값을 식별할 수 있도록 앞 prefix자와 뒤 suffix자는 남긴다.
|
|
6
|
+
*/
|
|
7
|
+
export declare function maskSecret(value: string, prefix?: number, suffix?: number): string;
|
|
3
8
|
export declare function verbose(message: string, data?: Record<string, unknown>): void;
|
|
4
9
|
/**
|
|
5
|
-
*
|
|
6
|
-
|
|
10
|
+
* 경고를 stderr로 출력한다. JSON 응답(stdout)을 오염시키지 않도록 항상 stderr를 사용한다.
|
|
11
|
+
*/
|
|
12
|
+
export declare function warning(message: string): void;
|
|
13
|
+
/**
|
|
14
|
+
* Deprecation 경고를 stderr로 1회만 출력한다.
|
|
7
15
|
*/
|
|
8
16
|
export declare function deprecationWarning(message: string): void;
|
|
9
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAG9C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAyBjD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAK7E;AAID
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AAGA,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAG9C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAyBjD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAI,EAAE,MAAM,SAAI,GAAG,MAAM,CAGxE;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAK7E;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,EAAE,MAAM,GACZ,MAAM,CAOR"}
|
package/dist/src/utils/output.js
CHANGED
|
@@ -28,22 +28,36 @@ export function outputError(error) {
|
|
|
28
28
|
console.log(JSON.stringify(response, null, 2));
|
|
29
29
|
process.exit(1);
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* 비밀값(apiKey/supplierKey 등)을 로그·에러에 안전하게 노출하기 위해 마스킹한다.
|
|
33
|
+
* 값을 식별할 수 있도록 앞 prefix자와 뒤 suffix자는 남긴다.
|
|
34
|
+
*/
|
|
35
|
+
export function maskSecret(value, prefix = 6, suffix = 4) {
|
|
36
|
+
if (value.length <= prefix + suffix)
|
|
37
|
+
return '***';
|
|
38
|
+
return `${value.slice(0, prefix)}***${value.slice(-suffix)}`;
|
|
39
|
+
}
|
|
31
40
|
export function verbose(message, data) {
|
|
32
41
|
if (process.env.BOLTA_VERBOSE === '1') {
|
|
33
42
|
const line = data ? `[bolta] ${message} ${JSON.stringify(data)}` : `[bolta] ${message}`;
|
|
34
43
|
console.error(line);
|
|
35
44
|
}
|
|
36
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* 경고를 stderr로 출력한다. JSON 응답(stdout)을 오염시키지 않도록 항상 stderr를 사용한다.
|
|
48
|
+
*/
|
|
49
|
+
export function warning(message) {
|
|
50
|
+
console.error(`[bolta] ⚠ ${message}`);
|
|
51
|
+
}
|
|
37
52
|
const shownDeprecations = new Set();
|
|
38
53
|
/**
|
|
39
|
-
* Deprecation 경고를 stderr로 1
|
|
40
|
-
* JSON 응답(stdout)을 오염시키지 않도록 항상 stderr를 사용한다.
|
|
54
|
+
* Deprecation 경고를 stderr로 1회만 출력한다.
|
|
41
55
|
*/
|
|
42
56
|
export function deprecationWarning(message) {
|
|
43
57
|
if (shownDeprecations.has(message))
|
|
44
58
|
return;
|
|
45
59
|
shownDeprecations.add(message);
|
|
46
|
-
|
|
60
|
+
warning(`deprecated: ${message}`);
|
|
47
61
|
}
|
|
48
62
|
/**
|
|
49
63
|
* 구 이름(alias)을 신규 이름으로 매핑한다. 매핑되면 deprecation 경고를 출력한다.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,aAAa,CAAI,IAAO;IACtC,MAAM,QAAQ,GAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAgB;YAC5B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;SACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAgB;QAC5B,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAChE;KACF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,IAA8B;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,OAAO,EAAE,CAAC;QACxF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/utils/output.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,6 @@ export interface PlatformInfo {
|
|
|
7
7
|
}
|
|
8
8
|
export type InstallMethod = 'sea' | 'homebrew' | 'npm' | 'unknown';
|
|
9
9
|
export declare function detectPlatform(): PlatformInfo;
|
|
10
|
+
export declare function getUpdateCommand(installMethod: InstallMethod): string;
|
|
10
11
|
export declare function detectInstallMethod(): InstallMethod;
|
|
11
12
|
//# sourceMappingURL=platform.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;AAanE,wBAAgB,cAAc,IAAI,YAAY,CAc7C;AAGD,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAWrE;AAED,wBAAgB,mBAAmB,IAAI,aAAa,CA6BnD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { realpathSync } from 'node:fs';
|
|
1
2
|
import { basename } from 'node:path';
|
|
2
3
|
const PLATFORM_MAP = {
|
|
3
4
|
darwin: 'darwin',
|
|
@@ -20,21 +21,29 @@ export function detectPlatform() {
|
|
|
20
21
|
const archiveName = isWindows ? `bolta-${target}.zip` : `bolta-${target}.tar.gz`;
|
|
21
22
|
return { platform, arch, target, archiveName, binaryName };
|
|
22
23
|
}
|
|
24
|
+
// 설치 방식별 업데이트 명령. InstallMethod에서 순수 파생되므로 분류 로직 옆에 둔다.
|
|
25
|
+
export function getUpdateCommand(installMethod) {
|
|
26
|
+
switch (installMethod) {
|
|
27
|
+
case 'homebrew':
|
|
28
|
+
return 'brew upgrade bolta';
|
|
29
|
+
case 'npm':
|
|
30
|
+
return 'npm update -g @bolta-io/cli';
|
|
31
|
+
case 'sea':
|
|
32
|
+
return 'bolta update';
|
|
33
|
+
default:
|
|
34
|
+
return 'npm update -g @bolta-io/cli 또는 brew upgrade bolta';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
23
37
|
export function detectInstallMethod() {
|
|
24
38
|
const execPath = process.execPath.toLowerCase();
|
|
25
39
|
// Homebrew
|
|
26
40
|
if (execPath.includes('/cellar/') || execPath.includes('/homebrew/')) {
|
|
27
41
|
return 'homebrew';
|
|
28
42
|
}
|
|
29
|
-
// npm/스크립트 런타임:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
scriptPath.endsWith('.cjs') ||
|
|
34
|
-
scriptPath.endsWith('.ts') ||
|
|
35
|
-
scriptPath.endsWith('.mts') ||
|
|
36
|
-
scriptPath.endsWith('.cts') ||
|
|
37
|
-
scriptPath.includes('node_modules')) {
|
|
43
|
+
// npm/스크립트 런타임: 원본 경로로 판정이 안 될 때만 npm 전역 bin symlink를 풀어
|
|
44
|
+
// node_modules를 확인한다 (realpathSync는 매 명령 실행 경로라 지연 호출).
|
|
45
|
+
const scriptPath = process.argv[1] || '';
|
|
46
|
+
if (scriptPath && (isNpmScriptPath(scriptPath) || isNpmScriptPath(resolveRealPath(scriptPath)))) {
|
|
38
47
|
return 'npm';
|
|
39
48
|
}
|
|
40
49
|
const bin = basename(execPath).toLowerCase();
|
|
@@ -49,4 +58,22 @@ export function detectInstallMethod() {
|
|
|
49
58
|
}
|
|
50
59
|
return 'unknown';
|
|
51
60
|
}
|
|
61
|
+
function resolveRealPath(scriptPath) {
|
|
62
|
+
try {
|
|
63
|
+
return realpathSync(scriptPath);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return scriptPath;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function isNpmScriptPath(scriptPath) {
|
|
70
|
+
const normalized = scriptPath.toLowerCase();
|
|
71
|
+
return (normalized.endsWith('.js') ||
|
|
72
|
+
normalized.endsWith('.mjs') ||
|
|
73
|
+
normalized.endsWith('.cjs') ||
|
|
74
|
+
normalized.endsWith('.ts') ||
|
|
75
|
+
normalized.endsWith('.mts') ||
|
|
76
|
+
normalized.endsWith('.cts') ||
|
|
77
|
+
normalized.includes('node_modules'));
|
|
78
|
+
}
|
|
52
79
|
//# sourceMappingURL=platform.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAYrC,MAAM,YAAY,GAA2B;IAC3C,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,QAAQ,GAA2B;IACvC,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IACzE,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC;IAEjF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC7D,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAYrC,MAAM,YAAY,GAA2B;IAC3C,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,QAAQ,GAA2B;IACvC,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACX,CAAC;AAEF,MAAM,UAAU,cAAc;IAC5B,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,mBAAmB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC;IACzC,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC;IACzE,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,MAAM,CAAC,CAAC,CAAC,SAAS,MAAM,SAAS,CAAC;IAEjF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC7D,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,gBAAgB,CAAC,aAA4B;IAC3D,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,UAAU;YACb,OAAO,oBAAoB,CAAC;QAC9B,KAAK,KAAK;YACR,OAAO,6BAA6B,CAAC;QACvC,KAAK,KAAK;YACR,OAAO,cAAc,CAAC;QACxB;YACE,OAAO,mDAAmD,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEhD,WAAW;IACX,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACrE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,yDAAyD;IACzD,wDAAwD;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,IAAI,UAAU,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,eAAe,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7C,8BAA8B;IAC9B,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAChE,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,+BAA+B;IAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAE5C,OAAO,CACL,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3B,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,CACpC,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import type { InstallMethod } from './platform.js';
|
|
2
3
|
declare const latestVersionInfoSchema: z.ZodObject<{
|
|
3
4
|
version: z.ZodString;
|
|
4
5
|
releasedAt: z.ZodString;
|
|
@@ -18,6 +19,8 @@ declare const latestVersionInfoSchema: z.ZodObject<{
|
|
|
18
19
|
export type LatestVersionInfo = z.infer<typeof latestVersionInfoSchema>;
|
|
19
20
|
export declare function getCurrentVersion(): string;
|
|
20
21
|
export declare function fetchLatestVersion(): Promise<LatestVersionInfo>;
|
|
22
|
+
export declare function fetchHomebrewVersion(): Promise<string>;
|
|
23
|
+
export declare function fetchNudgeVersion(installMethod: InstallMethod): Promise<string>;
|
|
21
24
|
export declare function isUpdateAvailable(current: string, latest: string): boolean;
|
|
22
25
|
export {};
|
|
23
26
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAkBnD,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAaxE,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAgCrE;AAQD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAU5D;AAID,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrF;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1E"}
|
|
@@ -29,6 +29,8 @@ const githubReleaseSchema = z.object({
|
|
|
29
29
|
});
|
|
30
30
|
const LATEST_JSON_URL = 'https://cli.boltacorp.com/releases/latest.json';
|
|
31
31
|
const GITHUB_RELEASES_URL = 'https://api.github.com/repos/bolta-io/bolta-cli/releases/latest';
|
|
32
|
+
// Formula/bolta.rb가 develop에 머지될 때 CI가 게시 (.github/workflows/publish-homebrew-version.yml)
|
|
33
|
+
const HOMEBREW_JSON_URL = 'https://cli.boltacorp.com/releases/homebrew.json';
|
|
32
34
|
export function getCurrentVersion() {
|
|
33
35
|
return process.env.BOLTA_CLI_VERSION || fallbackVersion;
|
|
34
36
|
}
|
|
@@ -62,6 +64,28 @@ export async function fetchLatestVersion() {
|
|
|
62
64
|
changelog: data.html_url,
|
|
63
65
|
};
|
|
64
66
|
}
|
|
67
|
+
const homebrewVersionSchema = z.object({
|
|
68
|
+
version: z.string(),
|
|
69
|
+
});
|
|
70
|
+
// Homebrew formula 기준 최신 버전. formula PR이 릴리스보다 늦게 머지되므로
|
|
71
|
+
// brew 사용자에게는 latest.json 대신 이 값을 기준으로 안내해야 조기 넛지가 없다.
|
|
72
|
+
export async function fetchHomebrewVersion() {
|
|
73
|
+
const res = await fetch(HOMEBREW_JSON_URL, {
|
|
74
|
+
signal: AbortSignal.timeout(5000),
|
|
75
|
+
});
|
|
76
|
+
if (!res.ok) {
|
|
77
|
+
throw new Error(`Homebrew 버전 정보를 가져올 수 없습니다 (HTTP ${res.status})`);
|
|
78
|
+
}
|
|
79
|
+
return homebrewVersionSchema.parse(await res.json()).version;
|
|
80
|
+
}
|
|
81
|
+
// 설치 방식에 맞는 "지금 업데이트 가능한" 버전.
|
|
82
|
+
// homebrew는 formula 버전으로 fail-closed (실패 시 latest.json 폴백 금지 — 조기 넛지 재발 방지)
|
|
83
|
+
export async function fetchNudgeVersion(installMethod) {
|
|
84
|
+
if (installMethod === 'homebrew') {
|
|
85
|
+
return fetchHomebrewVersion();
|
|
86
|
+
}
|
|
87
|
+
return (await fetchLatestVersion()).version;
|
|
88
|
+
}
|
|
65
89
|
export function isUpdateAvailable(current, latest) {
|
|
66
90
|
return compareSemver(current, latest) < 0;
|
|
67
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/utils/version.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,aAAa;;;;;;;;;;;;EAOxB,CAAC;AAkGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAC;AAgBH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBjC,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa7C,CAAC;AAMH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAMH,eAAO,MAAM,sBAAsB;;;;;;EAEjC,CAAC;AAOH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtC,CAAC;AAMH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8I9C,CAAC"}
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
const NTS_FREE_TEXT_MAX_LENGTH = 150;
|
|
3
|
+
const NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH = 60;
|
|
4
|
+
const NTS_LINE_ITEM_TEXT_MAX_LENGTH = 100;
|
|
5
|
+
const NTS_PARTY_NAME_MAX_LENGTH = 70;
|
|
6
|
+
const NTS_PARTY_TEXT_MAX_LENGTH = 40;
|
|
7
|
+
const NTS_PERSON_NAME_MAX_LENGTH = 30;
|
|
8
|
+
const NTS_CALL_TEXT_MAX_LENGTH = 20;
|
|
9
|
+
const TAX_INVOICE_ITEM_MAX_COUNT = 16;
|
|
2
10
|
// ========================
|
|
3
11
|
// Shared Schemas
|
|
4
12
|
// ========================
|
|
5
13
|
export const managerSchema = z.object({
|
|
6
|
-
email: z
|
|
7
|
-
|
|
8
|
-
|
|
14
|
+
email: z
|
|
15
|
+
.string()
|
|
16
|
+
.email('유효한 이메일 형식이 아닙니다')
|
|
17
|
+
.max(NTS_PARTY_TEXT_MAX_LENGTH, `담당자 이메일은 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
|
|
18
|
+
name: z.string().min(1).max(NTS_PERSON_NAME_MAX_LENGTH).nullable().optional(),
|
|
19
|
+
telephone: z.string().max(NTS_CALL_TEXT_MAX_LENGTH).nullable().optional(),
|
|
9
20
|
});
|
|
10
21
|
const NTS_FOREIGN_SUPPLIED_PLACEHOLDER = '9999999999999';
|
|
11
22
|
function normalizeIdentificationNumber(value) {
|
|
@@ -72,7 +83,7 @@ const businessIdentificationNumberSchema = z
|
|
|
72
83
|
.string()
|
|
73
84
|
.transform(normalizeIdentificationNumber)
|
|
74
85
|
.pipe(z.string().regex(/^\d{10}$/, '사업자등록번호는 10자리 숫자여야 합니다'));
|
|
75
|
-
const
|
|
86
|
+
const nullableOptionalStringMaxSchema = (maxLength, message) => z.string().max(maxLength, message).nullable().optional();
|
|
76
87
|
const taxRegistrationIdSchema = z
|
|
77
88
|
.string()
|
|
78
89
|
.regex(/^\d{4}$/, '종사업장번호는 4자리 숫자여야 합니다')
|
|
@@ -82,33 +93,33 @@ const taxRegistrationIdSchema = z
|
|
|
82
93
|
// ========================
|
|
83
94
|
export const taxInvoiceSupplierSchema = z.object({
|
|
84
95
|
identificationNumber: businessIdentificationNumberSchema,
|
|
85
|
-
organizationName: z.string().min(1, '상호명은 필수입니다'),
|
|
86
|
-
representativeName: z.string().min(1, '대표자명은 필수입니다'),
|
|
87
|
-
address:
|
|
88
|
-
businessType:
|
|
89
|
-
businessItem:
|
|
96
|
+
organizationName: z.string().min(1, '상호명은 필수입니다').max(NTS_PARTY_NAME_MAX_LENGTH),
|
|
97
|
+
representativeName: z.string().min(1, '대표자명은 필수입니다').max(NTS_PERSON_NAME_MAX_LENGTH),
|
|
98
|
+
address: nullableOptionalStringMaxSchema(NTS_FREE_TEXT_MAX_LENGTH, `주소는 최대 ${NTS_FREE_TEXT_MAX_LENGTH}자입니다`),
|
|
99
|
+
businessType: nullableOptionalStringMaxSchema(NTS_PARTY_TEXT_MAX_LENGTH, `업태는 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
|
|
100
|
+
businessItem: nullableOptionalStringMaxSchema(NTS_PARTY_TEXT_MAX_LENGTH, `종목은 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
|
|
90
101
|
taxRegistrationId: taxRegistrationIdSchema.nullable().optional(),
|
|
91
102
|
manager: managerSchema,
|
|
92
103
|
});
|
|
93
104
|
export const taxInvoiceSuppliedSchema = z.object({
|
|
94
105
|
identificationNumber: suppliedIdentificationNumberSchema,
|
|
95
|
-
organizationName: z.string().min(1, '상호명은 필수입니다'),
|
|
96
|
-
representativeName: z.string().min(1, '대표자명은 필수입니다'),
|
|
97
|
-
address:
|
|
98
|
-
businessType:
|
|
99
|
-
businessItem:
|
|
106
|
+
organizationName: z.string().min(1, '상호명은 필수입니다').max(NTS_PARTY_NAME_MAX_LENGTH),
|
|
107
|
+
representativeName: z.string().min(1, '대표자명은 필수입니다').max(NTS_PERSON_NAME_MAX_LENGTH),
|
|
108
|
+
address: nullableOptionalStringMaxSchema(NTS_FREE_TEXT_MAX_LENGTH, `주소는 최대 ${NTS_FREE_TEXT_MAX_LENGTH}자입니다`),
|
|
109
|
+
businessType: nullableOptionalStringMaxSchema(NTS_PARTY_TEXT_MAX_LENGTH, `업태는 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
|
|
110
|
+
businessItem: nullableOptionalStringMaxSchema(NTS_PARTY_TEXT_MAX_LENGTH, `종목은 최대 ${NTS_PARTY_TEXT_MAX_LENGTH}자입니다`),
|
|
100
111
|
taxRegistrationId: taxRegistrationIdSchema.nullable().optional(),
|
|
101
112
|
managers: z.array(managerSchema).min(1, '담당자는 최소 1명 필수입니다').max(2, '담당자는 최대 2명입니다'),
|
|
102
113
|
});
|
|
103
114
|
export const taxInvoiceItemSchema = z.object({
|
|
104
115
|
date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, '날짜 형식은 YYYY-MM-DD이어야 합니다'),
|
|
105
|
-
name: z.string().min(1, '품목명은 필수입니다').max(
|
|
116
|
+
name: z.string().min(1, '품목명은 필수입니다').max(NTS_LINE_ITEM_TEXT_MAX_LENGTH, `품목명은 최대 ${NTS_LINE_ITEM_TEXT_MAX_LENGTH}자입니다`),
|
|
106
117
|
supplyCost: z.number().int('공급가액은 정수여야 합니다').min(1, '공급가액은 1 이상이어야 합니다'),
|
|
107
118
|
unitPrice: z.number().int().positive().nullable().optional(),
|
|
108
119
|
quantity: z.number().int().nullable().optional(),
|
|
109
120
|
tax: z.number().int().min(1).nullable().optional(),
|
|
110
|
-
specification:
|
|
111
|
-
description:
|
|
121
|
+
specification: nullableOptionalStringMaxSchema(NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, `규격은 최대 ${NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH}자입니다`),
|
|
122
|
+
description: nullableOptionalStringMaxSchema(NTS_LINE_ITEM_TEXT_MAX_LENGTH, `품목 비고는 최대 ${NTS_LINE_ITEM_TEXT_MAX_LENGTH}자입니다`),
|
|
112
123
|
});
|
|
113
124
|
const taxInvoiceBaseSchema = z.object({
|
|
114
125
|
date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, '날짜 형식은 YYYY-MM-DD이어야 합니다'),
|
|
@@ -120,8 +131,8 @@ const taxInvoiceBaseSchema = z.object({
|
|
|
120
131
|
items: z
|
|
121
132
|
.array(taxInvoiceItemSchema)
|
|
122
133
|
.min(1, '품목은 최소 1개 필수입니다')
|
|
123
|
-
.max(
|
|
124
|
-
description:
|
|
134
|
+
.max(TAX_INVOICE_ITEM_MAX_COUNT, `품목은 최대 ${TAX_INVOICE_ITEM_MAX_COUNT}개까지 가능합니다`),
|
|
135
|
+
description: nullableOptionalStringMaxSchema(NTS_FREE_TEXT_MAX_LENGTH, `비고는 최대 ${NTS_FREE_TEXT_MAX_LENGTH}자입니다`),
|
|
125
136
|
});
|
|
126
137
|
export const createTaxInvoiceSchema = taxInvoiceBaseSchema.superRefine((data, ctx) => {
|
|
127
138
|
const suppliedIdentificationNumberType = classifySuppliedIdentificationNumber(data.supplied.identificationNumber);
|
|
@@ -177,7 +188,7 @@ export const amendChangeSupplyCostSchema = z.object({
|
|
|
177
188
|
items: z
|
|
178
189
|
.array(amendTaxInvoiceItemSchema)
|
|
179
190
|
.min(1, '품목은 최소 1개 필수입니다')
|
|
180
|
-
.max(
|
|
191
|
+
.max(TAX_INVOICE_ITEM_MAX_COUNT, `품목은 최대 ${TAX_INVOICE_ITEM_MAX_COUNT}개까지 가능합니다`),
|
|
181
192
|
});
|
|
182
193
|
// ========================
|
|
183
194
|
// JSON Schema Export (for `bolta schema` command)
|
|
@@ -206,19 +217,19 @@ export const jsonSchemas = {
|
|
|
206
217
|
description: '공급자 정보',
|
|
207
218
|
properties: {
|
|
208
219
|
identificationNumber: { type: 'string', description: '사업자등록번호 (10자리)' },
|
|
209
|
-
organizationName: { type: 'string', description: '상호명' },
|
|
210
|
-
representativeName: { type: 'string', description: '대표자명' },
|
|
211
|
-
address: { type: 'string', nullable: true, description: '주소 (선택)' },
|
|
212
|
-
businessType: { type: 'string', nullable: true, description: '업태 (선택)' },
|
|
213
|
-
businessItem: { type: 'string', nullable: true, description: '종목 (선택)' },
|
|
220
|
+
organizationName: { type: 'string', maxLength: NTS_PARTY_NAME_MAX_LENGTH, description: '상호명' },
|
|
221
|
+
representativeName: { type: 'string', maxLength: NTS_PERSON_NAME_MAX_LENGTH, description: '대표자명' },
|
|
222
|
+
address: { type: 'string', nullable: true, maxLength: NTS_FREE_TEXT_MAX_LENGTH, description: '주소 (선택)' },
|
|
223
|
+
businessType: { type: 'string', nullable: true, maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '업태 (선택)' },
|
|
224
|
+
businessItem: { type: 'string', nullable: true, maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '종목 (선택)' },
|
|
214
225
|
taxRegistrationId: { type: 'string', nullable: true, description: '종사업장번호 (4자리, 선택)' },
|
|
215
226
|
manager: {
|
|
216
227
|
type: 'object',
|
|
217
228
|
required: ['email'],
|
|
218
229
|
properties: {
|
|
219
|
-
email: { type: 'string', description: '담당자 이메일 (필수)' },
|
|
220
|
-
name: { type: 'string', nullable: true, description: '담당자 이름 (선택)' },
|
|
221
|
-
telephone: { type: 'string', nullable: true, description: '담당자 전화번호 (선택)' },
|
|
230
|
+
email: { type: 'string', maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '담당자 이메일 (필수)' },
|
|
231
|
+
name: { type: 'string', nullable: true, maxLength: NTS_PERSON_NAME_MAX_LENGTH, description: '담당자 이름 (선택)' },
|
|
232
|
+
telephone: { type: 'string', nullable: true, maxLength: NTS_CALL_TEXT_MAX_LENGTH, description: '담당자 전화번호 (선택)' },
|
|
222
233
|
},
|
|
223
234
|
},
|
|
224
235
|
},
|
|
@@ -232,11 +243,11 @@ export const jsonSchemas = {
|
|
|
232
243
|
type: 'string',
|
|
233
244
|
description: '사업자등록번호(10자리), 주민등록번호 규칙 13자리 또는 외국인등록번호 규칙 13자리',
|
|
234
245
|
},
|
|
235
|
-
organizationName: { type: 'string', description: '상호명' },
|
|
236
|
-
representativeName: { type: 'string', description: '대표자명' },
|
|
237
|
-
address: { type: 'string', nullable: true, description: '주소 (선택)' },
|
|
238
|
-
businessType: { type: 'string', nullable: true, description: '업태 (선택)' },
|
|
239
|
-
businessItem: { type: 'string', nullable: true, description: '종목 (선택)' },
|
|
246
|
+
organizationName: { type: 'string', maxLength: NTS_PARTY_NAME_MAX_LENGTH, description: '상호명' },
|
|
247
|
+
representativeName: { type: 'string', maxLength: NTS_PERSON_NAME_MAX_LENGTH, description: '대표자명' },
|
|
248
|
+
address: { type: 'string', nullable: true, maxLength: NTS_FREE_TEXT_MAX_LENGTH, description: '주소 (선택)' },
|
|
249
|
+
businessType: { type: 'string', nullable: true, maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '업태 (선택)' },
|
|
250
|
+
businessItem: { type: 'string', nullable: true, maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '종목 (선택)' },
|
|
240
251
|
taxRegistrationId: {
|
|
241
252
|
type: 'string',
|
|
242
253
|
nullable: true,
|
|
@@ -250,9 +261,9 @@ export const jsonSchemas = {
|
|
|
250
261
|
type: 'object',
|
|
251
262
|
required: ['email'],
|
|
252
263
|
properties: {
|
|
253
|
-
email: { type: 'string', description: '담당자 이메일 (필수)' },
|
|
254
|
-
name: { type: 'string', nullable: true, description: '담당자 이름 (선택)' },
|
|
255
|
-
telephone: { type: 'string', nullable: true, description: '담당자 전화번호 (선택)' },
|
|
264
|
+
email: { type: 'string', maxLength: NTS_PARTY_TEXT_MAX_LENGTH, description: '담당자 이메일 (필수)' },
|
|
265
|
+
name: { type: 'string', nullable: true, maxLength: NTS_PERSON_NAME_MAX_LENGTH, description: '담당자 이름 (선택)' },
|
|
266
|
+
telephone: { type: 'string', nullable: true, maxLength: NTS_CALL_TEXT_MAX_LENGTH, description: '담당자 전화번호 (선택)' },
|
|
256
267
|
},
|
|
257
268
|
},
|
|
258
269
|
},
|
|
@@ -261,27 +272,27 @@ export const jsonSchemas = {
|
|
|
261
272
|
items: {
|
|
262
273
|
type: 'array',
|
|
263
274
|
minItems: 1,
|
|
264
|
-
maxItems:
|
|
265
|
-
description:
|
|
275
|
+
maxItems: TAX_INVOICE_ITEM_MAX_COUNT,
|
|
276
|
+
description: `품목 목록 (1~${TAX_INVOICE_ITEM_MAX_COUNT}개)`,
|
|
266
277
|
items: {
|
|
267
278
|
type: 'object',
|
|
268
279
|
required: ['date', 'name', 'supplyCost'],
|
|
269
280
|
properties: {
|
|
270
281
|
date: { type: 'string', format: 'date', description: '공급일자 (YYYY-MM-DD)' },
|
|
271
|
-
name: { type: 'string', maxLength:
|
|
282
|
+
name: { type: 'string', maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목명' },
|
|
272
283
|
supplyCost: { type: 'integer', minimum: 1, description: '공급가액' },
|
|
273
284
|
unitPrice: { type: 'integer', nullable: true, description: '단가 (선택)' },
|
|
274
285
|
quantity: { type: 'integer', nullable: true, description: '수량 (선택)' },
|
|
275
286
|
tax: { type: 'integer', nullable: true, description: '세액 (null이면 면세)' },
|
|
276
|
-
specification: { type: 'string', nullable: true, description: '규격 (선택)' },
|
|
277
|
-
description: { type: 'string', nullable: true, description: '품목 비고 (선택)' },
|
|
287
|
+
specification: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, description: '규격 (선택)' },
|
|
288
|
+
description: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목 비고 (선택)' },
|
|
278
289
|
},
|
|
279
290
|
},
|
|
280
291
|
},
|
|
281
292
|
description: {
|
|
282
293
|
type: 'string',
|
|
283
294
|
nullable: true,
|
|
284
|
-
maxLength:
|
|
295
|
+
maxLength: NTS_FREE_TEXT_MAX_LENGTH,
|
|
285
296
|
description: '세금계산서 비고 (선택, 외국인등록번호 공급받는자 정발행 시 null 또는 미입력)',
|
|
286
297
|
},
|
|
287
298
|
},
|
|
@@ -301,15 +312,19 @@ export const jsonSchemas = {
|
|
|
301
312
|
items: {
|
|
302
313
|
type: 'array',
|
|
303
314
|
minItems: 1,
|
|
304
|
-
maxItems:
|
|
315
|
+
maxItems: TAX_INVOICE_ITEM_MAX_COUNT,
|
|
305
316
|
items: {
|
|
306
317
|
type: 'object',
|
|
307
318
|
required: ['date', 'name', 'supplyCost'],
|
|
308
319
|
properties: {
|
|
309
320
|
date: { type: 'string', format: 'date', description: '공급일자' },
|
|
310
|
-
name: { type: 'string', description: '품목명' },
|
|
321
|
+
name: { type: 'string', maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목명' },
|
|
311
322
|
supplyCost: { type: 'integer', description: '공급가액 (양수: 증가, 음수: 감소)' },
|
|
312
|
-
|
|
323
|
+
unitPrice: { type: 'integer', nullable: true, description: '단가 (선택)' },
|
|
324
|
+
quantity: { type: 'integer', nullable: true, description: '수량 (선택)' },
|
|
325
|
+
tax: { type: 'integer', nullable: true, description: '세액 (선택)' },
|
|
326
|
+
specification: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, description: '규격 (선택)' },
|
|
327
|
+
description: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목 비고 (선택)' },
|
|
313
328
|
},
|
|
314
329
|
},
|
|
315
330
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"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"}
|