forked from NXRSE/bank
-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathhttpApiRoutes.go
112 lines (104 loc) · 1.49 KB
/
httpApiRoutes.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package main
import (
"net/http"
"github.com/gorilla/mux"
)
type Route struct {
Name string
Method string
Pattern string
HandlerFunc http.HandlerFunc
}
type Routes []Route
var routes = Routes{
Route{
"Index",
"GET",
"/",
Index,
},
// Auth
// Extend token
Route{
"AuthIndex",
"POST",
"/auth",
AuthIndex,
},
// Get token
Route{
"AuthLogin",
"POST",
"/auth/login",
AuthLogin,
},
// Create auth account
Route{
"AuthCreate",
"POST",
"/auth/account",
AuthCreate,
},
// Remove auth account
Route{
"AuthRemove",
"DELETE",
"/auth/account",
AuthRemove,
},
// Accounts
// Get account details
Route{
"AccountIndex",
"GET",
"/account",
AccountIndex,
},
// Create account
Route{
"AccountCreate",
"POST",
"/account",
AccountCreate,
},
// Get all accounts
Route{
"AccountGetAll",
"GET",
"/account/all",
AccountGetAll,
},
// Get single account
Route{
"AccountGet",
"GET",
"/account/{accountId}",
AccountGet,
},
// Payments
// Credit initiation
Route{
"PaymentCreditInitiation",
"POST",
"/payment/credit",
PaymentCreditInitiation,
},
// Deposit initiation
Route{
"PaymentDepositInitiation",
"POST",
"/payment/deposit",
PaymentDepositInitiation,
},
}
func NewRouter() *mux.Router {
router := mux.NewRouter().StrictSlash(true)
for _, route := range routes {
router.
Methods(route.Method).
Path(route.Pattern).
Name(route.Name).
Handler(route.HandlerFunc)
}
return router
}