@lark-apaas/db-schema-sync 0.1.7-beta.0 → 0.1.8

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 CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  __toESM,
7
7
  generateSchema,
8
8
  resolveEnvOptions
9
- } from "./chunk-JOLAF4EV.js";
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 envPath = resolve(process.cwd(), ".env");
428
- if (existsSync(envPath)) {
429
- (0, import_dotenv.config)({ path: envPath });
430
- console.log("[db-schema-sync] \u2713 Loaded .env file");
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.adminInnerApi ? options.adminDomainEnv || DEFAULT_ADMIN_DOMAIN_ENV : options.domainEnv || DEFAULT_DOMAIN_ENV;
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, preInterceptors, ...restConfig } = config || {};
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
- function formatDefaultValue(value) {
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
@@ -5,7 +5,7 @@ import {
5
5
  generateSchemaFromData,
6
6
  normalizeApiResponse,
7
7
  resolveEnvOptions
8
- } from "./chunk-JOLAF4EV.js";
8
+ } from "./chunk-QLAAPH4Z.js";
9
9
  export {
10
10
  generateSchema,
11
11
  generateSchemaCode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/db-schema-sync",
3
- "version": "0.1.7-beta.0",
3
+ "version": "0.1.8",
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.6",
32
+ "@lark-apaas/http-client": "^0.1.7",
33
33
  "dotenv": "^17.3.1",
34
34
  "tiny-pinyin": "^1.3.2"
35
35
  },