@arkstack/driver-express 0.5.0 → 0.5.1

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