Skip to content
This repository was archived by the owner on Feb 8, 2024. It is now read-only.

Commit 46e53c4

Browse files
committed
Add next
1 parent 4252c1a commit 46e53c4

1 file changed

Lines changed: 94 additions & 0 deletions

File tree

examples/next.js

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
const {
2+
createRest,
3+
printRoutes,
4+
flattenRoutes,
5+
get,
6+
post,
7+
put,
8+
patch,
9+
destroy,
10+
scope,
11+
childs,
12+
resources,
13+
resource,
14+
member,
15+
} = require('../dist/index')
16+
17+
18+
const routes = {
19+
childs: {
20+
users: {
21+
generate: 'resources',
22+
controller: 'Users',
23+
id: 'username',
24+
only: ['read', 'index'],
25+
before: [],
26+
after: [],
27+
childs: {},
28+
member: {
29+
followers: {
30+
generate: 'get',
31+
handler: 'followersList',
32+
},
33+
following: {
34+
generate: 'resources',
35+
handler: 'followingList',
36+
},
37+
},
38+
},
39+
user: {
40+
generate: 'resource',
41+
controller: 'CurrentUser',
42+
only: ['read', 'update'],
43+
before: [],
44+
after: [],
45+
childs: {
46+
emails: {
47+
generate: 'resource',
48+
controller: 'CurrentUserEmails',
49+
// only: ['read', 'create', 'destroy'],
50+
except: ['update'],
51+
before: [],
52+
after: [],
53+
childs: {
54+
// visibility: {
55+
// generate: 'handlers',
56+
// handlers: {
57+
// PATCH: {
58+
// name: 'toggleVisibility',
59+
// },
60+
// },
61+
// },
62+
visibility: {
63+
generate: 'patch',
64+
handler: 'toggleVisibility',
65+
// controller will auto resolved
66+
},
67+
},
68+
},
69+
followers: {
70+
generate: 'get',
71+
handler: 'myFollowers',
72+
},
73+
following: {
74+
generate: 'resources',
75+
controller: 'UserFollowing',
76+
only: ['index', 'read'],
77+
id: 'username',
78+
},
79+
},
80+
},
81+
},
82+
}
83+
84+
const routesGenerated = createRest({},
85+
resources('users', { id: 'username', only: ['read', 'index'] }),
86+
resource('user', { controller: 'CurrentUser', only: ['read', 'update'] },
87+
resource('emails', { except: ['update'] },
88+
// handlers('visibility', {}, { PATCH: { name: 'toggleVisibility' } })
89+
patch('visibility', { handler: 'toggleVisibility' })
90+
)
91+
)
92+
)
93+
94+
console.log(routes, routesGenerated)

0 commit comments

Comments
 (0)