@arkstack/driver-h3 0.5.0 → 0.5.2

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": "@arkstack/driver-h3",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "type": "module",
5
5
  "description": "H3 driver for Arkstack, providing H3-based runtime integration for the framework.",
6
6
  "homepage": "https://arkstack.toneflix.net",
@@ -38,13 +38,13 @@
38
38
  "dependencies": {
39
39
  "clear-router": "^2.6.4",
40
40
  "@resora/plugin-clear-router": "^1.0.14",
41
- "resora": "^1.2.3",
42
- "@arkstack/contract": "^0.5.0"
41
+ "resora": "^1.2.4",
42
+ "@arkstack/contract": "^0.5.2"
43
43
  },
44
44
  "peerDependencies": {
45
45
  "h3": "2.0.1-rc.16",
46
- "@arkstack/auth": "^0.5.0",
47
- "@arkstack/common": "^0.5.0"
46
+ "@arkstack/auth": "^0.5.2",
47
+ "@arkstack/common": "^0.5.2"
48
48
  },
49
49
  "peerDependenciesMeta": {
50
50
  "@arkstack/auth": {
@@ -1,10 +1,9 @@
1
1
  import { BaseController } from '@controllers/BaseController'
2
2
  import BaseController from '@controllers/BaseController'
3
- import { HttpContext } from 'clear-router/types/h3'
4
3
  import {{ResourceName}} from '@app/http/resources/{{ResourceName}}'
5
4
  import {{CollectionResourceName}} from '@app/http/resources/{{CollectionResourceName}}'
6
5
 
7
- import { Resource } from 'resora'
6
+ import { Resource, ResourceCollection } from 'resora'
8
7
 
9
8
  /**
10
9
  * {{ControllerName}}
@@ -12,86 +11,56 @@ import { Resource } from 'resora'
12
11
  export default class {{ControllerName}} extends BaseController {
13
12
  /**
14
13
  * Get all resources
15
- *
16
- * @param req
17
- * @param res
18
14
  */
19
- index = async ({ res }: HttpContext) => {
20
- return await new Resource( { data: [] })
21
- .additional({
15
+ async index () {
16
+ return await new {{CollectionResourceName}}([]).additional({
22
17
  status: 'success',
23
18
  message: 'OK',
24
19
  code: 200,
25
- })
26
- .response(res)
27
- .setStatusCode(200)
20
+ }).response().setStatusCode(200)
28
21
  }
29
22
 
30
23
  /**
31
24
  * Get a specific resource
32
- *
33
- * @param req
34
- * @param res
35
25
  */
36
- show = async ({ res }: HttpContext) => {
37
- return await new Resource({ data: {} })
38
- .additional({
26
+ async show () {
27
+ return new {{ResourceName}}({}).additional({
39
28
  status: 'success',
40
29
  message: 'OK',
41
30
  code: 200,
42
- })
43
- .response(res)
44
- .setStatusCode(200)
31
+ }).response().setStatusCode(200)
45
32
  }
46
33
 
47
34
  /**
48
35
  * Create a resource
49
- *
50
- * @param req
51
- * @param res
52
36
  */
53
- create = async ({ res }: HttpContext) => {
54
- return await new Resource({ data: {} })
55
- .additional({
37
+ async create () {
38
+ return new {{ResourceName}}({}).additional({
56
39
  status: 'success',
57
40
  message: 'New {{Name}} created successfully',
58
41
  code: 201,
59
- })
60
- .response(res)
61
- .setStatusCode(201)
42
+ }).response().setStatusCode(201)
62
43
  }
63
44
 
64
45
  /**
65
46
  * Update a specific resource
66
- *
67
- * @param req
68
- * @param res
69
47
  */
70
- update = async ({ res }: HttpContext) => {
71
- return await new Resource({ data: {} })
72
- .additional({
48
+ async update () {
49
+ return new {{ResourceName}}({}).additional({
73
50
  status: 'success',
74
51
  message: '{{Name}} updated successfully',
75
52
  code: 202,
76
- })
77
- .response(res)
78
- .setStatusCode(202)
53
+ }).response().setStatusCode(202)
79
54
  }
80
55
 
81
56
  /**
82
57
  * Delete a specific resource
83
- *
84
- * @param req
85
- * @param res
86
58
  */
87
- destroy = async ({ res }: HttpContext) => {
88
- return await new Resource({ data: {} })
89
- .additional({
59
+ async destroy () {
60
+ return new {{ResourceName}}({}).additional({
90
61
  status: 'success',
91
62
  message: '{{Name}} deleted successfully',
92
63
  code: 202,
93
- })
94
- .response(res)
95
- .setStatusCode(202)
64
+ }).response().setStatusCode(202)
96
65
  }
97
66
  }
@@ -1,7 +1,5 @@
1
1
  import { BaseController } from '@controllers/BaseController'
2
- import { HttpContext } from 'clear-router/types/h3'
3
-
4
- import { Resource } from 'resora'
2
+ import { Resource, ResourceCollection } from 'resora'
5
3
 
6
4
  /**
7
5
  * {{ControllerName}}
@@ -9,86 +7,56 @@ import { Resource } from 'resora'
9
7
  export default class {{ControllerName}} extends BaseController {
10
8
  /**
11
9
  * Get all resources
12
- *
13
- * @param req
14
- * @param res
15
10
  */
16
- index = async ({ res }: HttpContext) => {
17
- return await new Resource({ data: [] })
18
- .additional({
11
+ async index () {
12
+ return new ResourceCollection({ data: [] }).additional({
19
13
  status: 'success',
20
14
  message: 'OK',
21
15
  code: 200,
22
- })
23
- .response(res)
24
- .setStatusCode(200)
16
+ }).response().setStatusCode(200)
25
17
  }
26
18
 
27
19
  /**
28
20
  * Get a specific resource
29
- *
30
- * @param req
31
- * @param res
32
21
  */
33
- show = async ({ res }: HttpContext) => {
34
- return await new Resource({ data: {} })
35
- .additional({
22
+ async show () {
23
+ return new Resource({ data: {} }).additional({
36
24
  status: 'success',
37
25
  message: 'OK',
38
26
  code: 200,
39
- })
40
- .response(res)
41
- .setStatusCode(200)
27
+ }).response().setStatusCode(200)
42
28
  }
43
29
 
44
30
  /**
45
31
  * Create a resource
46
- *
47
- * @param req
48
- * @param res
49
32
  */
50
- create = async ({ res }: HttpContext) => {
51
- return await new Resource({ data: {} })
52
- .additional({
33
+ async create () {
34
+ return new Resource({ data: {} }).additional({
53
35
  status: 'success',
54
36
  message: 'New {{Name}} created successfully',
55
37
  code: 201,
56
- })
57
- .response(res)
58
- .setStatusCode(201)
38
+ }).response().setStatusCode(201)
59
39
  }
60
40
 
61
41
  /**
62
42
  * Update a specific resource
63
- *
64
- * @param req
65
- * @param res
66
43
  */
67
- update = async ({ res }: HttpContext) => {
68
- return await new Resource({ data: {} })
69
- .additional({
44
+ async update () {
45
+ return new Resource({ data: {} }).additional({
70
46
  status: 'success',
71
47
  message: '{{Name}} updated successfully',
72
48
  code: 202,
73
- })
74
- .response(res)
75
- .setStatusCode(202)
49
+ }).response().setStatusCode(202)
76
50
  }
77
51
 
78
52
  /**
79
53
  * Delete a specific resource
80
- *
81
- * @param req
82
- * @param res
83
54
  */
84
- destroy = async ({ res }: HttpContext) => {
85
- return await new Resource({ data: {} })
86
- .additional({
55
+ async destroy () {
56
+ return new Resource({ data: {}} ).additional({
87
57
  status: 'success',
88
58
  message: '{{Name}} deleted successfully',
89
59
  code: 202,
90
- })
91
- .response(res)
92
- .setStatusCode(202)
60
+ }).response().setStatusCode(202)
93
61
  }
94
62
  }
@@ -1,8 +1,8 @@
1
1
  import { BaseController } from '@controllers/BaseController'
2
- import { HttpContext } from 'clear-router/types/h3'
3
- import { Resource } from 'resora'
4
- import { {{Model}} } from 'src/models/{{Model}}'
5
- import { readBody } from 'h3'
2
+ import { Bind } from 'clear-router/decorators'
3
+ import { Resource, ResourceCollection } from 'resora'
4
+ import { {{Model}} } from '@app/models/{{Model}}'
5
+ import { Request } from '@arkstack/http'
6
6
 
7
7
  /**
8
8
  * {{ControllerName}}
@@ -10,106 +10,78 @@ import { readBody } from 'h3'
10
10
  export default class {{ControllerName}} extends BaseController {
11
11
  /**
12
12
  * Get all resource from the database
13
- *
14
- * @param req
15
- * @param res
16
13
  */
17
- index = async ({ res }: HttpContext) => {
18
- const data = await {{Model}}.query().orderBy({ id: 'asc' }).get()
19
-
20
- return await new Resource({ data })
21
- .additional({
14
+ async index () {
15
+ return new ResourceCollection(await {{Model}}.query().orderBy({ id: 'asc' }).get()).additional({
22
16
  status: 'success',
23
17
  message: 'OK',
24
18
  code: 200,
25
- })
26
- .response(res)
27
- .setStatusCode(200)
19
+ }).response().setStatusCode(200)
28
20
  }
29
21
 
30
22
  /**
31
23
  * Get a specific resource from the database
32
24
  *
33
- * @param req
34
- * @param res
25
+ * @param {{Param}}
35
26
  */
36
- show = async ({ res, context }: HttpContext) => {
37
- const data = await {{Model}}.query().where({ id: String(context.params?.id) }).firstOrFail()
38
-
39
- return await new Resource({ data })
40
- .additional({
27
+ @Bind()
28
+ async show ({{Param}}: {{Model}}) {
29
+ return new Resource({{Param}}).additional({
41
30
  status: 'success',
42
31
  message: 'OK',
43
32
  code: 200,
44
- })
45
- .response(res)
46
- .setStatusCode(200)
33
+ }).response().setStatusCode(200)
47
34
  }
48
35
 
49
36
  /**
50
37
  * Create a new resource in the database
51
38
  *
52
- * The calling route must recieve a multer.RequestHandler instance
53
- *
54
- * @example router.post('/{{ModelName}}s', upload.none(), new AdminController().create)
55
- *
56
39
  * @param req
57
- * @param res
58
40
  */
59
- create = async (evt: HttpContext) => {
41
+ @Bind()
42
+ async create (req: Request) {
60
43
  const data = await {{Model}}.query().create({
61
- data: readBody(evt) as any,
44
+ data: req.body,
62
45
  })
63
46
 
64
- return await new Resource({ data })
65
- .additional({
47
+ return new Resource({ data }).additional({
66
48
  status: 'success',
67
49
  message: 'New {{ModelName}} created successfully',
68
50
  code: 201,
69
- })
70
- .response(evt.res)
71
- .setStatusCode(201)
51
+ }).response().setStatusCode(201)
72
52
  }
73
53
 
74
54
  /**
75
55
  * Update a specific resource in the database
76
56
  *
57
+ * @param {{Param}}
77
58
  * @param req
78
- * @param res
79
59
  */
80
- update = async (evt: HttpContext) => {
81
- const data = await {{Model}}.query()
82
- .where({ id: String(evt.context.params?.id) })
83
- .update({
84
- data: readBody(evt) as any,
85
- })
60
+ @Bind()
61
+ async update (req: Request, {{Param}}: {{Model}}) {
62
+ await {{Param}}.update({
63
+ data: req.body,
64
+ })
86
65
 
87
- return await new Resource({ data })
88
- .additional({
66
+ return new Resource({{Param}}).additional({
89
67
  status: 'success',
90
68
  message: '{{ModelName}} updated successfully',
91
69
  code: 202,
92
- })
93
- .response(evt.res)
94
- .setStatusCode(202)
70
+ }).response().setStatusCode(202)
95
71
  }
96
72
 
97
73
  /**
98
74
  * Delete a specific resource from the database
99
75
  *
100
- * @param req
101
- * @param res
76
+ * @param {{Param}}
102
77
  */
103
- destroy = async ({ res, context }: HttpContext) => {
104
- await {{Model}}.query().where({ id: String(context.params?.id) }).delete()
78
+ async destroy ({{Param}}: {{Model}}) {
79
+ await {{Param}}.delete()
105
80
 
106
- return await new Resource({ data: null })
107
- .additional({
81
+ return new Resource({ data: {} }).additional({
108
82
  status: 'success',
109
83
  message: '{{ModelName}} deleted successfully',
110
84
  code: 202,
111
- })
112
- .response(res)
113
- .setStatusCode(202)
85
+ }).response().setStatusCode(202)
114
86
  }
115
87
  }
@@ -1,11 +1,10 @@
1
1
  import { BaseController } from '@controllers/BaseController'
2
- import { HttpContext } from 'clear-router/types/h3'
3
2
 
4
3
  /**
5
4
  * {{ControllerName}}
6
5
  */
7
6
  export default class {{ControllerName}} extends BaseController {
8
- index = async ({ req, res }: HttpContext) => {
7
+ async index () {
9
8
  return '<p>Hello!</p>'
10
9
  }
11
10
  }