@fragno-dev/forms 0.0.0-canary-20592511303-1-20251230084048 → 0.0.0-canary-20597462087-1-20251230132116

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.
@@ -1,11 +1,11 @@
1
1
  import * as _fragno_dev_core_client0 from "@fragno-dev/core/client";
2
2
  import { FragnoPublicClientConfig } from "@fragno-dev/core/client";
3
- import * as _fragno_dev_core23 from "@fragno-dev/core";
3
+ import * as _fragno_dev_core25 from "@fragno-dev/core";
4
4
  import * as _fragno_dev_core0 from "@fragno-dev/core";
5
5
  import { FragnoRouteConfig } from "@fragno-dev/core";
6
6
  import * as zod0 from "zod";
7
7
  import { z } from "zod";
8
- import * as _fragno_dev_db42 from "@fragno-dev/db";
8
+ import * as _fragno_dev_db46 from "@fragno-dev/db";
9
9
  import * as _fragno_dev_db0 from "@fragno-dev/db";
10
10
  import { FragnoPublicConfigWithDatabase } from "@fragno-dev/db";
11
11
  import * as _fragno_dev_db_schema278 from "@fragno-dev/db/schema";
@@ -42,7 +42,7 @@ declare const FormSchema: z.ZodObject<{
42
42
  static: "static";
43
43
  }>;
44
44
  dataSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
45
- uiSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
45
+ uiSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
46
46
  version: z.ZodNumber;
47
47
  createdAt: z.ZodDate;
48
48
  updatedAt: z.ZodDate;
@@ -58,7 +58,7 @@ declare const NewFormSchema: z.ZodObject<{
58
58
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
59
  slug: z.ZodString;
60
60
  dataSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
61
- uiSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
61
+ uiSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
62
62
  }, z.core.$strip>;
63
63
  declare const UpdateFormSchema: z.ZodObject<{
64
64
  status: z.ZodOptional<z.ZodEnum<{
@@ -71,7 +71,7 @@ declare const UpdateFormSchema: z.ZodObject<{
71
71
  description: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
72
72
  slug: z.ZodOptional<z.ZodString>;
73
73
  dataSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
74
- uiSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
74
+ uiSchema: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
75
75
  }, z.core.$strip>;
76
76
  declare const ResponseMetadataSchema: z.ZodObject<{
77
77
  ip: z.ZodNullable<z.ZodUnion<readonly [z.ZodIPv4, z.ZodIPv6]>>;
@@ -120,9 +120,9 @@ interface SubmissionSortOptions {
120
120
  field: "submittedAt";
121
121
  order: "asc" | "desc";
122
122
  }
123
- declare const formsFragmentDef: _fragno_dev_core23.FragmentDefinition<FormsConfig, _fragno_dev_db42.FragnoPublicConfigWithDatabase, {
123
+ declare const formsFragmentDef: _fragno_dev_core25.FragmentDefinition<FormsConfig, _fragno_dev_db46.FragnoPublicConfigWithDatabase, {
124
124
  db: _fragno_dev_db_query2.SimpleQueryInterface<_fragno_dev_db_schema278.Schema<Record<"form", _fragno_dev_db_schema278.Table<Record<string, _fragno_dev_db_schema278.AnyColumn> & Record<"id", _fragno_dev_db_schema278.IdColumn<"varchar(30)", string | _fragno_dev_db_schema278.FragnoId | null, _fragno_dev_db_schema278.FragnoId>> & Record<"title", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"description", _fragno_dev_db_schema278.Column<"string", string | null, string | null>> & Record<"slug", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"status", _fragno_dev_db_schema278.Column<"string", string | null, string>> & Record<"dataSchema", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"uiSchema", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"version", _fragno_dev_db_schema278.Column<"integer", number | null, number>> & Record<"createdAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>>, Record<string, _fragno_dev_db_schema278.AnyRelation>, Record<string, _fragno_dev_db_schema278.Index<_fragno_dev_db_schema278.AnyColumn[], readonly string[]>> & Record<"idx_form_status", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string | null, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["status"]>> & Record<"idx_form_slug", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["slug"]>>>> & Record<"response", _fragno_dev_db_schema278.Table<Record<string, _fragno_dev_db_schema278.AnyColumn> & Record<"id", _fragno_dev_db_schema278.IdColumn<"varchar(30)", string | _fragno_dev_db_schema278.FragnoId | null, _fragno_dev_db_schema278.FragnoId>> & Record<"formId", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"formVersion", _fragno_dev_db_schema278.Column<"integer", number, number>> & Record<"data", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"submittedAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>> & Record<"userAgent", _fragno_dev_db_schema278.Column<"string", string | null, string | null>> & Record<"ip", _fragno_dev_db_schema278.Column<"string", string | null, string | null>>, Record<string, _fragno_dev_db_schema278.AnyRelation>, Record<string, _fragno_dev_db_schema278.Index<_fragno_dev_db_schema278.AnyColumn[], readonly string[]>> & Record<"idx_response_form", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["formId"]>> & Record<"idx_response_submitted_at", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["submittedAt"]>>>>>, void>;
125
- } & _fragno_dev_db42.ImplicitDatabaseDependencies<_fragno_dev_db_schema278.Schema<Record<"form", _fragno_dev_db_schema278.Table<Record<string, _fragno_dev_db_schema278.AnyColumn> & Record<"id", _fragno_dev_db_schema278.IdColumn<"varchar(30)", string | _fragno_dev_db_schema278.FragnoId | null, _fragno_dev_db_schema278.FragnoId>> & Record<"title", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"description", _fragno_dev_db_schema278.Column<"string", string | null, string | null>> & Record<"slug", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"status", _fragno_dev_db_schema278.Column<"string", string | null, string>> & Record<"dataSchema", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"uiSchema", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"version", _fragno_dev_db_schema278.Column<"integer", number | null, number>> & Record<"createdAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>>, Record<string, _fragno_dev_db_schema278.AnyRelation>, Record<string, _fragno_dev_db_schema278.Index<_fragno_dev_db_schema278.AnyColumn[], readonly string[]>> & Record<"idx_form_status", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string | null, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["status"]>> & Record<"idx_form_slug", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["slug"]>>>> & Record<"response", _fragno_dev_db_schema278.Table<Record<string, _fragno_dev_db_schema278.AnyColumn> & Record<"id", _fragno_dev_db_schema278.IdColumn<"varchar(30)", string | _fragno_dev_db_schema278.FragnoId | null, _fragno_dev_db_schema278.FragnoId>> & Record<"formId", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"formVersion", _fragno_dev_db_schema278.Column<"integer", number, number>> & Record<"data", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"submittedAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>> & Record<"userAgent", _fragno_dev_db_schema278.Column<"string", string | null, string | null>> & Record<"ip", _fragno_dev_db_schema278.Column<"string", string | null, string | null>>, Record<string, _fragno_dev_db_schema278.AnyRelation>, Record<string, _fragno_dev_db_schema278.Index<_fragno_dev_db_schema278.AnyColumn[], readonly string[]>> & Record<"idx_response_form", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["formId"]>> & Record<"idx_response_submitted_at", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["submittedAt"]>>>>>>, {
125
+ } & _fragno_dev_db46.ImplicitDatabaseDependencies<_fragno_dev_db_schema278.Schema<Record<"form", _fragno_dev_db_schema278.Table<Record<string, _fragno_dev_db_schema278.AnyColumn> & Record<"id", _fragno_dev_db_schema278.IdColumn<"varchar(30)", string | _fragno_dev_db_schema278.FragnoId | null, _fragno_dev_db_schema278.FragnoId>> & Record<"title", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"description", _fragno_dev_db_schema278.Column<"string", string | null, string | null>> & Record<"slug", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"status", _fragno_dev_db_schema278.Column<"string", string | null, string>> & Record<"dataSchema", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"uiSchema", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"version", _fragno_dev_db_schema278.Column<"integer", number | null, number>> & Record<"createdAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>> & Record<"updatedAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>>, Record<string, _fragno_dev_db_schema278.AnyRelation>, Record<string, _fragno_dev_db_schema278.Index<_fragno_dev_db_schema278.AnyColumn[], readonly string[]>> & Record<"idx_form_status", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string | null, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["status"]>> & Record<"idx_form_slug", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["slug"]>>>> & Record<"response", _fragno_dev_db_schema278.Table<Record<string, _fragno_dev_db_schema278.AnyColumn> & Record<"id", _fragno_dev_db_schema278.IdColumn<"varchar(30)", string | _fragno_dev_db_schema278.FragnoId | null, _fragno_dev_db_schema278.FragnoId>> & Record<"formId", _fragno_dev_db_schema278.Column<"string", string, string>> & Record<"formVersion", _fragno_dev_db_schema278.Column<"integer", number, number>> & Record<"data", _fragno_dev_db_schema278.Column<"json", unknown, unknown>> & Record<"submittedAt", _fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>> & Record<"userAgent", _fragno_dev_db_schema278.Column<"string", string | null, string | null>> & Record<"ip", _fragno_dev_db_schema278.Column<"string", string | null, string | null>>, Record<string, _fragno_dev_db_schema278.AnyRelation>, Record<string, _fragno_dev_db_schema278.Index<_fragno_dev_db_schema278.AnyColumn[], readonly string[]>> & Record<"idx_response_form", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"string", string, string>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["formId"]>> & Record<"idx_response_submitted_at", _fragno_dev_db_schema278.Index<readonly [_fragno_dev_db_schema278.Column<"timestamp", Date | null, Date>] & _fragno_dev_db_schema278.AnyColumn[], readonly ["submittedAt"]>>>>>>, {
126
126
  createForm: (input: NewForm) => Promise<string>;
127
127
  getForm: (id: string) => Promise<({
128
128
  id: _fragno_dev_db_schema278.FragnoId;
@@ -209,8 +209,8 @@ declare const formsFragmentDef: _fragno_dev_core23.FragmentDefinition<FormsConfi
209
209
  data: Record<string, unknown>;
210
210
  })[]>;
211
211
  deleteResponse: (id: string) => Promise<void>;
212
- }, {}, {}, {}, _fragno_dev_db_fragment_definition_builder1.DatabaseServiceContext<_fragno_dev_db42.HooksMap>, _fragno_dev_db42.DatabaseRequestContext<_fragno_dev_db42.HooksMap>, _fragno_dev_db_fragment_definition_builder1.DatabaseRequestStorage, {
213
- _fragno_internal: _fragno_dev_db42.InternalFragmentInstance;
212
+ }, {}, {}, {}, _fragno_dev_db_fragment_definition_builder1.DatabaseServiceContext<_fragno_dev_db46.HooksMap>, _fragno_dev_db46.DatabaseRequestContext<_fragno_dev_db46.HooksMap>, _fragno_dev_db_fragment_definition_builder1.DatabaseRequestStorage, {
213
+ _fragno_internal: _fragno_dev_db46.InternalFragmentInstance;
214
214
  }>;
215
215
  //# sourceMappingURL=definition.d.ts.map
216
216
  //#endregion
@@ -218,10 +218,10 @@ declare const formsFragmentDef: _fragno_dev_core23.FragmentDefinition<FormsConfi
218
218
  interface StaticForm {
219
219
  id: string;
220
220
  title: string;
221
- description: string | null;
221
+ description?: string;
222
222
  slug: string;
223
223
  dataSchema: JSONSchema;
224
- uiSchema: UISchemaElement;
224
+ uiSchema?: UISchemaElement;
225
225
  version: number;
226
226
  }
227
227
  interface FormsConfig {
@@ -330,7 +330,7 @@ declare const routes: readonly [_fragno_dev_core0.RouteFactory<FormsConfig, {
330
330
  static: "static";
331
331
  }>;
332
332
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
333
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
333
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
334
334
  version: zod0.ZodNumber;
335
335
  createdAt: zod0.ZodDate;
336
336
  updatedAt: zod0.ZodDate;
@@ -438,11 +438,27 @@ declare const routes: readonly [_fragno_dev_core0.RouteFactory<FormsConfig, {
438
438
  static: "static";
439
439
  }>;
440
440
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
441
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
441
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
442
+ version: zod0.ZodNumber;
443
+ createdAt: zod0.ZodDate;
444
+ updatedAt: zod0.ZodDate;
445
+ }, zod_v4_core0.$strip>>, string, string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/admin/forms/:id", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod0.ZodObject<{
446
+ id: zod0.ZodString;
447
+ title: zod0.ZodString;
448
+ description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
449
+ slug: zod0.ZodString;
450
+ status: zod0.ZodEnum<{
451
+ draft: "draft";
452
+ open: "open";
453
+ closed: "closed";
454
+ static: "static";
455
+ }>;
456
+ dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
457
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
442
458
  version: zod0.ZodNumber;
443
459
  createdAt: zod0.ZodDate;
444
460
  updatedAt: zod0.ZodDate;
445
- }, zod_v4_core0.$strip>>, string, string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/admin/forms", zod0.ZodObject<{
461
+ }, zod_v4_core0.$strip>, "NOT_FOUND", string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/admin/forms", zod0.ZodObject<{
446
462
  status: zod0.ZodEnum<{
447
463
  draft: "draft";
448
464
  open: "open";
@@ -453,7 +469,7 @@ declare const routes: readonly [_fragno_dev_core0.RouteFactory<FormsConfig, {
453
469
  description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
454
470
  slug: zod0.ZodString;
455
471
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
456
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
472
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
457
473
  }, zod_v4_core0.$strip>, zod0.ZodString, "CREATE_FAILED", string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"PUT", "/admin/forms/:id", zod0.ZodObject<{
458
474
  status: zod0.ZodOptional<zod0.ZodEnum<{
459
475
  draft: "draft";
@@ -465,7 +481,7 @@ declare const routes: readonly [_fragno_dev_core0.RouteFactory<FormsConfig, {
465
481
  description: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>>;
466
482
  slug: zod0.ZodOptional<zod0.ZodString>;
467
483
  dataSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
468
- uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
484
+ uiSchema: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
469
485
  }, zod_v4_core0.$strip>, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"DELETE", "/admin/forms/:id", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/admin/forms/:id/submissions", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod0.ZodArray<zod0.ZodObject<{
470
486
  id: zod0.ZodString;
471
487
  formId: zod0.ZodNullable<zod0.ZodString>;
@@ -495,7 +511,7 @@ declare function createFormsFragment(config: FormsConfig | undefined, options: F
495
511
  static: "static";
496
512
  }>;
497
513
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
498
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
514
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
499
515
  version: zod0.ZodNumber;
500
516
  createdAt: zod0.ZodDate;
501
517
  updatedAt: zod0.ZodDate;
@@ -514,11 +530,27 @@ declare function createFormsFragment(config: FormsConfig | undefined, options: F
514
530
  static: "static";
515
531
  }>;
516
532
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
517
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
533
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
534
+ version: zod0.ZodNumber;
535
+ createdAt: zod0.ZodDate;
536
+ updatedAt: zod0.ZodDate;
537
+ }, zod_v4_core0.$strip>>, string, string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/admin/forms/:id", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod0.ZodObject<{
538
+ id: zod0.ZodString;
539
+ title: zod0.ZodString;
540
+ description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
541
+ slug: zod0.ZodString;
542
+ status: zod0.ZodEnum<{
543
+ draft: "draft";
544
+ open: "open";
545
+ closed: "closed";
546
+ static: "static";
547
+ }>;
548
+ dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
549
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
518
550
  version: zod0.ZodNumber;
519
551
  createdAt: zod0.ZodDate;
520
552
  updatedAt: zod0.ZodDate;
521
- }, zod_v4_core0.$strip>>, string, string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/admin/forms", zod0.ZodObject<{
553
+ }, zod_v4_core0.$strip>, "NOT_FOUND", string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"POST", "/admin/forms", zod0.ZodObject<{
522
554
  status: zod0.ZodEnum<{
523
555
  draft: "draft";
524
556
  open: "open";
@@ -529,7 +561,7 @@ declare function createFormsFragment(config: FormsConfig | undefined, options: F
529
561
  description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
530
562
  slug: zod0.ZodString;
531
563
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
532
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
564
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
533
565
  }, zod_v4_core0.$strip>, zod0.ZodString, "CREATE_FAILED", string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"PUT", "/admin/forms/:id", zod0.ZodObject<{
534
566
  status: zod0.ZodOptional<zod0.ZodEnum<{
535
567
  draft: "draft";
@@ -541,7 +573,7 @@ declare function createFormsFragment(config: FormsConfig | undefined, options: F
541
573
  description: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>>;
542
574
  slug: zod0.ZodOptional<zod0.ZodString>;
543
575
  dataSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
544
- uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
576
+ uiSchema: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
545
577
  }, zod_v4_core0.$strip>, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"DELETE", "/admin/forms/:id", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string, _fragno_dev_db0.DatabaseRequestContext<_fragno_dev_db0.HooksMap>>, _fragno_dev_core0.FragnoRouteConfig<"GET", "/admin/forms/:id/submissions", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, zod0.ZodArray<zod0.ZodObject<{
546
578
  id: zod0.ZodString;
547
579
  formId: zod0.ZodNullable<zod0.ZodString>;
@@ -663,7 +695,7 @@ declare function createFormsClients(fragnoConfig: FragnoPublicClientConfig): {
663
695
  static: "static";
664
696
  }>;
665
697
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
666
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
698
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
667
699
  version: zod0.ZodNumber;
668
700
  createdAt: zod0.ZodDate;
669
701
  updatedAt: zod0.ZodDate;
@@ -684,11 +716,28 @@ declare function createFormsClients(fragnoConfig: FragnoPublicClientConfig): {
684
716
  static: "static";
685
717
  }>;
686
718
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
687
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
719
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
688
720
  version: zod0.ZodNumber;
689
721
  createdAt: zod0.ZodDate;
690
722
  updatedAt: zod0.ZodDate;
691
723
  }, zod_v4_core0.$strip>> | undefined>, string, string>;
724
+ useFormById: _fragno_dev_core_client0.FragnoClientHookData<"GET", "/admin/forms/:id", NonNullable<_standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
725
+ id: zod0.ZodString;
726
+ title: zod0.ZodString;
727
+ description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
728
+ slug: zod0.ZodString;
729
+ status: zod0.ZodEnum<{
730
+ draft: "draft";
731
+ open: "open";
732
+ closed: "closed";
733
+ static: "static";
734
+ }>;
735
+ dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
736
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
737
+ version: zod0.ZodNumber;
738
+ createdAt: zod0.ZodDate;
739
+ updatedAt: zod0.ZodDate;
740
+ }, zod_v4_core0.$strip> | undefined>, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
692
741
  useCreateForm: _fragno_dev_core_client0.FragnoClientMutatorData<_fragno_dev_core_api0.NonGetHTTPMethod, "/admin/forms", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
693
742
  status: zod0.ZodEnum<{
694
743
  draft: "draft";
@@ -700,7 +749,7 @@ declare function createFormsClients(fragnoConfig: FragnoPublicClientConfig): {
700
749
  description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
701
750
  slug: zod0.ZodString;
702
751
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
703
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
752
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
704
753
  }, zod_v4_core0.$strip> | undefined, zod0.ZodString | zod0.ZodArray<zod0.ZodObject<{
705
754
  id: zod0.ZodString;
706
755
  title: zod0.ZodString;
@@ -713,7 +762,7 @@ declare function createFormsClients(fragnoConfig: FragnoPublicClientConfig): {
713
762
  static: "static";
714
763
  }>;
715
764
  dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
716
- uiSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
765
+ uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
717
766
  version: zod0.ZodNumber;
718
767
  createdAt: zod0.ZodDate;
719
768
  updatedAt: zod0.ZodDate;
@@ -729,8 +778,24 @@ declare function createFormsClients(fragnoConfig: FragnoPublicClientConfig): {
729
778
  description: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>>;
730
779
  slug: zod0.ZodOptional<zod0.ZodString>;
731
780
  dataSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
781
+ uiSchema: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
782
+ }, zod_v4_core0.$strip> | undefined, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
783
+ id: zod0.ZodString;
784
+ title: zod0.ZodString;
785
+ description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
786
+ slug: zod0.ZodString;
787
+ status: zod0.ZodEnum<{
788
+ draft: "draft";
789
+ open: "open";
790
+ closed: "closed";
791
+ static: "static";
792
+ }>;
793
+ dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
732
794
  uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
733
- }, zod_v4_core0.$strip> | undefined, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
795
+ version: zod0.ZodNumber;
796
+ createdAt: zod0.ZodDate;
797
+ updatedAt: zod0.ZodDate;
798
+ }, zod_v4_core0.$strip> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
734
799
  useDeleteForm: _fragno_dev_core_client0.FragnoClientMutatorData<_fragno_dev_core_api0.NonGetHTTPMethod, "/admin/forms/:id", _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
735
800
  status: zod0.ZodOptional<zod0.ZodEnum<{
736
801
  draft: "draft";
@@ -742,8 +807,24 @@ declare function createFormsClients(fragnoConfig: FragnoPublicClientConfig): {
742
807
  description: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>>;
743
808
  slug: zod0.ZodOptional<zod0.ZodString>;
744
809
  dataSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
810
+ uiSchema: zod0.ZodOptional<zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>>;
811
+ }, zod_v4_core0.$strip> | undefined, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | zod0.ZodObject<{
812
+ id: zod0.ZodString;
813
+ title: zod0.ZodString;
814
+ description: zod0.ZodOptional<zod0.ZodNullable<zod0.ZodString>>;
815
+ slug: zod0.ZodString;
816
+ status: zod0.ZodEnum<{
817
+ draft: "draft";
818
+ open: "open";
819
+ closed: "closed";
820
+ static: "static";
821
+ }>;
822
+ dataSchema: zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>;
745
823
  uiSchema: zod0.ZodOptional<zod0.ZodRecord<zod0.ZodString, zod0.ZodUnknown>>;
746
- }, zod_v4_core0.$strip> | undefined, _standard_schema_spec0.StandardSchemaV1<unknown, unknown> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
824
+ version: zod0.ZodNumber;
825
+ createdAt: zod0.ZodDate;
826
+ updatedAt: zod0.ZodDate;
827
+ }, zod_v4_core0.$strip> | undefined, "NOT_FOUND" | "STATIC_FORM_READ_ONLY", string>;
747
828
  useSubmissions: _fragno_dev_core_client0.FragnoClientHookData<"GET", "/admin/forms/:id/submissions", zod0.ZodArray<zod0.ZodObject<{
748
829
  id: zod0.ZodString;
749
830
  formId: zod0.ZodNullable<zod0.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/models.ts","../../../src/definition.ts","../../../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/models.ts","../../../src/definition.ts","../../../src/index.ts"],"sourcesContent":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { Validator } from "@cfworker/json-schema";
8
8
  //#region src/schema.ts
9
9
  const formsSchema = schema((s) => {
10
10
  return s.addTable("form", (t) => {
11
- return t.addColumn("id", idColumn()).addColumn("title", column("string")).addColumn("description", column("string").nullable()).addColumn("slug", column("string")).addColumn("status", column("string").defaultTo(() => "draft")).addColumn("dataSchema", column("json")).addColumn("uiSchema", column("json")).addColumn("version", column("integer").defaultTo(() => 1)).addColumn("createdAt", column("timestamp").defaultTo((b) => b.now())).addColumn("updatedAt", column("timestamp").defaultTo((b) => b.now())).createIndex("idx_form_status", ["status"]).createIndex("idx_form_slug", ["slug"], { unique: true });
11
+ return t.addColumn("id", idColumn()).addColumn("title", column("string")).addColumn("description", column("string").nullable()).addColumn("slug", column("string")).addColumn("status", column("string").defaultTo(() => "draft")).addColumn("dataSchema", column("json")).addColumn("uiSchema", column("json").nullable()).addColumn("version", column("integer").defaultTo(() => 1)).addColumn("createdAt", column("timestamp").defaultTo((b) => b.now())).addColumn("updatedAt", column("timestamp").defaultTo((b) => b.now())).createIndex("idx_form_status", ["status"]).createIndex("idx_form_slug", ["slug"], { unique: true });
12
12
  }).addTable("response", (t) => {
13
13
  return t.addColumn("id", idColumn()).addColumn("formId", column("string")).addColumn("formVersion", column("integer")).addColumn("data", column("json")).addColumn("submittedAt", column("timestamp").defaultTo((b) => b.now())).addColumn("userAgent", column("string").nullable()).addColumn("ip", column("string").nullable()).createIndex("idx_response_form", ["formId"]).createIndex("idx_response_submitted_at", ["submittedAt"]);
14
14
  });
@@ -125,7 +125,7 @@ const FormSchema = z.object({
125
125
  slug: z.string().min(1).max(255).toLowerCase().trim(),
126
126
  status: FormStatusSchema,
127
127
  dataSchema: JSONSchemaSchema,
128
- uiSchema: UISchemaElementSchema,
128
+ uiSchema: UISchemaElementSchema.optional(),
129
129
  version: z.number(),
130
130
  createdAt: z.date(),
131
131
  updatedAt: z.date()
@@ -259,6 +259,22 @@ const adminRoutes = defineRoutes(formsFragmentDef).create(({ services, defineRou
259
259
  return json([...staticForms, ...dbForms]);
260
260
  }
261
261
  }),
262
+ defineRoute({
263
+ method: "GET",
264
+ path: "/admin/forms/:id",
265
+ outputSchema: FormSchema,
266
+ errorCodes: ["NOT_FOUND"],
267
+ handler: async ({ pathParams }, { json, error }) => {
268
+ const staticForm = config.staticForms?.find((f) => f.id === pathParams.id);
269
+ if (staticForm) return json(staticAsRegularForm(staticForm));
270
+ const form = await services.getForm(pathParams.id);
271
+ if (!form) return error({
272
+ message: "Form not found",
273
+ code: "NOT_FOUND"
274
+ }, 404);
275
+ return json(form);
276
+ }
277
+ }),
262
278
  defineRoute({
263
279
  method: "POST",
264
280
  path: "/admin/forms",
@@ -292,7 +308,7 @@ const adminRoutes = defineRoutes(formsFragmentDef).create(({ services, defineRou
292
308
  message: "Form not found",
293
309
  code: "NOT_FOUND"
294
310
  }, 404);
295
- return json(success);
311
+ return json(true);
296
312
  }
297
313
  }),
298
314
  defineRoute({
@@ -361,6 +377,7 @@ function createFormsClients(fragnoConfig) {
361
377
  useForm: b.createHook("/:slug"),
362
378
  useSubmitForm: b.createMutator("POST", "/:slug/submit"),
363
379
  useForms: b.createHook("/admin/forms"),
380
+ useFormById: b.createHook("/admin/forms/:id"),
364
381
  useCreateForm: b.createMutator("POST", "/admin/forms"),
365
382
  useUpdateForm: b.createMutator("PUT", "/admin/forms/:id"),
366
383
  useDeleteForm: b.createMutator("DELETE", "/admin/forms/:id"),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["form: T","response: T","input: NewForm","id: string","slug: string","input: UpdateForm","schema: Schema","data: Record<string, unknown>","schema","formId: string","formVersion: number","data: ValidatedData","metadata?: { ip?: string | null; userAgent?: string | null }","sort: SubmissionSortOptions","headers: Headers","sf: StaticForm","config: FormsConfig","options: FragnoPublicConfigWithDatabase","fragnoConfig: FragnoPublicClientConfig"],"sources":["../../src/schema.ts","../../src/definition.ts","../../src/models.ts","../../src/routes.ts","../../src/index.ts"],"sourcesContent":["import { column, idColumn, schema } from \"@fragno-dev/db/schema\";\n\nexport const formsSchema = schema((s) => {\n return s\n .addTable(\"form\", (t) => {\n return t\n .addColumn(\"id\", idColumn())\n .addColumn(\"title\", column(\"string\"))\n .addColumn(\"description\", column(\"string\").nullable())\n .addColumn(\"slug\", column(\"string\"))\n .addColumn(\n \"status\",\n column(\"string\").defaultTo(() => \"draft\"),\n )\n .addColumn(\"dataSchema\", column(\"json\"))\n .addColumn(\"uiSchema\", column(\"json\"))\n .addColumn(\n \"version\",\n column(\"integer\").defaultTo(() => 1),\n )\n .addColumn(\n \"createdAt\",\n column(\"timestamp\").defaultTo((b) => b.now()),\n )\n .addColumn(\n \"updatedAt\",\n column(\"timestamp\").defaultTo((b) => b.now()),\n )\n .createIndex(\"idx_form_status\", [\"status\"])\n .createIndex(\"idx_form_slug\", [\"slug\"], { unique: true });\n })\n .addTable(\"response\", (t) => {\n return t\n .addColumn(\"id\", idColumn())\n .addColumn(\"formId\", column(\"string\"))\n .addColumn(\"formVersion\", column(\"integer\"))\n .addColumn(\"data\", column(\"json\"))\n .addColumn(\n \"submittedAt\",\n column(\"timestamp\").defaultTo((b) => b.now()),\n )\n .addColumn(\"userAgent\", column(\"string\").nullable())\n .addColumn(\"ip\", column(\"string\").nullable())\n .createIndex(\"idx_response_form\", [\"formId\"])\n .createIndex(\"idx_response_submitted_at\", [\"submittedAt\"]);\n });\n});\n","import { defineFragment } from \"@fragno-dev/core\";\nimport { withDatabase } from \"@fragno-dev/db\";\nimport { formsSchema } from \"./schema\";\nimport type { FormsConfig } from \".\";\nimport type { JSONSchema, NewForm, UpdateForm, FormStatus, UIElementSchema } from \"./models\";\nimport { Validator, type Schema } from \"@cfworker/json-schema\";\n\nexport type ValidatedData<T = Record<string, unknown>> = T;\nexport type ValidationResult =\n | { success: true; data: ValidatedData }\n | {\n success: false;\n error: { message: string; errors: Array<{ path: string; message: string }> };\n };\n\n// External to this fragment\nconst asExternalForm = <\n T extends { id: { externalId: string }; status: string; dataSchema: unknown; uiSchema: unknown },\n>(\n form: T,\n) => ({\n ...form,\n id: form.id.externalId,\n status: form.status as FormStatus,\n dataSchema: form.dataSchema as JSONSchema,\n uiSchema: form.uiSchema as UIElementSchema,\n});\n\nconst asExternalResponse = <\n T extends {\n id: { externalId: string };\n formId: string | null;\n data: unknown;\n ip: string | null;\n userAgent: string | null;\n },\n>(\n response: T,\n) => ({\n ...response,\n id: response.id.externalId,\n data: response.data as Record<string, unknown>,\n});\n\nexport interface SubmissionSortOptions {\n field: \"submittedAt\";\n order: \"asc\" | \"desc\";\n}\n\nexport const formsFragmentDef = defineFragment<FormsConfig>(\"forms\")\n .extend(withDatabase(formsSchema))\n .withDependencies(({ db }) => ({ db }))\n .providesBaseService(({ deps }) => {\n return {\n createForm: async (input: NewForm) => {\n return (await deps.db.create(\"form\", input)).externalId;\n },\n\n getForm: async (id: string) => {\n const form = await deps.db.findFirst(\"form\", (b) =>\n b.whereIndex(\"primary\", (eb) => eb(\"id\", \"=\", id)),\n );\n return form ? asExternalForm(form) : null;\n },\n\n getFormBySlug: async (slug: string) => {\n const form = await deps.db.findFirst(\"form\", (b) =>\n b.whereIndex(\"idx_form_slug\", (eb) => eb(\"slug\", \"=\", slug)),\n );\n return form ? asExternalForm(form) : null;\n },\n\n updateForm: async (id: string, input: UpdateForm) => {\n const uow = deps.db\n .createUnitOfWork()\n .find(\"form\", (b) => b.whereIndex(\"primary\", (eb) => eb(\"id\", \"=\", id)));\n\n const [currentForms] = await uow.executeRetrieve();\n\n if (currentForms.length === 0) {\n return { success: false };\n }\n // TODO: length > 1 ?\n\n const currentForm = currentForms[0];\n\n // Only increment version if changing data schema\n const newVersion = input.dataSchema ? currentForm.version + 1 : currentForm.version;\n\n uow.update(\"form\", currentForm.id, (b) => {\n b.set({ ...input, version: newVersion, updatedAt: new Date() }).check();\n });\n return uow.executeMutations();\n },\n\n listForms: async () => {\n const forms = await deps.db.find(\"form\", (b) => b.whereIndex(\"primary\"));\n return forms.map(asExternalForm);\n },\n\n deleteForm: async (id: string) => {\n await deps.db.delete(\"form\", id);\n },\n\n validateData: (schema: Schema, data: Record<string, unknown>): ValidationResult => {\n const validator = new Validator(schema);\n const result = validator.validate(data);\n\n if (result.valid) {\n return { success: true, data: data as ValidatedData };\n }\n console.error(\"ERROR\", JSON.stringify(result.errors));\n return {\n success: false,\n // TODO: better error type for validation errors?\n // see: https://jsonforms.io/docs/validation/#external-validation-errors\n error: {\n message: \"Validation failed\",\n errors: result.errors.map((e) => ({\n path: e.instanceLocation || \"\",\n message: e.error ?? \"Invalid value\",\n })),\n },\n };\n },\n\n createResponse: async (\n formId: string,\n formVersion: number,\n data: ValidatedData,\n metadata?: { ip?: string | null; userAgent?: string | null },\n ) => {\n return (\n await deps.db.create(\"response\", {\n formId,\n formVersion,\n data,\n ip: metadata?.ip ?? null,\n userAgent: metadata?.userAgent ?? null,\n })\n ).externalId;\n },\n\n getResponse: async (id: string) => {\n const response = await deps.db.findFirst(\"response\", (b) =>\n b.whereIndex(\"primary\", (eb) => eb(\"id\", \"=\", id)),\n );\n return response ? asExternalResponse(response) : null;\n },\n\n listResponses: async (\n formId: string,\n sort: SubmissionSortOptions = { field: \"submittedAt\", order: \"desc\" },\n ) => {\n const responses = await deps.db.find(\"response\", (b) =>\n b\n .whereIndex(\"idx_response_form\", (eb) => eb(\"formId\", \"=\", formId))\n .orderByIndex(\"idx_response_submitted_at\", sort.order),\n );\n return responses.map(asExternalResponse);\n },\n\n deleteResponse: async (id: string) => {\n return await deps.db.delete(\"response\", id);\n },\n };\n })\n .build();\n","import { z } from \"zod\";\n\nexport const JSONSchemaSchema = z.record(z.string(), z.unknown());\nexport const UISchemaElementSchema = z.record(z.string(), z.unknown());\n\nexport const FormStatusSchema = z.enum([\"draft\", \"open\", \"closed\", \"static\"]);\n\nexport const FormSchema = z.object({\n id: z.string(),\n title: z.string(),\n description: z.string().nullable().optional(),\n slug: z.string().min(1).max(255).toLowerCase().trim(),\n status: FormStatusSchema,\n dataSchema: JSONSchemaSchema,\n uiSchema: UISchemaElementSchema,\n version: z.number(),\n createdAt: z.date(),\n updatedAt: z.date(),\n});\n\nexport const NewFormSchema = FormSchema.omit({\n id: true,\n createdAt: true,\n updatedAt: true,\n version: true,\n});\n\nexport const UpdateFormSchema = NewFormSchema.partial();\n\nexport const ResponseMetadataSchema = z.object({\n ip: z.union([z.ipv4(), z.ipv6()]).nullable(),\n userAgent: z.string().max(4096).nullable(),\n});\n\nexport const FormResponseSchema = z.object({\n id: z.string(),\n formId: z.string().nullable().describe(\"Form ID (static form ID or database form external ID)\"),\n formVersion: z.number(),\n data: z.record(z.string(), z.unknown()),\n submittedAt: z.date(),\n ip: z.string().max(45).nullable(),\n userAgent: z.string().max(512).nullable(),\n});\n\nexport const NewFormResponseSchema = FormResponseSchema.omit({\n id: true,\n submittedAt: true,\n formId: true,\n formVersion: true,\n ip: true,\n userAgent: true,\n}).extend({\n securityToken: z.string().optional(),\n});\n\nexport type NewForm = z.infer<typeof NewFormSchema>;\nexport type UpdateForm = z.infer<typeof UpdateFormSchema>;\nexport type Form = z.infer<typeof FormSchema>;\nexport type NewFormResponse = z.infer<typeof NewFormResponseSchema>;\nexport type FormResponse = z.infer<typeof FormResponseSchema>;\nexport type FormResponseMetadata = z.infer<typeof ResponseMetadataSchema>;\nexport type FormStatus = z.infer<typeof FormStatusSchema>;\nexport type JSONSchema = z.infer<typeof JSONSchemaSchema>;\nexport type UIElementSchema = z.infer<typeof UISchemaElementSchema>;\n","import { defineRoutes } from \"@fragno-dev/core\";\nimport type { Schema } from \"@cfworker/json-schema\";\nimport { z } from \"zod\";\nimport { formsFragmentDef } from \"./definition\";\nimport {\n FormSchema,\n NewFormSchema,\n NewFormResponseSchema,\n ResponseMetadataSchema,\n FormResponseSchema,\n UpdateFormSchema,\n} from \"./models\";\nimport type { Form } from \"./models\";\nimport type { StaticForm } from \".\";\n\n/** Extract and validate request metadata from headers (untrusted input) */\nfunction extractRequestMetadata(headers: Headers) {\n const rawUserAgent = headers.get(\"User-Agent\");\n const rawIp =\n headers.get(\"CF-Connecting-IP\") ||\n headers.get(\"X-Forwarded-For\")?.split(\",\")[0].trim() ||\n headers.get(\"X-Real-IP\") ||\n null;\n const result = ResponseMetadataSchema.safeParse({\n ip: rawIp,\n userAgent: rawUserAgent,\n });\n\n // Return validated data or null values if validation fails\n return result.success ? result.data : { ip: null, userAgent: null };\n}\n\nconst staticAsRegularForm = (sf: StaticForm): Form => ({\n id: sf.id,\n title: sf.title,\n description: sf.description,\n slug: sf.slug,\n status: \"static\",\n dataSchema: sf.dataSchema,\n uiSchema: sf.uiSchema as unknown as Form[\"uiSchema\"],\n version: sf.version,\n createdAt: new Date(),\n updatedAt: new Date(),\n});\n\n// Public routes\nexport const publicRoutes = defineRoutes(formsFragmentDef).create(\n ({ services, defineRoute, config }) => {\n return [\n defineRoute({\n method: \"GET\",\n path: \"/:slug\",\n outputSchema: FormSchema,\n errorCodes: [\"NOT_FOUND\"] as const,\n handler: async ({ pathParams }, { json, error }) => {\n // Check static forms first\n const staticForm = config.staticForms?.find((f) => f.slug === pathParams.slug);\n if (staticForm) {\n return json(staticAsRegularForm(staticForm));\n }\n\n const form = await services.getFormBySlug(pathParams.slug);\n if (!form) {\n return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n }\n\n return json(form);\n },\n }),\n\n defineRoute({\n method: \"POST\",\n path: \"/:slug/submit\",\n inputSchema: NewFormResponseSchema,\n outputSchema: z.string(),\n errorCodes: [\"NOT_FOUND\", \"VALIDATION_ERROR\", \"FORM_NOT_OPEN\"] as const,\n handler: async ({ input, pathParams, headers }, { json, error }) => {\n const { data } = await input.valid();\n\n // Check static forms first\n const staticFormConfig = config.staticForms?.find((f) => f.slug === pathParams.slug);\n const form = staticFormConfig\n ? staticAsRegularForm(staticFormConfig)\n : await services.getFormBySlug(pathParams.slug);\n\n if (!form) {\n return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n }\n\n // Static forms and open forms accept submissions\n if (form.status !== \"open\" && form.status !== \"static\") {\n return error(\n { message: \"Form is not open, has status \" + form.status, code: \"FORM_NOT_OPEN\" },\n 400,\n );\n }\n\n // Form validation\n const result = services.validateData(form.dataSchema as Schema, data);\n\n if (!result.success) {\n const message = result.error.errors.map((e) => e.message).join(\" \");\n return error({ message, code: \"VALIDATION_ERROR\" }, 400);\n }\n\n // Extract and validate request metadata from headers\n const metadata = extractRequestMetadata(headers);\n\n const responseId = await services.createResponse(\n form.id,\n form.version,\n result.data,\n metadata,\n );\n\n if (config.onResponseSubmitted) {\n await config.onResponseSubmitted({\n id: responseId,\n formId: form.id,\n formVersion: form.version,\n data,\n submittedAt: new Date(),\n ip: metadata?.ip,\n userAgent: metadata?.userAgent,\n });\n }\n\n return json(responseId);\n },\n }),\n ];\n },\n);\n\n// Admin routes\nexport const adminRoutes = defineRoutes(formsFragmentDef).create(\n ({ services, defineRoute, config }) => {\n return [\n defineRoute({\n method: \"GET\",\n path: \"/admin/forms\",\n outputSchema: z.array(FormSchema),\n handler: async (_ctx, { json }) => {\n const dbForms = await services.listForms();\n const staticForms = (config.staticForms ?? []).map(staticAsRegularForm);\n return json([...staticForms, ...dbForms]);\n },\n }),\n\n defineRoute({\n method: \"POST\",\n path: \"/admin/forms\",\n inputSchema: NewFormSchema,\n outputSchema: z.string(),\n errorCodes: [\"CREATE_FAILED\"] as const,\n handler: async ({ input }, { json }) => {\n const data = await input.valid();\n const formId = await services.createForm(data);\n if (config.onFormCreated) {\n await config.onFormCreated({ ...data, id: formId });\n }\n return json(formId);\n },\n }),\n\n defineRoute({\n method: \"PUT\",\n path: \"/admin/forms/:id\",\n inputSchema: UpdateFormSchema,\n errorCodes: [\"NOT_FOUND\", \"STATIC_FORM_READ_ONLY\"] as const,\n handler: async ({ input, pathParams }, { json, error }) => {\n const isStatic = config.staticForms?.some((f) => f.id === pathParams.id);\n if (isStatic) {\n return error(\n { message: \"Static forms cannot be modified\", code: \"STATIC_FORM_READ_ONLY\" },\n 403,\n );\n }\n const data = await input.valid();\n const { success } = await services.updateForm(pathParams.id, data);\n if (!success) {\n return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n }\n return json(success);\n },\n }),\n\n defineRoute({\n method: \"DELETE\",\n path: \"/admin/forms/:id\",\n errorCodes: [\"NOT_FOUND\", \"STATIC_FORM_READ_ONLY\"] as const,\n handler: async ({ pathParams }, { json, error }) => {\n const isStatic = config.staticForms?.some((f) => f.id === pathParams.id);\n if (isStatic) {\n return error(\n { message: \"Static forms cannot be deleted\", code: \"STATIC_FORM_READ_ONLY\" },\n 403,\n );\n }\n await services.deleteForm(pathParams.id);\n // TODO: 404 when form not found\n // if (!deleted) {\n // return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n // }\n return json(true);\n },\n }),\n\n defineRoute({\n method: \"GET\",\n path: \"/admin/forms/:id/submissions\",\n queryParameters: [\"sortOrder\"] as const,\n outputSchema: z.array(FormResponseSchema),\n handler: async ({ pathParams, query }, { json }) => {\n const sortOrder = query.get(\"sortOrder\") === \"asc\" ? \"asc\" : \"desc\";\n const responses = await services.listResponses(pathParams.id, {\n field: \"submittedAt\",\n order: sortOrder,\n });\n return json(responses);\n },\n }),\n\n defineRoute({\n method: \"GET\",\n path: \"/admin/submissions/:id\",\n outputSchema: FormResponseSchema,\n errorCodes: [\"NOT_FOUND\"] as const,\n handler: async ({ pathParams }, { json, error }) => {\n const response = await services.getResponse(pathParams.id);\n if (!response) {\n return error({ message: \"Submission not found\", code: \"NOT_FOUND\" }, 404);\n }\n return json(response);\n },\n }),\n\n defineRoute({\n method: \"DELETE\",\n path: \"/admin/submissions/:id\",\n errorCodes: [\"NOT_FOUND\"] as const,\n handler: async ({ pathParams }, { json }) => {\n await services.deleteResponse(pathParams.id);\n // TODO: 404 when response not found\n // if (!deleted) {\n // return error({ message: \"Submission not found\", code: \"NOT_FOUND\" }, 404);\n // }\n return json(true);\n },\n }),\n ];\n },\n);\n","import { createClientBuilder } from \"@fragno-dev/core/client\";\nimport type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\nimport type { FragnoPublicConfigWithDatabase } from \"@fragno-dev/db\";\nimport { instantiate } from \"@fragno-dev/core\";\nimport { publicRoutes, adminRoutes } from \"./routes\";\nimport { formsFragmentDef } from \"./definition\";\nimport type { Form, JSONSchema, FormResponse } from \"./models\";\nimport type { UISchemaElement } from \"@jsonforms/core\";\n\n// Forms that exist in code, but submissions are stored in the DB\n// Static forms always have status: \"static\" and accept submissions\nexport interface StaticForm {\n id: string;\n title: string;\n description: string | null;\n slug: string;\n dataSchema: JSONSchema;\n uiSchema: UISchemaElement;\n version: number;\n}\n\nexport interface FormsConfig {\n onFormCreated?: (form: Omit<Form, \"version\" | \"createdAt\" | \"updatedAt\">) => Promise<void>;\n onResponseSubmitted?: (response: FormResponse) => Promise<void>;\n staticForms?: StaticForm[];\n}\n\nexport const routes = [publicRoutes, adminRoutes] as const;\n\nexport function createFormsFragment(\n config: FormsConfig = {},\n options: FragnoPublicConfigWithDatabase,\n) {\n return instantiate(formsFragmentDef)\n .withConfig(config)\n .withRoutes(routes)\n .withOptions(options)\n .build();\n}\n\nexport function createFormsClients(fragnoConfig: FragnoPublicClientConfig) {\n const b = createClientBuilder(formsFragmentDef, fragnoConfig, routes);\n\n return {\n // Public\n useForm: b.createHook(\"/:slug\"),\n useSubmitForm: b.createMutator(\"POST\", \"/:slug/submit\"),\n\n // Admin - Forms\n useForms: b.createHook(\"/admin/forms\"),\n useCreateForm: b.createMutator(\"POST\", \"/admin/forms\"),\n useUpdateForm: b.createMutator(\"PUT\", \"/admin/forms/:id\"),\n useDeleteForm: b.createMutator(\"DELETE\", \"/admin/forms/:id\"),\n\n // Admin - Submissions\n useSubmissions: b.createHook(\"/admin/forms/:id/submissions\"),\n useSubmission: b.createHook(\"/admin/submissions/:id\"),\n useDeleteSubmission: b.createMutator(\"DELETE\", \"/admin/submissions/:id\"),\n };\n}\n\nexport { formsFragmentDef } from \"./definition\";\nexport type { SubmissionSortOptions } from \"./definition\";\nexport type { FragnoRouteConfig } from \"@fragno-dev/core\";\nexport type {\n NewForm,\n UpdateForm,\n Form,\n NewFormResponse,\n FormResponse,\n FormResponseMetadata,\n FormStatus,\n} from \"./models\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["form: T","response: T","input: NewForm","id: string","slug: string","input: UpdateForm","schema: Schema","data: Record<string, unknown>","schema","formId: string","formVersion: number","data: ValidatedData","metadata?: { ip?: string | null; userAgent?: string | null }","sort: SubmissionSortOptions","headers: Headers","sf: StaticForm","config: FormsConfig","options: FragnoPublicConfigWithDatabase","fragnoConfig: FragnoPublicClientConfig"],"sources":["../../src/schema.ts","../../src/definition.ts","../../src/models.ts","../../src/routes.ts","../../src/index.ts"],"sourcesContent":["import { column, idColumn, schema } from \"@fragno-dev/db/schema\";\n\nexport const formsSchema = schema((s) => {\n return s\n .addTable(\"form\", (t) => {\n return t\n .addColumn(\"id\", idColumn())\n .addColumn(\"title\", column(\"string\"))\n .addColumn(\"description\", column(\"string\").nullable())\n .addColumn(\"slug\", column(\"string\"))\n .addColumn(\n \"status\",\n column(\"string\").defaultTo(() => \"draft\"),\n )\n .addColumn(\"dataSchema\", column(\"json\"))\n .addColumn(\"uiSchema\", column(\"json\").nullable())\n .addColumn(\n \"version\",\n column(\"integer\").defaultTo(() => 1),\n )\n .addColumn(\n \"createdAt\",\n column(\"timestamp\").defaultTo((b) => b.now()),\n )\n .addColumn(\n \"updatedAt\",\n column(\"timestamp\").defaultTo((b) => b.now()),\n )\n .createIndex(\"idx_form_status\", [\"status\"])\n .createIndex(\"idx_form_slug\", [\"slug\"], { unique: true });\n })\n .addTable(\"response\", (t) => {\n return t\n .addColumn(\"id\", idColumn())\n .addColumn(\"formId\", column(\"string\"))\n .addColumn(\"formVersion\", column(\"integer\"))\n .addColumn(\"data\", column(\"json\"))\n .addColumn(\n \"submittedAt\",\n column(\"timestamp\").defaultTo((b) => b.now()),\n )\n .addColumn(\"userAgent\", column(\"string\").nullable())\n .addColumn(\"ip\", column(\"string\").nullable())\n .createIndex(\"idx_response_form\", [\"formId\"])\n .createIndex(\"idx_response_submitted_at\", [\"submittedAt\"]);\n });\n});\n","import { defineFragment } from \"@fragno-dev/core\";\nimport { withDatabase } from \"@fragno-dev/db\";\nimport { formsSchema } from \"./schema\";\nimport type { FormsConfig } from \".\";\nimport type { JSONSchema, NewForm, UpdateForm, FormStatus, UIElementSchema } from \"./models\";\nimport { Validator, type Schema } from \"@cfworker/json-schema\";\n\nexport type ValidatedData<T = Record<string, unknown>> = T;\nexport type ValidationResult =\n | { success: true; data: ValidatedData }\n | {\n success: false;\n error: { message: string; errors: Array<{ path: string; message: string }> };\n };\n\n// External to this fragment\nconst asExternalForm = <\n T extends { id: { externalId: string }; status: string; dataSchema: unknown; uiSchema: unknown },\n>(\n form: T,\n) => ({\n ...form,\n id: form.id.externalId,\n status: form.status as FormStatus,\n dataSchema: form.dataSchema as JSONSchema,\n uiSchema: form.uiSchema as UIElementSchema,\n});\n\nconst asExternalResponse = <\n T extends {\n id: { externalId: string };\n formId: string | null;\n data: unknown;\n ip: string | null;\n userAgent: string | null;\n },\n>(\n response: T,\n) => ({\n ...response,\n id: response.id.externalId,\n data: response.data as Record<string, unknown>,\n});\n\nexport interface SubmissionSortOptions {\n field: \"submittedAt\";\n order: \"asc\" | \"desc\";\n}\n\nexport const formsFragmentDef = defineFragment<FormsConfig>(\"forms\")\n .extend(withDatabase(formsSchema))\n .withDependencies(({ db }) => ({ db }))\n .providesBaseService(({ deps }) => {\n return {\n createForm: async (input: NewForm) => {\n return (await deps.db.create(\"form\", input)).externalId;\n },\n\n getForm: async (id: string) => {\n const form = await deps.db.findFirst(\"form\", (b) =>\n b.whereIndex(\"primary\", (eb) => eb(\"id\", \"=\", id)),\n );\n return form ? asExternalForm(form) : null;\n },\n\n getFormBySlug: async (slug: string) => {\n const form = await deps.db.findFirst(\"form\", (b) =>\n b.whereIndex(\"idx_form_slug\", (eb) => eb(\"slug\", \"=\", slug)),\n );\n return form ? asExternalForm(form) : null;\n },\n\n updateForm: async (id: string, input: UpdateForm) => {\n const uow = deps.db\n .createUnitOfWork()\n .find(\"form\", (b) => b.whereIndex(\"primary\", (eb) => eb(\"id\", \"=\", id)));\n\n const [currentForms] = await uow.executeRetrieve();\n\n if (currentForms.length === 0) {\n return { success: false };\n }\n // TODO: length > 1 ?\n\n const currentForm = currentForms[0];\n\n // Only increment version if changing data schema\n const newVersion = input.dataSchema ? currentForm.version + 1 : currentForm.version;\n\n uow.update(\"form\", currentForm.id, (b) => {\n b.set({ ...input, version: newVersion, updatedAt: new Date() }).check();\n });\n return uow.executeMutations();\n },\n\n listForms: async () => {\n const forms = await deps.db.find(\"form\", (b) => b.whereIndex(\"primary\"));\n return forms.map(asExternalForm);\n },\n\n deleteForm: async (id: string) => {\n await deps.db.delete(\"form\", id);\n },\n\n validateData: (schema: Schema, data: Record<string, unknown>): ValidationResult => {\n const validator = new Validator(schema);\n const result = validator.validate(data);\n\n if (result.valid) {\n return { success: true, data: data as ValidatedData };\n }\n console.error(\"ERROR\", JSON.stringify(result.errors));\n return {\n success: false,\n // TODO: better error type for validation errors?\n // see: https://jsonforms.io/docs/validation/#external-validation-errors\n error: {\n message: \"Validation failed\",\n errors: result.errors.map((e) => ({\n path: e.instanceLocation || \"\",\n message: e.error ?? \"Invalid value\",\n })),\n },\n };\n },\n\n createResponse: async (\n formId: string,\n formVersion: number,\n data: ValidatedData,\n metadata?: { ip?: string | null; userAgent?: string | null },\n ) => {\n return (\n await deps.db.create(\"response\", {\n formId,\n formVersion,\n data,\n ip: metadata?.ip ?? null,\n userAgent: metadata?.userAgent ?? null,\n })\n ).externalId;\n },\n\n getResponse: async (id: string) => {\n const response = await deps.db.findFirst(\"response\", (b) =>\n b.whereIndex(\"primary\", (eb) => eb(\"id\", \"=\", id)),\n );\n return response ? asExternalResponse(response) : null;\n },\n\n listResponses: async (\n formId: string,\n sort: SubmissionSortOptions = { field: \"submittedAt\", order: \"desc\" },\n ) => {\n const responses = await deps.db.find(\"response\", (b) =>\n b\n .whereIndex(\"idx_response_form\", (eb) => eb(\"formId\", \"=\", formId))\n .orderByIndex(\"idx_response_submitted_at\", sort.order),\n );\n return responses.map(asExternalResponse);\n },\n\n deleteResponse: async (id: string) => {\n return await deps.db.delete(\"response\", id);\n },\n };\n })\n .build();\n","import { z } from \"zod\";\n\nexport const JSONSchemaSchema = z.record(z.string(), z.unknown());\nexport const UISchemaElementSchema = z.record(z.string(), z.unknown());\n\nexport const FormStatusSchema = z.enum([\"draft\", \"open\", \"closed\", \"static\"]);\n\nexport const FormSchema = z.object({\n id: z.string(),\n title: z.string(),\n description: z.string().nullable().optional(),\n slug: z.string().min(1).max(255).toLowerCase().trim(),\n status: FormStatusSchema,\n dataSchema: JSONSchemaSchema,\n uiSchema: UISchemaElementSchema.optional(),\n version: z.number(),\n createdAt: z.date(),\n updatedAt: z.date(),\n});\n\nexport const NewFormSchema = FormSchema.omit({\n id: true,\n createdAt: true,\n updatedAt: true,\n version: true,\n});\n\nexport const UpdateFormSchema = NewFormSchema.partial();\n\nexport const ResponseMetadataSchema = z.object({\n ip: z.union([z.ipv4(), z.ipv6()]).nullable(),\n userAgent: z.string().max(4096).nullable(),\n});\n\nexport const FormResponseSchema = z.object({\n id: z.string(),\n formId: z.string().nullable().describe(\"Form ID (static form ID or database form external ID)\"),\n formVersion: z.number(),\n data: z.record(z.string(), z.unknown()),\n submittedAt: z.date(),\n ip: z.string().max(45).nullable(),\n userAgent: z.string().max(512).nullable(),\n});\n\nexport const NewFormResponseSchema = FormResponseSchema.omit({\n id: true,\n submittedAt: true,\n formId: true,\n formVersion: true,\n ip: true,\n userAgent: true,\n}).extend({\n securityToken: z.string().optional(),\n});\n\nexport type NewForm = z.infer<typeof NewFormSchema>;\nexport type UpdateForm = z.infer<typeof UpdateFormSchema>;\nexport type Form = z.infer<typeof FormSchema>;\nexport type NewFormResponse = z.infer<typeof NewFormResponseSchema>;\nexport type FormResponse = z.infer<typeof FormResponseSchema>;\nexport type FormResponseMetadata = z.infer<typeof ResponseMetadataSchema>;\nexport type FormStatus = z.infer<typeof FormStatusSchema>;\nexport type JSONSchema = z.infer<typeof JSONSchemaSchema>;\nexport type UIElementSchema = z.infer<typeof UISchemaElementSchema>;\n","import { defineRoutes } from \"@fragno-dev/core\";\nimport type { Schema } from \"@cfworker/json-schema\";\nimport { z } from \"zod\";\nimport { formsFragmentDef } from \"./definition\";\nimport {\n FormSchema,\n NewFormSchema,\n NewFormResponseSchema,\n ResponseMetadataSchema,\n FormResponseSchema,\n UpdateFormSchema,\n} from \"./models\";\nimport type { Form } from \"./models\";\nimport type { StaticForm } from \".\";\n\n/** Extract and validate request metadata from headers (untrusted input) */\nfunction extractRequestMetadata(headers: Headers) {\n const rawUserAgent = headers.get(\"User-Agent\");\n const rawIp =\n headers.get(\"CF-Connecting-IP\") ||\n headers.get(\"X-Forwarded-For\")?.split(\",\")[0].trim() ||\n headers.get(\"X-Real-IP\") ||\n null;\n const result = ResponseMetadataSchema.safeParse({\n ip: rawIp,\n userAgent: rawUserAgent,\n });\n\n // Return validated data or null values if validation fails\n return result.success ? result.data : { ip: null, userAgent: null };\n}\n\nconst staticAsRegularForm = (sf: StaticForm): Form => ({\n id: sf.id,\n title: sf.title,\n description: sf.description,\n slug: sf.slug,\n status: \"static\",\n dataSchema: sf.dataSchema,\n uiSchema: sf.uiSchema as unknown as Form[\"uiSchema\"],\n version: sf.version,\n createdAt: new Date(),\n updatedAt: new Date(),\n});\n\n// Public routes\nexport const publicRoutes = defineRoutes(formsFragmentDef).create(\n ({ services, defineRoute, config }) => {\n return [\n defineRoute({\n method: \"GET\",\n path: \"/:slug\",\n outputSchema: FormSchema,\n errorCodes: [\"NOT_FOUND\"] as const,\n handler: async ({ pathParams }, { json, error }) => {\n // Check static forms first\n const staticForm = config.staticForms?.find((f) => f.slug === pathParams.slug);\n if (staticForm) {\n return json(staticAsRegularForm(staticForm));\n }\n\n const form = await services.getFormBySlug(pathParams.slug);\n if (!form) {\n return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n }\n\n return json(form);\n },\n }),\n\n defineRoute({\n method: \"POST\",\n path: \"/:slug/submit\",\n inputSchema: NewFormResponseSchema,\n outputSchema: z.string(),\n errorCodes: [\"NOT_FOUND\", \"VALIDATION_ERROR\", \"FORM_NOT_OPEN\"] as const,\n handler: async ({ input, pathParams, headers }, { json, error }) => {\n const { data } = await input.valid();\n\n // Check static forms first\n const staticFormConfig = config.staticForms?.find((f) => f.slug === pathParams.slug);\n const form = staticFormConfig\n ? staticAsRegularForm(staticFormConfig)\n : await services.getFormBySlug(pathParams.slug);\n\n if (!form) {\n return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n }\n\n // Static forms and open forms accept submissions\n if (form.status !== \"open\" && form.status !== \"static\") {\n return error(\n { message: \"Form is not open, has status \" + form.status, code: \"FORM_NOT_OPEN\" },\n 400,\n );\n }\n\n // Form validation\n const result = services.validateData(form.dataSchema as Schema, data);\n\n if (!result.success) {\n const message = result.error.errors.map((e) => e.message).join(\" \");\n return error({ message, code: \"VALIDATION_ERROR\" }, 400);\n }\n\n // Extract and validate request metadata from headers\n const metadata = extractRequestMetadata(headers);\n\n const responseId = await services.createResponse(\n form.id,\n form.version,\n result.data,\n metadata,\n );\n\n if (config.onResponseSubmitted) {\n await config.onResponseSubmitted({\n id: responseId,\n formId: form.id,\n formVersion: form.version,\n data,\n submittedAt: new Date(),\n ip: metadata?.ip,\n userAgent: metadata?.userAgent,\n });\n }\n\n return json(responseId);\n },\n }),\n ];\n },\n);\n\n// Admin routes\nexport const adminRoutes = defineRoutes(formsFragmentDef).create(\n ({ services, defineRoute, config }) => {\n return [\n defineRoute({\n method: \"GET\",\n path: \"/admin/forms\",\n outputSchema: z.array(FormSchema),\n handler: async (_ctx, { json }) => {\n const dbForms = await services.listForms();\n const staticForms = (config.staticForms ?? []).map(staticAsRegularForm);\n return json([...staticForms, ...dbForms]);\n },\n }),\n\n defineRoute({\n method: \"GET\",\n path: \"/admin/forms/:id\",\n outputSchema: FormSchema,\n errorCodes: [\"NOT_FOUND\"] as const,\n handler: async ({ pathParams }, { json, error }) => {\n // Check static forms first\n const staticForm = config.staticForms?.find((f) => f.id === pathParams.id);\n if (staticForm) {\n return json(staticAsRegularForm(staticForm));\n }\n\n const form = await services.getForm(pathParams.id);\n if (!form) {\n return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n }\n\n return json(form);\n },\n }),\n\n defineRoute({\n method: \"POST\",\n path: \"/admin/forms\",\n inputSchema: NewFormSchema,\n outputSchema: z.string(),\n errorCodes: [\"CREATE_FAILED\"] as const,\n handler: async ({ input }, { json }) => {\n const data = await input.valid();\n const formId = await services.createForm(data);\n if (config.onFormCreated) {\n await config.onFormCreated({ ...data, id: formId });\n }\n return json(formId);\n },\n }),\n\n defineRoute({\n method: \"PUT\",\n path: \"/admin/forms/:id\",\n inputSchema: UpdateFormSchema,\n errorCodes: [\"NOT_FOUND\", \"STATIC_FORM_READ_ONLY\"] as const,\n handler: async ({ input, pathParams }, { json, error }) => {\n const isStatic = config.staticForms?.some((f) => f.id === pathParams.id);\n if (isStatic) {\n return error(\n { message: \"Static forms cannot be modified\", code: \"STATIC_FORM_READ_ONLY\" },\n 403,\n );\n }\n const data = await input.valid();\n const { success } = await services.updateForm(pathParams.id, data);\n if (!success) {\n return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n }\n return json(true);\n },\n }),\n\n defineRoute({\n method: \"DELETE\",\n path: \"/admin/forms/:id\",\n errorCodes: [\"NOT_FOUND\", \"STATIC_FORM_READ_ONLY\"] as const,\n handler: async ({ pathParams }, { json, error }) => {\n const isStatic = config.staticForms?.some((f) => f.id === pathParams.id);\n if (isStatic) {\n return error(\n { message: \"Static forms cannot be deleted\", code: \"STATIC_FORM_READ_ONLY\" },\n 403,\n );\n }\n await services.deleteForm(pathParams.id);\n // TODO: 404 when form not found\n // if (!deleted) {\n // return error({ message: \"Form not found\", code: \"NOT_FOUND\" }, 404);\n // }\n return json(true);\n },\n }),\n\n defineRoute({\n method: \"GET\",\n path: \"/admin/forms/:id/submissions\",\n queryParameters: [\"sortOrder\"] as const,\n outputSchema: z.array(FormResponseSchema),\n handler: async ({ pathParams, query }, { json }) => {\n const sortOrder = query.get(\"sortOrder\") === \"asc\" ? \"asc\" : \"desc\";\n const responses = await services.listResponses(pathParams.id, {\n field: \"submittedAt\",\n order: sortOrder,\n });\n return json(responses);\n },\n }),\n\n defineRoute({\n method: \"GET\",\n path: \"/admin/submissions/:id\",\n outputSchema: FormResponseSchema,\n errorCodes: [\"NOT_FOUND\"] as const,\n handler: async ({ pathParams }, { json, error }) => {\n const response = await services.getResponse(pathParams.id);\n if (!response) {\n return error({ message: \"Submission not found\", code: \"NOT_FOUND\" }, 404);\n }\n return json(response);\n },\n }),\n\n defineRoute({\n method: \"DELETE\",\n path: \"/admin/submissions/:id\",\n errorCodes: [\"NOT_FOUND\"] as const,\n handler: async ({ pathParams }, { json }) => {\n await services.deleteResponse(pathParams.id);\n // TODO: 404 when response not found\n // if (!deleted) {\n // return error({ message: \"Submission not found\", code: \"NOT_FOUND\" }, 404);\n // }\n return json(true);\n },\n }),\n ];\n },\n);\n","import { createClientBuilder } from \"@fragno-dev/core/client\";\nimport type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\nimport type { FragnoPublicConfigWithDatabase } from \"@fragno-dev/db\";\nimport { instantiate } from \"@fragno-dev/core\";\nimport { publicRoutes, adminRoutes } from \"./routes\";\nimport { formsFragmentDef } from \"./definition\";\nimport type { Form, JSONSchema, FormResponse } from \"./models\";\nimport type { UISchemaElement } from \"@jsonforms/core\";\n\n// Forms that exist in code, but submissions are stored in the DB\n// Static forms always have status: \"static\" and accept submissions\nexport interface StaticForm {\n id: string;\n title: string;\n description?: string;\n slug: string;\n dataSchema: JSONSchema;\n uiSchema?: UISchemaElement;\n version: number;\n}\n\nexport interface FormsConfig {\n onFormCreated?: (form: Omit<Form, \"version\" | \"createdAt\" | \"updatedAt\">) => Promise<void>;\n onResponseSubmitted?: (response: FormResponse) => Promise<void>;\n staticForms?: StaticForm[];\n}\n\nexport const routes = [publicRoutes, adminRoutes] as const;\n\nexport function createFormsFragment(\n config: FormsConfig = {},\n options: FragnoPublicConfigWithDatabase,\n) {\n return instantiate(formsFragmentDef)\n .withConfig(config)\n .withRoutes(routes)\n .withOptions(options)\n .build();\n}\n\nexport function createFormsClients(fragnoConfig: FragnoPublicClientConfig) {\n const b = createClientBuilder(formsFragmentDef, fragnoConfig, routes);\n\n return {\n // Public\n useForm: b.createHook(\"/:slug\"),\n useSubmitForm: b.createMutator(\"POST\", \"/:slug/submit\"),\n\n // Admin - Forms\n useForms: b.createHook(\"/admin/forms\"),\n useFormById: b.createHook(\"/admin/forms/:id\"),\n useCreateForm: b.createMutator(\"POST\", \"/admin/forms\"),\n useUpdateForm: b.createMutator(\"PUT\", \"/admin/forms/:id\"),\n useDeleteForm: b.createMutator(\"DELETE\", \"/admin/forms/:id\"),\n\n // Admin - Submissions\n useSubmissions: b.createHook(\"/admin/forms/:id/submissions\"),\n useSubmission: b.createHook(\"/admin/submissions/:id\"),\n useDeleteSubmission: b.createMutator(\"DELETE\", \"/admin/submissions/:id\"),\n };\n}\n\nexport { formsFragmentDef } from \"./definition\";\nexport type { SubmissionSortOptions } from \"./definition\";\nexport type { FragnoRouteConfig } from \"@fragno-dev/core\";\nexport type {\n NewForm,\n UpdateForm,\n Form,\n NewFormResponse,\n FormResponse,\n FormResponseMetadata,\n FormStatus,\n} from \"./models\";\n"],"mappings":"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"}