zova-module-a-openapi 5.1.36 → 5.1.41

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.
package/dist/index.js CHANGED
@@ -56,12 +56,25 @@ function _normalizeSchema(schema, onGetSchema) {
56
56
  const schemaNew = Object.assign({}, schema, { properties: {} });
57
57
  for (const key in schema.properties) {
58
58
  let property = schema.properties[key];
59
- if (property?.$ref) property = onGetSchema(property.$ref);
59
+ property = _normalizePropertySchema(property, onGetSchema);
60
60
  if (!property) continue;
61
- schemaNew.properties[key] = _normalizeSchema(property, onGetSchema);
61
+ if (property.items?.$ref) {
62
+ const propertyItems = _normalizePropertySchema(property.items, onGetSchema);
63
+ if (!propertyItems) continue;
64
+ property = {
65
+ ...property,
66
+ items: propertyItems
67
+ };
68
+ }
69
+ schemaNew.properties[key] = property;
62
70
  }
63
71
  return schemaNew;
64
72
  }
73
+ function _normalizePropertySchema(property, onGetSchema) {
74
+ if (property?.$ref) property = onGetSchema(property.$ref);
75
+ if (!property) return;
76
+ return _normalizeSchema(property, onGetSchema);
77
+ }
65
78
  function getSchemaOfRequestBody(operationObject) {
66
79
  return cast(operationObject?.requestBody)?.content?.["application/json"]?.schema;
67
80
  }
@@ -148,7 +161,8 @@ var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ m
148
161
  if (process.env.SERVER) await $QueryAutoLoad(() => this.getPermissions(resource));
149
162
  else await this.$refetchQueries({ queryKey: ["permissions", resource] });
150
163
  return bootstrap ?? null;
151
- }
164
+ },
165
+ staleTime: Infinity
152
166
  });
153
167
  }
154
168
  getPermissions(resource) {
@@ -156,7 +170,8 @@ var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ m
156
170
  queryKey: ["permissions", resource],
157
171
  queryFn: async () => {
158
172
  return await this.$fetch.get(this.sys.util.apiActionPathTranslate(this.scope.config.api.permissions, { resource }), this.sys.util.apiActionConfigPrepare()) ?? null;
159
- }
173
+ },
174
+ staleTime: Infinity
160
175
  });
161
176
  }
162
177
  getSdk(api, apiMethod, apiOptions) {
@@ -174,7 +189,8 @@ var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ m
174
189
  for (const schemaName of sdk.schemas) if (process.env.SERVER) await $QueryAutoLoad(() => this.getSchema(schemaName));
175
190
  else await this.$refetchQueries({ queryKey: ["schema", schemaName] });
176
191
  return sdk;
177
- }
192
+ },
193
+ staleTime: Infinity
178
194
  });
179
195
  }
180
196
  getSchema(schemaName) {
@@ -183,7 +199,8 @@ var ModelSdk = (_dec$2 = Model({ enableSelector: true }), _dec2$2 = BeanInfo({ m
183
199
  queryKey: ["schema", schemaName],
184
200
  queryFn: async () => {
185
201
  return this.$$sysSdk.getSchema(schemaName) ?? null;
186
- }
202
+ },
203
+ staleTime: Infinity
187
204
  });
188
205
  }
189
206
  getZodSchema(schemaName) {
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 {\n OperationObject,\n ParameterObject,\n RequestBodyObject,\n SchemaObject,\n} 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 { ISchemaObjectExtensionField, 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: ISchemaObjectExtensionField[] = [];\n // filter\n for (let key in properties) {\n let property = properties[key] as ISchemaObjectExtensionField;\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 =\n 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)\n ? { rest: property.rest?.['form'] ?? {} }\n : 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(\n schema: SchemaObject,\n onGetSchema: (schemaName: string) => SchemaObject | undefined,\n) {\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(\n operationObject?: OperationObject,\n): SchemaObject | undefined {\n return cast<RequestBodyObject>(operationObject?.requestBody)?.content?.['application/json']\n ?.schema as any;\n}\n\nexport function getSchemaOfResponseBody(\n operationObject?: OperationObject,\n): SchemaObject | undefined {\n return operationObject?.responses?.['200']?.content?.['application/json']?.schema;\n}\n\nexport function getSchemaOfRequestQuery(\n operationObject?: OperationObject,\n): 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(\n operationObject?: OperationObject,\n options?: { where?: boolean; order?: boolean },\n) {\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 ISchemaObjectExtensionField;\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(\n api: string,\n apiMethod?: TypeRequestMethod,\n apiOptions?: IApiSchemaOptions,\n ): 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(\n api: string,\n apiMethod?: TypeRequestMethod,\n apiOptions?: IApiSchemaOptions,\n ): 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(\n schema: SchemaObject | undefined,\n schemaScene?: TypeSchemaScene,\n ): 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 type { ZovaSys } from 'zova';\n\nimport { IFormProvider } from '../types/formProvider.js';\n\nexport const config = (_sys: ZovaSys) => {\n return {\n formProvider: {} as IFormProvider,\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 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/** 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 { SchemaObject } from 'openapi3-ts/oas31';\n\nimport { IResourceRenderBlockOptionsBlock } from './resource/block.js';\nimport { IResourceFormFieldRecord } from './resource/formField.js';\nimport { IResourceTableActionRowRecord } from './resource/tableActionRow.js';\n\nexport interface ISchemaRenderComponentPresetRecord extends IResourceFormFieldRecord {}\n\nexport interface ISchemaObjectExtensionFieldRest {\n 'blocks'?: IResourceRenderBlockOptionsBlock[];\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 extends SchemaObject {\n key?: string;\n rest?: ISchemaObjectExtensionFieldRest;\n filter?: ISchemaObjectExtensionFieldFilter;\n}\n\nexport type TypeSchemaScene = 'table' | TypeFormSchemaScene;\nexport type TypeFormSchemaScene = 'form' | 'form-view' | 'form-create' | 'filter';\n\nexport const renderFormFieldTopPropsSystem = [\n 'order',\n 'table',\n 'form',\n 'form-view',\n 'form-create',\n 'filter',\n];\nexport const renderTableColumnTopPropsSystem = [\n 'order',\n 'table',\n 'form',\n 'form-view',\n 'form-create',\n 'filter',\n];\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 =\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | TypeRenderComponentPreset;\nexport type TypeFormFieldRenderComponent =\n | TypeFormFieldRenderComponentNormal\n | TypeRenderComponentJsx;\n// should use input for config.ts of a-openapi\nexport type TypeFormFieldRenderComponentProvider =\n | Constructable\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | '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 =\n | keyof IResourceTableActionRowRecord\n | TypeRenderComponentJsx;\nexport type TypeTableCellRenderComponentProvider = TypeRenderComponentJsx | 'text' | string;\nexport type TypeTableBulkRenderComponentProvider =\n | Constructable<ComponentPublicInstance>\n | keyof IComponentRecord\n | 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/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;","import 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';\nimport { OrderUnknownBase } from '../types/database.js';\nconst __FilterColumnsIgnore = ['columns', 'where', 'orders', 'pageNo', 'pageSize'];\nexport function loadSchemaProperties(schema, onGetSchema, schemaScene) {\n if (!schema) return;\n const properties = schema.properties;\n const result = [];\n // filter\n for (let key in properties) {\n let property = properties[key];\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 = 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, schemaScene && ['form-view', 'form-create', 'filter'].includes(schemaScene) ? {\n rest: property.rest?.['form'] ?? {}\n } : undefined, schemaScene ? {\n rest: property.rest?.[schemaScene] ?? {}\n } : 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}\nexport function schemaToZodSchema(schema, onGetSchema) {\n const schemaNormalize = _normalizeSchema(toRaw(schema), onGetSchema);\n const code = jsonSchemaToZod(schemaNormalize);\n return evaluateSimple(code, {\n z\n });\n}\nfunction _normalizeSchema(schema, onGetSchema) {\n if (!schema.properties) return schema;\n const schemaNew = Object.assign({}, schema, {\n properties: {}\n });\n for (const key in schema.properties) {\n let property = schema.properties[key];\n property = _normalizePropertySchema(property, onGetSchema);\n if (!property) continue;\n // items.$ref\n if (property.items?.$ref) {\n const propertyItems = _normalizePropertySchema(property.items, onGetSchema);\n if (!propertyItems) continue;\n property = {\n ...property,\n items: propertyItems\n };\n }\n // _normalizeSchema\n schemaNew.properties[key] = property;\n }\n return schemaNew;\n}\nfunction _normalizePropertySchema(property, onGetSchema) {\n if (property?.$ref) {\n property = onGetSchema(property.$ref);\n }\n if (!property) return;\n return _normalizeSchema(property, onGetSchema);\n}\nexport function getSchemaOfRequestBody(operationObject) {\n return cast(operationObject?.requestBody)?.content?.['application/json']?.schema;\n}\nexport function getSchemaOfResponseBody(operationObject) {\n return operationObject?.responses?.['200']?.content?.['application/json']?.schema;\n}\nexport function getSchemaOfRequestQuery(operationObject) {\n const parameters = operationObject?.parameters;\n if (!parameters) return;\n const schema = {\n type: 'object',\n required: [],\n properties: {}\n };\n for (const _parameter of parameters) {\n const parameter = _parameter;\n if (parameter.in !== 'query') continue;\n const name = parameter.name;\n const fieldSchema = parameter.schema;\n schema.properties[name] = fieldSchema;\n if (parameter.required) schema.required.push(name);\n }\n return schema;\n}\nexport function getSchemaOfRequestQueryFilter(operationObject, options) {\n const parameters = operationObject?.parameters;\n if (!parameters) return;\n const schema = {\n type: 'object',\n required: [],\n properties: {}\n };\n for (const _parameter of parameters) {\n const parameter = _parameter;\n if (parameter.in !== 'query') continue;\n const name = parameter.name;\n if (__FilterColumnsIgnore.includes(name)) continue;\n const fieldSchema = parameter.schema;\n if (options?.where === true && fieldSchema.filter?.capabilities?.where !== false || options?.order === true && fieldSchema.filter?.capabilities?.order !== false) {\n schema.properties[name] = fieldSchema;\n if (parameter.required) schema.required.push(name);\n }\n }\n return schema;\n}","var _dec, _dec2, _dec3, _dec4, _dec5, _class, _class2;\nfunction _applyDecoratedDescriptor(i, e, r, n, l) { var a = {}; return Object.keys(n).forEach(function (i) { a[i] = n[i]; }), a.enumerable = !!a.enumerable, a.configurable = !!a.configurable, (\"value\" in a || a.initializer) && (a.writable = !0), a = r.slice().reverse().reduce(function (r, n) { return n(i, e, r) || r; }, 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; }\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\nimport { isNil } from '@cabloy/utils';\nimport { cast, Use, usePrepareArg } from 'zova';\nimport { $QueryAutoLoad, BeanModelBase, Model } from 'zova-module-a-model';\nimport { getSchemaOfRequestBody, getSchemaOfRequestQuery, getSchemaOfRequestQueryFilter, getSchemaOfResponseBody, loadSchemaProperties, schemaToZodSchema } from '../lib/schema.js';\nconst __schemaRefPrefix = '#/components/schemas/';\nexport let ModelSdk = (_dec = Model({\n enableSelector: true\n}), _dec2 = __z_BeanInfo({\n module: \"a-openapi\"\n}), _dec3 = Use({\n beanFullName: 'a-openapi.sys.sdk'\n}), _dec4 = Reflect.metadata(\"design:type\", Function), _dec5 = Reflect.metadata(\"design:paramtypes\", []), _dec(_class = _dec2(_class = (_class2 = class ModelSdk extends BeanModelBase {\n constructor(...args) {\n super(...args);\n this._eventSsrHmrReload = void 0;\n }\n get $$sysSdk() {\n return usePrepareArg(this.selector, true);\n }\n async __init__(locale) {\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({\n queryKey: ['bootstrap']\n });\n await this.$refetchQueries({\n queryKey: ['sdk']\n });\n return next();\n });\n }\n }\n __dispose__() {\n if (this._eventSsrHmrReload) {\n this._eventSsrHmrReload();\n }\n }\n getBootstrap(resource) {\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({\n queryKey: ['permissions', resource]\n });\n }\n return bootstrap ?? null;\n },\n staleTime: Infinity\n });\n }\n getPermissions(resource) {\n return this.$useStateData({\n queryKey: ['permissions', resource],\n queryFn: async () => {\n const permissions = await this.$fetch.get(this.sys.util.apiActionPathTranslate(this.scope.config.api.permissions, {\n resource\n }), this.sys.util.apiActionConfigPrepare());\n return permissions ?? null;\n },\n staleTime: Infinity\n });\n }\n getSdk(api, apiMethod, apiOptions) {\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({\n queryKey: ['schema', schemaName]\n });\n }\n }\n return sdk;\n },\n staleTime: Infinity\n });\n }\n getSchema(schemaName) {\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 staleTime: Infinity\n });\n }\n getZodSchema(schemaName) {\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 getSchemaDefaultValue(schemaName) {\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];\n if (!isNil(property.default)) {\n defaultValues[key] = property.default;\n }\n }\n return defaultValues;\n }\n });\n }\n createApiSchemas(api, apiMethod, apiOptions) {\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, {\n where: true\n });\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;\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 loadSchemaProperties(schema, schemaScene) {\n return loadSchemaProperties(schema, schemaName => this.getSchema(schemaName).data, schemaScene);\n }\n schemaToZodSchema(schema) {\n return schemaToZodSchema(schema, schemaName => this.getSchema(schemaName).data);\n }\n}, _applyDecoratedDescriptor(_class2.prototype, \"$$sysSdk\", [_dec3, _dec4, _dec5], Object.getOwnPropertyDescriptor(_class2.prototype, \"$$sysSdk\"), _class2.prototype), _class2)) || _class) || _class);","export const SymbolOpenapiSchemaName = '__schemaName__';","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\nimport { shallowReactive } from 'vue';\nimport { BeanBase } from 'zova';\nimport { Sys } from 'zova-module-a-bean';\nimport { SymbolOpenapiSchemaName } from '../types/sdk.js';\n\n// const PATH_PARAM_RE = /\\{([^{}/]+)\\}/g;\n\nexport let SysSdk = (_dec = Sys(), _dec2 = __z_BeanInfo({\n module: \"a-openapi\"\n}), _dec(_class = _dec2(_class = class SysSdk extends BeanBase {\n constructor(...args) {\n super(...args);\n this.locale = void 0;\n this.bootstraps = void 0;\n this.schemas = void 0;\n this.sdks = void 0;\n this._eventSsrHmrReload = void 0;\n this._fetch = void 0;\n }\n async __init__(locale) {\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 __dispose__() {\n if (this._eventSsrHmrReload) {\n this._eventSsrHmrReload();\n }\n }\n 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, {\n authToken: false\n });\n }\n }\n }\n getBootstrap(resource) {\n return this.bootstraps[resource];\n }\n getSdk(api, apiMethod) {\n if (!api) return;\n const [api2, apiMethod2] = this.prepareApiMeta(api, apiMethod);\n return this.sdks[api2]?.[apiMethod2];\n }\n getSchema(schemaName) {\n return this.schemas[schemaName];\n }\n async loadBootstrap($fetch, resource) {\n if (process.env.CLIENT) {\n this._fetch = $fetch;\n }\n if (!this.bootstraps[resource]) {\n this.bootstraps[resource] = await $fetch.get(this.sys.util.apiActionPathTranslate(this.scope.config.api.bootstrap, {\n resource\n }), this.sys.util.apiActionConfigPrepare(undefined, undefined, false));\n }\n return this.bootstraps[resource];\n }\n async loadSdk($fetch, api, apiMethod, apiOptions) {\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 = [this.sys.util.apiActionPathTranslate(api2)];\n // body\n if (!['get', 'delete'].includes(apiMethod2)) {\n params.push(undefined);\n }\n // options\n const options = {\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 = await $fetch[apiMethod2](...params);\n // schemas\n const schemaNames = [];\n const schemas = data.doc.components?.schemas;\n if (schemas) {\n for (const key in schemas) {\n const schema = schemas[key];\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 prepareApiMeta(api, apiMethod) {\n return [api, apiMethod ?? 'get'];\n }\n}) || _class) || _class);","export const config = _sys => {\n return {\n formProvider: {},\n api: {\n bootstrap: '/api/openapischema/resource/bootstrap/:resource',\n permissions: '/api/home/base/permission/:resource'\n }\n };\n};","import { ref, watch } from 'vue';\nimport { BeanSimple } from 'zova';\nexport class Monkey extends BeanSimple {\n constructor(moduleSelf) {\n super();\n this._moduleSelf = void 0;\n this._modelSdk = ref();\n this._moduleSelf = moduleSelf;\n }\n async moduleLoading(_module) {}\n async moduleLoaded(module) {\n // self\n if (this._moduleSelf === module) {\n await this._loadSdk();\n this.ctx.util.instanceScope(() => {\n watch(() => {\n return this.app.meta.locale.current;\n }, async () => {\n await this._loadSdk();\n });\n });\n }\n }\n async beanInit(bean, beanInstance) {\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 async _loadSdk() {\n this._modelSdk.value = await this.app.bean._getBeanSelector('a-openapi.model.sdk', true, this.app.meta.locale.current);\n }\n}","var _dec, _dec2, _class;\nimport { \"BeanInfo\" as __z_BeanInfo } from \"zova\";\n// eslint-disable\n/** model: begin */\nexport * from '../model/sdk.js';\nimport 'zova-module-a-model';\n/** model: end */\n/** model: begin */\nimport { ModelSdk } from '../model/sdk.js';\nimport 'zova';\n/** model: end */\n/** sys: begin */\nexport * from '../bean/sys.sdk.js';\nimport 'zova';\n/** sys: end */\n/** sys: begin */\nimport { SysSdk } from '../bean/sys.sdk.js';\nimport 'zova';\n/** sys: end */\n/** config: begin */\nexport * from '../config/config.js';\n/** config: end */\n/** monkey: begin */\nexport * from '../monkey.js';\n/** monkey: end */\n/** scope: begin */\nimport { BeanScopeBase } from 'zova';\nimport { Scope } from 'zova-module-a-bean';\nexport let ScopeModuleAOpenapi = (_dec = Scope(), _dec2 = __z_BeanInfo({\n module: \"a-openapi\"\n}), _dec(_class = _dec2(_class = class ScopeModuleAOpenapi extends BeanScopeBase {}) || _class) || _class);\nimport 'zova';\n\n/** scope: end */","import 'openapi3-ts/oas30';\nimport 'openapi3-ts/oas31';\nexport const renderFormFieldTopPropsSystem = ['order', 'table', 'form', 'form-view', 'form-create', 'filter'];\nexport const renderTableColumnTopPropsSystem = ['order', 'table', 'form', 'form-view', 'form-create', 'filter'];\n\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\n\n// should use input for config.ts of a-openapi\n\n// | 'input'\n// | 'textarea'\n// | 'select';\n\n// table"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/lib/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,YAAY,EACb,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAA+B,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMrF,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,CAoC5B;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;AAmBD,wBAAgB,sBAAsB,CACpC,eAAe,CAAC,EAAE,eAAe,GAChC,YAAY,GAAG,SAAS,CAG1B;AAED,wBAAgB,uBAAuB,CACrC,eAAe,CAAC,EAAE,eAAe,GAChC,YAAY,GAAG,SAAS,CAE1B;AAED,wBAAgB,uBAAuB,CACrC,eAAe,CAAC,EAAE,eAAe,GAChC,YAAY,GAAG,SAAS,CAa1B;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,CAAC,EAAE,eAAe,EACjC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,4BAoB/C"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/lib/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAGf,YAAY,EACb,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAA+B,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMrF,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,CAoC5B;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;AAmCD,wBAAgB,sBAAsB,CACpC,eAAe,CAAC,EAAE,eAAe,GAChC,YAAY,GAAG,SAAS,CAG1B;AAED,wBAAgB,uBAAuB,CACrC,eAAe,CAAC,EAAE,eAAe,GAChC,YAAY,GAAG,SAAS,CAE1B;AAED,wBAAgB,uBAAuB,CACrC,eAAe,CAAC,EAAE,eAAe,GAChC,YAAY,GAAG,SAAS,CAa1B;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,CAAC,EAAE,eAAe,EACjC,OAAO,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,4BAoB/C"}
@@ -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,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,CACJ,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,iBAAiB,EAC7B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,qBAAqB;IAoBxB,SAAS,CAAC,UAAU,EAAE,MAAM;IAa5B,YAAY,CAAC,UAAU,EAAE,MAAM;IAY/B,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAqBjC,gBAAgB,CACrB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,iBAAiB,EAC7B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,eAAe;IAkEX,oBAAoB,CACzB,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,WAAW,CAAC,EAAE,eAAe,GAC5B,YAAY,EAAE,GAAG,SAAS;IAItB,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;IAiB7B,cAAc,CAAC,QAAQ,EAAE,MAAM;IAc/B,MAAM,CACJ,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,iBAAiB,EAC7B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,qBAAqB;IAqBxB,SAAS,CAAC,UAAU,EAAE,MAAM;IAc5B,YAAY,CAAC,UAAU,EAAE,MAAM;IAY/B,qBAAqB,CAAC,UAAU,EAAE,MAAM;IAqBjC,gBAAgB,CACrB,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,iBAAiB,EAC7B,UAAU,CAAC,EAAE,iBAAiB,GAC7B,eAAe;IAkEX,oBAAoB,CACzB,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,WAAW,CAAC,EAAE,eAAe,GAC5B,YAAY,EAAE,GAAG,SAAS;IAItB,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,CAAC;CAGnF"}
@@ -15,7 +15,7 @@ export interface IJsxRenderContextPageEntry extends IJsxRenderContextBase {
15
15
  }
16
16
  export interface IPageEntryScope {
17
17
  resource?: string;
18
- id: TableIdentity | null;
18
+ id?: TableIdentity | null;
19
19
  permissions?: TypeOpenapiPermissions;
20
20
  }
21
21
  export interface IJsxRenderSceneRecord {
@@ -25,6 +25,7 @@ export interface IJsxRenderSceneRecord {
25
25
  tableCell: never;
26
26
  formField: never;
27
27
  details: never;
28
+ detail: never;
28
29
  }
29
30
  export interface IPageScope {
30
31
  resource?: string;
@@ -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;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;IAEjB,OAAO,EAAE,KAAK,CAAC;CAChB;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"}
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,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1B,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;IAEjB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;CACf;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"}
@@ -0,0 +1,9 @@
1
+ import { IJsxRenderContextBase } from '../action.js';
2
+ import { IFormMeta } from '../formMeta.js';
3
+ export interface IDetailScope {
4
+ formMeta?: IFormMeta;
5
+ }
6
+ export interface IJsxRenderContextDetail extends IJsxRenderContextBase {
7
+ $celScope: IDetailScope;
8
+ }
9
+ //# sourceMappingURL=detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detail.d.ts","sourceRoot":"","sources":["../../../src/types/detail/detail.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,SAAS,EAAE,YAAY,CAAC;CACzB"}
@@ -1,5 +1,7 @@
1
1
  import { IJsxRenderContextBase } from '../action.js';
2
+ import { IFormMeta } from '../formMeta.js';
2
3
  export interface IDetailsScope {
4
+ formMeta?: IFormMeta;
3
5
  }
4
6
  export interface IJsxRenderContextDetails extends IJsxRenderContextBase {
5
7
  $celScope: IDetailsScope;
@@ -1 +1 @@
1
- {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../src/types/detail/details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,aAAa;CAAG;AAEjC,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,SAAS,EAAE,aAAa,CAAC;CAC1B"}
1
+ {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../../src/types/detail/details.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,SAAS,EAAE,aAAa,CAAC;CAC1B"}
@@ -1,4 +1,5 @@
1
1
  export * from './details.js';
2
2
  export * from './detailsActionBulk.js';
3
3
  export * from './detailsActionRow.js';
4
+ export * from './detail.js';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/detail/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/detail/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC"}
@@ -4,9 +4,11 @@ import type { TypeRenderComponentJsx } from 'zova-jsx';
4
4
  import 'openapi3-ts/oas30';
5
5
  import 'openapi3-ts/oas31';
6
6
  import { SchemaObject } from 'openapi3-ts/oas31';
7
+ import { IResourceDetailsActionRowRecord } from './detail/detailsActionRow.js';
7
8
  import { IResourceRenderBlockOptionsBlock } from './resource/block.js';
8
9
  import { IResourceFormFieldRecord } from './resource/formField.js';
9
10
  import { IResourceTableActionRowRecord } from './resource/tableActionRow.js';
11
+ export type TypeFormFieldOnEffect = (value: any) => void;
10
12
  export interface ISchemaRenderComponentPresetRecord extends IResourceFormFieldRecord {
11
13
  }
12
14
  export interface ISchemaObjectExtensionFieldRest {
@@ -16,6 +18,7 @@ export interface ISchemaObjectExtensionFieldRest {
16
18
  'order'?: number;
17
19
  'disableNotifyChanged'?: boolean;
18
20
  'readonly'?: boolean;
21
+ 'onEffect'?: TypeFormFieldOnEffect;
19
22
  'render'?: TypeFormFieldRenderComponentNormal | TypeTableCellRenderComponentNormal;
20
23
  'table'?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;
21
24
  'form'?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;
@@ -44,7 +47,7 @@ export type TypeFormFieldRenderComponentNormal = Constructable<ComponentPublicIn
44
47
  export type TypeFormFieldRenderComponent = TypeFormFieldRenderComponentNormal | TypeRenderComponentJsx;
45
48
  export type TypeFormFieldRenderComponentProvider = Constructable | Constructable<ComponentPublicInstance> | keyof IComponentRecord | 'input';
46
49
  export type TypeTableCellRenderComponentNormal = Constructable<ComponentPublicInstance> | keyof IComponentRecord | keyof TypeBeanRecordGeneralSelector<'tableCell'> | TypeRenderComponentPreset;
47
- export type TypeTableCellRenderComponent = keyof IResourceTableActionRowRecord | TypeRenderComponentJsx;
50
+ export type TypeTableCellRenderComponent = keyof IResourceTableActionRowRecord | keyof IResourceDetailsActionRowRecord | TypeRenderComponentJsx;
48
51
  export type TypeTableCellRenderComponentProvider = TypeRenderComponentJsx | 'text' | string;
49
52
  export type TypeTableBulkRenderComponentProvider = Constructable<ComponentPublicInstance> | keyof IComponentRecord | TypeRenderComponentJsx;
50
53
  //# sourceMappingURL=rest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/types/rest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../src/types/rest.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zova-module-a-openapi",
3
- "version": "5.1.36",
4
- "gitHead": "8a5eaa9acbe309605e0843db38fc1942fdc1f3d5",
3
+ "version": "5.1.41",
4
+ "gitHead": "5c01a45e16aef54b13a29704028c4dff62de7ac2",
5
5
  "description": "",
6
6
  "keywords": [
7
7
  "Zova Module"
@@ -27,10 +27,10 @@
27
27
  "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
28
28
  "prepublishOnly": "npm run tsc:publish",
29
29
  "prepack": "clean-package",
30
- "postpack": "clean-package restore && npm run clean"
30
+ "postpack": "clean-package restore"
31
31
  },
32
32
  "dependencies": {
33
- "@cabloy/json-schema-to-zod": "^2.6.4",
33
+ "@cabloy/json-schema-to-zod": "^2.6.5",
34
34
  "openapi3-ts": "^4.5.0",
35
35
  "typestyle": "^2.4.0"
36
36
  },
package/src/lib/schema.ts CHANGED
@@ -76,15 +76,31 @@ function _normalizeSchema(
76
76
  const schemaNew = Object.assign({}, schema, { properties: {} });
77
77
  for (const key in schema.properties) {
78
78
  let property = schema.properties[key] as SchemaObject | undefined;
79
- if (property?.$ref) {
80
- property = onGetSchema(property.$ref);
81
- }
79
+ property = _normalizePropertySchema(property, onGetSchema);
82
80
  if (!property) continue;
83
- schemaNew.properties[key] = _normalizeSchema(property, onGetSchema);
81
+ // items.$ref
82
+ if (property.items?.$ref) {
83
+ const propertyItems = _normalizePropertySchema(property.items as any, onGetSchema);
84
+ if (!propertyItems) continue;
85
+ property = { ...property, items: propertyItems };
86
+ }
87
+ // _normalizeSchema
88
+ schemaNew.properties[key] = property;
84
89
  }
85
90
  return schemaNew;
86
91
  }
87
92
 
93
+ function _normalizePropertySchema(
94
+ property: SchemaObject | undefined,
95
+ onGetSchema: (schemaName: string) => SchemaObject | undefined,
96
+ ) {
97
+ if (property?.$ref) {
98
+ property = onGetSchema(property.$ref);
99
+ }
100
+ if (!property) return;
101
+ return _normalizeSchema(property, onGetSchema);
102
+ }
103
+
88
104
  export function getSchemaOfRequestBody(
89
105
  operationObject?: OperationObject,
90
106
  ): SchemaObject | undefined {
package/src/model/sdk.ts CHANGED
@@ -66,6 +66,7 @@ export class ModelSdk extends BeanModelBase {
66
66
  }
67
67
  return bootstrap ?? null;
68
68
  },
69
+ staleTime: Infinity,
69
70
  });
70
71
  }
71
72
 
@@ -79,6 +80,7 @@ export class ModelSdk extends BeanModelBase {
79
80
  )) as TypeOpenapiPermissions;
80
81
  return permissions ?? null;
81
82
  },
83
+ staleTime: Infinity,
82
84
  });
83
85
  }
84
86
 
@@ -103,6 +105,7 @@ export class ModelSdk extends BeanModelBase {
103
105
  }
104
106
  return sdk;
105
107
  },
108
+ staleTime: Infinity,
106
109
  }) as TypeOpenapiSchemasSdk;
107
110
  }
108
111
 
@@ -116,6 +119,7 @@ export class ModelSdk extends BeanModelBase {
116
119
  const schema = this.$$sysSdk.getSchema(schemaName);
117
120
  return schema ?? null;
118
121
  },
122
+ staleTime: Infinity,
119
123
  });
120
124
  }
121
125
 
@@ -21,7 +21,7 @@ export interface IJsxRenderContextPageEntry extends IJsxRenderContextBase {
21
21
 
22
22
  export interface IPageEntryScope {
23
23
  resource?: string;
24
- id: TableIdentity | null;
24
+ id?: TableIdentity | null;
25
25
  permissions?: TypeOpenapiPermissions;
26
26
  }
27
27
 
@@ -35,6 +35,7 @@ export interface IJsxRenderSceneRecord {
35
35
  formField: never;
36
36
  //
37
37
  details: never;
38
+ detail: never;
38
39
  }
39
40
 
40
41
  export interface IPageScope {
@@ -0,0 +1,10 @@
1
+ import { IJsxRenderContextBase } from '../action.js';
2
+ import { IFormMeta } from '../formMeta.js';
3
+
4
+ export interface IDetailScope {
5
+ formMeta?: IFormMeta;
6
+ }
7
+
8
+ export interface IJsxRenderContextDetail extends IJsxRenderContextBase {
9
+ $celScope: IDetailScope;
10
+ }
@@ -1,6 +1,9 @@
1
1
  import { IJsxRenderContextBase } from '../action.js';
2
+ import { IFormMeta } from '../formMeta.js';
2
3
 
3
- export interface IDetailsScope {}
4
+ export interface IDetailsScope {
5
+ formMeta?: IFormMeta;
6
+ }
4
7
 
5
8
  export interface IJsxRenderContextDetails extends IJsxRenderContextBase {
6
9
  $celScope: IDetailsScope;
@@ -1,3 +1,4 @@
1
1
  export * from './details.js';
2
2
  export * from './detailsActionBulk.js';
3
3
  export * from './detailsActionRow.js';
4
+ export * from './detail.js';
package/src/types/rest.ts CHANGED
@@ -6,10 +6,13 @@ import 'openapi3-ts/oas30';
6
6
  import 'openapi3-ts/oas31';
7
7
  import { SchemaObject } from 'openapi3-ts/oas31';
8
8
 
9
+ import { IResourceDetailsActionRowRecord } from './detail/detailsActionRow.js';
9
10
  import { IResourceRenderBlockOptionsBlock } from './resource/block.js';
10
11
  import { IResourceFormFieldRecord } from './resource/formField.js';
11
12
  import { IResourceTableActionRowRecord } from './resource/tableActionRow.js';
12
13
 
14
+ export type TypeFormFieldOnEffect = (value: any) => void;
15
+
13
16
  export interface ISchemaRenderComponentPresetRecord extends IResourceFormFieldRecord {}
14
17
 
15
18
  export interface ISchemaObjectExtensionFieldRest {
@@ -20,6 +23,7 @@ export interface ISchemaObjectExtensionFieldRest {
20
23
  'order'?: number;
21
24
  'disableNotifyChanged'?: boolean;
22
25
  'readonly'?: boolean;
26
+ 'onEffect'?: TypeFormFieldOnEffect;
23
27
  //
24
28
  'render'?: TypeFormFieldRenderComponentNormal | TypeTableCellRenderComponentNormal;
25
29
  'table'?: Omit<ISchemaObjectExtensionFieldRest, TypeSchemaScene>;
@@ -112,6 +116,7 @@ export type TypeTableCellRenderComponentNormal =
112
116
  | TypeRenderComponentPreset;
113
117
  export type TypeTableCellRenderComponent =
114
118
  | keyof IResourceTableActionRowRecord
119
+ | keyof IResourceDetailsActionRowRecord
115
120
  | TypeRenderComponentJsx;
116
121
  export type TypeTableCellRenderComponentProvider = TypeRenderComponentJsx | 'text' | string;
117
122
  export type TypeTableBulkRenderComponentProvider =