@omnifyjp/omnify 3.2.7 → 3.2.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omnifyjp/omnify",
3
- "version": "3.2.7",
3
+ "version": "3.2.9",
4
4
  "description": "Schema-driven code generation for Laravel, TypeScript, and SQL",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -36,10 +36,10 @@
36
36
  "zod": "^3.24.0"
37
37
  },
38
38
  "optionalDependencies": {
39
- "@omnifyjp/omnify-darwin-arm64": "3.2.7",
40
- "@omnifyjp/omnify-darwin-x64": "3.2.7",
41
- "@omnifyjp/omnify-linux-x64": "3.2.7",
42
- "@omnifyjp/omnify-linux-arm64": "3.2.7",
43
- "@omnifyjp/omnify-win32-x64": "3.2.7"
39
+ "@omnifyjp/omnify-darwin-arm64": "3.2.9",
40
+ "@omnifyjp/omnify-darwin-x64": "3.2.9",
41
+ "@omnifyjp/omnify-linux-x64": "3.2.9",
42
+ "@omnifyjp/omnify-linux-arm64": "3.2.9",
43
+ "@omnifyjp/omnify-win32-x64": "3.2.9"
44
44
  }
45
45
  }
@@ -16,11 +16,83 @@ export function generateFileModels(reader, config) {
16
16
  files.push(generateFileBaseModel(config, defaultDisk));
17
17
  files.push(generateFileUserModel(config));
18
18
  files.push(generateFileStatusEnum(config));
19
+ files.push(generateFileResourceBase(config));
20
+ files.push(generateFileResourceUser(config));
19
21
  if (locale) {
20
22
  files.push(generateFileLocales(config, locale.locales));
21
23
  }
22
24
  return files;
23
25
  }
26
+ function generateFileResourceBase(config) {
27
+ const baseNamespace = resolveModularBaseNamespace(config, 'File', 'Resources', config.resources.baseNamespace);
28
+ const content = `<?php
29
+
30
+ namespace ${baseNamespace};
31
+
32
+ /**
33
+ * DO NOT EDIT - This file is auto-generated by Omnify.
34
+ * Any changes will be overwritten on next generation.
35
+ *
36
+ * @generated by omnify
37
+ */
38
+
39
+ use Illuminate\\Http\\Request;
40
+ use Illuminate\\Http\\Resources\\Json\\JsonResource;
41
+
42
+ class FileResourceBase extends JsonResource
43
+ {
44
+ /**
45
+ * Transform the resource into an array.
46
+ *
47
+ * @return array<string, mixed>
48
+ */
49
+ public function toArray(Request $request): array
50
+ {
51
+ return [
52
+ 'id' => $this->id,
53
+ 'collection' => $this->collection,
54
+ 'disk' => $this->disk,
55
+ 'path' => $this->path,
56
+ 'original_name' => $this->original_name,
57
+ 'mime_type' => $this->mime_type,
58
+ 'size' => $this->size,
59
+ 'status' => $this->status?->value,
60
+ 'url' => $this->url ?? null,
61
+ 'expires_at' => $this->expires_at?->toISOString(),
62
+ 'sort_order' => $this->sort_order,
63
+ 'created_at' => $this->created_at?->toISOString(),
64
+ 'updated_at' => $this->updated_at?->toISOString(),
65
+ ];
66
+ }
67
+ }
68
+ `;
69
+ return baseFile(resolveModularBasePath(config, 'File', 'Resources', 'FileResourceBase.php', config.resources.basePath), content);
70
+ }
71
+ function generateFileResourceUser(config) {
72
+ const resourceNamespace = config.resources.namespace;
73
+ const baseNamespace = resolveModularBaseNamespace(config, 'File', 'Resources', config.resources.baseNamespace);
74
+ const content = `<?php
75
+
76
+ /**
77
+ * File Resource
78
+ *
79
+ * SAFE TO EDIT - This file is never overwritten by Omnify.
80
+ */
81
+
82
+ namespace ${resourceNamespace};
83
+
84
+ use ${baseNamespace}\\FileResourceBase;
85
+
86
+ /**
87
+ * FileResource — add project-specific serialization here.
88
+ */
89
+ class FileResource extends FileResourceBase
90
+ {
91
+ //
92
+ }
93
+ `;
94
+ return userFile(`${config.resources.path}/FileResource.php`, content);
95
+ }
24
96
  function generateFileBaseModel(config, defaultDisk) {
25
97
  const baseNamespace = resolveModularBaseNamespace(config, 'File', 'Models', config.models.baseNamespace);
26
98
  const localesNamespace = resolveModularBaseNamespace(config, 'File', 'Locales', config.models.baseNamespace + '\\Locales');