1
1
export default function useAPI ( endpoint = '/api.php' ) {
2
- return {
2
+ const api = {
3
3
endpoint,
4
4
setEndpoint ( endpoint ) {
5
- this . endpoint = endpoint
5
+ api . endpoint = endpoint
6
6
} ,
7
7
request ( path , options = { } ) {
8
8
path = ( path . substr ( 0 , 1 ) !== '/' ? '/' : '' ) + path
@@ -12,7 +12,7 @@ export default function useAPI(endpoint = '/api.php') {
12
12
options . credentials = 'include'
13
13
return new Promise ( async ( resolve , reject ) => {
14
14
try {
15
- const resp = await fetch ( this . endpoint + path , options )
15
+ const resp = await fetch ( api . endpoint + path , options )
16
16
if ( resp . status === 200 || resp . ok ) {
17
17
const json = await resp . json ( )
18
18
resolve ( json . records || json )
@@ -25,34 +25,35 @@ export default function useAPI(endpoint = '/api.php') {
25
25
} )
26
26
} ,
27
27
create ( table , item ) {
28
- return this . request ( `records/${ table } ` , { method : 'post' , body : item } )
28
+ return api . request ( `records/${ table } ` , { method : 'post' , body : item } )
29
29
} ,
30
30
read ( table , key ) {
31
- return this . request ( `records/${ table } /${ key } ` )
31
+ return api . request ( `records/${ table } /${ key } ` )
32
32
} ,
33
33
update ( table , key , item ) {
34
- return this . request ( `records/${ table } /${ key } ` , { method : 'put' , body : item } )
34
+ return api . request ( `records/${ table } /${ key } ` , { method : 'put' , body : item } )
35
35
} ,
36
36
delete ( table , key ) {
37
- return this . request ( `records/${ table } /${ key } ` , { method : 'delete' } )
37
+ return api . request ( `records/${ table } /${ key } ` , { method : 'delete' } )
38
38
} ,
39
39
list ( path ) {
40
- return this . request ( 'records/' + path )
40
+ return api . request ( 'records/' + path )
41
41
} ,
42
42
me ( ) {
43
- return this . request ( 'me' )
43
+ return api . request ( 'me' )
44
44
} ,
45
45
register ( username , password ) {
46
- return this . request ( 'register' , { method : 'post' , body : { username, password } } )
46
+ return api . request ( 'register' , { method : 'post' , body : { username, password } } )
47
47
} ,
48
48
login ( username , password ) {
49
- return this . request ( 'login' , { method : 'post' , body : { username, password } } )
49
+ return api . request ( 'login' , { method : 'post' , body : { username, password } } )
50
50
} ,
51
51
password ( username , password , newPassword ) {
52
- return this . request ( 'password' , { method : 'post' , body : { username, password, newPassword } } )
52
+ return api . request ( 'password' , { method : 'post' , body : { username, password, newPassword } } )
53
53
} ,
54
54
logout ( ) {
55
- return this . request ( 'logout' , { method : 'post' } )
55
+ return api . request ( 'logout' , { method : 'post' } )
56
56
}
57
57
}
58
+ return api
58
59
}
0 commit comments