cabloy 5.1.94 → 5.1.96

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 (208) hide show
  1. package/.cabloy-version +1 -0
  2. package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +4 -1
  3. package/.claude/skills/cabloy-resource-field-update/SKILL.md +6 -3
  4. package/.github/workflows/vona-test-crud.yml +2 -0
  5. package/.github/workflows/vona-test-mysql.yml +2 -0
  6. package/.github/workflows/vona-test-pg.yml +2 -0
  7. package/.github/workflows/vona-test-sqlite3.yml +2 -0
  8. package/CHANGELOG.md +38 -0
  9. package/CLAUDE.md +1 -0
  10. package/cabloy-docs/ai/playbook-backend-module.md +6 -3
  11. package/cabloy-docs/fullstack/framework-performance.md +3 -3
  12. package/cabloy-docs/fullstack/quickstart.md +1 -1
  13. package/package.json +1 -1
  14. package/scripts/release.ts +27 -1
  15. package/vona/docker-compose-original/docker-compose-dockerfile-app +4 -0
  16. package/vona/docker-compose-original/docker-compose.original.yml +0 -1
  17. package/vona/env/.env +0 -1
  18. package/vona/env/.env.prod +0 -1
  19. package/vona/env/.env.prod.docker +0 -7
  20. package/vona/package.original.json +3 -3
  21. package/vona/packages-cli/cabloy-cli/package.json +2 -2
  22. package/vona/packages-cli/cli/package.json +1 -1
  23. package/vona/packages-cli/cli-set-api/package.json +2 -2
  24. package/vona/packages-cli/cli-set-api/src/lib/bean/cli.bin.build.ts +70 -2
  25. package/vona/packages-utils/babel-plugin-vona-bean-module/package.json +2 -2
  26. package/vona/packages-utils/module-glob/package.json +2 -2
  27. package/vona/packages-utils/module-info-pro/package.json +2 -2
  28. package/vona/packages-utils/utils/package.json +2 -2
  29. package/vona/packages-vona/vona/package.json +1 -1
  30. package/vona/packages-vona/vona-core/package.json +2 -2
  31. package/vona/packages-vona/vona-core/src/lib/addon/addon.ts +77 -0
  32. package/vona/packages-vona/vona-core/src/lib/addon/index.ts +3 -0
  33. package/vona/packages-vona/vona-core/src/lib/addon/sharp.ts +46 -0
  34. package/vona/packages-vona/vona-core/src/lib/addon/sqlite3.ts +23 -0
  35. package/vona/packages-vona/vona-core/src/lib/index.ts +1 -0
  36. package/vona/packages-vona/vona-core/src/lib/utils/index.ts +0 -1
  37. package/vona/packages-vona/vona-core/src/lib/utils/util.ts +5 -0
  38. package/vona/packages-vona/vona-mock/package.json +2 -2
  39. package/vona/pnpm-lock.yaml +449 -158
  40. package/vona/pnpm-workspace.yaml +1 -1
  41. package/vona/src/backend/cli.ts +2 -5
  42. package/vona/src/backend/config/config/config.ts +0 -4
  43. package/vona/src/suite/a-demo/modules/demo-basic/src/bean/ssrMenu.admin.ts +1 -1
  44. package/vona/src/suite/a-training/modules/training-record/src/.metadata/index.ts +26 -0
  45. package/vona/src/suite/a-training/modules/training-record/src/bean/imageScene.sceneImage.ts +11 -0
  46. package/vona/src/suite/a-training/modules/training-record/src/bean/meta.version.ts +1 -0
  47. package/vona/src/suite/a-training/modules/training-record/src/config/locale/en-us.ts +1 -0
  48. package/vona/src/suite/a-training/modules/training-record/src/config/locale/zh-cn.ts +1 -0
  49. package/vona/src/suite/a-training/modules/training-record/src/dto/recordSelectResItem.tsx +12 -0
  50. package/vona/src/suite/a-training/modules/training-record/src/dto/recordView.tsx +12 -0
  51. package/vona/src/suite/a-training/modules/training-record/src/entity/record.tsx +26 -1
  52. package/vona/src/suite/a-training/modules/training-record/src/index.ts +1 -0
  53. package/vona/src/suite/a-training/modules/training-student/src/.metadata/index.ts +27 -1
  54. package/vona/src/suite/a-training/modules/training-student/src/bean/imageScene.studentImage.ts +10 -0
  55. package/vona/src/suite/a-training/modules/training-student/src/bean/meta.version.ts +1 -0
  56. package/vona/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +1 -0
  57. package/vona/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +1 -0
  58. package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordBase.tsx +16 -2
  59. package/vona/src/suite/a-training/modules/training-student/src/dto/studentCreate.tsx +1 -1
  60. package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectResItem.tsx +12 -0
  61. package/vona/src/suite/a-training/modules/training-student/src/dto/studentUpdate.tsx +1 -1
  62. package/vona/src/suite/a-training/modules/training-student/src/dto/studentView.tsx +13 -1
  63. package/vona/src/suite/a-training/modules/training-student/src/entity/student.tsx +26 -1
  64. package/vona/src/suite/a-training/modules/training-student/src/index.ts +1 -0
  65. package/vona/src/suite/a-training/modules/training-student/src/model/student.ts +1 -0
  66. package/vona/src/suite-vendor/a-auth/modules/a-auth/package.json +1 -1
  67. package/vona/src/suite-vendor/a-auth/modules/a-auth/src/bean/bean.authProvider.ts +2 -5
  68. package/vona/src/suite-vendor/a-auth/package.json +1 -1
  69. package/vona/src/suite-vendor/a-image/modules/a-image/cli/imageProvider/boilerplate/{{sceneName}}.{{beanName}}.ts_ +23 -0
  70. package/vona/src/suite-vendor/a-image/modules/a-image/cli/imageScene/boilerplate/{{sceneName}}.{{beanName}}.ts_ +5 -0
  71. package/vona/src/suite-vendor/a-image/modules/a-image/package.json +68 -0
  72. package/vona/src/suite-vendor/a-image/modules/a-image/src/.metadata/index.ts +482 -0
  73. package/vona/src/suite-vendor/a-image/modules/a-image/src/.metadata/locales.ts +18 -0
  74. package/vona/src/suite-vendor/a-image/modules/a-image/src/.metadata/this.ts +2 -0
  75. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/bean.image.ts +443 -0
  76. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/bean.imageProvider.ts +55 -0
  77. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/bean.imageUploadPolicy.ts +174 -0
  78. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/meta.redlock.ts +11 -0
  79. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/meta.version.ts +40 -0
  80. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/serializerTransform.resolveView.ts +44 -0
  81. package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/serializerTransform.resolveViews.ts +44 -0
  82. package/vona/src/suite-vendor/a-image/modules/a-image/src/config/config.ts +17 -0
  83. package/vona/src/suite-vendor/a-image/modules/a-image/src/config/locale/en-us.ts +1 -0
  84. package/vona/src/suite-vendor/a-image/modules/a-image/src/config/locale/zh-cn.ts +1 -0
  85. package/vona/src/suite-vendor/a-image/modules/a-image/src/controller/image.ts +165 -0
  86. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDeliveryRequest.ts +20 -0
  87. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDirectUploadRequest.ts +36 -0
  88. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDirectUploadResponse.ts +38 -0
  89. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageTransformOptions.tsx +42 -0
  90. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadResponse.ts +62 -0
  91. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadTokenRequest.ts +24 -0
  92. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadTokenResponse.ts +16 -0
  93. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadUrlRequest.ts +33 -0
  94. package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageView.ts +46 -0
  95. package/vona/src/suite-vendor/a-image/modules/a-image/src/entity/image.ts +58 -0
  96. package/vona/src/suite-vendor/a-image/modules/a-image/src/entity/imageProvider.ts +24 -0
  97. package/vona/src/suite-vendor/a-image/modules/a-image/src/index.ts +4 -0
  98. package/vona/src/suite-vendor/a-image/modules/a-image/src/lib/imageProvider.ts +9 -0
  99. package/vona/src/suite-vendor/a-image/modules/a-image/src/lib/imageScene.ts +7 -0
  100. package/vona/src/suite-vendor/a-image/modules/a-image/src/lib/imageVariant.ts +46 -0
  101. package/vona/src/suite-vendor/a-image/modules/a-image/src/lib/index.ts +3 -0
  102. package/vona/src/suite-vendor/a-image/modules/a-image/src/model/image.ts +10 -0
  103. package/vona/src/suite-vendor/a-image/modules/a-image/src/model/imageProvider.ts +10 -0
  104. package/vona/src/suite-vendor/a-image/modules/a-image/src/types/image.ts +208 -0
  105. package/vona/src/suite-vendor/a-image/modules/a-image/src/types/imageProvider.ts +110 -0
  106. package/vona/src/suite-vendor/a-image/modules/a-image/src/types/imageScene.ts +52 -0
  107. package/vona/src/suite-vendor/a-image/modules/a-image/src/types/index.ts +3 -0
  108. package/vona/src/suite-vendor/a-image/modules/a-image/tsconfig.build.json +11 -0
  109. package/vona/src/suite-vendor/a-image/modules/a-image/tsconfig.json +7 -0
  110. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/package.json +49 -0
  111. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/.metadata/index.ts +89 -0
  112. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/.metadata/this.ts +2 -0
  113. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/bean/imageProvider.cloudflare.ts +155 -0
  114. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/index.ts +1 -0
  115. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/lib/cloudflareImageUrl.ts +112 -0
  116. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/service/imageCloudflare.ts +273 -0
  117. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/tsconfig.build.json +11 -0
  118. package/vona/src/suite-vendor/a-image/modules/image-cloudflare/tsconfig.json +7 -0
  119. package/vona/src/suite-vendor/a-image/modules/image-native/package.json +63 -0
  120. package/vona/src/suite-vendor/a-image/modules/image-native/src/.metadata/index.ts +114 -0
  121. package/vona/src/suite-vendor/a-image/modules/image-native/src/.metadata/this.ts +2 -0
  122. package/vona/src/suite-vendor/a-image/modules/image-native/src/bean/imageProvider.native.ts +131 -0
  123. package/vona/src/suite-vendor/a-image/modules/image-native/src/config/config.ts +11 -0
  124. package/vona/src/suite-vendor/a-image/modules/image-native/src/index.ts +1 -0
  125. package/vona/src/suite-vendor/a-image/modules/image-native/src/monkey.ts +33 -0
  126. package/vona/src/suite-vendor/a-image/modules/image-native/src/service/imageNative.ts +291 -0
  127. package/vona/src/suite-vendor/a-image/modules/image-native/tsconfig.build.json +11 -0
  128. package/vona/src/suite-vendor/a-image/modules/image-native/tsconfig.json +7 -0
  129. package/vona/src/suite-vendor/a-image/package.json +14 -0
  130. package/vona/src/suite-vendor/a-image/tsconfig.base.json +4 -0
  131. package/vona/src/suite-vendor/a-image/tsconfig.json +16 -0
  132. package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +2 -2
  133. package/vona/src/suite-vendor/a-vona/modules/a-jwt/package.json +1 -1
  134. package/vona/src/suite-vendor/a-vona/modules/a-jwt/src/service/jwtClient.ts +5 -0
  135. package/vona/src/suite-vendor/a-vona/modules/a-jwt/src/types/jwt.ts +1 -0
  136. package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/package.json +1 -1
  137. package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/src/lib/schema/makeSchemaLikes.ts +6 -3
  138. package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/src/lib/utils.ts +13 -7
  139. package/vona/src/suite-vendor/a-vona/modules/a-orm/package.json +1 -1
  140. package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/database.ts +0 -1
  141. package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/package.json +9 -1
  142. package/vona/src/suite-vendor/a-vona/modules/a-upload/package.json +1 -1
  143. package/vona/src/suite-vendor/a-vona/modules/a-upload/src/bean/interceptor.upload.ts +39 -7
  144. package/vona/src/suite-vendor/a-vona/package.json +1 -1
  145. package/zova/packages-cli/cli/package.json +3 -3
  146. package/zova/packages-cli/cli-set-front/package.json +9 -9
  147. package/zova/packages-cli/cli-set-front/src/lib/bean/cli.openapi.generate.ts +20 -10
  148. package/zova/packages-utils/babel-plugin-zova-bean-module/package.json +2 -2
  149. package/zova/packages-utils/babel-plugin-zova-bean-use/package.json +2 -2
  150. package/zova/packages-utils/babel-plugin-zova-behavior/package.json +2 -2
  151. package/zova/packages-utils/babel-plugin-zova-component/package.json +2 -2
  152. package/zova/packages-utils/zova-jsx/package.json +3 -3
  153. package/zova/packages-utils/zova-vite/package.json +7 -7
  154. package/zova/packages-zova/zova/package.json +3 -3
  155. package/zova/packages-zova/zova-core/package.json +3 -3
  156. package/zova/pnpm-lock.yaml +117 -62
  157. package/zova/src/suite/a-home/modules/home-api/src/api/captcha.ts +3 -1
  158. package/zova/src/suite/a-home/modules/home-api/src/api/home.ts +3 -1
  159. package/zova/src/suite/a-home/modules/home-api/src/api/homeBaseMenu.ts +3 -1
  160. package/zova/src/suite/a-home/modules/home-api/src/api/homeBasePermission.ts +3 -1
  161. package/zova/src/suite/a-home/modules/home-api/src/api/homeUserPassport.ts +22 -20
  162. package/zova/src/suite/a-home/modules/home-api/src/api/openapi/schemas.ts +163 -53
  163. package/zova/src/suite/a-home/modules/home-api/src/api/openapi/types.ts +2060 -675
  164. package/zova/src/suite/a-home/modules/home-api/src/api/testSsrToolOne.ts +3 -1
  165. package/zova/src/suite/a-home/modules/home-api/src/apiSchema/captcha.ts +3 -1
  166. package/zova/src/suite/a-home/modules/home-api/src/apiSchema/home.ts +3 -1
  167. package/zova/src/suite/a-home/modules/home-api/src/apiSchema/homeBaseMenu.ts +3 -1
  168. package/zova/src/suite/a-home/modules/home-api/src/apiSchema/homeBasePermission.ts +3 -1
  169. package/zova/src/suite/a-home/modules/home-api/src/apiSchema/homeUserPassport.ts +13 -11
  170. package/zova/src/suite/a-home/modules/home-api/src/apiSchema/testSsrToolOne.ts +3 -1
  171. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/schemas.ts +54 -16
  172. package/zova/src/suite/a-training/modules/training-student/src/api/openapi/types.ts +468 -8
  173. package/zova/src/suite/a-training/modules/training-student/src/apiSchema/trainingStudent.ts +3 -1
  174. package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/tableCell.actionUpdate.tsx +1 -1
  175. package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/actionCreate/controller.tsx +1 -1
  176. package/zova/src/suite/cabloy-basic/modules/basic-details/src/service/detail.tsx +53 -1
  177. package/zova/src/suite/cabloy-basic/modules/basic-image/cli/openapi.config.ts +9 -0
  178. package/zova/src/suite/cabloy-basic/modules/basic-image/package.json +60 -0
  179. package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/component/formFieldImage.ts +31 -0
  180. package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/index.ts +191 -0
  181. package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/locales.ts +7 -0
  182. package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/this.ts +2 -0
  183. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/image.ts +104 -0
  184. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/baseURL.ts +5 -0
  185. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/index.ts +3 -0
  186. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/schemas.ts +262 -0
  187. package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/types.ts +5159 -0
  188. package/zova/src/suite/cabloy-basic/modules/basic-image/src/apiSchema/image.ts +35 -0
  189. package/zova/src/suite/cabloy-basic/modules/basic-image/src/bean/tableCell.image.tsx +200 -0
  190. package/zova/src/suite/cabloy-basic/modules/basic-image/src/component/formFieldImage/controller.tsx +781 -0
  191. package/zova/src/suite/cabloy-basic/modules/basic-image/src/config/locale/en-us.ts +18 -0
  192. package/zova/src/suite/cabloy-basic/modules/basic-image/src/config/locale/zh-cn.ts +18 -0
  193. package/zova/src/suite/cabloy-basic/modules/basic-image/src/index.ts +4 -0
  194. package/zova/src/suite/cabloy-basic/modules/basic-image/src/lib/index.ts +2 -0
  195. package/zova/src/suite/cabloy-basic/modules/basic-image/src/lib/preview.ts +105 -0
  196. package/zova/src/suite/cabloy-basic/modules/basic-image/src/lib/previewDialog.tsx +190 -0
  197. package/zova/src/suite/cabloy-basic/modules/basic-image/src/types/image.ts +5 -0
  198. package/zova/src/suite/cabloy-basic/modules/basic-image/src/types/index.ts +1 -0
  199. package/zova/src/suite/cabloy-basic/modules/basic-image/tsconfig.build.json +13 -0
  200. package/zova/src/suite/cabloy-basic/modules/basic-image/tsconfig.json +5 -0
  201. package/zova/src/suite/cabloy-basic/package.json +1 -0
  202. package/zova/src/suite-vendor/a-zova/modules/a-openapi/package.json +1 -1
  203. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/image.ts +1 -0
  204. package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/index.ts +1 -0
  205. package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +5 -5
  206. package/zova/src/suite-vendor/a-zova/package.json +3 -3
  207. package/vona/packages-vona/vona-core/src/lib/utils/sqlite3.ts +0 -50
  208. /package/vona/patches/{zova-core@5.1.74.patch → zova-core@5.1.75.patch} +0 -0
@@ -1,7 +1,7 @@
1
1
  import { celEnvBase } from '@cabloy/utils';
2
2
  import { classes } from 'typestyle';
3
3
  import { VNode } from 'vue';
4
- import { BeanBase, UseScope } from 'zova';
4
+ import { BeanBase, deepExtend, UseScope } from 'zova';
5
5
  import { ZovaJsx } from 'zova-jsx';
6
6
  import { Service } from 'zova-module-a-bean';
7
7
  import {
@@ -123,10 +123,62 @@ export class ServiceDetail<TData extends {} = {}> extends BeanBase {
123
123
  }
124
124
  }
125
125
 
126
+ public buildSubmittedDetailItem(data: TypeFormOnSubmitData<TData>, dataOld?: TData) {
127
+ const detailItem = deepExtend({}, dataOld ?? {}, data.value) as Record<string, any>;
128
+ const properties = this.$sdk.loadSchemaProperties(this.formSchema, this.schemaScene);
129
+ if (!properties || properties.length === 0 || !this.formRef) return detailItem as TData;
130
+ for (const property of properties) {
131
+ this._hydrateDetailItemRelation(detailItem, property, data);
132
+ }
133
+ return detailItem as TData;
134
+ }
135
+
126
136
  public submitData(data: TypeFormOnSubmitData<TData>) {
127
137
  this.options.onSubmitData?.(data, this.dialogInstance!);
128
138
  }
129
139
 
140
+ private _hydrateDetailItemRelation(
141
+ detailItem: Record<string, any>,
142
+ property: ISchemaObjectExtensionField,
143
+ data: TypeFormOnSubmitData<TData>,
144
+ ) {
145
+ const renderProvider = property.rest?.render;
146
+ if (renderProvider !== 'basic-image:formFieldImage') return;
147
+ const relationName = this._getRelationNameOfField(property, property.rest);
148
+ if (!relationName) return;
149
+ const relationValue = data.formApi.getFieldValue(relationName as never);
150
+ detailItem[relationName] = this._cloneRelationValue(relationValue);
151
+ }
152
+
153
+ private _getRelationNameOfField(
154
+ property: ISchemaObjectExtensionField,
155
+ options?: Record<string, any>,
156
+ ) {
157
+ return this._inferRelationName(property.key, options?.relationName as string | undefined);
158
+ }
159
+
160
+ private _inferRelationName(fieldName?: string, relationName?: string) {
161
+ if (relationName) return relationName;
162
+ if (!fieldName) return undefined;
163
+ if (fieldName.endsWith('Ids')) {
164
+ return `${fieldName.slice(0, -3)}s`;
165
+ }
166
+ if (fieldName.endsWith('Id')) {
167
+ return fieldName.slice(0, -2);
168
+ }
169
+ return undefined;
170
+ }
171
+
172
+ private _cloneRelationValue(relationValue: unknown) {
173
+ if (Array.isArray(relationValue)) {
174
+ return deepExtend([], relationValue);
175
+ }
176
+ if (relationValue && typeof relationValue === 'object') {
177
+ return deepExtend({}, relationValue as Record<string, any>);
178
+ }
179
+ return relationValue;
180
+ }
181
+
130
182
  openDialogForm() {
131
183
  const options = this.options;
132
184
  this.dialogInstance = this.$appModal.dialog(
@@ -0,0 +1,9 @@
1
+ import type { ZovaOpenapiConfigModule } from 'zova-openapi';
2
+
3
+ export default function (): ZovaOpenapiConfigModule {
4
+ return {
5
+ operations: {
6
+ match: [/^Image_*/],
7
+ },
8
+ };
9
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "zova-module-basic-image",
3
+ "version": "5.0.0",
4
+ "description": "",
5
+ "keywords": [
6
+ "Zova Module"
7
+ ],
8
+ "author": "",
9
+ "files": [
10
+ "mock",
11
+ "dist",
12
+ "src",
13
+ "icons",
14
+ "assets",
15
+ "cli"
16
+ ],
17
+ "type": "module",
18
+ "exports": {
19
+ ".": {
20
+ "types": [
21
+ "./src/index.ts",
22
+ "./dist/index.d.ts"
23
+ ],
24
+ "import": "./src/index.ts",
25
+ "default": "./dist/index.js"
26
+ },
27
+ "./*": "./*"
28
+ },
29
+ "scripts": {
30
+ "clean": "rimraf dist tsconfig.build.tsbuildinfo",
31
+ "tsc:publish": "npm run clean && node ../../../../../packages-cli/cli/src/bin/zova.ts :bin:buildModule --sourcemap && tsc -p tsconfig.build.json",
32
+ "prepublishOnly": "npm run tsc:publish",
33
+ "prepack": "clean-package",
34
+ "postpack": "clean-package restore"
35
+ },
36
+ "dependencies": {
37
+ "vue-advanced-cropper": "^2.8.9"
38
+ },
39
+ "devDependencies": {
40
+ "clean-package": "^2.2.0",
41
+ "rimraf": "^6.1.3"
42
+ },
43
+ "clean-package": {
44
+ "indent": 2,
45
+ "replace": {
46
+ "exports.\\..types": "./dist/index.d.ts"
47
+ },
48
+ "remove": [
49
+ "clean-package",
50
+ "devDependencies",
51
+ "exports.\\..import"
52
+ ]
53
+ },
54
+ "title": "basic-image",
55
+ "zovaModule": {
56
+ "dependencies": {
57
+ "basic-app": "5.0.0"
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,31 @@
1
+ import type { TypeControllerInnerProps } from 'zova';
2
+
3
+ import { defineComponent } from 'vue';
4
+ import { prepareComponentOptions, useController } from 'zova';
5
+
6
+ import type { ControllerFormFieldImageProps } from '../../component/formFieldImage/controller.jsx';
7
+
8
+ import { ControllerFormFieldImage } from '../../component/formFieldImage/controller.jsx';
9
+ export type ZFormFieldImageProps = {
10
+ controllerRef?: (ref: ControllerFormFieldImage) => void;
11
+ } & ControllerFormFieldImageProps;
12
+
13
+ type ControllerInnerProps = TypeControllerInnerProps<
14
+ ControllerFormFieldImageProps,
15
+ keyof typeof ControllerFormFieldImage.$propsDefault
16
+ >;
17
+ declare module 'zova-module-basic-image' {
18
+ export interface ControllerFormFieldImage {
19
+ $props: ControllerInnerProps;
20
+ }
21
+ }
22
+
23
+ export const ZFormFieldImage = defineComponent((_props: ZFormFieldImageProps) => {
24
+ useController(ControllerFormFieldImage, undefined, undefined);
25
+ return () => {};
26
+ }, prepareComponentOptions(ControllerFormFieldImage.$componentOptions));
27
+ declare module 'zova-module-a-bean' {
28
+ export interface IVonaComponentRecord {
29
+ 'basic-image:formFieldImage': ControllerFormFieldImageProps;
30
+ }
31
+ }
@@ -0,0 +1,191 @@
1
+ // eslint-disable
2
+ /** api: begin */
3
+ export * from '../api/image.js';
4
+
5
+ import 'zova';
6
+ declare module 'zova' {
7
+
8
+
9
+ }
10
+ declare module 'zova-module-basic-image' {
11
+
12
+ export interface ApiImage {
13
+ /** @internal */
14
+ get scope(): ScopeModuleBasicImage;
15
+ }
16
+
17
+ export interface ApiImage {
18
+ get $beanFullName(): 'basic-image.api.image';
19
+ get $onionName(): 'basic-image:image';
20
+
21
+ }
22
+ }
23
+ /** api: end */
24
+ /** api: begin */
25
+ import { ApiImage } from '../api/image.js';
26
+ export interface IModuleApi {
27
+ 'image': ApiImage;
28
+ }
29
+ /** api: end */
30
+ /** api: begin */
31
+
32
+ import 'zova';
33
+ declare module 'zova' {
34
+ export interface IBeanRecordGeneral {
35
+ 'basic-image.api.image': ApiImage;
36
+ }
37
+ }
38
+ /** api: end */
39
+ /** openapi: begin */
40
+ export * from '../api/openapi/index.js';
41
+ /** openapi: end */
42
+ /** apiSchema: begin */
43
+ export * from '../apiSchema/image.js';
44
+
45
+ import 'zova';
46
+ declare module 'zova' {
47
+
48
+
49
+ }
50
+ declare module 'zova-module-basic-image' {
51
+
52
+ export interface ApiSchemaImage {
53
+ /** @internal */
54
+ get scope(): ScopeModuleBasicImage;
55
+ }
56
+
57
+ export interface ApiSchemaImage {
58
+ get $beanFullName(): 'basic-image.apiSchema.image';
59
+ get $onionName(): 'basic-image:image';
60
+
61
+ }
62
+ }
63
+ /** apiSchema: end */
64
+ /** apiSchema: begin */
65
+ import { ApiSchemaImage } from '../apiSchema/image.js';
66
+ export interface IModuleApiSchema {
67
+ 'image': ApiSchemaImage;
68
+ }
69
+ /** apiSchema: end */
70
+ /** apiSchema: begin */
71
+
72
+ import 'zova';
73
+ declare module 'zova' {
74
+ export interface IBeanRecordGeneral {
75
+ 'basic-image.apiSchema.image': ApiSchemaImage;
76
+ }
77
+ }
78
+ /** apiSchema: end */
79
+ /** controller: begin */
80
+ export * from '../component/formFieldImage/controller.jsx';
81
+
82
+ import 'zova';
83
+ declare module 'zova' {
84
+
85
+
86
+ }
87
+ declare module 'zova-module-basic-image' {
88
+
89
+ export interface ControllerFormFieldImage {
90
+ /** @internal */
91
+ get scope(): ScopeModuleBasicImage;
92
+ }
93
+ }
94
+ /** controller: end */
95
+ /** controller: begin */
96
+ import { ControllerFormFieldImage } from '../component/formFieldImage/controller.jsx';
97
+ import 'zova';
98
+ declare module 'zova' {
99
+ export interface IBeanRecordLocal {
100
+ 'basic-image.controller.formFieldImage': ControllerFormFieldImage;
101
+ }
102
+ }
103
+ /** controller: end */
104
+
105
+ /** components: begin */
106
+ export * from './component/formFieldImage.js';
107
+ import { ZFormFieldImage } from './component/formFieldImage.js';
108
+ export const components = {
109
+ 'formFieldImage': ZFormFieldImage,
110
+ };
111
+ import 'zova';
112
+ declare module 'zova' {
113
+ export interface IComponentRecord {
114
+ 'basic-image:formFieldImage': ControllerFormFieldImage;
115
+ }
116
+ export interface IZovaComponentRecord {
117
+ 'basic-image:formFieldImage': typeof ZFormFieldImage;
118
+ }
119
+ }
120
+ /** components: end */
121
+ /** tableCell: begin */
122
+ export * from '../bean/tableCell.image.jsx';
123
+ import { ITableCellOptionsImage } from '../bean/tableCell.image.jsx';
124
+ import 'zova-module-a-table';
125
+ declare module 'zova-module-a-table' {
126
+
127
+ export interface ITableCellRecord {
128
+ 'basic-image:image': ITableCellOptionsImage;
129
+ }
130
+
131
+
132
+ }
133
+ declare module 'zova-module-basic-image' {
134
+
135
+ export interface TableCellImage {
136
+ /** @internal */
137
+ get scope(): ScopeModuleBasicImage;
138
+ }
139
+
140
+ export interface TableCellImage {
141
+ get $beanFullName(): 'basic-image.tableCell.image';
142
+ get $onionName(): 'basic-image:image';
143
+ get $onionOptions(): ITableCellOptionsImage;
144
+ }
145
+ }
146
+ /** tableCell: end */
147
+ /** tableCell: begin */
148
+ import { TableCellImage } from '../bean/tableCell.image.jsx';
149
+ import 'zova';
150
+ declare module 'zova' {
151
+ export interface IBeanRecordGeneral {
152
+ 'basic-image.tableCell.image': TableCellImage;
153
+ }
154
+ }
155
+ /** tableCell: end */
156
+ /** locale: begin */
157
+ import { locales } from './locales.js';
158
+ /** locale: end */
159
+ /** scope: begin */
160
+ import { BeanScopeBase, type BeanScopeUtil, TypeModuleLocales, TypeLocaleBase } from 'zova';
161
+ import { Scope } from 'zova-module-a-bean';
162
+
163
+ @Scope()
164
+ export class ScopeModuleBasicImage extends BeanScopeBase {}
165
+
166
+ export interface ScopeModuleBasicImage {
167
+ util: BeanScopeUtil;
168
+ locale: TypeModuleLocales<(typeof locales)[TypeLocaleBase]>;
169
+ api: IModuleApi;
170
+ apiSchema: IModuleApiSchema;
171
+ }
172
+
173
+ import 'zova';
174
+ declare module 'zova' {
175
+ export interface IBeanScopeRecord {
176
+ 'basic-image': ScopeModuleBasicImage;
177
+ }
178
+
179
+
180
+
181
+ export interface IBeanScopeLocale {
182
+ 'basic-image': (typeof locales)[TypeLocaleBase];
183
+ }
184
+
185
+
186
+ }
187
+
188
+ export function locale<K extends keyof (typeof locales)[TypeLocaleBase]>(key: K): `basic-image::${K}` {
189
+ return `basic-image::${key}`;
190
+ }
191
+ /** scope: end */
@@ -0,0 +1,7 @@
1
+ import locale_en_us from '../config/locale/en-us.js';
2
+ import locale_zh_cn from '../config/locale/zh-cn.js';
3
+
4
+ export const locales = {
5
+ 'en-us': locale_en_us,
6
+ 'zh-cn': locale_zh_cn,
7
+ };
@@ -0,0 +1,2 @@
1
+ export const __ThisModule__ = 'basic-image';
2
+ export { ScopeModuleBasicImage as ScopeModule } from './index.js';
@@ -0,0 +1,104 @@
1
+ import type { IApiActionOptions } from 'zova-module-a-api';
2
+
3
+ import { Api, BeanApiBase } from 'zova-module-a-api';
4
+
5
+ import type { components, paths } from './openapi/index.js';
6
+
7
+ import { OpenApiBaseURL } from './openapi/index.js';
8
+
9
+ /** Image_createUploadToken */
10
+ export const ApiApiImagecreateUploadTokenPath = '/api/image/upload-token';
11
+ export type ApiApiImagecreateUploadTokenPath = '/api/image/upload-token';
12
+ export type ApiApiImagecreateUploadTokenMethod = 'post';
13
+ export type ApiApiImagecreateUploadTokenRequestBody =
14
+ components['schemas']['a-image.dto.imageUploadTokenRequest'];
15
+ export type ApiApiImagecreateUploadTokenResponseBody =
16
+ paths[ApiApiImagecreateUploadTokenPath][ApiApiImagecreateUploadTokenMethod]['responses']['200']['content']['application/json']['data'];
17
+
18
+ /** Image_upload */
19
+ export const ApiApiImageuploadPath = '/api/image/upload';
20
+ export type ApiApiImageuploadPath = '/api/image/upload';
21
+ export type ApiApiImageuploadMethod = 'post';
22
+ export type ApiApiImageuploadRequestBody = {
23
+ token: string;
24
+ /** Format: binary */
25
+ image: Blob;
26
+ };
27
+ export type ApiApiImageuploadResponseBody =
28
+ paths[ApiApiImageuploadPath][ApiApiImageuploadMethod]['responses']['200']['content']['application/json']['data'];
29
+
30
+ /** Image_createDirectUpload */
31
+ export const ApiApiImagecreateDirectUploadPath = '/api/image/direct-upload';
32
+ export type ApiApiImagecreateDirectUploadPath = '/api/image/direct-upload';
33
+ export type ApiApiImagecreateDirectUploadMethod = 'post';
34
+ export type ApiApiImagecreateDirectUploadRequestBody =
35
+ components['schemas']['a-image.dto.imageDirectUploadRequest'];
36
+ export type ApiApiImagecreateDirectUploadResponseBody =
37
+ paths[ApiApiImagecreateDirectUploadPath][ApiApiImagecreateDirectUploadMethod]['responses']['200']['content']['application/json']['data'];
38
+
39
+ /** Image_uploadUrl */
40
+ export const ApiApiImageuploadUrlPath = '/api/image/upload-url';
41
+ export type ApiApiImageuploadUrlPath = '/api/image/upload-url';
42
+ export type ApiApiImageuploadUrlMethod = 'post';
43
+ export type ApiApiImageuploadUrlRequestBody =
44
+ components['schemas']['a-image.dto.imageUploadUrlRequest'];
45
+ export type ApiApiImageuploadUrlResponseBody =
46
+ paths[ApiApiImageuploadUrlPath][ApiApiImageuploadUrlMethod]['responses']['200']['content']['application/json']['data'];
47
+
48
+ /** Image_delivery */
49
+ export const ApiApiImagedeliveryPath = '/api/image/delivery/{imageId}';
50
+ export type ApiApiImagedeliveryPath = '/api/image/delivery/{imageId}';
51
+ export type ApiApiImagedeliveryMethod = 'get';
52
+ export type ApiApiImagedeliveryRequestParams =
53
+ paths[ApiApiImagedeliveryPath][ApiApiImagedeliveryMethod]['parameters']['path'];
54
+ export type ApiApiImagedeliveryRequestQuery =
55
+ paths[ApiApiImagedeliveryPath][ApiApiImagedeliveryMethod]['parameters']['query'];
56
+ export type ApiApiImagedeliveryResponseBody =
57
+ paths[ApiApiImagedeliveryPath][ApiApiImagedeliveryMethod]['responses']['200']['content']['application/json']['data'];
58
+
59
+ @Api()
60
+ export class ApiImage extends BeanApiBase {
61
+ createUploadToken(body: ApiApiImagecreateUploadTokenRequestBody, options?: IApiActionOptions) {
62
+ return this.$fetch.post<any, ApiApiImagecreateUploadTokenResponseBody>(
63
+ ApiApiImagecreateUploadTokenPath,
64
+ body,
65
+ this.$configPrepare(OpenApiBaseURL(this.sys), options, true),
66
+ );
67
+ }
68
+
69
+ upload(body: ApiApiImageuploadRequestBody, options?: IApiActionOptions) {
70
+ return this.$fetch.post<any, ApiApiImageuploadResponseBody>(
71
+ ApiApiImageuploadPath,
72
+ this.$formData(body),
73
+ this.$configPrepare(OpenApiBaseURL(this.sys), options, true),
74
+ );
75
+ }
76
+
77
+ createDirectUpload(body: ApiApiImagecreateDirectUploadRequestBody, options?: IApiActionOptions) {
78
+ return this.$fetch.post<any, ApiApiImagecreateDirectUploadResponseBody>(
79
+ ApiApiImagecreateDirectUploadPath,
80
+ body,
81
+ this.$configPrepare(OpenApiBaseURL(this.sys), options, true),
82
+ );
83
+ }
84
+
85
+ uploadUrl(body: ApiApiImageuploadUrlRequestBody, options?: IApiActionOptions) {
86
+ return this.$fetch.post<any, ApiApiImageuploadUrlResponseBody>(
87
+ ApiApiImageuploadUrlPath,
88
+ body,
89
+ this.$configPrepare(OpenApiBaseURL(this.sys), options, true),
90
+ );
91
+ }
92
+
93
+ delivery(
94
+ options: {
95
+ params: ApiApiImagedeliveryRequestParams;
96
+ query?: ApiApiImagedeliveryRequestQuery;
97
+ } & IApiActionOptions,
98
+ ) {
99
+ return this.$fetch.get<any, ApiApiImagedeliveryResponseBody>(
100
+ this.$pathTranslate(ApiApiImagedeliveryPath, options.params),
101
+ this.$configPrepare(OpenApiBaseURL(this.sys), options, true),
102
+ );
103
+ }
104
+ }
@@ -0,0 +1,5 @@
1
+ import type { ZovaSys } from 'zova';
2
+
3
+ export const OpenApiBaseURL = (sys: ZovaSys) => {
4
+ return sys.util.getOpenApiBaseURL('OPENAPI_BASE_URL_BASIC_IMAGE');
5
+ };
@@ -0,0 +1,3 @@
1
+ export * from './baseURL.js';
2
+ export * from './schemas.js';
3
+ export * from './types.js';