zova-module-a-openapi 5.1.11 → 5.1.13

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 (84) hide show
  1. package/dist/.metadata/index.d.ts +23 -0
  2. package/dist/.metadata/index.d.ts.map +1 -1
  3. package/dist/bean/bean.resourceProviders.d.ts +8 -0
  4. package/dist/bean/bean.resourceProviders.d.ts.map +1 -0
  5. package/dist/bean/sys.sdk.d.ts.map +1 -1
  6. package/dist/config/config.d.ts +2 -3
  7. package/dist/config/config.d.ts.map +1 -1
  8. package/dist/index.js +49 -49
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/schema.d.ts +1 -1
  11. package/dist/lib/schema.d.ts.map +1 -1
  12. package/dist/model/sdk.d.ts +2 -2
  13. package/dist/model/sdk.d.ts.map +1 -1
  14. package/dist/monkey.d.ts.map +1 -1
  15. package/dist/types/action.d.ts +17 -4
  16. package/dist/types/action.d.ts.map +1 -1
  17. package/dist/types/actions.d.ts +49 -13
  18. package/dist/types/actions.d.ts.map +1 -1
  19. package/dist/types/blocks.d.ts +13 -0
  20. package/dist/types/blocks.d.ts.map +1 -0
  21. package/dist/types/fieldLayout.d.ts +3 -0
  22. package/dist/types/fieldLayout.d.ts.map +1 -0
  23. package/dist/types/formField.d.ts +9 -0
  24. package/dist/types/formField.d.ts.map +1 -0
  25. package/dist/types/formMeta.d.ts +9 -0
  26. package/dist/types/formMeta.d.ts.map +1 -0
  27. package/dist/types/index.d.ts +7 -9
  28. package/dist/types/index.d.ts.map +1 -1
  29. package/dist/types/permissions.d.ts +3 -7
  30. package/dist/types/permissions.d.ts.map +1 -1
  31. package/dist/types/resourceProviders.d.ts +46 -0
  32. package/dist/types/resourceProviders.d.ts.map +1 -0
  33. package/dist/types/rest.d.ts +33 -29
  34. package/dist/types/rest.d.ts.map +1 -1
  35. package/dist/types/schema.d.ts.map +1 -1
  36. package/dist/types/sdk.d.ts +0 -2
  37. package/dist/types/sdk.d.ts.map +1 -1
  38. package/dist/types/tableCell.d.ts +13 -0
  39. package/dist/types/tableCell.d.ts.map +1 -0
  40. package/package.json +6 -5
  41. package/src/.metadata/index.ts +31 -0
  42. package/src/bean/bean.resourceProviders.ts +32 -0
  43. package/src/bean/sys.sdk.ts +11 -2
  44. package/src/config/config.ts +2 -34
  45. package/src/lib/schema.ts +11 -6
  46. package/src/model/sdk.ts +5 -8
  47. package/src/monkey.ts +5 -1
  48. package/src/types/action.ts +24 -4
  49. package/src/types/actions.ts +60 -13
  50. package/src/types/blocks.ts +14 -0
  51. package/src/types/fieldLayout.ts +1 -0
  52. package/src/types/formField.ts +9 -0
  53. package/src/types/formMeta.ts +9 -0
  54. package/src/types/index.ts +7 -9
  55. package/src/types/permissions.ts +4 -7
  56. package/src/types/resourceProviders.ts +56 -0
  57. package/src/types/rest.ts +64 -53
  58. package/src/types/schema.ts +3 -1
  59. package/src/types/sdk.ts +0 -2
  60. package/src/types/tableCell.ts +14 -0
  61. package/dist/types/captcha.d.ts +0 -15
  62. package/dist/types/captcha.d.ts.map +0 -1
  63. package/dist/types/date.d.ts +0 -5
  64. package/dist/types/date.d.ts.map +0 -1
  65. package/dist/types/jsx.d.ts +0 -9
  66. package/dist/types/jsx.d.ts.map +0 -1
  67. package/dist/types/resourceMeta.d.ts +0 -32
  68. package/dist/types/resourceMeta.d.ts.map +0 -1
  69. package/dist/types/resourcePicker.d.ts +0 -10
  70. package/dist/types/resourcePicker.d.ts.map +0 -1
  71. package/dist/types/select.d.ts +0 -16
  72. package/dist/types/select.d.ts.map +0 -1
  73. package/dist/types/textarea.d.ts +0 -11
  74. package/dist/types/textarea.d.ts.map +0 -1
  75. package/dist/types/toggle.d.ts +0 -4
  76. package/dist/types/toggle.d.ts.map +0 -1
  77. package/src/types/captcha.ts +0 -16
  78. package/src/types/date.ts +0 -25
  79. package/src/types/jsx.ts +0 -10
  80. package/src/types/resourceMeta.ts +0 -37
  81. package/src/types/resourcePicker.ts +0 -10
  82. package/src/types/select.ts +0 -16
  83. package/src/types/textarea.ts +0 -10
  84. package/src/types/toggle.ts +0 -3
@@ -49,6 +49,29 @@ declare module 'zova' {
49
49
  }
50
50
  }
51
51
  /** sys: end */
52
+ /** bean: begin */
53
+ export * from '../bean/bean.resourceProviders.js';
54
+ import 'zova';
55
+ declare module 'zova' {
56
+ }
57
+ declare module 'zova-module-a-openapi' {
58
+ interface BeanResourceProviders {
59
+ }
60
+ interface BeanResourceProviders {
61
+ get $beanFullName(): 'a-openapi.bean.resourceProviders';
62
+ get $onionName(): 'a-openapi:resourceProviders';
63
+ }
64
+ }
65
+ /** bean: end */
66
+ /** bean: begin */
67
+ import { BeanResourceProviders } from '../bean/bean.resourceProviders.js';
68
+ import 'zova';
69
+ declare module 'zova' {
70
+ interface IBeanRecordGeneral {
71
+ 'a-openapi.bean.resourceProviders': BeanResourceProviders;
72
+ }
73
+ }
74
+ /** bean: end */
52
75
  /** config: begin */
53
76
  export * from '../config/config.js';
54
77
  import { config } from '../config/config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,mBAAmB;AACnB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,qBAAqB,CAAC;AAC7B,OAAO,QAAQ,qBAAqB,CAAC;IAEjC,UAAiB,YAAY;QAC3B,eAAe,EAAE,gBAAgB,CAAC;KACnC;CAGJ;AACD,OAAO,QAAQ,uBAAuB,CAAC;IAE/B,UAAiB,QAAQ;KAGxB;IAED,UAAiB,QAAQ;QACvB,IAAI,aAAa,IAAI,qBAAqB,CAAC;QAC3C,IAAI,UAAU,IAAI,eAAe,CAAC;QAClC,IAAI,aAAa,IAAI,gBAAgB,CAAC;KACvC;CACR;AACD,iBAAiB;AACjB,mBAAmB;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,qBAAqB,EAAE,QAAQ,CAAC;KACjC;CACF;AACD,iBAAiB;AACjB,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,uBAAuB,CAAC;IAE/B,UAAiB,MAAM;KAGtB;IAED,UAAiB,MAAM;QACrB,IAAI,aAAa,IAAI,mBAAmB,CAAC;QACzC,IAAI,UAAU,IAAI,eAAe,CAAC;KAEnC;CACR;AACD,eAAe;AACf,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,mBAAmB,EAAE,MAAM,CAAC;KAC7B;CACF;AACD,eAAe;AACf,oBAAoB;AACpB,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,kBAAkB;AAClB,oBAAoB;AACpB,cAAc,cAAc,CAAC;AAC7B,kBAAkB;AAClB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAG3E,qBACa,mBAAoB,SAAQ,aAAa;CAAG;AAEzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC,OAAO,MAAM,CAAC,CAAC;CACvC;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,WAAW,EAAE,mBAAmB,CAAC;KAClC;IAED,UAAiB,gBAAgB;QAC/B,WAAW,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;KACxC;CAKF;AAED,iBAAiB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/.metadata/index.ts"],"names":[],"mappings":"AACA,mBAAmB;AACnB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,qBAAqB,CAAC;AAC7B,OAAO,QAAQ,qBAAqB,CAAC;IAEjC,UAAiB,YAAY;QAC3B,eAAe,EAAE,gBAAgB,CAAC;KACnC;CAGJ;AACD,OAAO,QAAQ,uBAAuB,CAAC;IAE/B,UAAiB,QAAQ;KAGxB;IAED,UAAiB,QAAQ;QACvB,IAAI,aAAa,IAAI,qBAAqB,CAAC;QAC3C,IAAI,UAAU,IAAI,eAAe,CAAC;QAClC,IAAI,aAAa,IAAI,gBAAgB,CAAC;KACvC;CACR;AACD,iBAAiB;AACjB,mBAAmB;AACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,qBAAqB,EAAE,QAAQ,CAAC;KACjC;CACF;AACD,iBAAiB;AACjB,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,uBAAuB,CAAC;IAE/B,UAAiB,MAAM;KAGtB;IAED,UAAiB,MAAM;QACrB,IAAI,aAAa,IAAI,mBAAmB,CAAC;QACzC,IAAI,UAAU,IAAI,eAAe,CAAC;KAEnC;CACR;AACD,eAAe;AACf,iBAAiB;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,mBAAmB,EAAE,MAAM,CAAC;KAC7B;CACF;AACD,eAAe;AACf,kBAAkB;AAClB,cAAc,mCAAmC,CAAC;AAElD,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;CAGrB;AACD,OAAO,QAAQ,uBAAuB,CAAC;IAE/B,UAAiB,qBAAqB;KAGrC;IAED,UAAiB,qBAAqB;QACpC,IAAI,aAAa,IAAI,kCAAkC,CAAC;QACxD,IAAI,UAAU,IAAI,6BAA6B,CAAC;KAEjD;CACR;AACD,gBAAgB;AAChB,kBAAkB;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,kBAAkB;QACjC,kCAAkC,EAAE,qBAAqB,CAAC;KAC3D;CACF;AACD,gBAAgB;AAChB,oBAAoB;AACpB,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,kBAAkB;AAClB,oBAAoB;AACpB,cAAc,cAAc,CAAC;AAC7B,kBAAkB;AAClB,mBAAmB;AACnB,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAG3E,qBACa,mBAAoB,SAAQ,aAAa;CAAG;AAEzD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,gBAAgB,CAAC,OAAO,MAAM,CAAC,CAAC;CACvC;AAED,OAAO,MAAM,CAAC;AACd,OAAO,QAAQ,MAAM,CAAC;IACpB,UAAiB,gBAAgB;QAC/B,WAAW,EAAE,mBAAmB,CAAC;KAClC;IAED,UAAiB,gBAAgB;QAC/B,WAAW,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;KACxC;CAKF;AAED,iBAAiB"}
@@ -0,0 +1,8 @@
1
+ import { BeanBase } from 'zova';
2
+ import { IFormProvider, ITableProvider } from '../types/resourceProviders.js';
3
+ export declare class BeanResourceProviders extends BeanBase {
4
+ formProvider: IFormProvider;
5
+ tableProvider: ITableProvider;
6
+ protected __init__(): Promise<void>;
7
+ }
8
+ //# sourceMappingURL=bean.resourceProviders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bean.resourceProviders.d.ts","sourceRoot":"","sources":["../../src/bean/bean.resourceProviders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE9E,qBACa,qBAAsB,SAAQ,QAAQ;IAC1C,YAAY,EAAE,aAAa,CAAC;IAC5B,aAAa,EAAE,cAAc,CAAC;cAErB,QAAQ;CAqBzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"sys.sdk.d.ts","sourceRoot":"","sources":["../../src/bean/sys.sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAkC,aAAa,EAAgB,MAAM,MAAM,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAA2B,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpH,qBACa,MAAO,SAAQ,QAAQ;IAClC,OAAO,CAAC,MAAM,CAAsB;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,MAAM,CAAY;cAEV,QAAQ,CAAC,MAAM,EAAE,MAAM,aAAa;IAcpD,SAAS,CAAC,WAAW;YAMP,MAAM;IAyBpB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIhE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS;IAM3F,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY;IAIrC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAajF,OAAO,CACX,MAAM,EAAE,SAAS,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,iBAAiB,EAC7B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAqDvC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAG/C"}
1
+ {"version":3,"file":"sys.sdk.d.ts","sourceRoot":"","sources":["../../src/bean/sys.sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,QAAQ,EAAkC,aAAa,EAAgB,MAAM,MAAM,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGhD,OAAO,EACL,oBAAoB,EACpB,eAAe,EAEf,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAIzB,qBACa,MAAO,SAAQ,QAAQ;IAClC,OAAO,CAAC,MAAM,CAAsB;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,kBAAkB,CAAe;IACzC,OAAO,CAAC,MAAM,CAAY;cAEV,QAAQ,CAAC,MAAM,EAAE,MAAM,aAAa;IAcpD,SAAS,CAAC,WAAW;YAMP,MAAM;IAyBpB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;IAIhE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS;IAM3F,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY;IAIrC,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAajF,OAAO,CACX,MAAM,EAAE,SAAS,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,iBAAiB,EAC7B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAyDvC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;CAG/C"}
@@ -1,8 +1,7 @@
1
1
  import type { ZovaSys } from 'zova';
2
- import type { IOpenapiOptionsResourceMeta } from '../types/resourceMeta.js';
2
+ import { IResourceProviders } from '../types/resourceProviders.js';
3
3
  export declare const config: (_sys: ZovaSys) => {
4
- base: IOpenapiOptionsResourceMeta;
5
- resourceMeta: IOpenapiOptionsResourceMeta;
4
+ resourceProviders: IResourceProviders;
6
5
  api: {
7
6
  bootstrap: string;
8
7
  permissions: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAE5E,eAAO,MAAM,MAAM,GAAI,MAAM,OAAO;UAiC3B,2BAA2B;kBACZ,2BAA2B;;;;;CAMlD,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,eAAO,MAAM,MAAM,GAAI,MAAM,OAAO;uBAEP,kBAAkB;;;;;CAM9C,CAAC"}
package/dist/index.js CHANGED
@@ -4,8 +4,7 @@ import { $QueryAutoLoad, BeanModelBase, Model } from "zova-module-a-model";
4
4
  import jsonSchemaToZod from "@cabloy/json-schema-to-zod";
5
5
  import { ref, shallowReactive, toRaw, watch } from "vue";
6
6
  import { z } from "zod";
7
- import { Scope, Sys } from "zova-module-a-bean";
8
- import "zova-jsx";
7
+ import { Bean, Scope, Sys } from "zova-module-a-bean";
9
8
  import "openapi3-ts/oas30";
10
9
  import "openapi3-ts/oas31";
11
10
  //#region src/types/database.ts
@@ -22,7 +21,7 @@ var __FilterColumnsIgnore = [
22
21
  "pageNo",
23
22
  "pageSize"
24
23
  ];
25
- function loadSchemaProperties(schema, onGetSchema, scene) {
24
+ function loadSchemaProperties(schema, onGetSchema, schemaScene) {
26
25
  if (!schema) return;
27
26
  const properties = schema.properties;
28
27
  const result = [];
@@ -30,14 +29,18 @@ function loadSchemaProperties(schema, onGetSchema, scene) {
30
29
  let property = properties[key];
31
30
  if (property.$ref) property = onGetSchema(property.$ref);
32
31
  if (!property) continue;
33
- const customKey = property.rest?.customKey;
34
- if (customKey) {
35
- const parts = customKey.split(".");
32
+ const fieldSource = property.rest?.fieldSource;
33
+ if (fieldSource) {
34
+ const parts = fieldSource.split(".");
36
35
  property = (parts[0] === key ? property : result.find((item) => item.key === parts[0]))?.properties[parts[1]];
37
- key = customKey;
36
+ key = fieldSource;
38
37
  }
39
38
  if (!property) continue;
40
- property = deepExtend({ key }, property, scene ? { rest: property.rest?.[scene] ?? {} } : void 0);
39
+ property = deepExtend({ key }, property, schemaScene && [
40
+ "form-view",
41
+ "form-create",
42
+ "filter"
43
+ ].includes(schemaScene) ? { rest: property.rest?.["form"] ?? {} } : void 0, schemaScene ? { rest: property.rest?.[schemaScene] ?? {} } : void 0);
41
44
  result.push(property);
42
45
  }
43
46
  result.sort((a, b) => {
@@ -106,7 +109,7 @@ function getSchemaOfRequestQueryFilter(operationObject, options) {
106
109
  }
107
110
  //#endregion
108
111
  //#region src/model/sdk.ts
109
- var _dec$2, _dec2$2, _dec3, _dec4, _dec5, _class$2, _class2;
112
+ var _dec$3, _dec2$3, _dec3, _dec4, _dec5, _class$3, _class2;
110
113
  function _applyDecoratedDescriptor(i, e, r, n, l) {
111
114
  var a = {};
112
115
  return Object.keys(n).forEach(function(i) {
@@ -116,7 +119,7 @@ function _applyDecoratedDescriptor(i, e, r, n, l) {
116
119
  }, a), l && void 0 !== a.initializer && (a.value = a.initializer ? a.initializer.call(l) : void 0, a.initializer = void 0), void 0 === a.initializer ? (Object.defineProperty(i, e, a), null) : a;
117
120
  }
118
121
  var __schemaRefPrefix = "#/components/schemas/";
119
- var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ module: "a-openapi" }), _dec3 = Use({ beanFullName: "a-openapi.sys.sdk" }), _dec4 = Reflect.metadata("design:type", Function), _dec5 = Reflect.metadata("design:paramtypes", []), _dec$2(_class$2 = _dec2$2(_class$2 = (_class2 = class ModelSdk extends BeanModelBase {
122
+ var ModelSdk = (_dec$3 = Model({ enableSelector: true }), _dec2$3 = BeanInfo({ module: "a-openapi" }), _dec3 = Use({ beanFullName: "a-openapi.sys.sdk" }), _dec4 = Reflect.metadata("design:type", Function), _dec5 = Reflect.metadata("design:paramtypes", []), _dec$3(_class$3 = _dec2$3(_class$3 = (_class2 = class ModelSdk extends BeanModelBase {
120
123
  constructor(...args) {
121
124
  super(...args);
122
125
  this._eventSsrHmrReload = void 0;
@@ -152,10 +155,7 @@ var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ m
152
155
  return this.$useStateData({
153
156
  queryKey: ["permissions", resource],
154
157
  queryFn: async () => {
155
- let permissions = (await this.$$sysSdk.loadBootstrap(this.$fetch, resource)).resourceMeta.permissions;
156
- if (!isNil(permissions)) return permissions;
157
- permissions = await this.$fetch.get(this.sys.util.apiActionPathTranslate(this.scope.config.api.permissions, { resource }), this.sys.util.apiActionConfigPrepare());
158
- return permissions ?? null;
158
+ return await this.$fetch.get(this.sys.util.apiActionPathTranslate(this.scope.config.api.permissions, { resource }), this.sys.util.apiActionConfigPrepare()) ?? null;
159
159
  }
160
160
  });
161
161
  }
@@ -263,8 +263,8 @@ var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ m
263
263
  }
264
264
  };
265
265
  }
266
- loadSchemaProperties(schema, scene) {
267
- return loadSchemaProperties(schema, (schemaName) => this.getSchema(schemaName).data, scene);
266
+ loadSchemaProperties(schema, schemaScene) {
267
+ return loadSchemaProperties(schema, (schemaName) => this.getSchema(schemaName).data, schemaScene);
268
268
  }
269
269
  schemaToZodSchema(schema) {
270
270
  return schemaToZodSchema(schema, (schemaName) => this.getSchema(schemaName).data);
@@ -273,14 +273,14 @@ var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ m
273
273
  _dec3,
274
274
  _dec4,
275
275
  _dec5
276
- ], Object.getOwnPropertyDescriptor(_class2.prototype, "$$sysSdk"), _class2.prototype), _class2)) || _class$2) || _class$2);
276
+ ], Object.getOwnPropertyDescriptor(_class2.prototype, "$$sysSdk"), _class2.prototype), _class2)) || _class$3) || _class$3);
277
277
  //#endregion
278
278
  //#region src/types/sdk.ts
279
279
  var SymbolOpenapiSchemaName = "__schemaName__";
280
280
  //#endregion
281
281
  //#region src/bean/sys.sdk.ts
282
- var _dec$1, _dec2$1, _class$1;
283
- var SysSdk = (_dec$1 = Sys(), _dec2$1 = BeanInfo({ module: "a-openapi" }), _dec$1(_class$1 = _dec2$1(_class$1 = class SysSdk extends BeanBase {
282
+ var _dec$2, _dec2$2, _class$2;
283
+ var SysSdk = (_dec$2 = Sys(), _dec2$2 = BeanInfo({ module: "a-openapi" }), _dec$2(_class$2 = _dec2$2(_class$2 = class SysSdk extends BeanBase {
284
284
  constructor(...args) {
285
285
  super(...args);
286
286
  this.locale = void 0;
@@ -371,38 +371,35 @@ var SysSdk = (_dec$1 = Sys(), _dec2$1 = BeanInfo({ module: "a-openapi" }), _dec$
371
371
  prepareApiMeta(api, apiMethod) {
372
372
  return [api, apiMethod ?? "get"];
373
373
  }
374
+ }) || _class$2) || _class$2);
375
+ //#endregion
376
+ //#region src/bean/bean.resourceProviders.ts
377
+ var _dec$1, _dec2$1, _class$1;
378
+ var BeanResourceProviders = (_dec$1 = Bean(), _dec2$1 = BeanInfo({ module: "a-openapi" }), _dec$1(_class$1 = _dec2$1(_class$1 = class BeanResourceProviders extends BeanBase {
379
+ constructor(...args) {
380
+ super(...args);
381
+ this.formProvider = void 0;
382
+ this.tableProvider = void 0;
383
+ }
384
+ async __init__() {
385
+ this.formProvider = this.$useComputed(() => {
386
+ const resourceProviders = this.scope.config.resourceProviders;
387
+ return {
388
+ components: Object.assign({}, resourceProviders.blocks, resourceProviders.formFields, resourceProviders.form?.actionsRow),
389
+ behaviors: resourceProviders.behaviors
390
+ };
391
+ });
392
+ this.tableProvider = this.$useComputed(() => {
393
+ const resourceProviders = this.scope.config.resourceProviders;
394
+ return { components: Object.assign({}, resourceProviders.blocks, resourceProviders.tableCells, resourceProviders.table?.actionsBulk, resourceProviders.table?.actionsRow) };
395
+ });
396
+ }
374
397
  }) || _class$1) || _class$1);
375
398
  //#endregion
376
399
  //#region src/config/config.ts
377
400
  var config = (_sys) => {
378
401
  return {
379
- base: {
380
- provider: {
381
- components: {
382
- form: "a-form:form",
383
- table: "a-table:table"
384
- },
385
- actions: { actionLog: "a-actions:log" }
386
- },
387
- form: { provider: {
388
- components: {
389
- formField: "a-form:formField",
390
- text: "input",
391
- password: "input",
392
- currency: "a-currency:formFieldCurrency",
393
- date: "a-date:formFieldDate"
394
- },
395
- behaviors: {}
396
- } },
397
- table: { provider: {
398
- components: {
399
- currency: "a-currency.tableCell.currency",
400
- date: "a-date.tableCell.date"
401
- },
402
- actions: {}
403
- } }
404
- },
405
- resourceMeta: {},
402
+ resourceProviders: {},
406
403
  api: {
407
404
  bootstrap: "/api/openapischema/resource/bootstrap/:resource",
408
405
  permissions: "/api/home/base/permission/:resource"
@@ -458,16 +455,19 @@ var renderFormFieldTopPropsSystem = [
458
455
  "order",
459
456
  "table",
460
457
  "form",
458
+ "form-view",
459
+ "form-create",
461
460
  "filter"
462
461
  ];
463
462
  var renderTableColumnTopPropsSystem = [
464
463
  "order",
465
464
  "table",
466
465
  "form",
467
- "filter",
468
- "displayValue"
466
+ "form-view",
467
+ "form-create",
468
+ "filter"
469
469
  ];
470
470
  //#endregion
471
- export { ModelSdk, Monkey, OrderBusinessBase, OrderCoreBase, OrderMaxBase, OrderUnknownBase, ScopeModuleAOpenapi, SymbolOpenapiSchemaName, SysSdk, config, getSchemaOfRequestBody, getSchemaOfRequestQuery, getSchemaOfRequestQueryFilter, getSchemaOfResponseBody, loadSchemaProperties, renderFormFieldTopPropsSystem, renderTableColumnTopPropsSystem, schemaToZodSchema };
471
+ export { BeanResourceProviders, ModelSdk, Monkey, OrderBusinessBase, OrderCoreBase, OrderMaxBase, OrderUnknownBase, ScopeModuleAOpenapi, SymbolOpenapiSchemaName, SysSdk, config, getSchemaOfRequestBody, getSchemaOfRequestQuery, getSchemaOfRequestQueryFilter, getSchemaOfResponseBody, loadSchemaProperties, renderFormFieldTopPropsSystem, renderTableColumnTopPropsSystem, schemaToZodSchema };
472
472
 
473
473
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/types/database.ts","../src/lib/schema.ts","../src/model/sdk.ts","../src/types/sdk.ts","../src/bean/sys.sdk.ts","../src/config/config.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/types/rest.ts"],"sourcesContent":["export const OrderCoreBase = 100;\nexport const OrderBusinessBase = 1000;\nexport const OrderUnknownBase = 10000;\nexport const OrderMaxBase = 100000;\n","import type { OperationObject, ParameterObject, RequestBodyObject, SchemaObject } from 'openapi3-ts/oas31';\n\nimport jsonSchemaToZod from '@cabloy/json-schema-to-zod';\nimport { evaluateSimple } from '@cabloy/utils';\nimport { toRaw } from 'vue';\nimport { z } from 'zod';\nimport { cast, deepExtend } from 'zova';\n\nimport type { TypeSchemaScene } from '../types/rest.js';\n\nimport { OrderUnknownBase } from '../types/database.js';\n\nconst __FilterColumnsIgnore = ['columns', 'where', 'orders', 'pageNo', 'pageSize'];\n\nexport function loadSchemaProperties(\n schema: SchemaObject | undefined,\n onGetSchema: (schemaName: string) => SchemaObject | undefined,\n scene?: TypeSchemaScene,\n): SchemaObject[] | undefined {\n if (!schema) return;\n const properties = schema.properties!;\n const result: SchemaObject[] = [];\n // filter\n for (let key in properties) {\n let property = properties[key] as SchemaObject;\n if (property.$ref) {\n property = onGetSchema(property.$ref)!;\n }\n if (!property) continue;\n const customKey = property.rest?.customKey;\n if (customKey) {\n const parts = customKey.split('.');\n const propertyParent: any = parts[0] === key ? property : result.find(item => item.key === parts[0]);\n property = propertyParent?.properties[parts[1]];\n key = customKey;\n }\n if (!property) continue;\n property = deepExtend({ key }, property, scene ? { rest: property.rest?.[scene] ?? {} } : undefined);\n result.push(property);\n }\n // sort\n result.sort((a, b) => {\n return (a.rest?.order ?? OrderUnknownBase) - (b.rest?.order ?? OrderUnknownBase);\n });\n // ok\n return result;\n}\n\nexport function schemaToZodSchema<T extends z.ZodType = z.ZodType>(\n schema: SchemaObject,\n onGetSchema: (schemaName: string) => SchemaObject | undefined,\n): T {\n const schemaNormalize = _normalizeSchema(toRaw(schema), onGetSchema);\n const code = jsonSchemaToZod(schemaNormalize);\n return evaluateSimple(code, { z });\n}\n\nfunction _normalizeSchema(schema: SchemaObject, onGetSchema: (schemaName: string) => SchemaObject | undefined) {\n if (!schema.properties) return schema;\n const schemaNew = Object.assign({}, schema, { properties: {} });\n for (const key in schema.properties) {\n let property = schema.properties[key] as SchemaObject | undefined;\n if (property?.$ref) {\n property = onGetSchema(property.$ref);\n }\n if (!property) continue;\n schemaNew.properties[key] = _normalizeSchema(property, onGetSchema);\n }\n return schemaNew;\n}\n\nexport function getSchemaOfRequestBody(operationObject?: OperationObject): SchemaObject | undefined {\n return cast<RequestBodyObject>(operationObject?.requestBody)?.content?.['application/json']?.schema as any;\n}\n\nexport function getSchemaOfResponseBody(operationObject?: OperationObject): SchemaObject | undefined {\n return operationObject?.responses?.['200']?.content?.['application/json']?.schema;\n}\n\nexport function getSchemaOfRequestQuery(operationObject?: OperationObject): SchemaObject | undefined {\n const parameters = operationObject?.parameters;\n if (!parameters) return;\n const schema: SchemaObject = { type: 'object', required: [], properties: {} };\n for (const _parameter of parameters) {\n const parameter = _parameter as ParameterObject;\n if (parameter.in !== 'query') continue;\n const name = parameter.name;\n const fieldSchema = parameter.schema! as SchemaObject;\n schema.properties![name] = fieldSchema;\n if (parameter.required) schema.required!.push(name);\n }\n return schema;\n}\n\nexport function getSchemaOfRequestQueryFilter(operationObject?: OperationObject, options?: { where?: boolean; order?: boolean }) {\n const parameters = operationObject?.parameters;\n if (!parameters) return;\n const schema: SchemaObject = { type: 'object', required: [], properties: {} };\n for (const _parameter of parameters) {\n const parameter = _parameter as ParameterObject;\n if (parameter.in !== 'query') continue;\n const name = parameter.name;\n if (__FilterColumnsIgnore.includes(name)) continue;\n const fieldSchema = parameter.schema! as SchemaObject;\n if (\n (options?.where === true && fieldSchema.filter?.capabilities?.where !== false) ||\n (options?.order === true && fieldSchema.filter?.capabilities?.order !== false)\n ) {\n schema.properties![name] = fieldSchema;\n if (parameter.required) schema.required!.push(name);\n }\n }\n return schema;\n}\n","import { isNil } from '@cabloy/utils';\nimport { SchemaObject } from 'openapi3-ts/oas31';\nimport z from 'zod';\nimport { cast, ILocaleRecord, TypeEventOff, Use, usePrepareArg } from 'zova';\nimport { IApiSchemaOptions } from 'zova-module-a-api';\nimport { $QueryAutoLoad, BeanModelBase, IDecoratorModelOptions, Model } from 'zova-module-a-model';\n\nimport { SysSdk } from '../bean/sys.sdk.js';\nimport {\n getSchemaOfRequestBody,\n getSchemaOfRequestQuery,\n getSchemaOfRequestQueryFilter,\n getSchemaOfResponseBody,\n loadSchemaProperties,\n schemaToZodSchema,\n} from '../lib/schema.js';\nimport { TypeOpenapiPermissions } from '../types/resourceMeta.js';\nimport { TypeSchemaScene } from '../types/rest.js';\nimport { IOpenapiSchemas, TypeOpenapiSchemasSdk } from '../types/schema.js';\nimport { TypeRequestMethod } from '../types/sdk.js';\n\nconst __schemaRefPrefix = '#/components/schemas/';\n\nexport interface IModelOptionsSdk extends IDecoratorModelOptions {}\n\n@Model<IModelOptionsSdk>({\n enableSelector: true,\n})\nexport class ModelSdk extends BeanModelBase {\n private _eventSsrHmrReload: TypeEventOff;\n\n @Use({ beanFullName: 'a-openapi.sys.sdk' })\n get $$sysSdk(): SysSdk {\n return usePrepareArg(this.selector, true);\n }\n\n protected async __init__(locale: keyof ILocaleRecord) {\n if (!locale) throw new Error('locale not specified');\n await super.__init__(locale);\n // event\n if (process.env.CLIENT && this.sys.config.ssr.hmr) {\n this._eventSsrHmrReload = this.sys.meta.event.on('a-ssrhmr:reload', async (_data, next) => {\n await this.$refetchQueries({ queryKey: ['bootstrap'] });\n await this.$refetchQueries({ queryKey: ['sdk'] });\n return next();\n });\n }\n }\n\n protected __dispose__() {\n if (this._eventSsrHmrReload) {\n this._eventSsrHmrReload();\n }\n }\n\n getBootstrap(resource: string) {\n return this.$useStateData({\n queryKey: ['bootstrap', resource],\n queryFn: async () => {\n const bootstrap = await this.$$sysSdk.loadBootstrap(this.$fetch, resource);\n if (!bootstrap) throw new Error('load bootstrap error');\n if (process.env.SERVER) {\n await $QueryAutoLoad(() => this.getPermissions(resource));\n } else {\n await this.$refetchQueries({ queryKey: ['permissions', resource] });\n }\n return bootstrap ?? null;\n },\n });\n }\n\n getPermissions(resource: string) {\n return this.$useStateData({\n queryKey: ['permissions', resource],\n queryFn: async () => {\n // should not use this.getBootstrap(resource);\n const bootstrap = await this.$$sysSdk.loadBootstrap(this.$fetch, resource);\n let permissions = bootstrap.resourceMeta.permissions;\n if (!isNil(permissions)) return permissions;\n permissions = (await this.$fetch.get(\n this.sys.util.apiActionPathTranslate(this.scope.config.api.permissions, { resource }),\n this.sys.util.apiActionConfigPrepare(),\n )) as TypeOpenapiPermissions;\n return permissions ?? null;\n },\n });\n }\n\n getSdk(api: string, apiMethod?: TypeRequestMethod, apiOptions?: IApiSchemaOptions): TypeOpenapiSchemasSdk {\n if (!api) throw new Error('should specify api');\n const [api2, apiMethod2] = this.$$sysSdk.prepareApiMeta(api, apiMethod);\n return this.$useStateData({\n queryKey: ['sdk', api2, apiMethod2],\n queryFn: async () => {\n const sdk = await this.$$sysSdk.loadSdk(this.$fetch, api, apiMethod, apiOptions);\n if (!sdk) throw new Error('load sdk error');\n for (const schemaName of sdk.schemas) {\n if (process.env.SERVER) {\n await $QueryAutoLoad(() => this.getSchema(schemaName));\n } else {\n await this.$refetchQueries({ queryKey: ['schema', schemaName] });\n }\n }\n return sdk;\n },\n }) as TypeOpenapiSchemasSdk;\n }\n\n getSchema(schemaName: string) {\n if (schemaName.startsWith(__schemaRefPrefix)) {\n schemaName = schemaName.substring(__schemaRefPrefix.length);\n }\n return this.$useStateData({\n queryKey: ['schema', schemaName],\n queryFn: async () => {\n const schema = this.$$sysSdk.getSchema(schemaName);\n return schema ?? null;\n },\n });\n }\n\n getZodSchema(schemaName: string) {\n return this.$useStateComputed({\n queryKey: ['zodSchema', schemaName],\n queryFn: () => {\n const querySchema = this.getSchema(schemaName);\n if (!querySchema.data) return null;\n const zodSchema = this.schemaToZodSchema(querySchema.data);\n return zodSchema;\n },\n });\n }\n\n getSchemaDefaultValue(schemaName: string) {\n return this.$useStateComputed({\n queryKey: ['schemaDefaultValue', schemaName],\n queryFn: () => {\n const querySchema = this.getSchema(schemaName);\n if (!querySchema.data) return null;\n const schema = querySchema.data;\n // const schema = this.$$sysSdk.getSchema(schemaName);\n // if (!schema) return null;\n const defaultValues = {};\n for (const key in schema.properties) {\n const property = schema.properties[key] as any;\n if (!isNil(property.default)) {\n defaultValues[key] = property.default;\n }\n }\n return defaultValues;\n },\n });\n }\n\n public createApiSchemas(api: string, apiMethod?: TypeRequestMethod, apiOptions?: IApiSchemaOptions): IOpenapiSchemas {\n const self = this;\n const sdk = this.getSdk(api, apiMethod, apiOptions);\n return {\n get sdk() {\n return sdk;\n },\n get query() {\n const operationObject = sdk.data?.operationObject;\n return getSchemaOfRequestQuery(operationObject);\n },\n get filter() {\n const operationObject = sdk.data?.operationObject;\n return getSchemaOfRequestQueryFilter(operationObject, { where: true });\n },\n get requestBody() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfRequestBody(operationObject);\n const schemaName = cast(schemaBody)?.$ref;\n if (schemaName) return self.getSchema(schemaName).data;\n return schemaBody;\n },\n get responseBody() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n const schemaData = schemaBody?.properties?.data;\n const schemaName = cast(schemaData)?.$ref;\n if (schemaName) return self.getSchema(schemaName).data;\n return schemaData as SchemaObject;\n },\n get paged() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n if (!schemaBody) return;\n const schemaName = cast(schemaBody?.properties?.data)?.items?.$ref;\n if (schemaName) return;\n // pages\n return this.responseBody;\n },\n get row() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n if (!schemaBody) return;\n // schemaData\n let schemaData;\n if (schemaBody?.properties?.data.$ref) {\n schemaData = self.getSchema(schemaBody?.properties?.data.$ref).data;\n } else {\n schemaData = schemaBody?.properties?.data;\n }\n // entry\n const schemaName = cast(schemaData)?.items?.$ref;\n if (schemaName) {\n return self.getSchema(schemaName).data;\n }\n // pages\n const schemaRow = cast(schemaData?.properties?.list)?.items;\n if (schemaRow?.$ref) {\n return self.getSchema(schemaRow?.$ref).data;\n }\n return schemaRow;\n },\n };\n }\n\n public loadSchemaProperties(schema: SchemaObject | undefined, scene?: TypeSchemaScene): SchemaObject[] | undefined {\n return loadSchemaProperties(schema, schemaName => this.getSchema(schemaName).data, scene);\n }\n\n public schemaToZodSchema<T extends z.ZodType = z.ZodType>(schema: SchemaObject): T {\n return schemaToZodSchema(schema, schemaName => this.getSchema(schemaName).data);\n }\n}\n","import type { OperationObject } from 'openapi3-ts/oas31';\n\nimport type { ModelSdk } from '../model/sdk.js';\nimport type { IOpenapiOptionsResourceMeta } from './resourceMeta.js';\nimport type { IOpenapiSchemaMeta } from './schema.js';\n\nexport const SymbolOpenapiSchemaName = '__schemaName__';\n\nexport interface IOpenapiSdkBootstrap {\n apiPath: string;\n resourceMeta: IOpenapiOptionsResourceMeta;\n}\n\nexport interface IOpenapiSdkItem {\n schemas: string[];\n operationObject: OperationObject;\n meta?: IOpenapiSchemaMeta;\n}\n\nexport type TypeRequestMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'options' | 'head';\n\ndeclare module 'zova' {\n export interface BeanBase {\n $sdk: ModelSdk;\n }\n}\n","import type { SchemaObject } from 'openapi3-ts/oas31';\n\nimport { shallowReactive } from 'vue';\nimport { BeanBase, IApiActionConfigPrepareOptions, ILocaleRecord, TypeEventOff } from 'zova';\nimport { IApiSchemaOptions } from 'zova-module-a-api';\nimport { Sys } from 'zova-module-a-bean';\nimport { BeanFetch } from 'zova-module-a-fetch';\n\nimport { IOpenapiSchema } from '../types/schema.js';\nimport { IOpenapiSdkBootstrap, IOpenapiSdkItem, SymbolOpenapiSchemaName, TypeRequestMethod } from '../types/sdk.js';\n\n// const PATH_PARAM_RE = /\\{([^{}/]+)\\}/g;\n\n@Sys()\nexport class SysSdk extends BeanBase {\n private locale: keyof ILocaleRecord;\n bootstraps: Record<string, IOpenapiSdkBootstrap>;\n schemas: Record<string, SchemaObject>;\n sdks: Record<string, Record<string, IOpenapiSdkItem>>;\n private _eventSsrHmrReload: TypeEventOff;\n private _fetch: BeanFetch;\n\n protected async __init__(locale: keyof ILocaleRecord) {\n this.locale = locale;\n this.bootstraps = shallowReactive({});\n this.schemas = shallowReactive({});\n this.sdks = shallowReactive({});\n // event\n if (this.sys.config.ssr.hmr) {\n this._eventSsrHmrReload = this.sys.meta.event.on('a-ssrhmr:reload', async (_data, next) => {\n await this.reload();\n return next();\n });\n }\n }\n\n protected __dispose__() {\n if (this._eventSsrHmrReload) {\n this._eventSsrHmrReload();\n }\n }\n\n private async reload() {\n // server\n if (process.env.SERVER) {\n this.bootstraps = shallowReactive({});\n this.schemas = shallowReactive({});\n this.sdks = shallowReactive({});\n return;\n }\n // client\n // bootstraps\n const bootstraps = this.bootstraps;\n this.bootstraps = shallowReactive({});\n for (const resource in bootstraps) {\n await this.loadBootstrap(this._fetch, resource);\n }\n // sdks\n const sdks = this.sdks;\n this.sdks = shallowReactive({});\n for (const api in sdks) {\n for (const apiMethod in sdks[api]) {\n await this.loadSdk(this._fetch, api, apiMethod as any, { authToken: false });\n }\n }\n }\n\n getBootstrap(resource: string): IOpenapiSdkBootstrap | undefined {\n return this.bootstraps[resource];\n }\n\n getSdk(api: string | undefined, apiMethod: string | undefined): IOpenapiSdkItem | undefined {\n if (!api) return;\n const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);\n return this.sdks[api2]?.[apiMethod2];\n }\n\n getSchema(schemaName: string): SchemaObject {\n return this.schemas[schemaName];\n }\n\n async loadBootstrap($fetch: BeanFetch, resource: string): Promise<IOpenapiSdkBootstrap> {\n if (process.env.CLIENT) {\n this._fetch = $fetch;\n }\n if (!this.bootstraps[resource]) {\n this.bootstraps[resource] = await $fetch.get(\n this.sys.util.apiActionPathTranslate(this.scope.config.api.bootstrap, { resource }),\n this.sys.util.apiActionConfigPrepare(undefined, undefined, false),\n );\n }\n return this.bootstraps[resource];\n }\n\n async loadSdk(\n $fetch: BeanFetch,\n api?: string,\n apiMethod?: TypeRequestMethod,\n apiOptions?: IApiSchemaOptions,\n ): Promise<IOpenapiSdkItem | undefined> {\n if (process.env.CLIENT) {\n this._fetch = $fetch;\n }\n if (!api) return;\n const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);\n if (this.sdks[api2]?.[apiMethod2]) return this.sdks[api2][apiMethod2];\n // params\n const params: any[] = [this.sys.util.apiActionPathTranslate(api2)];\n // body\n if (!['get', 'delete'].includes(apiMethod2)) {\n params.push(undefined);\n }\n // options\n const options: IApiActionConfigPrepareOptions = { authToken: apiOptions?.authToken, openapiSchema: true, headers: {} };\n const localeKey = this.sys.env.APP_LOCALE_HEADER_KEY;\n if (localeKey) {\n options.headers![localeKey] = this.locale;\n }\n params.push(this.sys.util.apiActionConfigPrepare(undefined, options));\n const data: IOpenapiSchema = await $fetch[apiMethod2](...params);\n // schemas\n const schemaNames: string[] = [];\n const schemas = data.doc.components?.schemas;\n if (schemas) {\n for (const key in schemas) {\n const schema = schemas[key] as unknown as SchemaObject;\n if (!schema[SymbolOpenapiSchemaName]) {\n schema[SymbolOpenapiSchemaName] = key;\n }\n this.schemas[key] = schema;\n schemaNames.push(key);\n }\n }\n // paths\n const paths = data.doc.paths;\n if (paths) {\n for (const key in paths) {\n // const path = key.replace(PATH_PARAM_RE, ':$1');\n if (!this.sdks[api2]) this.sdks[api2] = shallowReactive({});\n for (const method in paths[key]) {\n this.sdks[api2][method] = {\n schemas: schemaNames,\n operationObject: paths[key][method],\n meta: data.meta,\n };\n }\n }\n }\n // ok\n return this.sdks[api2][apiMethod2];\n }\n\n prepareApiMeta(api: string, apiMethod?: string) {\n return [api, apiMethod ?? 'get'];\n }\n}\n","import type { ZovaSys } from 'zova';\n\nimport type { IOpenapiOptionsResourceMeta } from '../types/resourceMeta.js';\n\nexport const config = (_sys: ZovaSys) => {\n return {\n base: {\n provider: {\n components: {\n form: 'a-form:form',\n table: 'a-table:table',\n },\n actions: {\n actionLog: 'a-actions:log',\n },\n },\n form: {\n provider: {\n components: {\n formField: 'a-form:formField',\n text: 'input',\n password: 'input',\n currency: 'a-currency:formFieldCurrency',\n date: 'a-date:formFieldDate',\n },\n behaviors: {},\n },\n },\n table: {\n provider: {\n components: {\n currency: 'a-currency.tableCell.currency',\n date: 'a-date.tableCell.date',\n },\n actions: {},\n },\n },\n } as IOpenapiOptionsResourceMeta,\n resourceMeta: {} as IOpenapiOptionsResourceMeta,\n api: {\n bootstrap: '/api/openapischema/resource/bootstrap/:resource',\n permissions: '/api/home/base/permission/:resource',\n },\n };\n};\n","import type { IModule } from '@cabloy/module-info';\nimport type { Ref } from 'vue';\nimport type { BeanBase, BeanContainer, IMonkeyBeanInit, IMonkeyModule } from 'zova';\n\nimport { ref, watch } from 'vue';\nimport { BeanSimple } from 'zova';\n\nimport type { ModelSdk } from './model/sdk.js';\n\nexport class Monkey extends BeanSimple implements IMonkeyModule, IMonkeyBeanInit {\n private _moduleSelf: IModule;\n private _modelSdk: Ref<ModelSdk | undefined> = ref();\n\n constructor(moduleSelf: IModule) {\n super();\n this._moduleSelf = moduleSelf;\n }\n\n async moduleLoading(_module: IModule) {}\n async moduleLoaded(module: IModule) {\n // self\n if (this._moduleSelf === module) {\n await this._loadSdk();\n this.ctx.util.instanceScope(() => {\n return watch(\n () => {\n return this.app.meta.locale.current;\n },\n async () => {\n await this._loadSdk();\n },\n );\n });\n }\n }\n\n async beanInit(bean: BeanContainer, beanInstance: BeanBase) {\n const self = this;\n // $sdk\n bean.defineProperty(beanInstance, '$sdk', {\n enumerable: false,\n configurable: true,\n get() {\n return self._modelSdk;\n },\n });\n }\n\n private async _loadSdk() {\n this._modelSdk.value = await this.app.bean._getBeanSelector('a-openapi.model.sdk', true, this.app.meta.locale.current);\n }\n}\n","// eslint-disable\n/** model: begin */\nexport * from '../model/sdk.js';\nimport { IModelOptionsSdk } from '../model/sdk.js';\nimport 'zova-module-a-model';\ndeclare module 'zova-module-a-model' {\n \n export interface IModelRecord {\n 'a-openapi:sdk': IModelOptionsSdk;\n }\n\n \n}\ndeclare module 'zova-module-a-openapi' {\n \n export interface ModelSdk {\n /** @internal */\n get scope(): ScopeModuleAOpenapi;\n }\n\n export interface ModelSdk {\n get $beanFullName(): 'a-openapi.model.sdk';\n get $onionName(): 'a-openapi:sdk';\n get $onionOptions(): IModelOptionsSdk;\n } \n}\n/** model: end */\n/** model: begin */\nimport { ModelSdk } from '../model/sdk.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'a-openapi.model.sdk': ModelSdk;\n }\n}\n/** model: end */\n/** sys: begin */\nexport * from '../bean/sys.sdk.js';\n\nimport 'zova';\ndeclare module 'zova' {\n \n \n}\ndeclare module 'zova-module-a-openapi' {\n \n export interface SysSdk {\n /** @internal */\n get scope(): ScopeModuleAOpenapi;\n }\n\n export interface SysSdk {\n get $beanFullName(): 'a-openapi.sys.sdk';\n get $onionName(): 'a-openapi:sdk';\n \n } \n}\n/** sys: end */\n/** sys: begin */\nimport { SysSdk } from '../bean/sys.sdk.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'a-openapi.sys.sdk': SysSdk;\n }\n}\n/** sys: end */\n/** config: begin */\nexport * from '../config/config.js';\nimport { config } from '../config/config.js';\n/** config: end */\n/** monkey: begin */\nexport * from '../monkey.js';\n/** monkey: end */\n/** scope: begin */\nimport { BeanScopeBase, type BeanScopeUtil, TypeModuleConfig } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\n\n@Scope()\nexport class ScopeModuleAOpenapi extends BeanScopeBase {}\n\nexport interface ScopeModuleAOpenapi {\n util: BeanScopeUtil;\nconfig: TypeModuleConfig<typeof config>;\n}\n\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanScopeRecord {\n 'a-openapi': ScopeModuleAOpenapi;\n }\n \n export interface IBeanScopeConfig {\n 'a-openapi': ReturnType<typeof config>;\n }\n\n \n\n \n}\n \n/** scope: end */\n","import type { CurrencyOptions } from '@zhennann/currency';\nimport type { ComponentPublicInstance } from 'vue';\nimport type { Constructable, IComponentRecord, TypeBeanRecordGeneralSelector } from 'zova';\nimport type { TypeRenderComponentJsx } from 'zova-jsx';\n\nimport type { TypeResourceActionRowRecordRender } from './actions.js';\nimport type { ICaptchaOptions } from './captcha.js';\nimport type { TypeDateFormat } from './date.js';\nimport type { IResourcePickerOptions } from './resourcePicker.js';\nimport type { ISelectOptions } from './select.js';\nimport type { ITextareaOptions } from './textarea.js';\nimport type { IToggleOptions } from './toggle.js';\nimport 'openapi3-ts/oas30';\nimport 'openapi3-ts/oas31';\n\nexport interface ISchemaObjectExtensionFieldRest {\n render?: TypeFormFieldRenderComponentNormal | TypeTableCellRenderComponentNormal;\n captcha?: ICaptchaOptions;\n currency?: CurrencyOptions;\n dateFormat?: TypeDateFormat;\n toggle?: IToggleOptions;\n select?: ISelectOptions;\n textarea?: ITextareaOptions;\n resourcePicker?: IResourcePickerOptions;\n customKey?: string;\n visible?: boolean;\n displayValue?: any;\n order?: number;\n table?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n form?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n filter?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n}\n\nexport interface ISchemaObjectExtensionFieldFilterCapabilities {\n where?: boolean;\n // filter?: boolean;\n order?: boolean;\n // group?: boolean;\n}\n\nexport interface ISchemaObjectExtensionFieldFilter {\n capabilities?: ISchemaObjectExtensionFieldFilterCapabilities;\n}\n\nexport interface ISchemaObjectExtensionField {\n key?: string;\n rest?: ISchemaObjectExtensionFieldRest;\n filter?: ISchemaObjectExtensionFieldFilter;\n}\n\ndeclare module 'openapi3-ts/oas30' {\n export interface SchemaObject extends ISchemaObjectExtensionField {}\n}\n\ndeclare module 'openapi3-ts/oas31' {\n export interface SchemaObject extends ISchemaObjectExtensionField {}\n}\n\nexport type TypeSchemaScene = 'table' | 'form' | 'filter';\nexport type TypeFormSchemaScene = 'form' | 'filter';\n\nexport const renderFormFieldTopPropsSystem = ['order', 'table', 'form', 'filter'];\nexport const renderTableColumnTopPropsSystem = ['order', 'table', 'form', 'filter', 'displayValue'];\n\nexport type TypeRenderComponentPreset =\n | keyof TypeResourceActionRowRecordRender\n | 'text'\n | 'captcha'\n | 'currency'\n | 'date'\n | 'dateRange'\n | 'textarea'\n | 'select'\n | 'checkbox'\n | 'radio'\n | 'switch'\n | 'image'\n | 'file'\n | 'color'\n | 'password'\n | 'email'\n | 'url';\n\n// form\nexport type TypeFormFieldRenderComponentNormal = Constructable<ComponentPublicInstance> | keyof IComponentRecord | TypeRenderComponentPreset;\nexport type TypeFormFieldRenderComponent = TypeFormFieldRenderComponentNormal | TypeRenderComponentJsx;\nexport type TypeFormFieldRenderComponentProvider =\n | Constructable\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | 'input'\n | 'textarea'\n | 'select';\n\n// table\nexport type TypeTableCellRenderComponentNormal =\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | keyof TypeBeanRecordGeneralSelector<'tableCell'>\n | TypeRenderComponentPreset;\nexport type TypeTableCellRenderComponent = TypeTableCellRenderComponentNormal | TypeRenderComponentJsx;\nexport type TypeTableCellRenderComponentProvider =\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | keyof TypeBeanRecordGeneralSelector<'tableCell'>\n | 'text';\nexport type TypeTableRenderComponentProvider = Constructable<ComponentPublicInstance> | keyof IComponentRecord | TypeRenderComponentJsx;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/types/database.ts","../src/lib/schema.ts","../src/model/sdk.ts","../src/types/sdk.ts","../src/bean/sys.sdk.ts","../src/bean/bean.resourceProviders.ts","../src/config/config.ts","../src/monkey.ts","../src/.metadata/index.ts","../src/types/rest.ts"],"sourcesContent":["export const OrderCoreBase = 100;\nexport const OrderBusinessBase = 1000;\nexport const OrderUnknownBase = 10000;\nexport const OrderMaxBase = 100000;\n","import type { OperationObject, ParameterObject, RequestBodyObject, SchemaObject } from 'openapi3-ts/oas31';\n\nimport jsonSchemaToZod from '@cabloy/json-schema-to-zod';\nimport { evaluateSimple } from '@cabloy/utils';\nimport { toRaw } from 'vue';\nimport { z } from 'zod';\nimport { cast, deepExtend } from 'zova';\n\nimport type { TypeSchemaScene } from '../types/rest.js';\n\nimport { OrderUnknownBase } from '../types/database.js';\n\nconst __FilterColumnsIgnore = ['columns', 'where', 'orders', 'pageNo', 'pageSize'];\n\nexport function loadSchemaProperties(\n schema: SchemaObject | undefined,\n onGetSchema: (schemaName: string) => SchemaObject | undefined,\n schemaScene?: TypeSchemaScene,\n): SchemaObject[] | undefined {\n if (!schema) return;\n const properties = schema.properties!;\n const result: SchemaObject[] = [];\n // filter\n for (let key in properties) {\n let property = properties[key] as SchemaObject;\n if (property.$ref) {\n property = onGetSchema(property.$ref)!;\n }\n if (!property) continue;\n const fieldSource = property.rest?.fieldSource;\n if (fieldSource) {\n const parts = fieldSource.split('.');\n const propertyParent: any = parts[0] === key ? property : result.find(item => item.key === parts[0]);\n property = propertyParent?.properties[parts[1]];\n key = fieldSource;\n }\n if (!property) continue;\n property = deepExtend(\n { key },\n property,\n schemaScene && ['form-view', 'form-create', 'filter'].includes(schemaScene) ? { rest: property.rest?.['form'] ?? {} } : undefined,\n schemaScene ? { rest: property.rest?.[schemaScene] ?? {} } : undefined,\n );\n result.push(property);\n }\n // sort\n result.sort((a, b) => {\n return (a.rest?.order ?? OrderUnknownBase) - (b.rest?.order ?? OrderUnknownBase);\n });\n // ok\n return result;\n}\n\nexport function schemaToZodSchema<T extends z.ZodType = z.ZodType>(\n schema: SchemaObject,\n onGetSchema: (schemaName: string) => SchemaObject | undefined,\n): T {\n const schemaNormalize = _normalizeSchema(toRaw(schema), onGetSchema);\n const code = jsonSchemaToZod(schemaNormalize);\n return evaluateSimple(code, { z });\n}\n\nfunction _normalizeSchema(schema: SchemaObject, onGetSchema: (schemaName: string) => SchemaObject | undefined) {\n if (!schema.properties) return schema;\n const schemaNew = Object.assign({}, schema, { properties: {} });\n for (const key in schema.properties) {\n let property = schema.properties[key] as SchemaObject | undefined;\n if (property?.$ref) {\n property = onGetSchema(property.$ref);\n }\n if (!property) continue;\n schemaNew.properties[key] = _normalizeSchema(property, onGetSchema);\n }\n return schemaNew;\n}\n\nexport function getSchemaOfRequestBody(operationObject?: OperationObject): SchemaObject | undefined {\n return cast<RequestBodyObject>(operationObject?.requestBody)?.content?.['application/json']?.schema as any;\n}\n\nexport function getSchemaOfResponseBody(operationObject?: OperationObject): SchemaObject | undefined {\n return operationObject?.responses?.['200']?.content?.['application/json']?.schema;\n}\n\nexport function getSchemaOfRequestQuery(operationObject?: OperationObject): SchemaObject | undefined {\n const parameters = operationObject?.parameters;\n if (!parameters) return;\n const schema: SchemaObject = { type: 'object', required: [], properties: {} };\n for (const _parameter of parameters) {\n const parameter = _parameter as ParameterObject;\n if (parameter.in !== 'query') continue;\n const name = parameter.name;\n const fieldSchema = parameter.schema! as SchemaObject;\n schema.properties![name] = fieldSchema;\n if (parameter.required) schema.required!.push(name);\n }\n return schema;\n}\n\nexport function getSchemaOfRequestQueryFilter(operationObject?: OperationObject, options?: { where?: boolean; order?: boolean }) {\n const parameters = operationObject?.parameters;\n if (!parameters) return;\n const schema: SchemaObject = { type: 'object', required: [], properties: {} };\n for (const _parameter of parameters) {\n const parameter = _parameter as ParameterObject;\n if (parameter.in !== 'query') continue;\n const name = parameter.name;\n if (__FilterColumnsIgnore.includes(name)) continue;\n const fieldSchema = parameter.schema! as SchemaObject;\n if (\n (options?.where === true && fieldSchema.filter?.capabilities?.where !== false) ||\n (options?.order === true && fieldSchema.filter?.capabilities?.order !== false)\n ) {\n schema.properties![name] = fieldSchema;\n if (parameter.required) schema.required!.push(name);\n }\n }\n return schema;\n}\n","import { isNil } from '@cabloy/utils';\nimport { SchemaObject } from 'openapi3-ts/oas31';\nimport z from 'zod';\nimport { cast, ILocaleRecord, TypeEventOff, Use, usePrepareArg } from 'zova';\nimport { IApiSchemaOptions } from 'zova-module-a-api';\nimport { $QueryAutoLoad, BeanModelBase, IDecoratorModelOptions, Model } from 'zova-module-a-model';\n\nimport { SysSdk } from '../bean/sys.sdk.js';\nimport {\n getSchemaOfRequestBody,\n getSchemaOfRequestQuery,\n getSchemaOfRequestQueryFilter,\n getSchemaOfResponseBody,\n loadSchemaProperties,\n schemaToZodSchema,\n} from '../lib/schema.js';\nimport { TypeOpenapiPermissions } from '../types/permissions.js';\nimport { TypeSchemaScene } from '../types/rest.js';\nimport { IOpenapiSchemas, TypeOpenapiSchemasSdk } from '../types/schema.js';\nimport { TypeRequestMethod } from '../types/sdk.js';\n\nconst __schemaRefPrefix = '#/components/schemas/';\n\nexport interface IModelOptionsSdk extends IDecoratorModelOptions {}\n\n@Model<IModelOptionsSdk>({\n enableSelector: true,\n})\nexport class ModelSdk extends BeanModelBase {\n private _eventSsrHmrReload: TypeEventOff;\n\n @Use({ beanFullName: 'a-openapi.sys.sdk' })\n get $$sysSdk(): SysSdk {\n return usePrepareArg(this.selector, true);\n }\n\n protected async __init__(locale: keyof ILocaleRecord) {\n if (!locale) throw new Error('locale not specified');\n await super.__init__(locale);\n // event\n if (process.env.CLIENT && this.sys.config.ssr.hmr) {\n this._eventSsrHmrReload = this.sys.meta.event.on('a-ssrhmr:reload', async (_data, next) => {\n await this.$refetchQueries({ queryKey: ['bootstrap'] });\n await this.$refetchQueries({ queryKey: ['sdk'] });\n return next();\n });\n }\n }\n\n protected __dispose__() {\n if (this._eventSsrHmrReload) {\n this._eventSsrHmrReload();\n }\n }\n\n getBootstrap(resource: string) {\n return this.$useStateData({\n queryKey: ['bootstrap', resource],\n queryFn: async () => {\n const bootstrap = await this.$$sysSdk.loadBootstrap(this.$fetch, resource);\n if (!bootstrap) throw new Error('load bootstrap error');\n if (process.env.SERVER) {\n await $QueryAutoLoad(() => this.getPermissions(resource));\n } else {\n await this.$refetchQueries({ queryKey: ['permissions', resource] });\n }\n return bootstrap ?? null;\n },\n });\n }\n\n getPermissions(resource: string) {\n return this.$useStateData({\n queryKey: ['permissions', resource],\n queryFn: async () => {\n const permissions = (await this.$fetch.get(\n this.sys.util.apiActionPathTranslate(this.scope.config.api.permissions, { resource }),\n this.sys.util.apiActionConfigPrepare(),\n )) as TypeOpenapiPermissions;\n return permissions ?? null;\n },\n });\n }\n\n getSdk(api: string, apiMethod?: TypeRequestMethod, apiOptions?: IApiSchemaOptions): TypeOpenapiSchemasSdk {\n if (!api) throw new Error('should specify api');\n const [api2, apiMethod2] = this.$$sysSdk.prepareApiMeta(api, apiMethod);\n return this.$useStateData({\n queryKey: ['sdk', api2, apiMethod2],\n queryFn: async () => {\n const sdk = await this.$$sysSdk.loadSdk(this.$fetch, api, apiMethod, apiOptions);\n if (!sdk) throw new Error('load sdk error');\n for (const schemaName of sdk.schemas) {\n if (process.env.SERVER) {\n await $QueryAutoLoad(() => this.getSchema(schemaName));\n } else {\n await this.$refetchQueries({ queryKey: ['schema', schemaName] });\n }\n }\n return sdk;\n },\n }) as TypeOpenapiSchemasSdk;\n }\n\n getSchema(schemaName: string) {\n if (schemaName.startsWith(__schemaRefPrefix)) {\n schemaName = schemaName.substring(__schemaRefPrefix.length);\n }\n return this.$useStateData({\n queryKey: ['schema', schemaName],\n queryFn: async () => {\n const schema = this.$$sysSdk.getSchema(schemaName);\n return schema ?? null;\n },\n });\n }\n\n getZodSchema(schemaName: string) {\n return this.$useStateComputed({\n queryKey: ['zodSchema', schemaName],\n queryFn: () => {\n const querySchema = this.getSchema(schemaName);\n if (!querySchema.data) return null;\n const zodSchema = this.schemaToZodSchema(querySchema.data);\n return zodSchema;\n },\n });\n }\n\n getSchemaDefaultValue(schemaName: string) {\n return this.$useStateComputed({\n queryKey: ['schemaDefaultValue', schemaName],\n queryFn: () => {\n const querySchema = this.getSchema(schemaName);\n if (!querySchema.data) return null;\n const schema = querySchema.data;\n // const schema = this.$$sysSdk.getSchema(schemaName);\n // if (!schema) return null;\n const defaultValues = {};\n for (const key in schema.properties) {\n const property = schema.properties[key] as any;\n if (!isNil(property.default)) {\n defaultValues[key] = property.default;\n }\n }\n return defaultValues;\n },\n });\n }\n\n public createApiSchemas(api: string, apiMethod?: TypeRequestMethod, apiOptions?: IApiSchemaOptions): IOpenapiSchemas {\n // eslint-disable-next-line\n const self = this;\n const sdk = this.getSdk(api, apiMethod, apiOptions);\n return {\n get sdk() {\n return sdk;\n },\n get query() {\n const operationObject = sdk.data?.operationObject;\n return getSchemaOfRequestQuery(operationObject);\n },\n get filter() {\n const operationObject = sdk.data?.operationObject;\n return getSchemaOfRequestQueryFilter(operationObject, { where: true });\n },\n get requestBody() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfRequestBody(operationObject);\n const schemaName = cast(schemaBody)?.$ref;\n if (schemaName) return self.getSchema(schemaName).data;\n return schemaBody;\n },\n get responseBody() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n const schemaData = schemaBody?.properties?.data;\n const schemaName = cast(schemaData)?.$ref;\n if (schemaName) return self.getSchema(schemaName).data;\n return schemaData as SchemaObject;\n },\n get paged() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n if (!schemaBody) return;\n const schemaName = cast(schemaBody?.properties?.data)?.items?.$ref;\n if (schemaName) return;\n // pages\n return this.responseBody;\n },\n get row() {\n const operationObject = sdk.data?.operationObject;\n const schemaBody = getSchemaOfResponseBody(operationObject);\n if (!schemaBody) return;\n // schemaData\n let schemaData;\n if (schemaBody?.properties?.data.$ref) {\n schemaData = self.getSchema(schemaBody?.properties?.data.$ref).data;\n } else {\n schemaData = schemaBody?.properties?.data;\n }\n // entry\n const schemaName = cast(schemaData)?.items?.$ref;\n if (schemaName) {\n return self.getSchema(schemaName).data;\n }\n // pages\n const schemaRow = cast(schemaData?.properties?.list)?.items;\n if (schemaRow?.$ref) {\n return self.getSchema(schemaRow?.$ref).data;\n }\n return schemaRow;\n },\n };\n }\n\n public loadSchemaProperties(schema: SchemaObject | undefined, schemaScene?: TypeSchemaScene): SchemaObject[] | undefined {\n return loadSchemaProperties(schema, schemaName => this.getSchema(schemaName).data, schemaScene);\n }\n\n public schemaToZodSchema<T extends z.ZodType = z.ZodType>(schema: SchemaObject): T {\n return schemaToZodSchema(schema, schemaName => this.getSchema(schemaName).data);\n }\n}\n","import type { OperationObject } from 'openapi3-ts/oas31';\n\nimport type { ModelSdk } from '../model/sdk.js';\nimport type { IOpenapiSchemaMeta } from './schema.js';\n\nexport const SymbolOpenapiSchemaName = '__schemaName__';\n\nexport interface IOpenapiSdkBootstrap {\n apiPath: string;\n}\n\nexport interface IOpenapiSdkItem {\n schemas: string[];\n operationObject: OperationObject;\n meta?: IOpenapiSchemaMeta;\n}\n\nexport type TypeRequestMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'options' | 'head';\n\ndeclare module 'zova' {\n export interface BeanBase {\n $sdk: ModelSdk;\n }\n}\n","import type { SchemaObject } from 'openapi3-ts/oas31';\n\nimport { shallowReactive } from 'vue';\nimport { BeanBase, IApiActionConfigPrepareOptions, ILocaleRecord, TypeEventOff } from 'zova';\nimport { IApiSchemaOptions } from 'zova-module-a-api';\nimport { Sys } from 'zova-module-a-bean';\nimport { BeanFetch } from 'zova-module-a-fetch';\n\nimport { IOpenapiSchema } from '../types/schema.js';\nimport {\n IOpenapiSdkBootstrap,\n IOpenapiSdkItem,\n SymbolOpenapiSchemaName,\n TypeRequestMethod,\n} from '../types/sdk.js';\n\n// const PATH_PARAM_RE = /\\{([^{}/]+)\\}/g;\n\n@Sys()\nexport class SysSdk extends BeanBase {\n private locale: keyof ILocaleRecord;\n bootstraps: Record<string, IOpenapiSdkBootstrap>;\n schemas: Record<string, SchemaObject>;\n sdks: Record<string, Record<string, IOpenapiSdkItem>>;\n private _eventSsrHmrReload: TypeEventOff;\n private _fetch: BeanFetch;\n\n protected async __init__(locale: keyof ILocaleRecord) {\n this.locale = locale;\n this.bootstraps = shallowReactive({});\n this.schemas = shallowReactive({});\n this.sdks = shallowReactive({});\n // event\n if (this.sys.config.ssr.hmr) {\n this._eventSsrHmrReload = this.sys.meta.event.on('a-ssrhmr:reload', async (_data, next) => {\n await this.reload();\n return next();\n });\n }\n }\n\n protected __dispose__() {\n if (this._eventSsrHmrReload) {\n this._eventSsrHmrReload();\n }\n }\n\n private async reload() {\n // server\n if (process.env.SERVER) {\n this.bootstraps = shallowReactive({});\n this.schemas = shallowReactive({});\n this.sdks = shallowReactive({});\n return;\n }\n // client\n // bootstraps\n const bootstraps = this.bootstraps;\n this.bootstraps = shallowReactive({});\n for (const resource in bootstraps) {\n await this.loadBootstrap(this._fetch, resource);\n }\n // sdks\n const sdks = this.sdks;\n this.sdks = shallowReactive({});\n for (const api in sdks) {\n for (const apiMethod in sdks[api]) {\n await this.loadSdk(this._fetch, api, apiMethod as any, { authToken: false });\n }\n }\n }\n\n getBootstrap(resource: string): IOpenapiSdkBootstrap | undefined {\n return this.bootstraps[resource];\n }\n\n getSdk(api: string | undefined, apiMethod: string | undefined): IOpenapiSdkItem | undefined {\n if (!api) return;\n const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);\n return this.sdks[api2]?.[apiMethod2];\n }\n\n getSchema(schemaName: string): SchemaObject {\n return this.schemas[schemaName];\n }\n\n async loadBootstrap($fetch: BeanFetch, resource: string): Promise<IOpenapiSdkBootstrap> {\n if (process.env.CLIENT) {\n this._fetch = $fetch;\n }\n if (!this.bootstraps[resource]) {\n this.bootstraps[resource] = await $fetch.get(\n this.sys.util.apiActionPathTranslate(this.scope.config.api.bootstrap, { resource }),\n this.sys.util.apiActionConfigPrepare(undefined, undefined, false),\n );\n }\n return this.bootstraps[resource];\n }\n\n async loadSdk(\n $fetch: BeanFetch,\n api?: string,\n apiMethod?: TypeRequestMethod,\n apiOptions?: IApiSchemaOptions,\n ): Promise<IOpenapiSdkItem | undefined> {\n if (process.env.CLIENT) {\n this._fetch = $fetch;\n }\n if (!api) return;\n const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);\n if (this.sdks[api2]?.[apiMethod2]) return this.sdks[api2][apiMethod2];\n // params\n const params: any[] = [this.sys.util.apiActionPathTranslate(api2)];\n // body\n if (!['get', 'delete'].includes(apiMethod2)) {\n params.push(undefined);\n }\n // options\n const options: IApiActionConfigPrepareOptions = {\n authToken: apiOptions?.authToken,\n openapiSchema: true,\n headers: {},\n };\n const localeKey = this.sys.env.APP_LOCALE_HEADER_KEY;\n if (localeKey) {\n options.headers![localeKey] = this.locale;\n }\n params.push(this.sys.util.apiActionConfigPrepare(undefined, options));\n const data: IOpenapiSchema = await $fetch[apiMethod2](...params);\n // schemas\n const schemaNames: string[] = [];\n const schemas = data.doc.components?.schemas;\n if (schemas) {\n for (const key in schemas) {\n const schema = schemas[key] as unknown as SchemaObject;\n if (!schema[SymbolOpenapiSchemaName]) {\n schema[SymbolOpenapiSchemaName] = key;\n }\n this.schemas[key] = schema;\n schemaNames.push(key);\n }\n }\n // paths\n const paths = data.doc.paths;\n if (paths) {\n for (const key in paths) {\n // const path = key.replace(PATH_PARAM_RE, ':$1');\n if (!this.sdks[api2]) this.sdks[api2] = shallowReactive({});\n for (const method in paths[key]) {\n this.sdks[api2][method] = {\n schemas: schemaNames,\n operationObject: paths[key][method],\n meta: data.meta,\n };\n }\n }\n }\n // ok\n return this.sdks[api2][apiMethod2];\n }\n\n prepareApiMeta(api: string, apiMethod?: string) {\n return [api, apiMethod ?? 'get'];\n }\n}\n","import { BeanBase } from 'zova';\nimport { Bean } from 'zova-module-a-bean';\n\nimport { IFormProvider, ITableProvider } from '../types/resourceProviders.js';\n\n@Bean()\nexport class BeanResourceProviders extends BeanBase {\n public formProvider: IFormProvider;\n public tableProvider: ITableProvider;\n\n protected async __init__() {\n this.formProvider = this.$useComputed(() => {\n const resourceProviders = this.scope.config.resourceProviders;\n return {\n components: Object.assign({}, resourceProviders.blocks, resourceProviders.formFields, resourceProviders.form?.actionsRow),\n behaviors: resourceProviders.behaviors,\n };\n });\n this.tableProvider = this.$useComputed(() => {\n const resourceProviders = this.scope.config.resourceProviders;\n return {\n components: Object.assign(\n {},\n resourceProviders.blocks,\n resourceProviders.tableCells,\n resourceProviders.table?.actionsBulk,\n resourceProviders.table?.actionsRow,\n ),\n };\n });\n }\n}\n","import type { ZovaSys } from 'zova';\n\nimport { IResourceProviders } from '../types/resourceProviders.js';\n\nexport const config = (_sys: ZovaSys) => {\n return {\n resourceProviders: {} as IResourceProviders,\n api: {\n bootstrap: '/api/openapischema/resource/bootstrap/:resource',\n permissions: '/api/home/base/permission/:resource',\n },\n };\n};\n","import type { IModule } from '@cabloy/module-info';\nimport type { Ref } from 'vue';\nimport type { BeanBase, BeanContainer, IMonkeyBeanInit, IMonkeyModule } from 'zova';\n\nimport { ref, watch } from 'vue';\nimport { BeanSimple } from 'zova';\n\nimport type { ModelSdk } from './model/sdk.js';\n\nexport class Monkey extends BeanSimple implements IMonkeyModule, IMonkeyBeanInit {\n private _moduleSelf: IModule;\n private _modelSdk: Ref<ModelSdk | undefined> = ref();\n\n constructor(moduleSelf: IModule) {\n super();\n this._moduleSelf = moduleSelf;\n }\n\n async moduleLoading(_module: IModule) {}\n async moduleLoaded(module: IModule) {\n // self\n if (this._moduleSelf === module) {\n await this._loadSdk();\n this.ctx.util.instanceScope(() => {\n return watch(\n () => {\n return this.app.meta.locale.current;\n },\n async () => {\n await this._loadSdk();\n },\n );\n });\n }\n }\n\n async beanInit(bean: BeanContainer, beanInstance: BeanBase) {\n const self = this;\n // $sdk\n bean.defineProperty(beanInstance, '$sdk', {\n enumerable: false,\n configurable: true,\n get() {\n return self._modelSdk;\n },\n });\n }\n\n private async _loadSdk() {\n this._modelSdk.value = await this.app.bean._getBeanSelector(\n 'a-openapi.model.sdk',\n true,\n this.app.meta.locale.current,\n );\n }\n}\n","// eslint-disable\n/** model: begin */\nexport * from '../model/sdk.js';\nimport { IModelOptionsSdk } from '../model/sdk.js';\nimport 'zova-module-a-model';\ndeclare module 'zova-module-a-model' {\n \n export interface IModelRecord {\n 'a-openapi:sdk': IModelOptionsSdk;\n }\n\n \n}\ndeclare module 'zova-module-a-openapi' {\n \n export interface ModelSdk {\n /** @internal */\n get scope(): ScopeModuleAOpenapi;\n }\n\n export interface ModelSdk {\n get $beanFullName(): 'a-openapi.model.sdk';\n get $onionName(): 'a-openapi:sdk';\n get $onionOptions(): IModelOptionsSdk;\n } \n}\n/** model: end */\n/** model: begin */\nimport { ModelSdk } from '../model/sdk.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'a-openapi.model.sdk': ModelSdk;\n }\n}\n/** model: end */\n/** sys: begin */\nexport * from '../bean/sys.sdk.js';\n\nimport 'zova';\ndeclare module 'zova' {\n \n \n}\ndeclare module 'zova-module-a-openapi' {\n \n export interface SysSdk {\n /** @internal */\n get scope(): ScopeModuleAOpenapi;\n }\n\n export interface SysSdk {\n get $beanFullName(): 'a-openapi.sys.sdk';\n get $onionName(): 'a-openapi:sdk';\n \n } \n}\n/** sys: end */\n/** sys: begin */\nimport { SysSdk } from '../bean/sys.sdk.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'a-openapi.sys.sdk': SysSdk;\n }\n}\n/** sys: end */\n/** bean: begin */\nexport * from '../bean/bean.resourceProviders.js';\n\nimport 'zova';\ndeclare module 'zova' {\n \n \n}\ndeclare module 'zova-module-a-openapi' {\n \n export interface BeanResourceProviders {\n /** @internal */\n get scope(): ScopeModuleAOpenapi;\n }\n\n export interface BeanResourceProviders {\n get $beanFullName(): 'a-openapi.bean.resourceProviders';\n get $onionName(): 'a-openapi:resourceProviders';\n \n } \n}\n/** bean: end */\n/** bean: begin */\nimport { BeanResourceProviders } from '../bean/bean.resourceProviders.js';\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanRecordGeneral {\n 'a-openapi.bean.resourceProviders': BeanResourceProviders;\n }\n}\n/** bean: end */\n/** config: begin */\nexport * from '../config/config.js';\nimport { config } from '../config/config.js';\n/** config: end */\n/** monkey: begin */\nexport * from '../monkey.js';\n/** monkey: end */\n/** scope: begin */\nimport { BeanScopeBase, type BeanScopeUtil, TypeModuleConfig } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\n\n@Scope()\nexport class ScopeModuleAOpenapi extends BeanScopeBase {}\n\nexport interface ScopeModuleAOpenapi {\n util: BeanScopeUtil;\nconfig: TypeModuleConfig<typeof config>;\n}\n\nimport 'zova';\ndeclare module 'zova' {\n export interface IBeanScopeRecord {\n 'a-openapi': ScopeModuleAOpenapi;\n }\n \n export interface IBeanScopeConfig {\n 'a-openapi': ReturnType<typeof config>;\n }\n\n \n\n \n}\n \n/** scope: end */\n","import type { ComponentPublicInstance } from 'vue';\nimport type { Constructable, IComponentRecord, TypeBeanRecordGeneralSelector } from 'zova';\nimport type { TypeRenderComponentJsx } from 'zova-jsx';\n\nimport 'openapi3-ts/oas30';\nimport 'openapi3-ts/oas31';\nimport { IResourceComponentBlockOptionsBlock } from './blocks.js';\nimport { IResourceComponentFormFieldRecord } from './formField.js';\nimport { IResourceProvidersTableActionsRow, IResourceProvidersTableCells } from './resourceProviders.js';\n\nexport interface ISchemaRenderComponentPresetRecord extends IResourceComponentFormFieldRecord {}\n\nexport interface ISchemaObjectExtensionFieldRestTable {\n //\n preset?: ISchemaRenderComponentPresetRecord;\n //\n fieldSource?: string;\n visible?: boolean;\n order?: number;\n disableNotifyChanged?: boolean;\n readonly?: boolean;\n //\n render?: TypeTableCellRenderComponentNormal;\n}\n\nexport interface ISchemaObjectExtensionFieldRest {\n //\n 'preset'?: ISchemaRenderComponentPresetRecord;\n 'blocks'?: IResourceComponentBlockOptionsBlock[];\n //\n 'fieldSource'?: string;\n 'visible'?: boolean;\n 'order'?: number;\n 'disableNotifyChanged'?: boolean;\n 'readonly'?: boolean;\n //\n 'render'?: TypeFormFieldRenderComponentNormal | TypeTableCellRenderComponentNormal;\n 'table'?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n 'form'?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n 'form-view'?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n 'form-create'?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n 'filter'?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;\n}\n\nexport interface ISchemaObjectExtensionFieldFilterCapabilities {\n where?: boolean;\n // filter?: boolean;\n order?: boolean;\n // group?: boolean;\n}\n\nexport interface ISchemaObjectExtensionFieldFilter {\n capabilities?: ISchemaObjectExtensionFieldFilterCapabilities;\n}\n\nexport interface ISchemaObjectExtensionField {\n key?: string;\n rest?: ISchemaObjectExtensionFieldRest;\n filter?: ISchemaObjectExtensionFieldFilter;\n}\n\ndeclare module 'openapi3-ts/oas30' {\n export interface SchemaObject extends ISchemaObjectExtensionField {}\n}\n\ndeclare module 'openapi3-ts/oas31' {\n export interface SchemaObject extends ISchemaObjectExtensionField {}\n}\n\nexport type TypeSchemaScene = 'table' | TypeFormSchemaScene;\nexport type TypeFormSchemaScene = 'form' | 'form-view' | 'form-create' | 'filter';\n\nexport const renderFormFieldTopPropsSystem = ['order', 'table', 'form', 'form-view', 'form-create', 'filter'];\nexport const renderTableColumnTopPropsSystem = ['order', 'table', 'form', 'form-view', 'form-create', 'filter'];\n\nexport type TypeRenderComponentPreset = keyof ISchemaRenderComponentPresetRecord;\n// | 'text'\n// | 'captcha'\n// | 'currency'\n// | 'date'\n// | 'dateRange'\n// | 'toggle'\n// | 'select'\n// | 'textarea'\n// | 'resourcePicker';\n// | 'checkbox';\n// | 'radio'\n// | 'switch';\n// | 'image'\n// | 'file'\n// | 'color'\n// | 'password'\n// | 'email'\n// | 'url';\n\n// form\nexport type TypeFormFieldRenderComponentNormal = Constructable<ComponentPublicInstance> | keyof IComponentRecord | TypeRenderComponentPreset;\nexport type TypeFormFieldRenderComponent = TypeFormFieldRenderComponentNormal | TypeRenderComponentJsx;\n// should use input for config.ts of a-openapi\nexport type TypeFormFieldRenderComponentProvider = Constructable | Constructable<ComponentPublicInstance> | keyof IComponentRecord | 'input';\n// | 'input'\n// | 'textarea'\n// | 'select';\n\n// table\nexport type TypeTableCellRenderComponentNormal =\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | keyof TypeBeanRecordGeneralSelector<'tableCell'>\n | TypeRenderComponentPreset;\nexport type TypeTableCellRenderComponent = keyof (IResourceProvidersTableCells & IResourceProvidersTableActionsRow) | TypeRenderComponentJsx;\nexport type TypeTableCellRenderComponentProvider =\n | Constructable<ComponentPublicInstance>\n | TypeRenderComponentJsx\n | keyof IComponentRecord\n | keyof TypeBeanRecordGeneralSelector<'tableCell'>\n | 'text';\nexport type TypeTableBulkRenderComponentProvider = Constructable<ComponentPublicInstance> | keyof IComponentRecord | TypeRenderComponentJsx;\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { OperationObject, SchemaObject } from 'openapi3-ts/oas31';
2
2
  import { z } from 'zod';
3
3
  import type { TypeSchemaScene } from '../types/rest.js';
4
- export declare function loadSchemaProperties(schema: SchemaObject | undefined, onGetSchema: (schemaName: string) => SchemaObject | undefined, scene?: TypeSchemaScene): SchemaObject[] | undefined;
4
+ export declare function loadSchemaProperties(schema: SchemaObject | undefined, onGetSchema: (schemaName: string) => SchemaObject | undefined, schemaScene?: TypeSchemaScene): SchemaObject[] | undefined;
5
5
  export declare function schemaToZodSchema<T extends z.ZodType = z.ZodType>(schema: SchemaObject, onGetSchema: (schemaName: string) => SchemaObject | undefined): T;
6
6
  export declare function getSchemaOfRequestBody(operationObject?: OperationObject): SchemaObject | undefined;
7
7
  export declare function getSchemaOfResponseBody(operationObject?: OperationObject): SchemaObject | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/lib/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAsC,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK3G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMxD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,EAC7D,KAAK,CAAC,EAAE,eAAe,GACtB,YAAY,EAAE,GAAG,SAAS,CA4B5B;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC/D,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,GAC5D,CAAC,CAIH;AAgBD,wBAAgB,sBAAsB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAElG;AAED,wBAAgB,uBAAuB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAEnG;AAED,wBAAgB,uBAAuB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAanG;AAED,wBAAgB,6BAA6B,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,4BAmB9H"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/lib/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAsC,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAK3G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMxD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,EAC7D,WAAW,CAAC,EAAE,eAAe,GAC5B,YAAY,EAAE,GAAG,SAAS,CAiC5B;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAC/D,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,GAC5D,CAAC,CAIH;AAgBD,wBAAgB,sBAAsB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAElG;AAED,wBAAgB,uBAAuB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAEnG;AAED,wBAAgB,uBAAuB,CAAC,eAAe,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,CAanG;AAED,wBAAgB,6BAA6B,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,4BAmB9H"}
@@ -4,7 +4,7 @@ import { ILocaleRecord } from 'zova';
4
4
  import { IApiSchemaOptions } from 'zova-module-a-api';
5
5
  import { BeanModelBase, IDecoratorModelOptions } from 'zova-module-a-model';
6
6
  import { SysSdk } from '../bean/sys.sdk.js';
7
- import { TypeOpenapiPermissions } from '../types/resourceMeta.js';
7
+ import { TypeOpenapiPermissions } from '../types/permissions.js';
8
8
  import { TypeSchemaScene } from '../types/rest.js';
9
9
  import { IOpenapiSchemas, TypeOpenapiSchemasSdk } from '../types/schema.js';
10
10
  import { TypeRequestMethod } from '../types/sdk.js';
@@ -22,7 +22,7 @@ export declare class ModelSdk extends BeanModelBase {
22
22
  getZodSchema(schemaName: string): z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>> | null;
23
23
  getSchemaDefaultValue(schemaName: string): {} | null;
24
24
  createApiSchemas(api: string, apiMethod?: TypeRequestMethod, apiOptions?: IApiSchemaOptions): IOpenapiSchemas;
25
- loadSchemaProperties(schema: SchemaObject | undefined, scene?: TypeSchemaScene): SchemaObject[] | undefined;
25
+ loadSchemaProperties(schema: SchemaObject | undefined, schemaScene?: TypeSchemaScene): SchemaObject[] | undefined;
26
26
  schemaToZodSchema<T extends z.ZodType = z.ZodType>(schema: SchemaObject): T;
27
27
  }
28
28
  //# sourceMappingURL=sdk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/model/sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAQ,aAAa,EAAoC,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAkB,aAAa,EAAE,sBAAsB,EAAS,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAS5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;CAAG;AAEnE,qBAGa,QAAS,SAAQ,aAAa;IACzC,OAAO,CAAC,kBAAkB,CAAe;IAEzC,IACI,QAAQ,IAAI,MAAM,CAErB;cAEe,QAAQ,CAAC,MAAM,EAAE,MAAM,aAAa;IAapD,SAAS,CAAC,WAAW;IAMrB,YAAY,CAAC,QAAQ,EAAE,MAAM;IAgB7B,cAAc,CAAC,QAAQ,EAAE,MAAM;IAiB/B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,qBAAqB;IAoBzG,SAAS,CAAC,UAAU,EAAE,MAAM;IAa5B,YAAY,CAAC,UAAU,EAAE,MAAM;IAY/B,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAqBjC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,eAAe;IAiE7G,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,YAAY,EAAE,GAAG,SAAS;IAI3G,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC;CAGnF"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/model/sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAAQ,aAAa,EAAoC,MAAM,MAAM,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAkB,aAAa,EAAE,sBAAsB,EAAS,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAS5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIpD,MAAM,WAAW,gBAAiB,SAAQ,sBAAsB;CAAG;AAEnE,qBAGa,QAAS,SAAQ,aAAa;IACzC,OAAO,CAAC,kBAAkB,CAAe;IAEzC,IACI,QAAQ,IAAI,MAAM,CAErB;cAEe,QAAQ,CAAC,MAAM,EAAE,MAAM,aAAa;IAapD,SAAS,CAAC,WAAW;IAMrB,YAAY,CAAC,QAAQ,EAAE,MAAM;IAgB7B,cAAc,CAAC,QAAQ,EAAE,MAAM;IAa/B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,qBAAqB;IAoBzG,SAAS,CAAC,UAAU,EAAE,MAAM;IAa5B,YAAY,CAAC,UAAU,EAAE,MAAM;IAY/B,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAqBjC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,EAAE,iBAAiB,GAAG,eAAe;IAkE7G,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,EAAE,WAAW,CAAC,EAAE,eAAe,GAAG,YAAY,EAAE,GAAG,SAAS;IAIjH,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC;CAGnF"}
@@ -1 +1 @@
1
- {"version":3,"file":"monkey.d.ts","sourceRoot":"","sources":["../src/monkey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAGpF,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,qBAAa,MAAO,SAAQ,UAAW,YAAW,aAAa,EAAE,eAAe;IAC9E,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,SAAS,CAAoC;gBAEzC,UAAU,EAAE,OAAO;IAKzB,aAAa,CAAC,OAAO,EAAE,OAAO;IAC9B,YAAY,CAAC,MAAM,EAAE,OAAO;IAiB5B,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ;YAY5C,QAAQ;CAGvB"}
1
+ {"version":3,"file":"monkey.d.ts","sourceRoot":"","sources":["../src/monkey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAGpF,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAIlC,qBAAa,MAAO,SAAQ,UAAW,YAAW,aAAa,EAAE,eAAe;IAC9E,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,SAAS,CAAoC;gBAEzC,UAAU,EAAE,OAAO;IAKzB,aAAa,CAAC,OAAO,EAAE,OAAO;IAC9B,YAAY,CAAC,MAAM,EAAE,OAAO;IAiB5B,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ;YAY5C,QAAQ;CAOvB"}
@@ -1,6 +1,7 @@
1
1
  import type { BeanBase, ZovaApplication, ZovaContext } from 'zova';
2
2
  import type { ZovaJsx } from 'zova-jsx';
3
- import type { IActionRecord } from 'zova-module-a-action';
3
+ import { TableIdentity } from 'table-identity';
4
+ import { TypeOpenapiPermissions } from './permissions.js';
4
5
  export interface IJsxRenderContextBase {
5
6
  app: ZovaApplication;
6
7
  ctx: ZovaContext;
@@ -9,14 +10,26 @@ export interface IJsxRenderContextBase {
9
10
  $celScope?: unknown;
10
11
  $jsx: ZovaJsx;
11
12
  }
13
+ export interface IJsxRenderContextPageEntry extends IJsxRenderContextBase {
14
+ $celScope: IPageEntryScope;
15
+ }
16
+ export interface IPageEntryScope {
17
+ resource?: string;
18
+ id: TableIdentity | null;
19
+ permissions?: TypeOpenapiPermissions;
20
+ }
12
21
  export interface IJsxRenderSceneRecord {
13
- pageWrapper: never;
14
22
  page: never;
15
- pageEntryWrapper: never;
16
23
  pageEntry: never;
17
24
  tableColumn: never;
18
25
  tableCell: never;
19
26
  formField: never;
20
27
  }
21
- export type TypeActionProvider = keyof IActionRecord;
28
+ export interface IPageScope {
29
+ resource?: string;
30
+ permissions?: TypeOpenapiPermissions;
31
+ }
32
+ export interface IJsxRenderContextPage extends IJsxRenderContextBase {
33
+ $celScope: IPageScope;
34
+ }
22
35
  //# sourceMappingURL=action.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/types/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,qBAAqB,CAAC;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,KAAK,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC;IACZ,gBAAgB,EAAE,KAAK,CAAC;IACxB,SAAS,EAAE,KAAK,CAAC;IAEjB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IAEjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/types/action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,qBAAqB,CAAC;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,SAAS,EAAE,eAAe,CAAC;CAE5B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,KAAK,CAAC;IAEjB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC;IAEjB,SAAS,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,SAAS,EAAE,UAAU,CAAC;CAEvB"}