@ai0x0/utils 0.0.17 → 0.0.20

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.
Files changed (34) hide show
  1. package/es/backend/actions/create-delete-action.d.ts +4 -3
  2. package/es/backend/actions/create-get-action.d.ts +3 -2
  3. package/es/backend/actions/create-get-list-action.d.ts +3 -2
  4. package/es/backend/actions/create-post-action.d.ts +4 -4
  5. package/es/backend/actions/create-put-action.d.ts +3 -2
  6. package/es/backend/actions/get-list-query.d.ts +12 -4
  7. package/es/backend/actions/get-list-query.js +8 -11
  8. package/es/backend/route-operation/delete-operation.d.ts +3 -2
  9. package/es/backend/route-operation/get-list-operation.d.ts +3 -2
  10. package/es/backend/route-operation/get-operation.d.ts +3 -2
  11. package/es/backend/route-operation/get-table-name.d.ts +2 -2
  12. package/es/backend/route-operation/post-operation.d.ts +5 -5
  13. package/es/backend/route-operation/put-operation.d.ts +5 -4
  14. package/es/backend/schemas/index.d.ts +17714 -633
  15. package/es/backend/schemas/index.js +54 -30
  16. package/es/backend/types.d.ts +8 -14
  17. package/lib/backend/actions/create-delete-action.d.ts +4 -3
  18. package/lib/backend/actions/create-get-action.d.ts +3 -2
  19. package/lib/backend/actions/create-get-list-action.d.ts +3 -2
  20. package/lib/backend/actions/create-post-action.d.ts +4 -4
  21. package/lib/backend/actions/create-post-action.js +4 -1
  22. package/lib/backend/actions/create-put-action.d.ts +3 -2
  23. package/lib/backend/actions/get-list-query.d.ts +12 -4
  24. package/lib/backend/actions/get-list-query.js +6 -7
  25. package/lib/backend/route-operation/delete-operation.d.ts +3 -2
  26. package/lib/backend/route-operation/get-list-operation.d.ts +3 -2
  27. package/lib/backend/route-operation/get-operation.d.ts +3 -2
  28. package/lib/backend/route-operation/get-table-name.d.ts +2 -2
  29. package/lib/backend/route-operation/post-operation.d.ts +5 -5
  30. package/lib/backend/route-operation/put-operation.d.ts +5 -4
  31. package/lib/backend/schemas/index.d.ts +17714 -633
  32. package/lib/backend/schemas/index.js +32 -44
  33. package/lib/backend/types.d.ts +8 -14
  34. package/package.json +1 -1
@@ -21,29 +21,34 @@ var schemas_exports = {};
21
21
  __export(schemas_exports, {
22
22
  basicFields: () => basicFields,
23
23
  createTableSchema: () => createTableSchema,
24
- integer: () => import_sqlite_core.integer,
25
24
  listBodySchema: () => listBodySchema,
26
- queryListSchema: () => queryListSchema,
27
- text: () => import_sqlite_core.text
25
+ queryListSchema: () => queryListSchema
28
26
  });
29
27
  module.exports = __toCommonJS(schemas_exports);
30
28
  var import_zod = require("zod");
31
- var import_sqlite_core = require("drizzle-orm/sqlite-core");
29
+ var import_pg_core = require("drizzle-orm/pg-core");
32
30
  var import_drizzle_zod = require("drizzle-zod");
33
- var timestamp = (name) => (0, import_sqlite_core.text)(name).$defaultFn(() => (/* @__PURE__ */ new Date()).toISOString());
31
+ var timestamptz = (name) => (0, import_pg_core.timestamp)(name, { withTimezone: true });
32
+ var createdAt = () => timestamptz("created_at").notNull().defaultNow();
33
+ var updatedAt = () => timestamptz("updated_at").notNull().defaultNow();
34
+ var accessedAt = () => timestamptz("accessed_at").notNull().defaultNow();
34
35
  var basicFields = {
35
- id: (0, import_sqlite_core.text)("id").primaryKey().$defaultFn(() => crypto.randomUUID()),
36
- creatorId: (0, import_sqlite_core.text)("creator_id"),
37
- editorId: (0, import_sqlite_core.text)("editor_id"),
38
- accessedAt: timestamp("accessed_at").notNull(),
39
- createdAt: timestamp("created_at").notNull(),
40
- updatedAt: timestamp("updated_at").notNull()
36
+ id: (0, import_pg_core.uuid)("id").defaultRandom().primaryKey(),
37
+ creatorId: (0, import_pg_core.uuid)("creator_id"),
38
+ editorId: (0, import_pg_core.uuid)("editor_id"),
39
+ accessedAt: accessedAt(),
40
+ createdAt: createdAt(),
41
+ updatedAt: updatedAt()
41
42
  };
42
43
  var queryListSchema = (schema) => import_zod.z.object({
43
44
  current: import_zod.z.string().optional().default("1"),
45
+ // 默认页码为 1
44
46
  pageSize: import_zod.z.string().optional().default("10"),
47
+ // 默认每页条数为 10
45
48
  createdAtFrom: import_zod.z.string().optional(),
49
+ // 筛选开始日期
46
50
  createdAtTo: import_zod.z.string().optional(),
51
+ // 筛选结束日期
47
52
  orderBy: import_zod.z.string().optional(),
48
53
  creatorId: import_zod.z.string().optional(),
49
54
  orderDir: import_zod.z.enum(["asc", "desc"]).optional()
@@ -55,45 +60,30 @@ var listBodySchema = (schema) => import_zod.z.object({
55
60
  var createTableSchema = ({
56
61
  name,
57
62
  columns,
58
- refineSchema,
59
63
  extraConfig
60
64
  }) => {
61
- const table = (0, import_sqlite_core.sqliteTable)(
65
+ const mergedColumns = { ...basicFields, ...columns };
66
+ const table = (0, import_pg_core.pgTable)(
62
67
  name,
63
- {
64
- ...basicFields,
65
- ...columns
66
- },
68
+ mergedColumns,
67
69
  extraConfig
68
70
  );
69
- const selectSchema = (0, import_drizzle_zod.createSelectSchema)(
70
- table,
71
- refineSchema
72
- );
73
- const insertTable = (0, import_sqlite_core.sqliteTable)(
74
- name,
75
- columns
71
+ const selectSchema = (0, import_drizzle_zod.createSelectSchema)(table);
72
+ const insertSchema = (0, import_drizzle_zod.createInsertSchema)((0, import_pg_core.pgTable)(name, columns));
73
+ const updateSchema = (0, import_drizzle_zod.createUpdateSchema)(
74
+ (0, import_pg_core.pgTable)(name, { id: (0, import_pg_core.uuid)("id"), ...columns })
75
+ ).extend({ id: import_zod.z.string() });
76
+ const querySchema = import_zod.z.object({ id: import_zod.z.string() });
77
+ const queryListWithSchema = queryListSchema(
78
+ import_zod.z.object({}).catchall(import_zod.z.unknown())
76
79
  );
77
- const updateTable = (0, import_sqlite_core.sqliteTable)(name, {
78
- id: (0, import_sqlite_core.text)("id"),
79
- ...columns
80
- });
81
80
  return {
82
81
  table,
83
82
  selectSchema,
84
- insertSchema: (0, import_drizzle_zod.createInsertSchema)(
85
- insertTable,
86
- refineSchema
87
- ),
88
- updateSchema: (0, import_drizzle_zod.createUpdateSchema)(
89
- updateTable,
90
- {
91
- id: import_zod.z.string(),
92
- ...refineSchema
93
- }
94
- ),
95
- querySchema: selectSchema.pick({ id: true }),
96
- queryListSchema: queryListSchema(selectSchema.partial()),
83
+ insertSchema,
84
+ updateSchema,
85
+ querySchema,
86
+ queryListSchema: queryListWithSchema,
97
87
  queryListSelectSchema: selectSchema
98
88
  };
99
89
  };
@@ -101,8 +91,6 @@ var createTableSchema = ({
101
91
  0 && (module.exports = {
102
92
  basicFields,
103
93
  createTableSchema,
104
- integer,
105
94
  listBodySchema,
106
- queryListSchema,
107
- text
95
+ queryListSchema
108
96
  });
@@ -1,18 +1,12 @@
1
- import { SQLiteColumn, SQLiteTable } from "drizzle-orm/sqlite-core";
1
+ import { PgColumn, PgTable } from "drizzle-orm/pg-core";
2
2
  import { SQL } from "drizzle-orm";
3
- /**
4
- * 对底层 drizzle 数据库实例做最宽松的约束:
5
- * 只要能 `select / insert / update / delete` 并支持 drizzle 语法即可,
6
- * 从而允许在不同 driver(如 drizzle-orm/d1)之间切换。
7
- */
8
- export type AnyDatabase = any;
9
- export interface BaseTable extends SQLiteTable {
10
- id: SQLiteColumn;
11
- creatorId: SQLiteColumn;
12
- editorId: SQLiteColumn;
13
- accessedAt: SQLiteColumn;
14
- createdAt: SQLiteColumn;
15
- updatedAt: SQLiteColumn;
3
+ export interface BaseTable extends PgTable {
4
+ id: PgColumn;
5
+ creatorId: PgColumn;
6
+ editorId: PgColumn;
7
+ accessedAt: PgColumn;
8
+ createdAt: PgColumn;
9
+ updatedAt: PgColumn;
16
10
  }
17
11
  export type GetListRelations = {
18
12
  groupBy?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai0x0/utils",
3
- "version": "0.0.17",
3
+ "version": "0.0.20",
4
4
  "description": "AI0x0 utils",
5
5
  "keywords": [
6
6
  "ai0x0"