@baseplate-dev/project-builder-server 0.5.0 → 0.5.2

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 (136) hide show
  1. package/CHANGELOG.md +571 -0
  2. package/dist/actions/generators/create-generator.action.d.ts.map +1 -1
  3. package/dist/actions/generators/create-generator.action.js.map +1 -1
  4. package/dist/actions/snapshot/snapshot-add.action.d.ts.map +1 -1
  5. package/dist/actions/snapshot/snapshot-add.action.js.map +1 -1
  6. package/dist/actions/snapshot/snapshot-remove.action.d.ts.map +1 -1
  7. package/dist/actions/snapshot/snapshot-remove.action.js.map +1 -1
  8. package/dist/actions/snapshot/snapshot-save.action.d.ts.map +1 -1
  9. package/dist/actions/snapshot/snapshot-save.action.js.map +1 -1
  10. package/dist/actions/snapshot/snapshot-show.action.d.ts.map +1 -1
  11. package/dist/actions/snapshot/snapshot-show.action.js.map +1 -1
  12. package/dist/actions/template-extractor/discover-generators.action.d.ts.map +1 -1
  13. package/dist/actions/template-extractor/discover-generators.action.js.map +1 -1
  14. package/dist/actions/template-extractor/extract-templates.action.d.ts.map +1 -1
  15. package/dist/actions/template-extractor/extract-templates.action.js.map +1 -1
  16. package/dist/actions/template-extractor/generate-templates.action.d.ts.map +1 -1
  17. package/dist/actions/template-extractor/generate-templates.action.js.map +1 -1
  18. package/dist/actions/templates/configure-raw-template.action.d.ts.map +1 -1
  19. package/dist/actions/templates/configure-raw-template.action.js.map +1 -1
  20. package/dist/actions/templates/configure-text-template.action.d.ts.map +1 -1
  21. package/dist/actions/templates/configure-text-template.action.js.map +1 -1
  22. package/dist/actions/templates/configure-ts-template.action.d.ts.map +1 -1
  23. package/dist/actions/templates/configure-ts-template.action.js.map +1 -1
  24. package/dist/actions/templates/delete-template.action.d.ts.map +1 -1
  25. package/dist/actions/templates/delete-template.action.js.map +1 -1
  26. package/dist/actions/templates/list-templates.action.d.ts.map +1 -1
  27. package/dist/actions/templates/list-templates.action.js.map +1 -1
  28. package/dist/actions/templates/show-template-metadata.action.d.ts.map +1 -1
  29. package/dist/actions/templates/show-template-metadata.action.js.map +1 -1
  30. package/dist/compiler/app-compiler.d.ts +1 -1
  31. package/dist/compiler/app-compiler.d.ts.map +1 -1
  32. package/dist/compiler/app-compiler.js +2 -3
  33. package/dist/compiler/app-compiler.js.map +1 -1
  34. package/dist/compiler/app-entry-builder.d.ts +2 -2
  35. package/dist/compiler/app-entry-builder.d.ts.map +1 -1
  36. package/dist/compiler/app-entry-builder.js +1 -1
  37. package/dist/compiler/app-entry-builder.js.map +1 -1
  38. package/dist/compiler/backend/authorizers.d.ts +20 -0
  39. package/dist/compiler/backend/authorizers.d.ts.map +1 -0
  40. package/dist/compiler/backend/authorizers.js +75 -0
  41. package/dist/compiler/backend/authorizers.js.map +1 -0
  42. package/dist/compiler/backend/backend-compiler.d.ts +1 -2
  43. package/dist/compiler/backend/backend-compiler.d.ts.map +1 -1
  44. package/dist/compiler/backend/backend-compiler.js +2 -2
  45. package/dist/compiler/backend/backend-compiler.js.map +1 -1
  46. package/dist/compiler/backend/fastify.d.ts.map +1 -1
  47. package/dist/compiler/backend/fastify.js +1 -2
  48. package/dist/compiler/backend/fastify.js.map +1 -1
  49. package/dist/compiler/backend/feature.d.ts.map +1 -1
  50. package/dist/compiler/backend/feature.js +2 -0
  51. package/dist/compiler/backend/feature.js.map +1 -1
  52. package/dist/compiler/backend/graphql.js +5 -5
  53. package/dist/compiler/backend/graphql.js.map +1 -1
  54. package/dist/compiler/backend/services.d.ts.map +1 -1
  55. package/dist/compiler/backend/services.js +9 -23
  56. package/dist/compiler/backend/services.js.map +1 -1
  57. package/dist/compiler/compile-packages.d.ts.map +1 -1
  58. package/dist/compiler/compile-packages.js +5 -24
  59. package/dist/compiler/compile-packages.js.map +1 -1
  60. package/dist/compiler/library/index.d.ts +1 -0
  61. package/dist/compiler/library/index.d.ts.map +1 -1
  62. package/dist/compiler/library/index.js +1 -0
  63. package/dist/compiler/library/index.js.map +1 -1
  64. package/dist/compiler/library/library-compiler.d.ts +2 -30
  65. package/dist/compiler/library/library-compiler.d.ts.map +1 -1
  66. package/dist/compiler/library/library-compiler.js +8 -63
  67. package/dist/compiler/library/library-compiler.js.map +1 -1
  68. package/dist/compiler/library/node-library-package-compiler.d.ts +3 -0
  69. package/dist/compiler/library/node-library-package-compiler.d.ts.map +1 -0
  70. package/dist/compiler/library/node-library-package-compiler.js +39 -0
  71. package/dist/compiler/library/node-library-package-compiler.js.map +1 -0
  72. package/dist/compiler/package-compiler.d.ts +0 -69
  73. package/dist/compiler/package-compiler.d.ts.map +1 -1
  74. package/dist/compiler/package-compiler.js +0 -51
  75. package/dist/compiler/package-compiler.js.map +1 -1
  76. package/dist/compiler/root/root-package-compiler.d.ts +2 -2
  77. package/dist/compiler/root/root-package-compiler.d.ts.map +1 -1
  78. package/dist/compiler/root/root-package-compiler.js +10 -7
  79. package/dist/compiler/root/root-package-compiler.js.map +1 -1
  80. package/dist/compiler/web/admin/crud/actions.d.ts.map +1 -1
  81. package/dist/compiler/web/admin/crud/actions.js +5 -29
  82. package/dist/compiler/web/admin/crud/actions.js.map +1 -1
  83. package/dist/compiler/web/admin/crud/columns.d.ts.map +1 -1
  84. package/dist/compiler/web/admin/crud/columns.js +9 -43
  85. package/dist/compiler/web/admin/crud/columns.js.map +1 -1
  86. package/dist/compiler/web/admin/crud/inputs.d.ts.map +1 -1
  87. package/dist/compiler/web/admin/crud/inputs.js +6 -150
  88. package/dist/compiler/web/admin/crud/inputs.js.map +1 -1
  89. package/dist/compiler/web/web-compiler.d.ts +1 -2
  90. package/dist/compiler/web/web-compiler.d.ts.map +1 -1
  91. package/dist/compiler/web/web-compiler.js +4 -3
  92. package/dist/compiler/web/web-compiler.js.map +1 -1
  93. package/dist/core-modules/admin-crud-action-compiler.d.ts +4 -0
  94. package/dist/core-modules/admin-crud-action-compiler.d.ts.map +1 -0
  95. package/dist/core-modules/admin-crud-action-compiler.js +37 -0
  96. package/dist/core-modules/admin-crud-action-compiler.js.map +1 -0
  97. package/dist/core-modules/admin-crud-column-compiler.d.ts +4 -0
  98. package/dist/core-modules/admin-crud-column-compiler.d.ts.map +1 -0
  99. package/dist/core-modules/admin-crud-column-compiler.js +47 -0
  100. package/dist/core-modules/admin-crud-column-compiler.js.map +1 -0
  101. package/dist/core-modules/admin-crud-input-compiler.d.ts +4 -0
  102. package/dist/core-modules/admin-crud-input-compiler.d.ts.map +1 -0
  103. package/dist/core-modules/admin-crud-input-compiler.js +157 -0
  104. package/dist/core-modules/admin-crud-input-compiler.js.map +1 -0
  105. package/dist/core-modules/index.d.ts +3 -0
  106. package/dist/core-modules/index.d.ts.map +1 -0
  107. package/dist/core-modules/index.js +17 -0
  108. package/dist/core-modules/index.js.map +1 -0
  109. package/dist/core-modules/library-type-spec.d.ts +10 -0
  110. package/dist/core-modules/library-type-spec.d.ts.map +1 -0
  111. package/dist/core-modules/library-type-spec.js +18 -0
  112. package/dist/core-modules/library-type-spec.js.map +1 -0
  113. package/dist/core-modules/model-transformer-compiler.d.ts +4 -0
  114. package/dist/core-modules/model-transformer-compiler.d.ts.map +1 -0
  115. package/dist/core-modules/model-transformer-compiler.js +31 -0
  116. package/dist/core-modules/model-transformer-compiler.js.map +1 -0
  117. package/dist/diff/diff-utils.d.ts.map +1 -1
  118. package/dist/diff/diff-utils.js +6 -2
  119. package/dist/diff/diff-utils.js.map +1 -1
  120. package/dist/diff/formatters.d.ts.map +1 -1
  121. package/dist/diff/formatters.js +9 -3
  122. package/dist/diff/formatters.js.map +1 -1
  123. package/dist/diff/snapshot/snapshot-management.js +3 -3
  124. package/dist/diff/snapshot/snapshot-management.js.map +1 -1
  125. package/dist/index.d.ts +1 -0
  126. package/dist/index.js +1 -0
  127. package/dist/plugins/node-plugin-store.d.ts.map +1 -1
  128. package/dist/plugins/node-plugin-store.js +3 -10
  129. package/dist/plugins/node-plugin-store.js.map +1 -1
  130. package/dist/plugins/plugin-discovery.js +1 -1
  131. package/dist/plugins/plugin-discovery.js.map +1 -1
  132. package/dist/project-definition/load-project-definition.js +3 -3
  133. package/dist/project-definition/load-project-definition.js.map +1 -1
  134. package/dist/sync/file-id-map.js +1 -1
  135. package/dist/sync/file-id-map.js.map +1 -1
  136. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,oBAAoB,EAGpB,sBAAsB,EACtB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAQ3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AA2C1E,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,EACtC,gBAAgB,EAAE,sBAAsB,EACxC,KAAK,EAAE,MAAM,GACZ,eAAe,CAkBjB"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/actions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,EACtC,gBAAgB,EAAE,sBAAsB,EACxC,KAAK,EAAE,MAAM,GACZ,eAAe,CAoBjB"}
@@ -1,34 +1,10 @@
1
1
  import { adminCrudActionCompilerSpec } from '@baseplate-dev/project-builder-lib';
2
- import { adminCrudDeleteActionGenerator, adminCrudEditActionGenerator, } from '@baseplate-dev/react-generators';
3
- const adminCrudEditActionCompiler = {
4
- name: 'edit',
5
- compileAction: (definition, { order }) => adminCrudEditActionGenerator({
6
- order,
7
- position: definition.position,
8
- }),
9
- };
10
- const adminCrudDeleteActionCompiler = {
11
- name: 'delete',
12
- compileAction: (definition, { order, model, modelCrudSection, definitionContainer }) => {
13
- if (model.model.primaryKeyFieldRefs.length !== 1) {
14
- throw new Error(`Model ${model.name} must have exactly one primary key field`);
15
- }
16
- return adminCrudDeleteActionGenerator({
17
- order,
18
- position: definition.position,
19
- modelName: model.name,
20
- nameField: definitionContainer.nameFromId(modelCrudSection.nameFieldRef),
21
- idField: definitionContainer.nameFromId(model.model.primaryKeyFieldRefs[0]),
22
- });
23
- },
24
- };
25
- const builtInCompilers = [
26
- adminCrudEditActionCompiler,
27
- adminCrudDeleteActionCompiler,
28
- ];
29
2
  export function compileAdminCrudAction(action, modelId, builder, modelCrudSection, order) {
30
- const actionCompiler = builder.pluginStore.getPluginSpec(adminCrudActionCompilerSpec);
31
- const compiler = actionCompiler.getCompiler(action.type, builtInCompilers);
3
+ const actionCompiler = builder.pluginStore.use(adminCrudActionCompilerSpec);
4
+ const compiler = actionCompiler.actions.get(action.type);
5
+ if (!compiler) {
6
+ throw new Error(`Compiler for action type ${action.type} not found`);
7
+ }
32
8
  const model = builder.projectDefinition.models.find((m) => m.id === modelId);
33
9
  if (!model) {
34
10
  throw new Error(`Model with id ${modelId} not found`);
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/actions.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAIzC,MAAM,2BAA2B,GAC/B;IACE,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACvC,4BAA4B,CAAC;QAC3B,KAAK;QACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAC;CACL,CAAC;AAEJ,MAAM,6BAA6B,GACjC;IACE,IAAI,EAAE,QAAQ;IACd,aAAa,EAAE,CACb,UAAU,EACV,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,EACvD,EAAE;QACF,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,CAAC,IAAI,0CAA0C,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,8BAA8B,CAAC;YACpC,KAAK;YACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,SAAS,EAAE,mBAAmB,CAAC,UAAU,CACvC,gBAAgB,CAAC,YAAY,CAC9B;YACD,OAAO,EAAE,mBAAmB,CAAC,UAAU,CACrC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACnC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEJ,MAAM,gBAAgB,GAAG;IACvB,2BAA2B;IAC3B,6BAA6B;CAC9B,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,MAA4B,EAC5B,OAAe,EACf,OAAsC,EACtC,gBAAwC,EACxC,KAAa;IAEb,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,CACtD,2BAA2B,CAC5B,CAAC;IAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE;QACpC,KAAK;QACL,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,KAAK;QACL,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/actions.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAIjF,MAAM,UAAU,sBAAsB,CACpC,MAA4B,EAC5B,OAAe,EACf,OAAsC,EACtC,gBAAwC,EACxC,KAAa;IAEb,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,OAAO,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE;QACpC,KAAK;QACL,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,KAAK;QACL,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EAEzB,sBAAsB,EAEtB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAa3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAwD1E;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,EACtC,gBAAgB,EAAE,sBAAsB,EACxC,KAAK,EAAE,MAAM,GACZ,eAAe,CAmBjB"}
1
+ {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/columns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,EACtC,gBAAgB,EAAE,sBAAsB,EACxC,KAAK,EAAE,MAAM,GACZ,eAAe,CAiBjB"}
@@ -1,52 +1,18 @@
1
- import { adminCrudColumnCompilerSpec, createAdminCrudColumnCompiler, ModelFieldUtils, ModelUtils, } from '@baseplate-dev/project-builder-lib';
2
- import { adminCrudForeignColumnGenerator, adminCrudTextColumnGenerator, } from '@baseplate-dev/react-generators';
3
- // Built-in column compilers
4
- const BUILT_IN_COLUMN_COMPILERS = [
5
- createAdminCrudColumnCompiler({
6
- name: 'text',
7
- compileColumn: (column, options) => adminCrudTextColumnGenerator({
8
- id: column.id,
9
- label: column.label,
10
- order: options.order,
11
- modelField: options.definitionContainer.nameFromId(column.modelFieldRef),
12
- }),
13
- }),
14
- createAdminCrudColumnCompiler({
15
- name: 'foreign',
16
- compileColumn: (column, { definitionContainer, model, order }) => {
17
- const relation = model.model.relations?.find((r) => r.id === column.localRelationRef);
18
- const localRelationName = definitionContainer.nameFromId(column.localRelationRef);
19
- if (!relation) {
20
- throw new Error(`Could not find relation ${localRelationName} in model ${model.name}`);
21
- }
22
- if (relation.references.length !== 1) {
23
- throw new Error(`Only relations with a single reference are supported`);
24
- }
25
- const foreignModelIdFields = ModelUtils.byIdOrThrow(definitionContainer.definition, relation.modelRef).model.primaryKeyFieldRefs.map((ref) => definitionContainer.nameFromId(ref));
26
- return adminCrudForeignColumnGenerator({
27
- id: column.id,
28
- label: column.label,
29
- order,
30
- relationName: localRelationName,
31
- foreignModelIdFields,
32
- isOptional: ModelFieldUtils.isRelationOptional(model, relation),
33
- labelExpression: column.labelExpression,
34
- });
35
- },
36
- }),
37
- ];
1
+ import { adminCrudColumnCompilerSpec, ModelUtils, } from '@baseplate-dev/project-builder-lib';
38
2
  /**
39
3
  * Compiles an admin CRUD column definition into generator bundles
40
4
  */
41
5
  export function compileAdminCrudColumn(column, modelId, builder, modelCrudSection, order) {
42
- const { definitionContainer } = builder;
43
- // Get the registered column compiler for this type
44
- const columnCompilers = definitionContainer.pluginStore.getPluginSpec(adminCrudColumnCompilerSpec);
45
- const compiler = columnCompilers.getCompiler(column.type, BUILT_IN_COLUMN_COMPILERS);
6
+ const columnCompiler = builder.pluginStore.use(adminCrudColumnCompilerSpec);
7
+ const compiler = columnCompiler.columns.get(column.type);
8
+ if (!compiler) {
9
+ throw new Error(`Compiler for column type ${column.type} not found`);
10
+ }
11
+ const model = ModelUtils.byIdOrThrow(builder.projectDefinition, modelId);
46
12
  return compiler.compileColumn(column, {
47
13
  order,
48
- model: ModelUtils.byIdOrThrow(builder.projectDefinition, modelId),
49
- definitionContainer,
14
+ definitionContainer: builder.definitionContainer,
15
+ model,
50
16
  modelCrudSection,
51
17
  });
52
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/columns.ts"],"names":[],"mappings":"AASA,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,eAAe,EACf,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAIzC,4BAA4B;AAC5B,MAAM,yBAAyB,GAAG;IAChC,6BAA6B,CAAgC;QAC3D,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CACjC,4BAA4B,CAAC;YAC3B,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAChD,MAAM,CAAC,aAAa,CACrB;SACF,CAAC;KACL,CAAC;IACF,6BAA6B,CAAmC;QAC9D,IAAI,EAAE,SAAS;QACf,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CACxC,CAAC;YACF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,UAAU,CACtD,MAAM,CAAC,gBAAgB,CACxB,CAAC;YAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,2BAA2B,iBAAiB,aAAa,KAAK,CAAC,IAAI,EAAE,CACtE,CAAC;YACJ,CAAC;YAED,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,oBAAoB,GAAG,UAAU,CAAC,WAAW,CACjD,mBAAmB,CAAC,UAAU,EAC9B,QAAQ,CAAC,QAAQ,CAClB,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CACpC,CAAC;YAEF,OAAO,+BAA+B,CAAC;gBACrC,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK;gBACL,YAAY,EAAE,iBAAiB;gBAC/B,oBAAoB;gBACpB,UAAU,EAAE,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;gBAC/D,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAiC,EACjC,OAAe,EACf,OAAsC,EACtC,gBAAwC,EACxC,KAAa;IAEb,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC;IAExC,mDAAmD;IACnD,MAAM,eAAe,GAAG,mBAAmB,CAAC,WAAW,CAAC,aAAa,CACnE,2BAA2B,CAC5B,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,CAC1C,MAAM,CAAC,IAAI,EACX,yBAAyB,CAC1B,CAAC;IAEF,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE;QACpC,KAAK;QACL,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACjE,mBAAmB;QACnB,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/columns.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,2BAA2B,EAC3B,UAAU,GACX,MAAM,oCAAoC,CAAC;AAI5C;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAiC,EACjC,OAAe,EACf,OAAsC,EACtC,gBAAwC,EACxC,KAAa;IAEb,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAE5E,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAEzE,OAAO,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE;QACpC,KAAK;QACL,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,KAAK;QACL,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,wBAAwB,EAIxB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgB3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAqO1E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,wBAAwB,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,EACtC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,eAAe,CAajB"}
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,YAAY,EACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE1E,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,wBAAwB,EAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,EACtC,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM,GACZ,eAAe,CAejB"}
@@ -1,154 +1,10 @@
1
- import { adminCrudInputCompilerSpec, EnumUtils, ModelFieldUtils, ModelUtils, } from '@baseplate-dev/project-builder-lib';
2
- import { adminCrudEmbeddedInputGenerator, adminCrudEnumInputGenerator, adminCrudForeignInputGenerator, adminCrudPasswordInputGenerator, adminCrudTextInputGenerator, } from '@baseplate-dev/react-generators';
3
- const adminEnumInputCompiler = {
4
- name: 'enum',
5
- compileInput: (definition, { order, definitionContainer, model }) => {
6
- const fieldConfig = model.model.fields.find((f) => f.id === definition.modelFieldRef);
7
- if (fieldConfig?.type !== 'enum' || !fieldConfig.options.enumRef) {
8
- throw new Error(`Admin enum input ${definition.modelFieldRef} is not an enum`);
9
- }
10
- const enumBlock = EnumUtils.byId(definitionContainer.definition, fieldConfig.options.enumRef);
11
- if (!enumBlock) {
12
- throw new Error(`Could not find enum type ${fieldConfig.options.enumRef ?? ''}`);
13
- }
14
- const fieldName = definitionContainer.nameFromId(definition.modelFieldRef);
15
- return adminCrudEnumInputGenerator({
16
- order,
17
- modelField: fieldName,
18
- label: definition.label,
19
- isOptional: fieldConfig.isOptional,
20
- options: enumBlock.values.map((v) => ({
21
- label: v.friendlyName,
22
- value: v.name,
23
- })),
24
- });
25
- },
26
- };
27
- const adminForeignInputCompiler = {
28
- name: 'foreign',
29
- compileInput: (definition, { order, definitionContainer, model }) => {
30
- const relation = model.model.relations?.find((r) => r.id === definition.localRelationRef);
31
- if (!relation) {
32
- throw new Error(`Could not find relation ${definition.localRelationRef} in model ${model.name}`);
33
- }
34
- if (relation.references.length !== 1) {
35
- throw new Error(`Only relations with a single reference are supported`);
36
- }
37
- const localField = definitionContainer.nameFromId(relation.references[0].localRef);
38
- const localFieldType = model.model.fields.find((f) => f.id === relation.references[0].localRef)?.type;
39
- if (!localFieldType ||
40
- (localFieldType !== 'string' && localFieldType !== 'uuid')) {
41
- throw new Error(`Only string and uuid primary keys are supported for foreign inputs`);
42
- }
43
- return adminCrudForeignInputGenerator({
44
- order,
45
- label: definition.label,
46
- localRelationName: relation.name,
47
- isOptional: ModelFieldUtils.isRelationOptional(model, relation),
48
- localField,
49
- foreignModelName: definitionContainer.nameFromId(relation.modelRef),
50
- labelExpression: definition.labelExpression,
51
- valueExpression: definition.valueExpression,
52
- valueType: localFieldType,
53
- defaultLabel: definition.defaultLabel,
54
- nullLabel: definition.nullLabel,
55
- });
56
- },
57
- };
58
- function getInputType(fieldConfig) {
59
- switch (fieldConfig.type) {
60
- case 'boolean': {
61
- return 'checked';
62
- }
63
- case 'date': {
64
- return 'date';
65
- }
66
- case 'dateTime': {
67
- return 'dateTime';
68
- }
69
- default: {
70
- return 'text';
71
- }
72
- }
73
- }
74
- function getIsNumber(fieldConfig) {
75
- return fieldConfig.type === 'int' || fieldConfig.type === 'float';
76
- }
77
- const adminCrudTextInputCompiler = {
78
- name: 'text',
79
- compileInput: (definition, { order, definitionContainer, model }) => {
80
- const fieldConfig = model.model.fields.find((f) => f.id === definition.modelFieldRef);
81
- if (!fieldConfig) {
82
- throw new Error(`Field ${definition.modelFieldRef} cannot be found in ${model.name}`);
83
- }
84
- const fieldName = definitionContainer.nameFromId(definition.modelFieldRef);
85
- return adminCrudTextInputGenerator({
86
- order,
87
- label: definition.label,
88
- modelField: fieldName,
89
- type: getInputType(fieldConfig),
90
- validation: definition.validation
91
- ? definition.validation
92
- : ModelFieldUtils.getModelFieldValidation(definitionContainer.definition, model.id, fieldConfig.id, true),
93
- isNumber: getIsNumber(fieldConfig),
94
- });
95
- },
96
- };
97
- const adminCrudEmbeddedInputCompiler = {
98
- name: 'embedded',
99
- compileInput: (definition, { order, definitionContainer, model }) => {
100
- const relationName = definitionContainer.nameFromId(definition.modelRelationRef);
101
- const relation = ModelUtils.getRelationsToModel(definitionContainer.definition, model.id).find((r) => r.relation.foreignId === definition.modelRelationRef);
102
- if (!relation) {
103
- throw new Error(`Could not find relation ${definition.modelRelationRef} in model ${model.name}`);
104
- }
105
- const idFields = ModelUtils.getPrimaryKeyFields(relation.model).map((f) => definitionContainer.nameFromId(f.id));
106
- return adminCrudEmbeddedInputGenerator({
107
- order,
108
- id: definition.modelRelationRef,
109
- idFields,
110
- label: definition.label,
111
- modelRelation: relationName,
112
- embeddedFormRef: definition.embeddedFormRef,
113
- });
114
- },
115
- };
116
- const adminCrudEmbeddedLocalInputCompiler = {
117
- name: 'embeddedLocal',
118
- compileInput(definition, { order, definitionContainer, model }) {
119
- const localRelation = ModelFieldUtils.relationByIdOrThrow(model, definition.localRelationRef);
120
- const foreignModel = ModelUtils.byIdOrThrow(definitionContainer.definition, localRelation.modelRef);
121
- const idFields = ModelUtils.getPrimaryKeyFields(foreignModel).map((f) => definitionContainer.nameFromId(f.id));
122
- const localRelationName = definitionContainer.nameFromId(definition.localRelationRef);
123
- return adminCrudEmbeddedInputGenerator({
124
- order,
125
- id: definition.localRelationRef,
126
- idFields,
127
- label: definition.label,
128
- modelRelation: localRelationName,
129
- isRequired: !ModelFieldUtils.isRelationOptional(model, localRelation),
130
- embeddedFormRef: definition.embeddedFormRef,
131
- });
132
- },
133
- };
134
- const adminCrudPasswordInputCompiler = {
135
- name: 'password',
136
- compileInput: (definition, { order }) => adminCrudPasswordInputGenerator({
137
- order,
138
- label: definition.label,
139
- }),
140
- };
141
- const builtInCompilers = [
142
- adminEnumInputCompiler,
143
- adminForeignInputCompiler,
144
- adminCrudTextInputCompiler,
145
- adminCrudEmbeddedInputCompiler,
146
- adminCrudEmbeddedLocalInputCompiler,
147
- adminCrudPasswordInputCompiler,
148
- ];
1
+ import { adminCrudInputCompilerSpec, ModelUtils, } from '@baseplate-dev/project-builder-lib';
149
2
  export function compileAdminCrudInput(field, modelId, builder, crudSectionId, order) {
150
- const inputCompiler = builder.pluginStore.getPluginSpec(adminCrudInputCompilerSpec);
151
- const compiler = inputCompiler.getCompiler(field.type, builtInCompilers);
3
+ const inputCompiler = builder.pluginStore.use(adminCrudInputCompilerSpec);
4
+ const compiler = inputCompiler.inputs.get(field.type);
5
+ if (!compiler) {
6
+ throw new Error(`Compiler for input type ${field.type} not found`);
7
+ }
152
8
  return compiler.compileInput(field, {
153
9
  order,
154
10
  definitionContainer: builder.definitionContainer,
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../../../../src/compiler/web/admin/crud/inputs.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC1B,UAAU,GACX,MAAM,oCAAoC,CAAC;AAI5C,MAAM,UAAU,qBAAqB,CACnC,KAA+B,EAC/B,OAAe,EACf,OAAsC,EACtC,aAAqB,EACrB,KAAa;IAEb,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEtD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE;QAClC,KAAK;QACL,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;QACjE,aAAa;KACd,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,4 @@
1
- import type { WebAppConfig } from '@baseplate-dev/project-builder-lib';
2
- import type { PackageTasks } from '../package-compiler.js';
1
+ import type { PackageTasks, WebAppConfig } from '@baseplate-dev/project-builder-lib';
3
2
  import type { PackageEntry } from '../package-entry.js';
4
3
  import { AppCompiler } from '../app-compiler.js';
5
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"web-compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/web/web-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAkCvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAmIjD;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAC/D,OAAO,IAAI,YAAY;IAwBvB,QAAQ,IAAI,YAAY;CAOzB"}
1
+ {"version":3,"file":"web-compiler.d.ts","sourceRoot":"","sources":["../../../src/compiler/web/web-compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACb,MAAM,oCAAoC,CAAC;AAkC5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAuIjD;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,YAAY,CAAC;IAC/D,OAAO,IAAI,YAAY;IAwBvB,QAAQ,IAAI,YAAY;CAOzB"}
@@ -66,7 +66,7 @@ function buildAdminRoutes(builder) {
66
66
  *
67
67
  * Combines React Router, Apollo Client, Tailwind, Sentry, and admin panel
68
68
  */
69
- function buildReact(builder) {
69
+ function buildReact(builder, devWebPort) {
70
70
  const { projectDefinition, appConfig, appCompiler } = builder;
71
71
  const backendApp = AppUtils.getBackendApp(projectDefinition);
72
72
  const backendRelativePath = AppUtils.getBackendRelativePath(appConfig, backendApp);
@@ -102,7 +102,8 @@ function buildReact(builder) {
102
102
  : {}),
103
103
  },
104
104
  }, {
105
- devBackendHost: `http://localhost:${projectDefinition.settings.general.portOffset + 1}`,
105
+ devBackendHost: `http://localhost:${backendApp.devPort}`,
106
+ devWebPort,
106
107
  });
107
108
  }
108
109
  /**
@@ -126,7 +127,7 @@ export class WebPackageCompiler extends AppCompiler {
126
127
  description: `Web app for ${generalSettings.name}`,
127
128
  version: '1.0.0',
128
129
  children: {
129
- react: buildReact(appBuilder),
130
+ react: buildReact(appBuilder, this.appConfig.devPort),
130
131
  vitest: vitestGenerator({}),
131
132
  },
132
133
  });
@@ -1 +1 @@
1
- {"version":3,"file":"web-compiler.js","sourceRoot":"","sources":["../../../src/compiler/web/web-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-compiler.js","sourceRoot":"","sources":["../../../src/compiler/web/web-compiler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const adminCrudActionCoreModule: import("@baseplate-dev/project-builder-lib").PluginModule<{
2
+ [x: string]: import("@baseplate-dev/project-builder-lib").PluginSpec<object, object>;
3
+ }>;
4
+ //# sourceMappingURL=admin-crud-action-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-action-compiler.d.ts","sourceRoot":"","sources":["../../src/core-modules/admin-crud-action-compiler.ts"],"names":[],"mappings":"AAmDA,eAAO,MAAM,yBAAyB;;EAWpC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { adminCrudActionCompilerSpec, createPluginModule, } from '@baseplate-dev/project-builder-lib';
2
+ import { adminCrudDeleteActionGenerator, adminCrudEditActionGenerator, } from '@baseplate-dev/react-generators';
3
+ const adminCrudEditActionCompiler = {
4
+ name: 'edit',
5
+ compileAction: (definition, { order }) => adminCrudEditActionGenerator({
6
+ order,
7
+ position: definition.position,
8
+ }),
9
+ };
10
+ const adminCrudDeleteActionCompiler = {
11
+ name: 'delete',
12
+ compileAction: (definition, { order, model, modelCrudSection, definitionContainer }) => {
13
+ if (model.model.primaryKeyFieldRefs.length !== 1) {
14
+ throw new Error(`Model ${model.name} must have exactly one primary key field`);
15
+ }
16
+ return adminCrudDeleteActionGenerator({
17
+ order,
18
+ position: definition.position,
19
+ modelName: model.name,
20
+ nameField: definitionContainer.nameFromId(modelCrudSection.nameFieldRef),
21
+ idField: definitionContainer.nameFromId(model.model.primaryKeyFieldRefs[0]),
22
+ });
23
+ },
24
+ };
25
+ export const adminCrudActionCoreModule = createPluginModule({
26
+ name: 'admin-crud-action-compiler',
27
+ dependencies: {
28
+ adminCrudActionCompiler: adminCrudActionCompilerSpec,
29
+ },
30
+ initialize: ({ adminCrudActionCompiler }) => {
31
+ adminCrudActionCompiler.actions.addMany([
32
+ adminCrudEditActionCompiler,
33
+ adminCrudDeleteActionCompiler,
34
+ ]);
35
+ },
36
+ });
37
+ //# sourceMappingURL=admin-crud-action-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-action-compiler.js","sourceRoot":"","sources":["../../src/core-modules/admin-crud-action-compiler.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,2BAA2B,GAC/B;IACE,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CACvC,4BAA4B,CAAC;QAC3B,KAAK;QACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;KAC9B,CAAC;CACL,CAAC;AAEJ,MAAM,6BAA6B,GACjC;IACE,IAAI,EAAE,QAAQ;IACd,aAAa,EAAE,CACb,UAAU,EACV,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,EACvD,EAAE;QACF,IAAI,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,CAAC,IAAI,0CAA0C,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,8BAA8B,CAAC;YACpC,KAAK;YACL,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,SAAS,EAAE,mBAAmB,CAAC,UAAU,CACvC,gBAAgB,CAAC,YAAY,CAC9B;YACD,OAAO,EAAE,mBAAmB,CAAC,UAAU,CACrC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACnC;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;IAC1D,IAAI,EAAE,4BAA4B;IAClC,YAAY,EAAE;QACZ,uBAAuB,EAAE,2BAA2B;KACrD;IACD,UAAU,EAAE,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE;QAC1C,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,2BAA2B;YAC3B,6BAA6B;SAC9B,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const adminCrudColumnCoreModule: import("@baseplate-dev/project-builder-lib").PluginModule<{
2
+ [x: string]: import("@baseplate-dev/project-builder-lib").PluginSpec<object, object>;
3
+ }>;
4
+ //# sourceMappingURL=admin-crud-column-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-column-compiler.d.ts","sourceRoot":"","sources":["../../src/core-modules/admin-crud-column-compiler.ts"],"names":[],"mappings":"AAuEA,eAAO,MAAM,yBAAyB;;EAWpC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { adminCrudColumnCompilerSpec, createPluginModule, ModelFieldUtils, ModelUtils, } from '@baseplate-dev/project-builder-lib';
2
+ import { adminCrudForeignColumnGenerator, adminCrudTextColumnGenerator, } from '@baseplate-dev/react-generators';
3
+ const adminCrudTextColumnCompiler = {
4
+ name: 'text',
5
+ compileColumn: (column, options) => adminCrudTextColumnGenerator({
6
+ id: column.id,
7
+ label: column.label,
8
+ order: options.order,
9
+ modelField: options.definitionContainer.nameFromId(column.modelFieldRef),
10
+ }),
11
+ };
12
+ const adminCrudForeignColumnCompiler = {
13
+ name: 'foreign',
14
+ compileColumn: (column, { definitionContainer, model, order }) => {
15
+ const relation = model.model.relations?.find((r) => r.id === column.localRelationRef);
16
+ const localRelationName = definitionContainer.nameFromId(column.localRelationRef);
17
+ if (!relation) {
18
+ throw new Error(`Could not find relation ${localRelationName} in model ${model.name}`);
19
+ }
20
+ if (relation.references.length !== 1) {
21
+ throw new Error(`Only relations with a single reference are supported`);
22
+ }
23
+ const foreignModelIdFields = ModelUtils.byIdOrThrow(definitionContainer.definition, relation.modelRef).model.primaryKeyFieldRefs.map((ref) => definitionContainer.nameFromId(ref));
24
+ return adminCrudForeignColumnGenerator({
25
+ id: column.id,
26
+ label: column.label,
27
+ order,
28
+ relationName: localRelationName,
29
+ foreignModelIdFields,
30
+ isOptional: ModelFieldUtils.isRelationOptional(model, relation),
31
+ labelExpression: column.labelExpression,
32
+ });
33
+ },
34
+ };
35
+ export const adminCrudColumnCoreModule = createPluginModule({
36
+ name: 'admin-crud-column-compiler',
37
+ dependencies: {
38
+ adminCrudColumnCompiler: adminCrudColumnCompilerSpec,
39
+ },
40
+ initialize: ({ adminCrudColumnCompiler }) => {
41
+ adminCrudColumnCompiler.columns.addMany([
42
+ adminCrudTextColumnCompiler,
43
+ adminCrudForeignColumnCompiler,
44
+ ]);
45
+ },
46
+ });
47
+ //# sourceMappingURL=admin-crud-column-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-column-compiler.js","sourceRoot":"","sources":["../../src/core-modules/admin-crud-column-compiler.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,UAAU,GACX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,iCAAiC,CAAC;AAEzC,MAAM,2BAA2B,GAC/B;IACE,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CACjC,4BAA4B,CAAC;QAC3B,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAChD,MAAM,CAAC,aAAa,CACrB;KACF,CAAC;CACL,CAAC;AAEJ,MAAM,8BAA8B,GAClC;IACE,IAAI,EAAE,SAAS;IACf,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,gBAAgB,CACxC,CAAC;QACF,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,UAAU,CACtD,MAAM,CAAC,gBAAgB,CACxB,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,2BAA2B,iBAAiB,aAAa,KAAK,CAAC,IAAI,EAAE,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,oBAAoB,GAAG,UAAU,CAAC,WAAW,CACjD,mBAAmB,CAAC,UAAU,EAC9B,QAAQ,CAAC,QAAQ,CAClB,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,mBAAmB,CAAC,UAAU,CAAC,GAAG,CAAC,CACpC,CAAC;QAEF,OAAO,+BAA+B,CAAC;YACrC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,KAAK;YACL,YAAY,EAAE,iBAAiB;YAC/B,oBAAoB;YACpB,UAAU,EAAE,eAAe,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC;YAC/D,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;IAC1D,IAAI,EAAE,4BAA4B;IAClC,YAAY,EAAE;QACZ,uBAAuB,EAAE,2BAA2B;KACrD;IACD,UAAU,EAAE,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE;QAC1C,uBAAuB,CAAC,OAAO,CAAC,OAAO,CAAC;YACtC,2BAA2B;YAC3B,8BAA8B;SAC/B,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const adminCrudInputCoreModule: import("@baseplate-dev/project-builder-lib").PluginModule<{
2
+ [x: string]: import("@baseplate-dev/project-builder-lib").PluginSpec<object, object>;
3
+ }>;
4
+ //# sourceMappingURL=admin-crud-input-compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-crud-input-compiler.d.ts","sourceRoot":"","sources":["../../src/core-modules/admin-crud-input-compiler.ts"],"names":[],"mappings":"AAoPA,eAAO,MAAM,wBAAwB;;EAenC,CAAC"}