Skip to content

Commit aa9ecae

Browse files
committed
chore: update dependencies and improve controller structure
- Bump arkormx from 2.0.10 to 2.0.11 across multiple packages. - Upgrade kanun from 1.0.13 to 1.1.0 in various package.json files. - Update resora from 1.2.3 to 1.2.4 in several package.json files. - Refactor controller methods in driver-express stubs to remove unnecessary parameters. - Introduce JssdController and Jssd model for handling Jssd resources. - Enhance resource handling in controllers by using async/await and improved response structure.
1 parent f1cf439 commit aa9ecae

19 files changed

Lines changed: 243 additions & 226 deletions

File tree

README.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
# Arkstack
22

33
[![Create Arkstack][i1]][l1]
4-
[![Downloads][d1]][l1]
4+
[![Installations][d1]][l1]
55
[![Arkormˣ Downloads](https://img.shields.io/npm/dt/arkormx?style=flat-square&label=Arkormˣ&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Farkormx)](https://www.npmjs.com/package/arkormx)
6+
[![Resora Downloads](https://img.shields.io/npm/dt/resora?style=flat-square&label=Resora&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fresora)](https://www.npmjs.com/package/resora)
7+
[![Parasito](https://img.shields.io/npm/dt/parasito?style=flat-square&label=Parasito&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fparasito)](https://www.npmjs.com/package/parasito)
8+
[![Clear Router](https://img.shields.io/npm/dt/clear-router?style=flat-square&label=Clear+Router&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fclear-router)](https://www.npmjs.com/package/clear-router)
9+
[![Kanun](https://img.shields.io/npm/dt/kanun?style=flat-square&label=Kanun&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fkanun)](https://www.npmjs.com/package/kanun)
610
[![Contract Downloads](https://img.shields.io/npm/dt/@arkstack/contract?style=flat-square&label=@arkstack/contract&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/contract)](https://www.npmjs.com/package/@arkstack/contract)
711
[![Common Downloads](https://img.shields.io/npm/dt/@arkstack/common?style=flat-square&label=@arkstack/common&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/common)](https://www.npmjs.com/package/@arkstack/common)
812
[![Console Downloads](https://img.shields.io/npm/dt/@arkstack/console?style=flat-square&label=@arkstack/console&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/console)](https://www.npmjs.com/package/@arkstack/console)
913
[![Console Slim Downloads](https://img.shields.io/npm/dt/@arkstack/console-slim?style=flat-square&label=@arkstack/console-slim&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/console-slim)](https://www.npmjs.com/package/@arkstack/console-slim)
1014
[![Console Slim Downloads](https://img.shields.io/npm/dt/@arkstack/filesystem?style=flat-square&label=@arkstack/filesystem&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/filesystem)](https://www.npmjs.com/package/@arkstack/filesystem)
1115
[![Driver Express Downloads](https://img.shields.io/npm/dt/@arkstack/driver-express?style=flat-square&label=@arkstack/driver-express&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/driver-express)](https://www.npmjs.com/package/@arkstack/driver-express)
1216
[![Driver H3 Downloads](https://img.shields.io/npm/dt/@arkstack/driver-h3?style=flat-square&label=@arkstack/driver-h3&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/driver-h3)](https://www.npmjs.com/package/@arkstack/driver-h3)
17+
[![Auth Downloads](https://img.shields.io/npm/dt/@arkstack/auth?style=flat-square&label=@arkstack/auth&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/auth)](https://www.npmjs.com/package/@arkstack/auth)
18+
[![HTTP Downloads](https://img.shields.io/npm/dt/@arkstack/http?style=flat-square&label=@arkstack/http&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/http)](https://www.npmjs.com/package/@arkstack/http)
19+
[![View Downloads](https://img.shields.io/npm/dt/@arkstack/view?style=flat-square&label=@arkstack/view&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/view)](https://www.npmjs.com/package/@arkstack/view)
20+
[![Notifications Downloads](https://img.shields.io/npm/dt/@arkstack/notifications?style=flat-square&label=@arkstack/notifications&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/notifications)](https://www.npmjs.com/package/@arkstack/notifications)
21+
[![Database Downloads](https://img.shields.io/npm/dt/@arkstack/database?style=flat-square&label=@arkstack/database&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2F@arkstack/database)](https://www.npmjs.com/package/@arkstack/database)
1322
[![Deploy Documentation](https://github.com/arkstack-hq/arkstack/actions/workflows/deploy-docs.yml/badge.svg)](https://github.com/arkstack-hq/arkstack/actions/workflows/deploy-docs.yml)
1423
[![CI](https://github.com/arkstack-hq/arkstack/actions/workflows/ci.yml/badge.svg)](https://github.com/arkstack-hq/arkstack/actions/workflows/ci.yml)
1524
[![codecov](https://codecov.io/gh/arkstack-hq/arkstack/graph/badge.svg?token=vaccg5iudz)](https://codecov.io/gh/arkstack-hq/arkstack)
@@ -229,4 +238,4 @@ MIT
229238

230239
[i1]: https://img.shields.io/npm/v/create-arkstack?style=flat-square&label=create-arkstack&color=%230970ce
231240
[l1]: https://www.npmjs.com/package/create-arkstack
232-
[d1]: https://img.shields.io/npm/dt/create-arkstack?style=flat-square&label=Downloads&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fcreate-arkstack
241+
[d1]: https://img.shields.io/npm/dt/create-arkstack?style=flat-square&label=Installations&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fcreate-arkstack

express/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
"@h3ravel/support": "^0.15.11",
3131
"@kanun-hq/plugin-file": "^0.1.9",
3232
"argon2": "^0.44.0",
33-
"arkormx": "^2.0.10",
33+
"arkormx": "^2.0.11",
3434
"chalk": "^5.6.2",
3535
"clear-router": "^2.6.4",
3636
"commander": "^14.0.3",
@@ -39,10 +39,10 @@
3939
"detect-port": "^2.1.0",
4040
"dotenv": "^17.3.1",
4141
"express": "^5.2.1",
42-
"kanun": "^1.0.13",
42+
"kanun": "^1.1.0",
4343
"kysely": "^0.28.15",
4444
"pg": "^8.20.0",
45-
"resora": "^1.2.3"
45+
"resora": "^1.2.4"
4646
},
4747
"devDependencies": {
4848
"@eslint/js": "^10.0.1",
@@ -63,4 +63,4 @@
6363
"unrun": "^0.3.0",
6464
"vitest": "^4.1.5"
6565
}
66-
}
66+
}
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
import { BaseController } from '@controllers/BaseController'
2+
import { Bind } from 'clear-router/decorators'
3+
import { Resource, ResourceCollection } from 'resora'
4+
import { Jssd } from '@app/models/Jssd'
5+
import { Request } from '@arkstack/http'
6+
7+
/**
8+
* JssdController
9+
*/
10+
export default class JssdController extends BaseController {
11+
/**
12+
* Get all resource from the database
13+
*/
14+
async index () {
15+
return new ResourceCollection(await Jssd.query().orderBy({ id: 'asc' }).get()).additional({
16+
status: 'success',
17+
message: 'OK',
18+
code: 200,
19+
}).response().setStatusCode(200)
20+
}
21+
22+
/**
23+
* Get a specific resource from the database
24+
*
25+
* @param jssd
26+
*/
27+
@Bind()
28+
async show (jssd: Jssd) {
29+
return new Resource(jssd).additional({
30+
status: 'success',
31+
message: 'OK',
32+
code: 200,
33+
}).response().setStatusCode(200)
34+
}
35+
36+
/**
37+
* Create a new resource in the database
38+
*
39+
* The calling route must recieve a multer.RequestHandler instance
40+
*
41+
* @example router.post('/jssds', upload.none(), new AdminController().create)
42+
*
43+
* @param req
44+
*/
45+
@Bind()
46+
async create (req: Request) {
47+
const data = await Jssd.query().create({
48+
data: req.body,
49+
})
50+
51+
return new Resource({ data }).additional({
52+
status: 'success',
53+
message: 'New jssd created successfully',
54+
code: 201,
55+
}).response().setStatusCode(201)
56+
}
57+
58+
/**
59+
* Update a specific resource in the database
60+
*
61+
* @param jssd
62+
* @param req
63+
*/
64+
@Bind()
65+
async update (jssd: Jssd, req: Request) {
66+
await jssd.update({
67+
data: req.body,
68+
})
69+
70+
return new Resource(jssd).additional({
71+
status: 'success',
72+
message: 'jssd updated successfully',
73+
code: 202,
74+
}).response().setStatusCode(202)
75+
}
76+
77+
/**
78+
* Delete a specific resource from the database
79+
*
80+
* @param jssd
81+
*/
82+
async destroy (jssd: Jssd) {
83+
await jssd.delete()
84+
85+
return new Resource({ data: {} }).additional({
86+
status: 'success',
87+
message: 'jssd deleted successfully',
88+
code: 202,
89+
}).response().setStatusCode(202)
90+
}
91+
}

express/src/app/models/Jssd.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { Model } from 'arkormx'
2+
3+
export class Jssd extends Model {
4+
protected static override table = 'jssds'
5+
}

h3/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@
3131
"@h3ravel/support": "^0.15.11",
3232
"@kanun-hq/plugin-file": "^0.1.9",
3333
"argon2": "^0.44.0",
34-
"arkormx": "^2.0.10",
34+
"arkormx": "^2.0.11",
3535
"chalk": "^5.6.2",
3636
"clear-router": "^2.6.4",
3737
"commander": "^14.0.3",
3838
"date-fns": "^4.1.0",
3939
"detect-port": "^2.1.0",
4040
"dotenv": "^17.3.1",
4141
"h3": "2.0.1-rc.16",
42-
"kanun": "^1.0.13",
42+
"kanun": "^1.1.0",
4343
"kysely": "^0.28.15",
4444
"pg": "^8.20.0",
45-
"resora": "^1.2.3"
45+
"resora": "^1.2.4"
4646
},
4747
"devDependencies": {
4848
"@eslint/js": "^10.0.1",
@@ -61,4 +61,4 @@
6161
"unrun": "^0.3.0",
6262
"vitest": "^4.1.5"
6363
}
64-
}
64+
}

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"@types/multer": "^2.1.0",
3939
"@types/node": "^25.6.2",
4040
"@types/pg": "^8.16.0",
41-
"arkormx": "^2.0.10",
41+
"arkormx": "^2.0.11",
4242
"clear-router": "^2.6.4",
4343
"dotenv": "^17.3.1",
4444
"escalade": "^3.2.0",
@@ -51,7 +51,7 @@
5151
"pg": "^8.20.0",
5252
"react": "^18.3.1",
5353
"react-dom": "^18.3.1",
54-
"resora": "^1.2.3",
54+
"resora": "^1.2.4",
5555
"sass-embedded": "^1.99.0",
5656
"tsconfig-paths": "^4.2.0",
5757
"tsx": "^4.21.0",
@@ -82,4 +82,4 @@
8282
"ssh2"
8383
]
8484
}
85-
}
85+
}

packages/common/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,6 @@
4444
},
4545
"peerDependencies": {
4646
"@h3ravel/support": "^0.15.11",
47-
"arkormx": "^2.0.10"
47+
"arkormx": "^2.0.11"
4848
}
49-
}
49+
}

packages/console-slim/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@
5555
"@arkstack/contract": "workspace:^",
5656
"@h3ravel/musket": "^0.10.1",
5757
"chalk": "^5.6.2",
58-
"resora": "^1.2.3"
58+
"resora": "^1.2.4"
5959
}
60-
}
60+
}

packages/console/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,14 @@
4949
},
5050
"peerDependencies": {
5151
"clear-router": "^2.6.4",
52-
"arkormx": "^2.0.10"
52+
"arkormx": "^2.0.11"
5353
},
5454
"dependencies": {
5555
"@arkstack/common": "workspace:^",
5656
"@arkstack/contract": "workspace:^",
5757
"@h3ravel/musket": "^0.10.1",
5858
"@h3ravel/support": "^0.15.11",
5959
"chalk": "^5.6.2",
60-
"resora": "^1.2.3"
60+
"resora": "^1.2.4"
6161
}
62-
}
62+
}

packages/console/src/app.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ export class ArkstackConsoleApp<TCore extends Core> extends CliApp {
5050
makeController = (name: string, opts: any) => {
5151
this.mergeConfig()
5252
const normalized = (name.endsWith('Controller') ? name.replace(/controller/i, '') : name)
53-
5453
let controllerName = normalized.endsWith('Controller') ? normalized : `${normalized}Controller`
5554
const controllersDir = path.resolve(process.cwd(), 'src', 'app/http/controllers')
5655
const fileName = `${controllerName}.${opts?.ext ?? 'ts'}`
@@ -77,14 +76,14 @@ export class ArkstackConsoleApp<TCore extends Core> extends CliApp {
7776
}
7877

7978
controllerName = controllerName.split('/').pop() as string
80-
8179
this.generateFile(
8280
stubPath,
8381
outputPath,
8482
{
8583
// If class name contains / or ., take only the last part for the class name
8684
ControllerName: controllerName,
8785
Model: opts.model?.pascalCase(),
86+
Param: opts.model?.toLowerCase(),
8887
ModelName: opts.model?.camelCase(),
8988
Name: controllerName.replace(/controller/i, ''),
9089
},

0 commit comments

Comments
 (0)