@stacksjs/actions 0.70.23 → 0.70.26
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/chunk-2gh7kgpc.js +3 -0
- package/dist/chunk-2kaj93p5.js +3 -0
- package/dist/chunk-2qchdrf9.js +3 -0
- package/dist/chunk-3086k7zk.js +184 -0
- package/dist/chunk-3beht8ja.js +130 -0
- package/dist/chunk-60qjz7zb.js +3 -0
- package/dist/chunk-67y94dzt.js +658 -0
- package/dist/chunk-6x1m5rkr.js +17 -0
- package/dist/chunk-7bpdkc40.js +714 -0
- package/dist/chunk-96b7fcmd.js +3 -0
- package/dist/chunk-aw6d8zr3.js +7 -0
- package/dist/chunk-c8qt2xst.js +3 -0
- package/dist/chunk-d4srk6ma.js +3 -0
- package/dist/chunk-e9tcbk71.js +1 -0
- package/dist/chunk-gt77jmb5.js +46 -0
- package/dist/chunk-h93n2j40.js +95 -0
- package/dist/chunk-jd1yzkq5.js +3 -0
- package/dist/chunk-kzhgexj4.js +3 -0
- package/dist/chunk-n1y0gpv6.js +3 -0
- package/dist/chunk-n2fd1d0m.js +3 -0
- package/dist/chunk-n2x7v39b.js +5 -0
- package/dist/chunk-rdajkt2s.js +88 -0
- package/dist/chunk-s735m9mg.js +1 -0
- package/dist/chunk-schcaf73.js +3 -0
- package/dist/chunk-tc935b45.js +93 -0
- package/dist/chunk-v0wnrnaa.js +7 -0
- package/dist/chunk-w418anbq.js +5 -0
- package/dist/chunk-wnrgcx3d.js +114 -0
- package/dist/chunk-wv5yb5wb.js +101 -0
- package/dist/chunk-x471rxrn.js +7 -0
- package/dist/chunk-xg9xscqz.js +1 -0
- package/dist/src/action.d.ts +60 -0
- package/dist/src/action.js +2 -0
- package/dist/src/actions.d.ts +2 -0
- package/dist/src/actions.js +2 -0
- package/dist/src/add.d.ts +6 -0
- package/dist/src/add.js +2 -0
- package/dist/src/ai/request-model-access.d.ts +1 -0
- package/dist/src/ai/request-model-access.js +2 -0
- package/dist/src/auth/client.d.ts +1 -0
- package/dist/src/auth/client.js +3 -0
- package/dist/src/auth/prune.d.ts +1 -0
- package/dist/src/auth/prune.js +2 -0
- package/dist/src/auth/setup.d.ts +1 -0
- package/dist/src/auth/setup.js +148 -0
- package/dist/src/auth/token.d.ts +1 -0
- package/dist/src/auth/token.js +2 -0
- package/dist/src/build/cli.d.ts +1 -0
- package/dist/src/build/cli.js +2 -0
- package/dist/src/build/component-libs.d.ts +1 -0
- package/dist/src/build/component-libs.js +2 -0
- package/dist/src/build/core.d.ts +1 -0
- package/dist/src/build/core.js +2 -0
- package/dist/src/build/desktop.d.ts +1 -0
- package/dist/src/build/desktop.js +2 -0
- package/dist/src/build/docs.d.ts +1 -0
- package/dist/src/build/docs.js +2 -0
- package/dist/src/build/server.d.ts +1 -0
- package/dist/src/build/server.js +2 -0
- package/dist/src/build/stacks.d.ts +1 -0
- package/dist/src/build/stacks.js +2 -0
- package/dist/src/build/views.d.ts +1 -0
- package/dist/src/build/views.js +2 -0
- package/dist/{build.d.ts → src/build.d.ts} +1 -2
- package/dist/src/build.js +2 -0
- package/dist/src/bump.d.ts +1 -0
- package/dist/src/bump.js +2 -0
- package/dist/src/cdn/invalidate-cache.d.ts +1 -0
- package/dist/src/cdn/invalidate-cache.js +1 -0
- package/dist/src/changelog.d.ts +1 -0
- package/dist/src/changelog.js +2 -0
- package/dist/src/check/ports.d.ts +1 -0
- package/dist/src/check/ports.js +2 -0
- package/dist/src/clean.d.ts +1 -0
- package/dist/src/clean.js +2 -0
- package/dist/{commit.d.ts → src/commit.d.ts} +1 -2
- package/dist/src/commit.js +2 -0
- package/dist/src/copy-types.d.ts +1 -0
- package/dist/src/copy-types.js +3 -0
- package/dist/src/database/seed.d.ts +1 -0
- package/dist/src/database/seed.js +2 -0
- package/dist/src/deploy/create-receipt-rule.d.ts +1 -0
- package/dist/src/deploy/create-receipt-rule.js +2 -0
- package/dist/src/deploy/index.d.ts +1 -0
- package/dist/src/deploy/index.js +307 -0
- package/dist/src/dev/api.d.ts +1 -0
- package/dist/src/dev/api.js +6 -0
- package/dist/src/dev/components.d.ts +1 -0
- package/dist/src/dev/components.js +2 -0
- package/dist/src/dev/dashboard-globals.d.ts +4 -0
- package/dist/src/dev/dashboard-globals.js +3 -0
- package/dist/src/dev/dashboard-utils.d.ts +126 -0
- package/dist/src/dev/dashboard-utils.js +2 -0
- package/dist/src/dev/dashboard.d.ts +12 -0
- package/dist/src/dev/dashboard.js +8 -0
- package/dist/src/dev/desktop.d.ts +1 -0
- package/dist/src/dev/desktop.js +2 -0
- package/dist/src/dev/docs.d.ts +1 -0
- package/dist/src/dev/docs.js +2 -0
- package/dist/src/dev/index.d.ts +10 -0
- package/dist/src/dev/index.js +2 -0
- package/dist/src/dev/system-tray.d.ts +1 -0
- package/dist/src/dev/system-tray.js +2 -0
- package/dist/src/dev/views.d.ts +1 -0
- package/dist/src/dev/views.js +2 -0
- package/dist/src/discover-packages.d.ts +18 -0
- package/dist/src/discover-packages.js +2 -0
- package/dist/src/domains/add.d.ts +1 -0
- package/dist/src/domains/add.js +2 -0
- package/dist/src/domains/purchase.d.ts +1 -0
- package/dist/src/domains/purchase.js +2 -0
- package/dist/src/domains/remove.d.ts +1 -0
- package/dist/src/domains/remove.js +2 -0
- package/dist/{examples.d.ts → src/examples.d.ts} +1 -2
- package/dist/src/examples.js +2 -0
- package/dist/src/find-projects.d.ts +1 -0
- package/dist/src/find-projects.js +2 -0
- package/dist/src/fresh.d.ts +1 -0
- package/dist/src/fresh.js +2 -0
- package/dist/src/generate/action-types.d.ts +1 -0
- package/dist/src/generate/action-types.js +8 -0
- package/dist/src/generate/component-meta.d.ts +1 -0
- package/dist/src/generate/component-meta.js +3 -0
- package/dist/src/generate/custom-cli-file.d.ts +1 -0
- package/dist/src/generate/custom-cli-file.js +4 -0
- package/dist/src/generate/env-files.d.ts +1 -0
- package/dist/src/generate/env-files.js +26 -0
- package/dist/src/generate/ide-helpers.d.ts +1 -0
- package/dist/src/generate/ide-helpers.js +3 -0
- package/dist/src/generate/index.d.ts +36 -0
- package/dist/src/generate/index.js +2 -0
- package/dist/src/generate/lib-entries.d.ts +1 -0
- package/dist/src/generate/lib-entries.js +3 -0
- package/dist/src/generate/pantry-file.d.ts +1 -0
- package/dist/src/generate/pantry-file.js +2 -0
- package/dist/src/generate/symlink-core.d.ts +1 -0
- package/dist/src/generate/symlink-core.js +2 -0
- package/dist/src/generate/types.d.ts +1 -0
- package/dist/src/generate/types.js +2 -0
- package/dist/src/generate/vscode-custom-data.d.ts +1 -0
- package/dist/src/generate/vscode-custom-data.js +3 -0
- package/dist/src/generate/web-types.d.ts +1 -0
- package/dist/src/generate/web-types.js +1 -0
- package/dist/src/helpers/component-meta.d.ts +26 -0
- package/dist/src/helpers/component-meta.js +2 -0
- package/dist/src/helpers/index.d.ts +4 -0
- package/dist/src/helpers/index.js +2 -0
- package/dist/{lib-entries.d.ts → src/helpers/lib-entries.d.ts} +9 -5
- package/dist/src/helpers/lib-entries.js +2 -0
- package/dist/src/helpers/package-json.d.ts +2 -0
- package/dist/src/helpers/package-json.js +43 -0
- package/dist/src/helpers/utils.d.ts +23 -0
- package/dist/src/helpers/utils.js +2 -0
- package/dist/{vscode-custom-data.d.ts → src/helpers/vscode-custom-data.d.ts} +1 -1
- package/dist/src/helpers/vscode-custom-data.js +2 -0
- package/dist/src/index.d.ts +42 -0
- package/dist/src/index.js +2 -0
- package/dist/src/key-generate.d.ts +1 -0
- package/dist/src/key-generate.js +2 -0
- package/dist/src/lint/fix.d.ts +1 -0
- package/dist/src/lint/fix.js +4 -0
- package/dist/src/lint/index.d.ts +1 -0
- package/dist/src/lint/index.js +3 -0
- package/dist/src/make-command.d.ts +10 -0
- package/dist/src/make-command.js +2 -0
- package/dist/src/make-job.d.ts +5 -0
- package/dist/src/make-job.js +2 -0
- package/dist/src/make-policy.d.ts +10 -0
- package/dist/src/make-policy.js +2 -0
- package/dist/src/make-resource.d.ts +10 -0
- package/dist/src/make-resource.js +2 -0
- package/dist/{make.d.ts → src/make.d.ts} +11 -9
- package/dist/src/make.js +2 -0
- package/dist/src/migrate/database.d.ts +1 -0
- package/dist/src/migrate/database.js +2 -0
- package/dist/src/migrate/fresh.d.ts +1 -0
- package/dist/src/migrate/fresh.js +2 -0
- package/dist/src/orm/base.d.ts +1 -0
- package/dist/src/orm/base.js +2 -0
- package/dist/src/orm/test.d.ts +1 -0
- package/dist/src/orm/test.js +1 -0
- package/dist/src/prepublish.d.ts +1 -0
- package/dist/src/prepublish.js +2 -0
- package/dist/src/queue/clear.d.ts +1 -0
- package/dist/src/queue/clear.js +2 -0
- package/dist/src/queue/failed.d.ts +1 -0
- package/dist/src/queue/failed.js +5 -0
- package/dist/src/queue/flush.d.ts +1 -0
- package/dist/src/queue/flush.js +3 -0
- package/dist/src/queue/inspect.d.ts +1 -0
- package/dist/src/queue/inspect.js +8 -0
- package/dist/src/queue/monitor.d.ts +1 -0
- package/dist/src/queue/monitor.js +7 -0
- package/dist/src/queue/retry.d.ts +1 -0
- package/dist/src/queue/retry.js +2 -0
- package/dist/src/queue/schedule-list.d.ts +1 -0
- package/dist/src/queue/schedule-list.js +5 -0
- package/dist/src/queue/schedule.d.ts +1 -0
- package/dist/src/queue/schedule.js +2 -0
- package/dist/src/queue/status.d.ts +1 -0
- package/dist/src/queue/status.js +5 -0
- package/dist/src/queue/table.d.ts +1 -0
- package/dist/src/queue/table.js +2 -0
- package/dist/src/queue/work.d.ts +1 -0
- package/dist/src/queue/work.js +2 -0
- package/dist/src/release.d.ts +1 -0
- package/dist/src/release.js +3 -0
- package/dist/src/route/list.d.ts +1 -0
- package/dist/src/route/list.js +3 -0
- package/dist/src/run-action.d.ts +2 -0
- package/dist/src/run-action.js +2 -0
- package/dist/src/saas/setup.d.ts +1 -0
- package/dist/src/saas/setup.js +2 -0
- package/dist/src/scaffold-crud.d.ts +25 -0
- package/dist/src/scaffold-crud.js +2 -0
- package/dist/src/schedule/run.d.ts +1 -0
- package/dist/src/schedule/run.js +2 -0
- package/dist/src/search/flush.d.ts +1 -0
- package/dist/src/search/flush.js +2 -0
- package/dist/src/search/import.d.ts +1 -0
- package/dist/src/search/import.js +2 -0
- package/dist/src/search/settings-list.d.ts +1 -0
- package/dist/src/search/settings-list.js +2 -0
- package/dist/src/search/settings.d.ts +1 -0
- package/dist/src/search/settings.js +2 -0
- package/dist/src/serve/api.d.ts +1 -0
- package/dist/src/serve/api.js +2 -0
- package/dist/src/setup/index.d.ts +1 -0
- package/dist/src/setup/index.js +2 -0
- package/dist/src/setup/ssl.d.ts +38 -0
- package/dist/src/setup/ssl.js +2 -0
- package/dist/src/stacks.d.ts +4 -0
- package/dist/src/stacks.js +2 -0
- package/dist/src/templates.d.ts +8 -0
- package/dist/src/templates.js +2 -0
- package/dist/src/test/feature.d.ts +1 -0
- package/dist/src/test/feature.js +2 -0
- package/dist/src/test/index.d.ts +1 -0
- package/dist/src/test/index.js +2 -0
- package/dist/src/test/ui.d.ts +1 -0
- package/dist/src/test/ui.js +2 -0
- package/dist/src/test/unit.d.ts +1 -0
- package/dist/src/test/unit.js +2 -0
- package/dist/src/typecheck.d.ts +1 -0
- package/dist/src/typecheck.js +2 -0
- package/dist/{types.d.ts → src/types.d.ts} +1 -2
- package/dist/src/types.js +2 -0
- package/dist/src/upgrade/binary.d.ts +1 -0
- package/dist/src/upgrade/binary.js +2 -0
- package/dist/src/upgrade/bun.d.ts +1 -0
- package/dist/src/upgrade/bun.js +1 -0
- package/dist/src/upgrade/dependencies.d.ts +1 -0
- package/dist/src/upgrade/dependencies.js +2 -0
- package/dist/src/upgrade/framework-utils.d.ts +102 -0
- package/dist/src/upgrade/framework-utils.js +2 -0
- package/dist/src/upgrade/framework.d.ts +1 -0
- package/dist/src/upgrade/framework.js +7 -0
- package/dist/src/upgrade/index.d.ts +1 -0
- package/dist/src/upgrade/index.js +2 -0
- package/dist/src/upgrade/shell.d.ts +1 -0
- package/dist/src/upgrade/shell.js +5 -0
- package/dist/src/upgrade.d.ts +7 -0
- package/dist/src/upgrade.js +2 -0
- package/package.json +39 -23
- package/dist/action-types.d.ts +0 -9
- package/dist/action.d.ts +0 -64
- package/dist/actions.d.ts +0 -2
- package/dist/add.d.ts +0 -5
- package/dist/add.js +0 -33
- package/dist/api.d.ts +0 -1
- package/dist/binary.d.ts +0 -2
- package/dist/build/component-libs.js +0 -9
- package/dist/build/core.js +0 -23
- package/dist/build/stacks.js +0 -8
- package/dist/build.js +0 -108
- package/dist/bump.d.ts +0 -2
- package/dist/bump.js +0 -17
- package/dist/changelog.d.ts +0 -2
- package/dist/changelog.js +0 -17
- package/dist/chunk-2dvnt46s.js +0 -7657
- package/dist/chunk-494jp8d5.js +0 -54
- package/dist/chunk-4axj3j8y.js +0 -34
- package/dist/chunk-56ar3gp7.js +0 -3823
- package/dist/chunk-76zhb40c.js +0 -92
- package/dist/chunk-7s5qcjkt.js +0 -105
- package/dist/chunk-9v6qtbez.js +0 -45
- package/dist/chunk-a13x0e43.js +0 -1180
- package/dist/chunk-a7k3cdby.js +0 -2266
- package/dist/chunk-b5g5w1hh.js +0 -1482
- package/dist/chunk-bf8bq8pc.js +0 -205
- package/dist/chunk-ccnf3w1b.js +0 -2228
- package/dist/chunk-dvkgakrr.js +0 -1283
- package/dist/chunk-frw3va9v.js +0 -69
- package/dist/chunk-hvfeg6n6.js +0 -179248
- package/dist/chunk-mdj7x1vs.js +0 -790
- package/dist/chunk-mdqphqep.js +0 -438
- package/dist/chunk-mmskr8ar.js +0 -212
- package/dist/chunk-nrr524a7.js +0 -658
- package/dist/chunk-p0c688mg.js +0 -729
- package/dist/chunk-pacq2bz6.js +0 -902
- package/dist/chunk-psa9yf21.js +0 -72
- package/dist/chunk-q81mf99q.js +0 -169
- package/dist/chunk-q9dmga3k.js +0 -11
- package/dist/chunk-qhh0v93n.js +0 -73
- package/dist/chunk-qkm8e752.js +0 -51
- package/dist/chunk-saqpg5nd.js +0 -118
- package/dist/chunk-t5em30ak.js +0 -379
- package/dist/chunk-veja9rez.js +0 -5764
- package/dist/chunk-w4bfpxhm.js +0 -311
- package/dist/chunk-w6fdq4hk.js +0 -14425
- package/dist/chunk-wkwtsvym.js +0 -477
- package/dist/chunk-xgsmf4cy.js +0 -410
- package/dist/chunk-ykb33tkv.js +0 -177
- package/dist/chunk-ze46550n.js +0 -0
- package/dist/chunk-zzerxbrm.js +0 -107
- package/dist/clean.js +0 -6
- package/dist/commit.js +0 -22
- package/dist/component-meta.d.ts +0 -15
- package/dist/components.d.ts +0 -3
- package/dist/copy-types.d.ts +0 -1
- package/dist/copy-types.js +0 -14
- package/dist/core.d.ts +0 -1
- package/dist/create-receipt-rule.d.ts +0 -4
- package/dist/database/seed.js +0 -30
- package/dist/database.d.ts +0 -2
- package/dist/deploy/index.js +0 -48
- package/dist/dev/components.js +0 -11
- package/dist/dev/docs.js +0 -7
- package/dist/dev/index.js +0 -58
- package/dist/env-files.d.ts +0 -9
- package/dist/examples.js +0 -46
- package/dist/feature.d.ts +0 -2
- package/dist/find-projects.d.ts +0 -1
- package/dist/fix.d.ts +0 -1
- package/dist/flush.d.ts +0 -2
- package/dist/fresh.d.ts +0 -1
- package/dist/fresh.js +0 -21
- package/dist/generate/component-meta.js +0 -17
- package/dist/generate/ide-helpers.js +0 -18
- package/dist/generate/index.js +0 -216
- package/dist/generate/lib-entries.js +0 -30
- package/dist/generate/vscode-custom-data.js +0 -17
- package/dist/helpers/component-meta.js +0 -204227
- package/dist/helpers/lib-entries.js +0 -122
- package/dist/helpers/package-json.js +0 -96
- package/dist/helpers/utils.js +0 -76
- package/dist/helpers/vscode-custom-data.js +0 -43
- package/dist/import.d.ts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -172
- package/dist/key-generate.js +0 -15
- package/dist/lint/fix.js +0 -18
- package/dist/lint/index.js +0 -5
- package/dist/list.d.ts +0 -1
- package/dist/make.js +0 -349
- package/dist/package-json.d.ts +0 -92
- package/dist/pkgx-file.d.ts +0 -8
- package/dist/ports.d.ts +0 -2
- package/dist/prepublish.d.ts +0 -1
- package/dist/prepublish.js +0 -17
- package/dist/purchase.d.ts +0 -6
- package/dist/release.js +0 -49
- package/dist/remove.d.ts +0 -6
- package/dist/request-model-access.d.ts +0 -1
- package/dist/run.d.ts +0 -1
- package/dist/settings-list.d.ts +0 -2
- package/dist/settings.d.ts +0 -1
- package/dist/setup.d.ts +0 -1
- package/dist/shell.d.ts +0 -2
- package/dist/table.d.ts +0 -1
- package/dist/test/feature.js +0 -14
- package/dist/test/index.js +0 -14
- package/dist/test/ui.js +0 -6
- package/dist/test/unit.js +0 -14
- package/dist/typecheck.js +0 -6
- package/dist/types.js +0 -23
- package/dist/unit.d.ts +0 -2
- package/dist/upgrade/dependencies.js +0 -8
- package/dist/upgrade/index.js +0 -22
- package/dist/upgrade.d.ts +0 -5
- package/dist/upgrade.js +0 -50
- package/dist/utils.d.ts +0 -75
- package/dist/work.d.ts +0 -3
- /package/dist/{upgrade/framework.js → chunk-cdk2r2jd.js} +0 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{gb as G}from"./chunk-96b7fcmd.js";import{log as x}from"@stacksjs/logging";import*as z from"@stacksjs/path";import{doesExist as H,writeFile as I}from"@stacksjs/storage";async function O(q){let j=q.name;if(!j)return x.error("Resource name is required"),!1;let v=j.endsWith("Resource")?j:`${j}Resource`,A=q.model||v.replace("Resource",""),F=q.collection?K(v,A):J(v,A),B=z.appPath("Resources");if(!H(B)){let{mkdirSync:w}=await import("@stacksjs/storage");w(B,{recursive:!0})}let E=z.appPath(`Resources/${v}.ts`);try{return await I(E,F),x.success(`Created resource: ${E}`),!0}catch(w){return x.error(`Failed to create resource: ${w.message}`),!1}}function J(q,j){return`import type { Request } from '@stacksjs/router'
|
|
3
|
+
import { JsonResource } from '@stacksjs/api'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* ${q}
|
|
7
|
+
*
|
|
8
|
+
* Transforms ${j} model data for API responses.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // Single resource
|
|
12
|
+
* return new ${q}(${j.toLowerCase()}).toResponse()
|
|
13
|
+
*
|
|
14
|
+
* // Collection
|
|
15
|
+
* return ${q}.collection(${j.toLowerCase()}s).toResponse()
|
|
16
|
+
*
|
|
17
|
+
* // With additional data
|
|
18
|
+
* return new ${q}(${j.toLowerCase()})
|
|
19
|
+
* .withAdditional({ message: 'Success' })
|
|
20
|
+
* .toResponse()
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
// TODO: Import or define your ${j} type
|
|
24
|
+
interface ${j} {
|
|
25
|
+
id: number
|
|
26
|
+
name: string
|
|
27
|
+
created_at: Date
|
|
28
|
+
updated_at: Date
|
|
29
|
+
// Add your model properties here
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default class ${q} extends JsonResource<${j}> {
|
|
33
|
+
/**
|
|
34
|
+
* Transform the resource into an array.
|
|
35
|
+
*/
|
|
36
|
+
toArray(request?: Request): Record<string, any> {
|
|
37
|
+
return {
|
|
38
|
+
id: this.resource.id,
|
|
39
|
+
name: this.resource.name,
|
|
40
|
+
|
|
41
|
+
// Conditional fields
|
|
42
|
+
// secret: this.when(request?.user?.isAdmin, this.resource.secret),
|
|
43
|
+
|
|
44
|
+
// Loaded relationships
|
|
45
|
+
// posts: this.whenLoaded('posts', () =>
|
|
46
|
+
// PostResource.collection(this.resource.posts)
|
|
47
|
+
// ),
|
|
48
|
+
|
|
49
|
+
// Relationship counts
|
|
50
|
+
// posts_count: this.whenCounted('posts'),
|
|
51
|
+
|
|
52
|
+
// Timestamps
|
|
53
|
+
created_at: this.resource.created_at,
|
|
54
|
+
updated_at: this.resource.updated_at,
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
`}function K(q,j){let v=q.replace("Collection","");return`import type { Request } from '@stacksjs/router'
|
|
59
|
+
import { JsonResource, ResourceCollection } from '@stacksjs/api'
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* ${q}
|
|
63
|
+
*
|
|
64
|
+
* Collection resource for ${j} with custom collection behavior.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* return new ${q}(${j.toLowerCase()}s).toResponse()
|
|
68
|
+
*/
|
|
69
|
+
|
|
70
|
+
// TODO: Import or define your ${j} type
|
|
71
|
+
interface ${j} {
|
|
72
|
+
id: number
|
|
73
|
+
name: string
|
|
74
|
+
created_at: Date
|
|
75
|
+
updated_at: Date
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Individual resource for the collection
|
|
80
|
+
*/
|
|
81
|
+
class ${v} extends JsonResource<${j}> {
|
|
82
|
+
toArray(request?: Request): Record<string, any> {
|
|
83
|
+
return {
|
|
84
|
+
id: this.resource.id,
|
|
85
|
+
name: this.resource.name,
|
|
86
|
+
created_at: this.resource.created_at,
|
|
87
|
+
updated_at: this.resource.updated_at,
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Collection resource with custom behavior
|
|
94
|
+
*/
|
|
95
|
+
export default class ${q} extends ResourceCollection<${j}, ${v}> {
|
|
96
|
+
constructor(resources: ${j}[]) {
|
|
97
|
+
super(resources, ${v})
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Add collection-level data to the response
|
|
102
|
+
*/
|
|
103
|
+
toResponse(request?: Request): Record<string, any> {
|
|
104
|
+
return {
|
|
105
|
+
...super.toResponse(request),
|
|
106
|
+
meta: {
|
|
107
|
+
total: this.count(),
|
|
108
|
+
// Add any collection-level metadata here
|
|
109
|
+
},
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
`}
|
|
114
|
+
export{O as B};
|