@beignet/cli 0.0.9 → 0.0.10

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 (66) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +35 -19
  3. package/dist/choices.d.ts +32 -3
  4. package/dist/choices.d.ts.map +1 -1
  5. package/dist/choices.js +54 -3
  6. package/dist/choices.js.map +1 -1
  7. package/dist/create-prompts.d.ts +5 -4
  8. package/dist/create-prompts.d.ts.map +1 -1
  9. package/dist/create-prompts.js +22 -4
  10. package/dist/create-prompts.js.map +1 -1
  11. package/dist/create.d.ts +7 -1
  12. package/dist/create.d.ts.map +1 -1
  13. package/dist/create.js +13 -3
  14. package/dist/create.js.map +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +25 -6
  17. package/dist/index.js.map +1 -1
  18. package/dist/make.d.ts +21 -1
  19. package/dist/make.d.ts.map +1 -1
  20. package/dist/make.js +210 -37
  21. package/dist/make.js.map +1 -1
  22. package/dist/templates/base.d.ts.map +1 -1
  23. package/dist/templates/base.js +79 -9
  24. package/dist/templates/base.js.map +1 -1
  25. package/dist/templates/db/index.d.ts +21 -0
  26. package/dist/templates/db/index.d.ts.map +1 -0
  27. package/dist/templates/db/index.js +14 -0
  28. package/dist/templates/db/index.js.map +1 -0
  29. package/dist/templates/db/mysql.d.ts +4 -0
  30. package/dist/templates/db/mysql.d.ts.map +1 -0
  31. package/dist/templates/db/mysql.js +972 -0
  32. package/dist/templates/db/mysql.js.map +1 -0
  33. package/dist/templates/db/postgres.d.ts +4 -0
  34. package/dist/templates/db/postgres.d.ts.map +1 -0
  35. package/dist/templates/db/postgres.js +863 -0
  36. package/dist/templates/db/postgres.js.map +1 -0
  37. package/dist/templates/db/sqlite.d.ts +3 -0
  38. package/dist/templates/db/sqlite.d.ts.map +1 -0
  39. package/dist/templates/db/sqlite.js +878 -0
  40. package/dist/templates/db/sqlite.js.map +1 -0
  41. package/dist/templates/index.d.ts +5 -5
  42. package/dist/templates/index.d.ts.map +1 -1
  43. package/dist/templates/index.js +21 -20
  44. package/dist/templates/index.js.map +1 -1
  45. package/dist/templates/server.d.ts +3 -3
  46. package/dist/templates/server.d.ts.map +1 -1
  47. package/dist/templates/server.js +149 -97
  48. package/dist/templates/server.js.map +1 -1
  49. package/dist/templates/shared.d.ts +34 -1
  50. package/dist/templates/shared.d.ts.map +1 -1
  51. package/dist/templates/shared.js +45 -0
  52. package/dist/templates/shared.js.map +1 -1
  53. package/package.json +2 -2
  54. package/src/choices.ts +70 -3
  55. package/src/create-prompts.ts +25 -3
  56. package/src/create.ts +24 -2
  57. package/src/index.ts +29 -5
  58. package/src/make.ts +265 -34
  59. package/src/templates/base.ts +95 -9
  60. package/src/templates/db/index.ts +34 -0
  61. package/src/templates/db/mysql.ts +976 -0
  62. package/src/templates/db/postgres.ts +867 -0
  63. package/src/templates/{db.ts → db/sqlite.ts} +31 -152
  64. package/src/templates/index.ts +24 -19
  65. package/src/templates/server.ts +161 -97
  66. package/src/templates/shared.ts +90 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/make.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { MakeFeatureAddon } from "./choices.js";
2
- import { type BeignetConfig } from "./config.js";
2
+ import { type BeignetConfig, type ResolvedBeignetConfig } from "./config.js";
3
3
  type MakeResourceOptions = {
4
4
  name: string;
5
5
  cwd?: string;
@@ -203,6 +203,11 @@ export type MakeScheduleResult = MakeResult;
203
203
  * Result returned by `beignet make upload`.
204
204
  */
205
205
  export type MakeUploadResult = MakeResult;
206
+ /**
207
+ * SQL dialect of the app database. Kept as a local literal union so the
208
+ * generators do not couple to the create-side option types.
209
+ */
210
+ export type DatabaseName = "sqlite" | "postgres" | "mysql";
206
211
  export declare function makeResource(options: MakeResourceOptions): Promise<MakeResourceResult>;
207
212
  export declare function makeFeature(options: MakeFeatureOptions): Promise<MakeFeatureResult>;
208
213
  export declare function makeContract(options: MakeContractOptions): Promise<MakeContractResult>;
@@ -220,4 +225,19 @@ export declare function makeNotification(options: MakeNotificationOptions): Prom
220
225
  export declare function makeListener(options: MakeListenerOptions): Promise<MakeListenerResult>;
221
226
  export declare function makeSchedule(options: MakeScheduleOptions): Promise<MakeScheduleResult>;
222
227
  export declare function makeUpload(options: MakeUploadOptions): Promise<MakeUploadResult>;
228
+ /**
229
+ * Detect the SQL dialect of a Drizzle app from its generated wiring.
230
+ *
231
+ * Precedence:
232
+ * 1. The provider import in the Drizzle repositories file
233
+ * (`@beignet/provider-db-drizzle/<dialect>`), resolved through the
234
+ * configured infrastructure paths so custom layouts keep working.
235
+ * 2. The provider registration tokens in `server/providers.ts`
236
+ * (`drizzle<Dialect>Provider` / `createDrizzle<Dialect>Provider`).
237
+ * 3. `"sqlite"`, the starter default.
238
+ *
239
+ * Self-healing by design: there is no config field to drift, the detector
240
+ * reads the same files the app boots from.
241
+ */
242
+ export declare function detectResourceDatabase(targetDir: string, config: ResolvedBeignetConfig): Promise<DatabaseName>;
223
243
  //# sourceMappingURL=make.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"make.d.ts","sourceRoot":"","sources":["../src/make.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"make.d.ts","sourceRoot":"","sources":["../src/make.ts"],"names":[],"mappings":"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"}
package/dist/make.js CHANGED
@@ -4,6 +4,41 @@ import path from "node:path";
4
4
  import { directoryPath, loadBeignetConfig, normalizePath, resolveConfig, } from "./config.js";
5
5
  import { appendToArrayExpression, appendToNamedArray, appendToOutboxRegistryArray, arrayInitializerInfo, identifiersFromArrayExpression, insertAfterImports, matchingDelimiterIndex, } from "./registry-edits.js";
6
6
  export { makeFeatureAddonChoices } from "./choices.js";
7
+ const drizzleDialects = {
8
+ sqlite: {
9
+ subpath: "sqlite",
10
+ dbTypeName: "DrizzleSqliteDatabase",
11
+ columnModule: "drizzle-orm/sqlite-core",
12
+ tableFunction: "sqliteTable",
13
+ schemaImports: ["integer", "sqliteTable", "text"],
14
+ supportsReturning: true,
15
+ idColumn: (columnName) => `text("${columnName}")`,
16
+ timestampColumn: (columnName) => `text("${columnName}")`,
17
+ integerColumn: (columnName) => `integer("${columnName}")`,
18
+ },
19
+ postgres: {
20
+ subpath: "postgres",
21
+ dbTypeName: "DrizzlePostgresDatabase",
22
+ columnModule: "drizzle-orm/pg-core",
23
+ tableFunction: "pgTable",
24
+ schemaImports: ["integer", "pgTable", "text"],
25
+ supportsReturning: true,
26
+ idColumn: (columnName) => `text("${columnName}")`,
27
+ timestampColumn: (columnName) => `text("${columnName}")`,
28
+ integerColumn: (columnName) => `integer("${columnName}")`,
29
+ },
30
+ mysql: {
31
+ subpath: "mysql",
32
+ dbTypeName: "DrizzleMysqlDatabase",
33
+ columnModule: "drizzle-orm/mysql-core",
34
+ tableFunction: "mysqlTable",
35
+ schemaImports: ["int", "mysqlTable", "text", "varchar"],
36
+ supportsReturning: false,
37
+ idColumn: (columnName) => `varchar("${columnName}", { length: 36 })`,
38
+ timestampColumn: (columnName) => `varchar("${columnName}", { length: 32 })`,
39
+ integerColumn: (columnName) => `int("${columnName}")`,
40
+ },
41
+ };
7
42
  export async function makeResource(options) {
8
43
  return makeResourceSlice(options, "resource");
9
44
  }
@@ -41,8 +76,11 @@ async function makeResourceSlice(options, mode) {
41
76
  throw new Error(`beignet make resource expects an app error catalog. Missing ${resourceSharedErrorsPath(config)}.`);
42
77
  }
43
78
  const persistence = await detectResourcePersistence(targetDir, config);
79
+ const database = persistence === "drizzle"
80
+ ? await detectResourceDatabase(targetDir, config)
81
+ : "sqlite";
44
82
  const generationOptions = resourceGenerationOptions(options, mode);
45
- const generatedFiles = resourceFiles(names, config, persistence, mode, generationOptions);
83
+ const generatedFiles = resourceFiles(names, config, persistence, mode, generationOptions, database);
46
84
  const plannedFiles = await planGeneratedFiles(targetDir, generatedFiles, {
47
85
  force: Boolean(options.force),
48
86
  });
@@ -2590,7 +2628,7 @@ function resourceFiles(names, config, persistence = "memory", mode = "feature",
2590
2628
  tenant: false,
2591
2629
  events: false,
2592
2630
  softDelete: false,
2593
- }) {
2631
+ }, database = "sqlite") {
2594
2632
  const useCaseDir = resourceUseCaseDir(names, config);
2595
2633
  const infraDir = infrastructureDir(config);
2596
2634
  const featureDir = resourceFeatureDir(names, config);
@@ -2669,12 +2707,13 @@ function resourceFiles(names, config, persistence = "memory", mode = "feature",
2669
2707
  },
2670
2708
  ];
2671
2709
  if (persistence === "drizzle") {
2710
+ const dialect = drizzleDialects[database];
2672
2711
  files.push({
2673
2712
  path: drizzleResourceSchemaFilePath(names, config),
2674
- content: drizzleSchemaFile(names, options),
2713
+ content: drizzleSchemaFile(names, options, dialect),
2675
2714
  }, {
2676
2715
  path: drizzleResourceRepositoryFilePath(names, config),
2677
- content: drizzleRepositoryFile(names, config, mode, options),
2716
+ content: drizzleRepositoryFile(names, config, mode, options, dialect),
2678
2717
  });
2679
2718
  }
2680
2719
  return files;
@@ -2862,6 +2901,37 @@ async function detectResourcePersistence(targetDir, config) {
2862
2901
  ? "drizzle"
2863
2902
  : "memory";
2864
2903
  }
2904
+ const databaseNames = ["sqlite", "postgres", "mysql"];
2905
+ /**
2906
+ * Detect the SQL dialect of a Drizzle app from its generated wiring.
2907
+ *
2908
+ * Precedence:
2909
+ * 1. The provider import in the Drizzle repositories file
2910
+ * (`@beignet/provider-db-drizzle/<dialect>`), resolved through the
2911
+ * configured infrastructure paths so custom layouts keep working.
2912
+ * 2. The provider registration tokens in `server/providers.ts`
2913
+ * (`drizzle<Dialect>Provider` / `createDrizzle<Dialect>Provider`).
2914
+ * 3. `"sqlite"`, the starter default.
2915
+ *
2916
+ * Self-healing by design: there is no config field to drift, the detector
2917
+ * reads the same files the app boots from.
2918
+ */
2919
+ export async function detectResourceDatabase(targetDir, config) {
2920
+ const repositories = await readOptionalFile(path.join(targetDir, drizzleRepositoriesPath(config)));
2921
+ const providerImport = repositories?.match(/from\s+["']@beignet\/provider-db-drizzle\/(sqlite|postgres|mysql)["']/);
2922
+ if (providerImport)
2923
+ return providerImport[1];
2924
+ const providers = await readOptionalFile(path.join(targetDir, providersFilePath(config)));
2925
+ if (providers !== undefined) {
2926
+ for (const database of databaseNames) {
2927
+ const dialectPascal = database.charAt(0).toUpperCase() + database.slice(1);
2928
+ const tokens = new RegExp(`\\b(?:drizzle${dialectPascal}Provider|createDrizzle${dialectPascal}Provider)\\b`);
2929
+ if (tokens.test(providers))
2930
+ return database;
2931
+ }
2932
+ }
2933
+ return "sqlite";
2934
+ }
2865
2935
  function resourceFeatureDir(names, config) {
2866
2936
  return path.join(config.paths.features, names.pluralKebab);
2867
2937
  }
@@ -3804,16 +3874,16 @@ ${mode === "resource" ? ` async findById(id: string${options.tenant ? ", filter
3804
3874
  }
3805
3875
  `;
3806
3876
  }
3807
- function drizzleSchemaFile(names, options) {
3808
- return `import { integer, sqliteTable, text } from "drizzle-orm/sqlite-core";
3877
+ function drizzleSchemaFile(names, options, dialect) {
3878
+ return `import { ${dialect.schemaImports.join(", ")} } from "${dialect.columnModule}";
3809
3879
 
3810
- export const ${names.pluralCamel} = sqliteTable("${names.pluralKebab.replaceAll("-", "_")}", {
3811
- id: text("id").primaryKey(),
3812
- ${options.tenant ? `\ttenantId: text("tenant_id").notNull(),\n` : ""} name: text("name").notNull(),
3813
- version: integer("version").notNull(),
3814
- createdAt: text("created_at").notNull(),
3815
- updatedAt: text("updated_at").notNull(),
3816
- ${options.softDelete ? `\tdeletedAt: text("deleted_at"),\n` : ""}});
3880
+ export const ${names.pluralCamel} = ${dialect.tableFunction}("${names.pluralKebab.replaceAll("-", "_")}", {
3881
+ id: ${dialect.idColumn("id")}.primaryKey(),
3882
+ ${options.tenant ? `\ttenantId: ${dialect.idColumn("tenant_id")}.notNull(),\n` : ""} name: text("name").notNull(),
3883
+ version: ${dialect.integerColumn("version")}.notNull(),
3884
+ createdAt: ${dialect.timestampColumn("created_at")}.notNull(),
3885
+ updatedAt: ${dialect.timestampColumn("updated_at")}.notNull(),
3886
+ ${options.softDelete ? `\tdeletedAt: ${dialect.timestampColumn("deleted_at")},\n` : ""}});
3817
3887
  `;
3818
3888
  }
3819
3889
  function drizzleResourceWhere(names, options, predicates) {
@@ -3829,7 +3899,7 @@ function drizzleResourceWhere(names, options, predicates) {
3829
3899
  return allPredicates[0] ?? "";
3830
3900
  return `and(${allPredicates.join(", ")})`;
3831
3901
  }
3832
- function drizzleRepositoryFile(names, config, mode, options) {
3902
+ function drizzleRepositoryFile(names, config, mode, options, dialect) {
3833
3903
  const repositoryPortPath = resourcePortFilePath(names, config);
3834
3904
  const schemaPath = drizzleSchemaIndexPath(config);
3835
3905
  const findWhere = drizzleResourceWhere(names, options, [
@@ -3863,9 +3933,131 @@ function drizzleRepositoryFile(names, config, mode, options) {
3863
3933
  "sql",
3864
3934
  "type SQL",
3865
3935
  ].filter((name) => Boolean(name));
3936
+ // After a version-guarded update succeeds, re-select by identity only —
3937
+ // matching what `.returning()` yields on the dialects that support it.
3938
+ const updateReselectWhere = options.tenant
3939
+ ? `and(eq(schema.${names.pluralCamel}.id, input.id), eq(schema.${names.pluralCamel}.tenantId, input.tenantId))`
3940
+ : `eq(schema.${names.pluralCamel}.id, input.id)`;
3941
+ // drizzle-orm/mysql2 has no `.returning(...)`; mutations resolve to a
3942
+ // `[ResultSetHeader, FieldPacket[]]` tuple typed as `unknown` through the
3943
+ // generic database seam, so generated MySQL code reads affectedRows
3944
+ // defensively and re-selects rows it needs back.
3945
+ const affectedRowsHelper = mode === "resource" && !dialect.supportsReturning
3946
+ ? `
3947
+ // drizzle-orm/mysql2 mutations resolve to [ResultSetHeader, FieldPacket[]],
3948
+ // typed as unknown through the generic database seam, so read affectedRows
3949
+ // defensively.
3950
+ function affectedRows(result: unknown): number {
3951
+ const head: unknown = Array.isArray(result) ? result[0] : undefined;
3952
+ if (head === null || typeof head !== "object") return 0;
3953
+ return "affectedRows" in head && typeof head.affectedRows === "number"
3954
+ ? head.affectedRows
3955
+ : 0;
3956
+ }
3957
+ `
3958
+ : "";
3959
+ const createMethod = dialect.supportsReturning
3960
+ ? ` async create(input) {
3961
+ const now = new Date().toISOString();
3962
+ const [row] = await db
3963
+ .insert(schema.${names.pluralCamel})
3964
+ .values({
3965
+ id: crypto.randomUUID(),
3966
+ ${options.tenant ? `\t\t\t\t\ttenantId: input.tenantId,\n` : ""} name: input.name,
3967
+ version: 1,
3968
+ createdAt: now,
3969
+ updatedAt: now,
3970
+ })
3971
+ .returning();
3972
+
3973
+ if (!row) {
3974
+ throw new Error("Failed to create ${names.singularKebab}.");
3975
+ }
3976
+
3977
+ return to${names.singularPascal}(row);
3978
+ },
3979
+ `
3980
+ : ` async create(input) {
3981
+ const now = new Date().toISOString();
3982
+ const ${names.singularCamel}: ${names.singularPascal} = {
3983
+ id: crypto.randomUUID(),
3984
+ ${options.tenant ? `\t\t\t\ttenantId: input.tenantId,\n` : ""} name: input.name,
3985
+ version: 1,
3986
+ createdAt: now,
3987
+ updatedAt: now,
3988
+ };
3989
+ await db.insert(schema.${names.pluralCamel}).values(${names.singularCamel});
3990
+
3991
+ return ${names.singularCamel};
3992
+ },
3993
+ `;
3994
+ const resourceMethods = mode !== "resource"
3995
+ ? ""
3996
+ : dialect.supportsReturning
3997
+ ? ` async findById(id: string${options.tenant ? ", filter" : ""}) {
3998
+ const [row] = await db
3999
+ .select()
4000
+ .from(schema.${names.pluralCamel})
4001
+ .where(${findWhere})
4002
+ .limit(1);
4003
+
4004
+ return row ? to${names.singularPascal}(row) : null;
4005
+ },
4006
+ async update(input) {
4007
+ const [row] = await db
4008
+ .update(schema.${names.pluralCamel})
4009
+ .set({
4010
+ name: input.name,
4011
+ version: input.version + 1,
4012
+ updatedAt: new Date().toISOString(),
4013
+ })
4014
+ .where(${updateWhere})
4015
+ .returning();
4016
+
4017
+ return row ? to${names.singularPascal}(row) : null;
4018
+ },
4019
+ async delete(id: string${options.tenant ? ", filter" : ""}) {
4020
+ ${options.softDelete ? `\t\t\tconst now = new Date().toISOString();\n\t\t\tconst rows = await db\n\t\t\t\t.update(schema.${names.pluralCamel})\n\t\t\t\t.set({ deletedAt: now, updatedAt: now })\n\t\t\t\t.where(${deleteWhere})\n\t\t\t\t.returning({ id: schema.${names.pluralCamel}.id });\n` : `\t\t\tconst rows = await db\n\t\t\t\t.delete(schema.${names.pluralCamel})\n\t\t\t\t.where(${deleteWhere})\n\t\t\t\t.returning({ id: schema.${names.pluralCamel}.id });\n`}
4021
+ return rows.length > 0;
4022
+ },
4023
+ `
4024
+ : ` async findById(id: string${options.tenant ? ", filter" : ""}) {
4025
+ const [row] = await db
4026
+ .select()
4027
+ .from(schema.${names.pluralCamel})
4028
+ .where(${findWhere})
4029
+ .limit(1);
4030
+
4031
+ return row ? to${names.singularPascal}(row) : null;
4032
+ },
4033
+ async update(input) {
4034
+ const result = await db
4035
+ .update(schema.${names.pluralCamel})
4036
+ .set({
4037
+ name: input.name,
4038
+ version: input.version + 1,
4039
+ updatedAt: new Date().toISOString(),
4040
+ })
4041
+ .where(${updateWhere});
4042
+
4043
+ if (affectedRows(result) === 0) return null;
4044
+
4045
+ const [row] = await db
4046
+ .select()
4047
+ .from(schema.${names.pluralCamel})
4048
+ .where(${updateReselectWhere})
4049
+ .limit(1);
4050
+
4051
+ return row ? to${names.singularPascal}(row) : null;
4052
+ },
4053
+ async delete(id: string${options.tenant ? ", filter" : ""}) {
4054
+ ${options.softDelete ? `\t\t\tconst now = new Date().toISOString();\n\t\t\tconst result = await db\n\t\t\t\t.update(schema.${names.pluralCamel})\n\t\t\t\t.set({ deletedAt: now, updatedAt: now })\n\t\t\t\t.where(${deleteWhere});\n` : `\t\t\tconst result = await db\n\t\t\t\t.delete(schema.${names.pluralCamel})\n\t\t\t\t.where(${deleteWhere});\n`}
4055
+ return affectedRows(result) > 0;
4056
+ },
4057
+ `;
3866
4058
  return `import type { beignetServerOnly } from "@beignet/core/server-only";
3867
4059
  import { cursorPageResult } from "@beignet/core/pagination";
3868
- import type { DrizzleSqliteDatabase } from "@beignet/provider-db-drizzle/sqlite";
4060
+ import type { ${dialect.dbTypeName} } from "@beignet/provider-db-drizzle/${dialect.subpath}";
3869
4061
  import { ${drizzleImports.join(", ")} } from "drizzle-orm";
3870
4062
  import type { ${names.singularPascal}Repository } from "${aliasModule(repositoryPortPath)}";
3871
4063
  import { encode${names.singularPascal}Cursor } from "${aliasModule(resourceSchemaFilePath(names, config))}";
@@ -3886,7 +4078,7 @@ ${options.tenant ? `\t\ttenantId: row.tenantId,\n` : ""} name: row.name,
3886
4078
  updatedAt: row.updatedAt,
3887
4079
  };
3888
4080
  }
3889
-
4081
+ ${affectedRowsHelper}
3890
4082
  type List${names.pluralPascal}Query = Parameters<${names.singularPascal}Repository["list"]>[0];
3891
4083
 
3892
4084
  function ${names.singularCamel}SortColumn(query: List${names.pluralPascal}Query) {
@@ -3945,7 +4137,7 @@ function cursorFor${names.singularPascal}(
3945
4137
  }
3946
4138
 
3947
4139
  export function createDrizzle${names.singularPascal}Repository(
3948
- db: DrizzleSqliteDatabase<typeof schema>,
4140
+ db: ${dialect.dbTypeName}<typeof schema>,
3949
4141
  ): ${names.singularPascal}Repository {
3950
4142
  return {
3951
4143
  async list(query) {
@@ -3968,26 +4160,7 @@ export function createDrizzle${names.singularPascal}Repository(
3968
4160
  nextCursor,
3969
4161
  );
3970
4162
  },
3971
- async create(input) {
3972
- const now = new Date().toISOString();
3973
- const [row] = await db
3974
- .insert(schema.${names.pluralCamel})
3975
- .values({
3976
- id: crypto.randomUUID(),
3977
- ${options.tenant ? `\t\t\t\t\ttenantId: input.tenantId,\n` : ""} name: input.name,
3978
- version: 1,
3979
- createdAt: now,
3980
- updatedAt: now,
3981
- })
3982
- .returning();
3983
-
3984
- if (!row) {
3985
- throw new Error("Failed to create ${names.singularKebab}.");
3986
- }
3987
-
3988
- return to${names.singularPascal}(row);
3989
- },
3990
- ${mode === "resource" ? ` async findById(id: string${options.tenant ? ", filter" : ""}) {\n const [row] = await db\n .select()\n .from(schema.${names.pluralCamel})\n .where(${findWhere})\n .limit(1);\n\n return row ? to${names.singularPascal}(row) : null;\n },\n async update(input) {\n const [row] = await db\n .update(schema.${names.pluralCamel})\n .set({\n name: input.name,\n version: input.version + 1,\n updatedAt: new Date().toISOString(),\n })\n .where(${updateWhere})\n .returning();\n\n return row ? to${names.singularPascal}(row) : null;\n },\n async delete(id: string${options.tenant ? ", filter" : ""}) {\n${options.softDelete ? `\t\t\tconst now = new Date().toISOString();\n\t\t\tconst rows = await db\n\t\t\t\t.update(schema.${names.pluralCamel})\n\t\t\t\t.set({ deletedAt: now, updatedAt: now })\n\t\t\t\t.where(${deleteWhere})\n\t\t\t\t.returning({ id: schema.${names.pluralCamel}.id });\n` : `\t\t\tconst rows = await db\n\t\t\t\t.delete(schema.${names.pluralCamel})\n\t\t\t\t.where(${deleteWhere})\n\t\t\t\t.returning({ id: schema.${names.pluralCamel}.id });\n`}\n return rows.length > 0;\n },\n` : ""}
4163
+ ${createMethod}${resourceMethods}
3991
4164
  };
3992
4165
  }
3993
4166
  `;