@lark-apaas/db-schema-sync 0.1.7 → 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +7 -5
- package/dist/{chunk-JOLAF4EV.js → chunk-QLAAPH4Z.js} +13 -45
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/bin.js
CHANGED
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
__toESM,
|
|
7
7
|
generateSchema,
|
|
8
8
|
resolveEnvOptions
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-QLAAPH4Z.js";
|
|
10
10
|
|
|
11
11
|
// node_modules/dotenv/package.json
|
|
12
12
|
var require_package = __commonJS({
|
|
@@ -424,10 +424,12 @@ function parseArgs(argv) {
|
|
|
424
424
|
|
|
425
425
|
// src/bin.ts
|
|
426
426
|
async function main() {
|
|
427
|
-
const
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
427
|
+
for (const name of [".env.local", ".env"]) {
|
|
428
|
+
const envPath = resolve(process.cwd(), name);
|
|
429
|
+
if (existsSync(envPath)) {
|
|
430
|
+
(0, import_dotenv.config)({ path: envPath });
|
|
431
|
+
console.log(`[db-schema-sync] \u2713 Loaded ${name}`);
|
|
432
|
+
}
|
|
431
433
|
}
|
|
432
434
|
const cliArgs = parseArgs(process.argv);
|
|
433
435
|
const output = cliArgs.output || process.env.DB_SCHEMA_OUTPUT || "server/database/schema.ts";
|
|
@@ -197,7 +197,7 @@ var require_dist = __commonJS({
|
|
|
197
197
|
getCacheKey(claims) {
|
|
198
198
|
const parts = [
|
|
199
199
|
claims.access_key,
|
|
200
|
-
claims.tenant_id || "",
|
|
200
|
+
claims.tenant_id?.toString() || "",
|
|
201
201
|
claims.user_id || "",
|
|
202
202
|
claims.app_id || "",
|
|
203
203
|
claims.app_env || "",
|
|
@@ -231,9 +231,6 @@ var require_dist = __commonJS({
|
|
|
231
231
|
var DEFAULT_DOMAIN_ENV = "FORCE_AUTHN_INNERAPI_DOMAIN";
|
|
232
232
|
var DEFAULT_ACCESS_KEY_ENV = "FORCE_AUTHN_ACCESS_KEY";
|
|
233
233
|
var DEFAULT_SECRET_KEY_ENV = "FORCE_AUTHN_ACCESS_SECRET";
|
|
234
|
-
var DEFAULT_ADMIN_DOMAIN_ENV = "MIAODA_DEV_INNER_DOMAIN_WITH_PREFIX";
|
|
235
|
-
var DEFAULT_CLIENT_TOKEN_ENV = "MIAODA_AUTHN_CODE";
|
|
236
|
-
var MIAODA_CLIENT_TOKEN_HEADER = "X-Miaoda-Client-Token";
|
|
237
234
|
function resolvePlatformBaseURL(options) {
|
|
238
235
|
if (!options?.enabled) {
|
|
239
236
|
return options?.baseURL;
|
|
@@ -241,7 +238,7 @@ var require_dist = __commonJS({
|
|
|
241
238
|
if (options.baseURL) {
|
|
242
239
|
return options.baseURL;
|
|
243
240
|
}
|
|
244
|
-
const envName = options.
|
|
241
|
+
const envName = options.domainEnv || DEFAULT_DOMAIN_ENV;
|
|
245
242
|
const domain = process.env[envName];
|
|
246
243
|
if (!domain) {
|
|
247
244
|
throw new Error(`\u5E73\u53F0\u6A21\u5F0F\u9700\u8981\u57FA\u7840\u57DF\u540D\uFF0C\u8BF7\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF ${envName}`);
|
|
@@ -264,7 +261,6 @@ var require_dist = __commonJS({
|
|
|
264
261
|
expireTimeMs,
|
|
265
262
|
refreshBeforeMs: options.refreshBeforeMs
|
|
266
263
|
});
|
|
267
|
-
const clientTokenEnv = options.clientTokenEnv || DEFAULT_CLIENT_TOKEN_ENV;
|
|
268
264
|
interceptors.request.use((config) => {
|
|
269
265
|
ensureNoAccessKeyOverride("request.platformAuth.customClaims", config.platformAuth?.customClaims);
|
|
270
266
|
const claims = {
|
|
@@ -278,12 +274,6 @@ var require_dist = __commonJS({
|
|
|
278
274
|
"Authorization": `Bearer ${token}`,
|
|
279
275
|
"x-api-key": accessKey
|
|
280
276
|
};
|
|
281
|
-
if (options.adminInnerApi) {
|
|
282
|
-
const clientToken = process.env[clientTokenEnv];
|
|
283
|
-
if (clientToken) {
|
|
284
|
-
headers[MIAODA_CLIENT_TOKEN_HEADER] = clientToken;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
277
|
return {
|
|
288
278
|
...config,
|
|
289
279
|
headers
|
|
@@ -411,7 +401,7 @@ var require_dist = __commonJS({
|
|
|
411
401
|
response: new InterceptorManager()
|
|
412
402
|
};
|
|
413
403
|
constructor(config) {
|
|
414
|
-
const { platform, security,
|
|
404
|
+
const { platform, security, ...restConfig } = config || {};
|
|
415
405
|
this.defaultConfig = {
|
|
416
406
|
timeout: 5e3,
|
|
417
407
|
...restConfig
|
|
@@ -424,14 +414,12 @@ var require_dist = __commonJS({
|
|
|
424
414
|
strictMode,
|
|
425
415
|
...security
|
|
426
416
|
};
|
|
427
|
-
this.registerRequestPreInterceptors(preInterceptors?.request);
|
|
428
417
|
if (platform?.enabled) {
|
|
429
418
|
if (!this.defaultConfig.baseURL) {
|
|
430
419
|
this.defaultConfig.baseURL = resolvePlatformBaseURL(platform);
|
|
431
420
|
}
|
|
432
421
|
registerPlatformPlugin(this.interceptors, platform);
|
|
433
422
|
}
|
|
434
|
-
this.registerResponsePreInterceptors(preInterceptors?.response);
|
|
435
423
|
}
|
|
436
424
|
/**
|
|
437
425
|
* GET 请求
|
|
@@ -581,34 +569,6 @@ var require_dist = __commonJS({
|
|
|
581
569
|
return this.runResponseInterceptors(Promise.reject(httpError));
|
|
582
570
|
}
|
|
583
571
|
}
|
|
584
|
-
/**
|
|
585
|
-
* 注册请求 preInterceptors
|
|
586
|
-
*/
|
|
587
|
-
registerRequestPreInterceptors(interceptors) {
|
|
588
|
-
if (!interceptors?.length) {
|
|
589
|
-
return;
|
|
590
|
-
}
|
|
591
|
-
for (const interceptor of interceptors) {
|
|
592
|
-
this.interceptors.request.use(
|
|
593
|
-
interceptor.onFulfilled,
|
|
594
|
-
interceptor.onRejected
|
|
595
|
-
);
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
/**
|
|
599
|
-
* 注册响应 preInterceptors
|
|
600
|
-
*/
|
|
601
|
-
registerResponsePreInterceptors(interceptors) {
|
|
602
|
-
if (!interceptors?.length) {
|
|
603
|
-
return;
|
|
604
|
-
}
|
|
605
|
-
for (const interceptor of interceptors) {
|
|
606
|
-
this.interceptors.response.use(
|
|
607
|
-
interceptor.onFulfilled,
|
|
608
|
-
interceptor.onRejected
|
|
609
|
-
);
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
572
|
/**
|
|
613
573
|
* 执行请求拦截器链
|
|
614
574
|
*/
|
|
@@ -1507,7 +1467,9 @@ var ImportCollector = class {
|
|
|
1507
1467
|
};
|
|
1508
1468
|
|
|
1509
1469
|
// src/generator/default-value.ts
|
|
1510
|
-
|
|
1470
|
+
var CUSTOM_CAST_TYPES = /* @__PURE__ */ new Set(["user_profile", "file_attachment"]);
|
|
1471
|
+
var CURRENT_USER_SENTINEL = "current_user";
|
|
1472
|
+
function formatDefaultValue(value, field) {
|
|
1511
1473
|
if (value == null || value === "") return "";
|
|
1512
1474
|
const trimmed = value.trim();
|
|
1513
1475
|
if (!trimmed || trimmed.toUpperCase() === "NULL") return "";
|
|
@@ -1516,6 +1478,12 @@ function formatDefaultValue(value) {
|
|
|
1516
1478
|
if (trimmed === "true") return ".default(true)";
|
|
1517
1479
|
if (trimmed === "false") return ".default(false)";
|
|
1518
1480
|
if (/^-?\d+(\.\d+)?$/.test(trimmed)) return `.default(${trimmed})`;
|
|
1481
|
+
if (field && CUSTOM_CAST_TYPES.has(field.type) && !trimmed.includes("::") && trimmed.toLowerCase() !== CURRENT_USER_SENTINEL) {
|
|
1482
|
+
const pgLiteral = trimmed.replace(/'/g, "''");
|
|
1483
|
+
const escaped = pgLiteral.replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
|
|
1484
|
+
const cast = field.isArray ? `${field.type}[]` : field.type;
|
|
1485
|
+
return `.default(sql\`'${escaped}'::${cast}\`)`;
|
|
1486
|
+
}
|
|
1519
1487
|
if (/::|\(|CASE|current_setting/i.test(trimmed)) {
|
|
1520
1488
|
const escaped = trimmed.replace(/`/g, "\\`").replace(/\$\{/g, "\\${");
|
|
1521
1489
|
return `.default(sql\`${escaped}\`)`;
|
|
@@ -1544,7 +1512,7 @@ var defaultModifiers = [
|
|
|
1544
1512
|
{
|
|
1545
1513
|
name: "defaultValue",
|
|
1546
1514
|
match: (f) => f.defaultValue != null && f.defaultValue !== "",
|
|
1547
|
-
modify: (f) => formatDefaultValue(f.defaultValue)
|
|
1515
|
+
modify: (f) => formatDefaultValue(f.defaultValue, f)
|
|
1548
1516
|
}
|
|
1549
1517
|
];
|
|
1550
1518
|
function applyModifiers(field, modifiers) {
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lark-apaas/db-schema-sync",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"node": ">=18.0.0"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@lark-apaas/http-client": "^0.1.
|
|
32
|
+
"@lark-apaas/http-client": "^0.1.7",
|
|
33
33
|
"dotenv": "^17.3.1",
|
|
34
34
|
"tiny-pinyin": "^1.3.2"
|
|
35
35
|
},
|