@23blocks/block-forms 1.0.2 → 1.0.4

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 (72) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.esm.js +420 -0
  3. package/dist/src/index.d.ts +7 -0
  4. package/dist/src/index.d.ts.map +1 -0
  5. package/dist/src/lib/forms.block.d.ts +15 -0
  6. package/dist/src/lib/forms.block.d.ts.map +1 -0
  7. package/dist/src/lib/mappers/form-instance.mapper.d.ts +4 -0
  8. package/dist/src/lib/mappers/form-instance.mapper.d.ts.map +1 -0
  9. package/dist/src/lib/mappers/form-schema.mapper.d.ts +4 -0
  10. package/dist/src/lib/mappers/form-schema.mapper.d.ts.map +1 -0
  11. package/dist/src/lib/mappers/form-set.mapper.d.ts +4 -0
  12. package/dist/src/lib/mappers/form-set.mapper.d.ts.map +1 -0
  13. package/dist/src/lib/mappers/form.mapper.d.ts +4 -0
  14. package/dist/src/lib/mappers/form.mapper.d.ts.map +1 -0
  15. package/dist/{lib/mappers/index.js → src/lib/mappers/index.d.ts} +1 -2
  16. package/dist/src/lib/mappers/index.d.ts.map +1 -0
  17. package/dist/src/lib/mappers/utils.d.ts +29 -0
  18. package/dist/src/lib/mappers/utils.d.ts.map +1 -0
  19. package/dist/src/lib/services/form-instances.service.d.ts +16 -0
  20. package/dist/src/lib/services/form-instances.service.d.ts.map +1 -0
  21. package/dist/src/lib/services/form-schemas.service.d.ts +14 -0
  22. package/dist/src/lib/services/form-schemas.service.d.ts.map +1 -0
  23. package/dist/src/lib/services/form-sets.service.d.ts +13 -0
  24. package/dist/src/lib/services/form-sets.service.d.ts.map +1 -0
  25. package/dist/src/lib/services/forms.service.d.ts +13 -0
  26. package/dist/src/lib/services/forms.service.d.ts.map +1 -0
  27. package/dist/{lib/services/index.js → src/lib/services/index.d.ts} +1 -2
  28. package/dist/src/lib/services/index.d.ts.map +1 -0
  29. package/dist/src/lib/types/form-instance.d.ts +40 -0
  30. package/dist/src/lib/types/form-instance.d.ts.map +1 -0
  31. package/dist/src/lib/types/form-schema.d.ts +42 -0
  32. package/dist/src/lib/types/form-schema.d.ts.map +1 -0
  33. package/dist/src/lib/types/form-set.d.ts +41 -0
  34. package/dist/src/lib/types/form-set.d.ts.map +1 -0
  35. package/dist/src/lib/types/form.d.ts +35 -0
  36. package/dist/src/lib/types/form.d.ts.map +1 -0
  37. package/dist/{lib/types/index.js → src/lib/types/index.d.ts} +1 -2
  38. package/dist/src/lib/types/index.d.ts.map +1 -0
  39. package/package.json +10 -8
  40. package/dist/index.js +0 -7
  41. package/dist/index.js.map +0 -1
  42. package/dist/lib/forms.block.js +0 -22
  43. package/dist/lib/forms.block.js.map +0 -1
  44. package/dist/lib/mappers/form-instance.mapper.js +0 -20
  45. package/dist/lib/mappers/form-instance.mapper.js.map +0 -1
  46. package/dist/lib/mappers/form-schema.mapper.js +0 -22
  47. package/dist/lib/mappers/form-schema.mapper.js.map +0 -1
  48. package/dist/lib/mappers/form-set.mapper.js +0 -19
  49. package/dist/lib/mappers/form-set.mapper.js.map +0 -1
  50. package/dist/lib/mappers/form.mapper.js +0 -19
  51. package/dist/lib/mappers/form.mapper.js.map +0 -1
  52. package/dist/lib/mappers/index.js.map +0 -1
  53. package/dist/lib/mappers/utils.js +0 -75
  54. package/dist/lib/mappers/utils.js.map +0 -1
  55. package/dist/lib/services/form-instances.service.js +0 -99
  56. package/dist/lib/services/form-instances.service.js.map +0 -1
  57. package/dist/lib/services/form-schemas.service.js +0 -67
  58. package/dist/lib/services/form-schemas.service.js.map +0 -1
  59. package/dist/lib/services/form-sets.service.js +0 -58
  60. package/dist/lib/services/form-sets.service.js.map +0 -1
  61. package/dist/lib/services/forms.service.js +0 -59
  62. package/dist/lib/services/forms.service.js.map +0 -1
  63. package/dist/lib/services/index.js.map +0 -1
  64. package/dist/lib/types/form-instance.js +0 -3
  65. package/dist/lib/types/form-instance.js.map +0 -1
  66. package/dist/lib/types/form-schema.js +0 -3
  67. package/dist/lib/types/form-schema.js.map +0 -1
  68. package/dist/lib/types/form-set.js +0 -3
  69. package/dist/lib/types/form-set.js.map +0 -1
  70. package/dist/lib/types/form.js +0 -3
  71. package/dist/lib/types/form.js.map +0 -1
  72. package/dist/lib/types/index.js.map +0 -1
@@ -0,0 +1 @@
1
+ export * from "./src/index";
@@ -0,0 +1,420 @@
1
+ import { decodeOne, decodePageResult } from '@23blocks/jsonapi-codec';
2
+
3
+ /**
4
+ * Parse a string value, returning undefined for empty/undefined
5
+ */ function parseString(value) {
6
+ if (value === null || value === undefined) {
7
+ return undefined;
8
+ }
9
+ const str = String(value);
10
+ return str.length > 0 ? str : undefined;
11
+ }
12
+ /**
13
+ * Parse a date value
14
+ */ function parseDate(value) {
15
+ if (value === null || value === undefined) {
16
+ return undefined;
17
+ }
18
+ if (value instanceof Date) {
19
+ return value;
20
+ }
21
+ if (typeof value === 'string' || typeof value === 'number') {
22
+ const date = new Date(value);
23
+ return isNaN(date.getTime()) ? undefined : date;
24
+ }
25
+ return undefined;
26
+ }
27
+ /**
28
+ * Parse a boolean value
29
+ */ function parseBoolean(value) {
30
+ if (typeof value === 'boolean') {
31
+ return value;
32
+ }
33
+ if (value === 'true' || value === '1' || value === 1) {
34
+ return true;
35
+ }
36
+ return false;
37
+ }
38
+ /**
39
+ * Parse a number value
40
+ */ function parseNumber(value) {
41
+ if (value === null || value === undefined) {
42
+ return 0;
43
+ }
44
+ const num = Number(value);
45
+ return isNaN(num) ? 0 : num;
46
+ }
47
+ /**
48
+ * Parse entity status
49
+ */ function parseStatus(value) {
50
+ const status = parseString(value);
51
+ if (status === 'active' || status === 'inactive' || status === 'pending' || status === 'archived' || status === 'deleted') {
52
+ return status;
53
+ }
54
+ return 'active';
55
+ }
56
+
57
+ const formMapper = {
58
+ type: 'Form',
59
+ map: (resource)=>({
60
+ id: resource.id,
61
+ uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
62
+ createdAt: parseDate(resource.attributes['created_at']) || new Date(),
63
+ updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
64
+ code: parseString(resource.attributes['code']) || '',
65
+ name: parseString(resource.attributes['name']) || '',
66
+ description: parseString(resource.attributes['description']),
67
+ formType: parseString(resource.attributes['form_type']),
68
+ status: parseStatus(resource.attributes['status']),
69
+ enabled: parseBoolean(resource.attributes['enabled']),
70
+ payload: resource.attributes['payload']
71
+ })
72
+ };
73
+
74
+ function createFormsService(transport, _config) {
75
+ return {
76
+ async list (params) {
77
+ const queryParams = {};
78
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
79
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
80
+ if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
81
+ if (params == null ? void 0 : params.formType) queryParams['form_type'] = params.formType;
82
+ if (params == null ? void 0 : params.search) queryParams['search'] = params.search;
83
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
84
+ const response = await transport.get('/forms', {
85
+ params: queryParams
86
+ });
87
+ return decodePageResult(response, formMapper);
88
+ },
89
+ async get (uniqueId) {
90
+ const response = await transport.get(`/forms/${uniqueId}`);
91
+ return decodeOne(response, formMapper);
92
+ },
93
+ async create (data) {
94
+ const response = await transport.post('/forms', {
95
+ data: {
96
+ type: 'Form',
97
+ attributes: {
98
+ code: data.code,
99
+ name: data.name,
100
+ description: data.description,
101
+ form_type: data.formType,
102
+ payload: data.payload
103
+ }
104
+ }
105
+ });
106
+ return decodeOne(response, formMapper);
107
+ },
108
+ async update (uniqueId, data) {
109
+ const response = await transport.put(`/forms/${uniqueId}`, {
110
+ data: {
111
+ type: 'Form',
112
+ attributes: {
113
+ name: data.name,
114
+ description: data.description,
115
+ form_type: data.formType,
116
+ enabled: data.enabled,
117
+ status: data.status,
118
+ payload: data.payload
119
+ }
120
+ }
121
+ });
122
+ return decodeOne(response, formMapper);
123
+ },
124
+ async delete (uniqueId) {
125
+ await transport.delete(`/forms/${uniqueId}`);
126
+ }
127
+ };
128
+ }
129
+
130
+ const formSchemaMapper = {
131
+ type: 'FormSchema',
132
+ map: (resource)=>({
133
+ id: resource.id,
134
+ uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
135
+ createdAt: parseDate(resource.attributes['created_at']) || new Date(),
136
+ updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
137
+ formUniqueId: parseString(resource.attributes['form_unique_id']) || '',
138
+ code: parseString(resource.attributes['code']) || '',
139
+ name: parseString(resource.attributes['name']) || '',
140
+ description: parseString(resource.attributes['description']),
141
+ version: parseNumber(resource.attributes['version']),
142
+ schema: resource.attributes['schema'] || {},
143
+ uiSchema: resource.attributes['ui_schema'],
144
+ status: parseStatus(resource.attributes['status']),
145
+ enabled: parseBoolean(resource.attributes['enabled']),
146
+ payload: resource.attributes['payload']
147
+ })
148
+ };
149
+
150
+ function createFormSchemasService(transport, _config) {
151
+ return {
152
+ async list (params) {
153
+ const queryParams = {};
154
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
155
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
156
+ if (params == null ? void 0 : params.formUniqueId) queryParams['form_unique_id'] = params.formUniqueId;
157
+ if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
158
+ if (params == null ? void 0 : params.version) queryParams['version'] = String(params.version);
159
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
160
+ const response = await transport.get('/form_schemas', {
161
+ params: queryParams
162
+ });
163
+ return decodePageResult(response, formSchemaMapper);
164
+ },
165
+ async get (uniqueId) {
166
+ const response = await transport.get(`/form_schemas/${uniqueId}`);
167
+ return decodeOne(response, formSchemaMapper);
168
+ },
169
+ async create (data) {
170
+ const response = await transport.post('/form_schemas', {
171
+ data: {
172
+ type: 'FormSchema',
173
+ attributes: {
174
+ form_unique_id: data.formUniqueId,
175
+ code: data.code,
176
+ name: data.name,
177
+ description: data.description,
178
+ version: data.version,
179
+ schema: data.schema,
180
+ ui_schema: data.uiSchema,
181
+ payload: data.payload
182
+ }
183
+ }
184
+ });
185
+ return decodeOne(response, formSchemaMapper);
186
+ },
187
+ async update (uniqueId, data) {
188
+ const response = await transport.put(`/form_schemas/${uniqueId}`, {
189
+ data: {
190
+ type: 'FormSchema',
191
+ attributes: {
192
+ name: data.name,
193
+ description: data.description,
194
+ schema: data.schema,
195
+ ui_schema: data.uiSchema,
196
+ enabled: data.enabled,
197
+ status: data.status,
198
+ payload: data.payload
199
+ }
200
+ }
201
+ });
202
+ return decodeOne(response, formSchemaMapper);
203
+ },
204
+ async delete (uniqueId) {
205
+ await transport.delete(`/form_schemas/${uniqueId}`);
206
+ },
207
+ async getLatestVersion (formUniqueId) {
208
+ const response = await transport.get(`/forms/${formUniqueId}/schemas/latest`);
209
+ return decodeOne(response, formSchemaMapper);
210
+ }
211
+ };
212
+ }
213
+
214
+ const formInstanceMapper = {
215
+ type: 'FormInstance',
216
+ map: (resource)=>({
217
+ id: resource.id,
218
+ uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
219
+ createdAt: parseDate(resource.attributes['created_at']) || new Date(),
220
+ updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
221
+ formSchemaUniqueId: parseString(resource.attributes['form_schema_unique_id']) || '',
222
+ formSchemaVersion: parseNumber(resource.attributes['form_schema_version']),
223
+ userUniqueId: parseString(resource.attributes['user_unique_id']),
224
+ data: resource.attributes['data'] || {},
225
+ status: parseStatus(resource.attributes['status']),
226
+ enabled: parseBoolean(resource.attributes['enabled']),
227
+ submittedAt: parseDate(resource.attributes['submitted_at']),
228
+ payload: resource.attributes['payload']
229
+ })
230
+ };
231
+
232
+ function createFormInstancesService(transport, _config) {
233
+ return {
234
+ async list (params) {
235
+ const queryParams = {};
236
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
237
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
238
+ if (params == null ? void 0 : params.formSchemaUniqueId) queryParams['form_schema_unique_id'] = params.formSchemaUniqueId;
239
+ if (params == null ? void 0 : params.userUniqueId) queryParams['user_unique_id'] = params.userUniqueId;
240
+ if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
241
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
242
+ const response = await transport.get('/form_instances', {
243
+ params: queryParams
244
+ });
245
+ return decodePageResult(response, formInstanceMapper);
246
+ },
247
+ async get (uniqueId) {
248
+ const response = await transport.get(`/form_instances/${uniqueId}`);
249
+ return decodeOne(response, formInstanceMapper);
250
+ },
251
+ async create (data) {
252
+ const response = await transport.post('/form_instances', {
253
+ data: {
254
+ type: 'FormInstance',
255
+ attributes: {
256
+ form_schema_unique_id: data.formSchemaUniqueId,
257
+ form_schema_version: data.formSchemaVersion,
258
+ user_unique_id: data.userUniqueId,
259
+ data: data.data,
260
+ payload: data.payload
261
+ }
262
+ }
263
+ });
264
+ return decodeOne(response, formInstanceMapper);
265
+ },
266
+ async update (uniqueId, data) {
267
+ const response = await transport.put(`/form_instances/${uniqueId}`, {
268
+ data: {
269
+ type: 'FormInstance',
270
+ attributes: {
271
+ data: data.data,
272
+ enabled: data.enabled,
273
+ status: data.status,
274
+ payload: data.payload
275
+ }
276
+ }
277
+ });
278
+ return decodeOne(response, formInstanceMapper);
279
+ },
280
+ async delete (uniqueId) {
281
+ await transport.delete(`/form_instances/${uniqueId}`);
282
+ },
283
+ async submit (data) {
284
+ const response = await transport.post('/form_instances/submit', {
285
+ data: {
286
+ type: 'FormInstance',
287
+ attributes: {
288
+ form_schema_unique_id: data.formSchemaUniqueId,
289
+ form_schema_version: data.formSchemaVersion,
290
+ data: data.data,
291
+ payload: data.payload
292
+ }
293
+ }
294
+ });
295
+ return decodeOne(response, formInstanceMapper);
296
+ },
297
+ async listByUser (userUniqueId, params) {
298
+ const queryParams = {
299
+ user_unique_id: userUniqueId
300
+ };
301
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
302
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
303
+ if (params == null ? void 0 : params.formSchemaUniqueId) queryParams['form_schema_unique_id'] = params.formSchemaUniqueId;
304
+ if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
305
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
306
+ const response = await transport.get(`/users/${userUniqueId}/form_instances`, {
307
+ params: queryParams
308
+ });
309
+ return decodePageResult(response, formInstanceMapper);
310
+ },
311
+ async listBySchema (formSchemaUniqueId, params) {
312
+ const queryParams = {
313
+ form_schema_unique_id: formSchemaUniqueId
314
+ };
315
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
316
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
317
+ if (params == null ? void 0 : params.userUniqueId) queryParams['user_unique_id'] = params.userUniqueId;
318
+ if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
319
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
320
+ const response = await transport.get(`/form_schemas/${formSchemaUniqueId}/instances`, {
321
+ params: queryParams
322
+ });
323
+ return decodePageResult(response, formInstanceMapper);
324
+ }
325
+ };
326
+ }
327
+
328
+ const formSetMapper = {
329
+ type: 'FormSet',
330
+ map: (resource)=>({
331
+ id: resource.id,
332
+ uniqueId: parseString(resource.attributes['unique_id']) || resource.id,
333
+ createdAt: parseDate(resource.attributes['created_at']) || new Date(),
334
+ updatedAt: parseDate(resource.attributes['updated_at']) || new Date(),
335
+ code: parseString(resource.attributes['code']) || '',
336
+ name: parseString(resource.attributes['name']) || '',
337
+ description: parseString(resource.attributes['description']),
338
+ forms: resource.attributes['forms'] || [],
339
+ status: parseStatus(resource.attributes['status']),
340
+ enabled: parseBoolean(resource.attributes['enabled']),
341
+ payload: resource.attributes['payload']
342
+ })
343
+ };
344
+
345
+ function createFormSetsService(transport, _config) {
346
+ return {
347
+ async list (params) {
348
+ const queryParams = {};
349
+ if (params == null ? void 0 : params.page) queryParams['page'] = String(params.page);
350
+ if (params == null ? void 0 : params.perPage) queryParams['records'] = String(params.perPage);
351
+ if (params == null ? void 0 : params.status) queryParams['status'] = params.status;
352
+ if (params == null ? void 0 : params.search) queryParams['search'] = params.search;
353
+ if (params == null ? void 0 : params.sortBy) queryParams['sort'] = params.sortOrder === 'desc' ? `-${params.sortBy}` : params.sortBy;
354
+ const response = await transport.get('/form_sets', {
355
+ params: queryParams
356
+ });
357
+ return decodePageResult(response, formSetMapper);
358
+ },
359
+ async get (uniqueId) {
360
+ const response = await transport.get(`/form_sets/${uniqueId}`);
361
+ return decodeOne(response, formSetMapper);
362
+ },
363
+ async create (data) {
364
+ const response = await transport.post('/form_sets', {
365
+ data: {
366
+ type: 'FormSet',
367
+ attributes: {
368
+ code: data.code,
369
+ name: data.name,
370
+ description: data.description,
371
+ forms: data.forms,
372
+ payload: data.payload
373
+ }
374
+ }
375
+ });
376
+ return decodeOne(response, formSetMapper);
377
+ },
378
+ async update (uniqueId, data) {
379
+ const response = await transport.put(`/form_sets/${uniqueId}`, {
380
+ data: {
381
+ type: 'FormSet',
382
+ attributes: {
383
+ name: data.name,
384
+ description: data.description,
385
+ forms: data.forms,
386
+ enabled: data.enabled,
387
+ status: data.status,
388
+ payload: data.payload
389
+ }
390
+ }
391
+ });
392
+ return decodeOne(response, formSetMapper);
393
+ },
394
+ async delete (uniqueId) {
395
+ await transport.delete(`/form_sets/${uniqueId}`);
396
+ }
397
+ };
398
+ }
399
+
400
+ function createFormsBlock(transport, config) {
401
+ return {
402
+ forms: createFormsService(transport),
403
+ schemas: createFormSchemasService(transport),
404
+ instances: createFormInstancesService(transport),
405
+ sets: createFormSetsService(transport)
406
+ };
407
+ }
408
+ const formsBlockMetadata = {
409
+ name: 'forms',
410
+ version: '0.1.0',
411
+ description: 'Dynamic forms, schemas, submissions, and form management',
412
+ resourceTypes: [
413
+ 'Form',
414
+ 'FormSchema',
415
+ 'FormInstance',
416
+ 'FormSet'
417
+ ]
418
+ };
419
+
420
+ export { createFormInstancesService, createFormSchemasService, createFormSetsService, createFormsBlock, createFormsService, formInstanceMapper, formMapper, formSchemaMapper, formSetMapper, formsBlockMetadata };
@@ -0,0 +1,7 @@
1
+ export { createFormsBlock, formsBlockMetadata } from './lib/forms.block';
2
+ export type { FormsBlock, FormsBlockConfig } from './lib/forms.block';
3
+ export type { Form, CreateFormRequest, UpdateFormRequest, ListFormsParams, FormSchema, CreateFormSchemaRequest, UpdateFormSchemaRequest, ListFormSchemasParams, FormInstance, CreateFormInstanceRequest, UpdateFormInstanceRequest, SubmitFormInstanceRequest, ListFormInstancesParams, FormSet, FormReference, CreateFormSetRequest, UpdateFormSetRequest, ListFormSetsParams, } from './lib/types';
4
+ export type { FormsService, FormSchemasService, FormInstancesService, FormSetsService, } from './lib/services';
5
+ export { createFormsService, createFormSchemasService, createFormInstancesService, createFormSetsService, } from './lib/services';
6
+ export { formMapper, formSchemaMapper, formInstanceMapper, formSetMapper, } from './lib/mappers';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGtE,YAAY,EAEV,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAEf,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EAErB,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EAEvB,OAAO,EACP,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,eAAe,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { Transport, BlockConfig, BlockMetadata } from '@23blocks/contracts';
2
+ import { type FormsService, type FormSchemasService, type FormInstancesService, type FormSetsService } from './services';
3
+ export interface FormsBlockConfig extends BlockConfig {
4
+ appId: string;
5
+ tenantId?: string;
6
+ }
7
+ export interface FormsBlock {
8
+ forms: FormsService;
9
+ schemas: FormSchemasService;
10
+ instances: FormInstancesService;
11
+ sets: FormSetsService;
12
+ }
13
+ export declare function createFormsBlock(transport: Transport, config: FormsBlockConfig): FormsBlock;
14
+ export declare const formsBlockMetadata: BlockMetadata;
15
+ //# sourceMappingURL=forms.block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.block.d.ts","sourceRoot":"","sources":["../../../src/lib/forms.block.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,oBAAoB,CAAC;IAChC,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,gBAAgB,GACvB,UAAU,CAOZ;AAED,eAAO,MAAM,kBAAkB,EAAE,aAUhC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ResourceMapper } from '@23blocks/jsonapi-codec';
2
+ import type { FormInstance } from '../types/form-instance';
3
+ export declare const formInstanceMapper: ResourceMapper<FormInstance>;
4
+ //# sourceMappingURL=form-instance.mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-instance.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/form-instance.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,YAAY,CAiB3D,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ResourceMapper } from '@23blocks/jsonapi-codec';
2
+ import type { FormSchema } from '../types/form-schema';
3
+ export declare const formSchemaMapper: ResourceMapper<FormSchema>;
4
+ //# sourceMappingURL=form-schema.mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-schema.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/form-schema.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,UAAU,CAmBvD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ResourceMapper } from '@23blocks/jsonapi-codec';
2
+ import type { FormSet } from '../types/form-set';
3
+ export declare const formSetMapper: ResourceMapper<FormSet>;
4
+ //# sourceMappingURL=form-set.mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-set.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/form-set.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAGhE,eAAO,MAAM,aAAa,EAAE,cAAc,CAAC,OAAO,CAgBjD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ResourceMapper } from '@23blocks/jsonapi-codec';
2
+ import type { Form } from '../types/form';
3
+ export declare const formMapper: ResourceMapper<Form>;
4
+ //# sourceMappingURL=form.mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.mapper.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/form.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,IAAI,CAgB3C,CAAC"}
@@ -3,5 +3,4 @@ export * from './form-schema.mapper';
3
3
  export * from './form-instance.mapper';
4
4
  export * from './form-set.mapper';
5
5
  export * from './utils';
6
-
7
- //# sourceMappingURL=index.js.map
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Parse a string value, returning undefined for empty/undefined
3
+ */
4
+ export declare function parseString(value: unknown): string | undefined;
5
+ /**
6
+ * Parse a date value
7
+ */
8
+ export declare function parseDate(value: unknown): Date | undefined;
9
+ /**
10
+ * Parse a boolean value
11
+ */
12
+ export declare function parseBoolean(value: unknown): boolean;
13
+ /**
14
+ * Parse an array of strings
15
+ */
16
+ export declare function parseStringArray(value: unknown): string[] | undefined;
17
+ /**
18
+ * Parse a number value
19
+ */
20
+ export declare function parseNumber(value: unknown): number;
21
+ /**
22
+ * Parse an optional number value
23
+ */
24
+ export declare function parseOptionalNumber(value: unknown): number | undefined;
25
+ /**
26
+ * Parse entity status
27
+ */
28
+ export declare function parseStatus(value: unknown): 'active' | 'inactive' | 'pending' | 'archived' | 'deleted';
29
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/mappers/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAM9D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAe1D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAQrE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMtE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAMtG"}
@@ -0,0 +1,16 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { FormInstance, CreateFormInstanceRequest, UpdateFormInstanceRequest, SubmitFormInstanceRequest, ListFormInstancesParams } from '../types/form-instance';
3
+ export interface FormInstancesService {
4
+ list(params?: ListFormInstancesParams): Promise<PageResult<FormInstance>>;
5
+ get(uniqueId: string): Promise<FormInstance>;
6
+ create(data: CreateFormInstanceRequest): Promise<FormInstance>;
7
+ update(uniqueId: string, data: UpdateFormInstanceRequest): Promise<FormInstance>;
8
+ delete(uniqueId: string): Promise<void>;
9
+ submit(data: SubmitFormInstanceRequest): Promise<FormInstance>;
10
+ listByUser(userUniqueId: string, params?: ListFormInstancesParams): Promise<PageResult<FormInstance>>;
11
+ listBySchema(formSchemaUniqueId: string, params?: ListFormInstancesParams): Promise<PageResult<FormInstance>>;
12
+ }
13
+ export declare function createFormInstancesService(transport: Transport, _config: {
14
+ appId: string;
15
+ }): FormInstancesService;
16
+ //# sourceMappingURL=form-instances.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-instances.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/form-instances.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,MAAM,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACjF,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/D,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IACtG,YAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;CAC/G;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,oBAAoB,CA8FjH"}
@@ -0,0 +1,14 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { FormSchema, CreateFormSchemaRequest, UpdateFormSchemaRequest, ListFormSchemasParams } from '../types/form-schema';
3
+ export interface FormSchemasService {
4
+ list(params?: ListFormSchemasParams): Promise<PageResult<FormSchema>>;
5
+ get(uniqueId: string): Promise<FormSchema>;
6
+ create(data: CreateFormSchemaRequest): Promise<FormSchema>;
7
+ update(uniqueId: string, data: UpdateFormSchemaRequest): Promise<FormSchema>;
8
+ delete(uniqueId: string): Promise<void>;
9
+ getLatestVersion(formUniqueId: string): Promise<FormSchema>;
10
+ }
11
+ export declare function createFormSchemasService(transport: Transport, _config: {
12
+ appId: string;
13
+ }): FormSchemasService;
14
+ //# sourceMappingURL=form-schemas.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-schemas.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/form-schemas.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAG9B,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACtE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAC7D;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,kBAAkB,CAkE7G"}
@@ -0,0 +1,13 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { FormSet, CreateFormSetRequest, UpdateFormSetRequest, ListFormSetsParams } from '../types/form-set';
3
+ export interface FormSetsService {
4
+ list(params?: ListFormSetsParams): Promise<PageResult<FormSet>>;
5
+ get(uniqueId: string): Promise<FormSet>;
6
+ create(data: CreateFormSetRequest): Promise<FormSet>;
7
+ update(uniqueId: string, data: UpdateFormSetRequest): Promise<FormSet>;
8
+ delete(uniqueId: string): Promise<void>;
9
+ }
10
+ export declare function createFormSetsService(transport: Transport, _config: {
11
+ appId: string;
12
+ }): FormSetsService;
13
+ //# sourceMappingURL=form-sets.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-sets.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/form-sets.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAChE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAwDvG"}
@@ -0,0 +1,13 @@
1
+ import type { Transport, PageResult } from '@23blocks/contracts';
2
+ import type { Form, CreateFormRequest, UpdateFormRequest, ListFormsParams } from '../types/form';
3
+ export interface FormsService {
4
+ list(params?: ListFormsParams): Promise<PageResult<Form>>;
5
+ get(uniqueId: string): Promise<Form>;
6
+ create(data: CreateFormRequest): Promise<Form>;
7
+ update(uniqueId: string, data: UpdateFormRequest): Promise<Form>;
8
+ delete(uniqueId: string): Promise<void>;
9
+ }
10
+ export declare function createFormsService(transport: Transport, _config: {
11
+ appId: string;
12
+ }): FormsService;
13
+ //# sourceMappingURL=forms.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/forms.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,KAAK,EACV,IAAI,EACJ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EAChB,MAAM,eAAe,CAAC;AAGvB,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAyDjG"}
@@ -2,5 +2,4 @@ export * from './forms.service';
2
2
  export * from './form-schemas.service';
3
3
  export * from './form-instances.service';
4
4
  export * from './form-sets.service';
5
-
6
- //# sourceMappingURL=index.js.map
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC"}