1 |
|
2 | const Base = require("../Base")
|
3 | const RoleModel = require("../model/Role")
|
4 | const d = require("debug")("raptorjs:role")
|
5 |
|
6 | class Role extends Base {
|
7 |
|
8 | create(role) {
|
9 | d("Create role %s", role.name)
|
10 | return this.getClient().post(
|
11 | this.route("ROLE_CREATE"),
|
12 | role
|
13 | )
|
14 | }
|
15 |
|
16 | update(role) {
|
17 | d("Update role %s", role.name)
|
18 | return this.getClient().put(
|
19 | this.route("ROLE_UPDATE", role.name),
|
20 | role
|
21 | )
|
22 | }
|
23 |
|
24 | read(role) {
|
25 | const id = role.id ? role.id : role
|
26 | d("Read role %s", role.name)
|
27 | return this.getClient().get(this.route("ROLE_READ", id))
|
28 | }
|
29 |
|
30 | delete(role) {
|
31 | role = role.id ? role.id : role
|
32 | d("Delete role %s", role)
|
33 | return this.getClient().delete(
|
34 | this.route("ROLE_DELETE", role)
|
35 | )
|
36 | }
|
37 |
|
38 | list(query={}, pager={}) {
|
39 | d("List roles")
|
40 | const Pager = require("../pager")
|
41 | const url = this.route("ROLE_LIST") + Pager.buildQuery(pager, query)
|
42 | return this.getClient().get(url)
|
43 | .then((list) => Promise.resolve(Pager.create(list, (r) => new RoleModel(r))))
|
44 | }
|
45 | }
|
46 |
|
47 | module.exports = Role
|