add api prefix option

This commit is contained in:
Patrick Nagurny
2018-11-08 11:35:11 -05:00
parent 2a827bac26
commit edffa4b7c6
6 changed files with 44 additions and 42 deletions

View File

@@ -5,44 +5,44 @@ import (
"github.com/openaccounting/oa-server/core/ws"
)
func GetRouter(auth *AuthMiddleware) (rest.App, error) {
func GetRouter(auth *AuthMiddleware, prefix string) (rest.App, error) {
return rest.MakeRouter(
rest.Get("/api/user", auth.RequireAuth(GetUser)),
rest.Put("/api/user", PutUser),
rest.Post("/api/user/verify", VerifyUser),
rest.Post("/api/user/reset-password", ResetPassword),
rest.Post("/api/users", PostUser),
rest.Post("/api/orgs", auth.RequireAuth(PostOrg)),
rest.Get("/api/orgs", auth.RequireAuth(GetOrgs)),
rest.Get("/api/orgs/:orgId", auth.RequireAuth(GetOrg)),
rest.Put("/api/orgs/:orgId", auth.RequireAuth(PutOrg)),
rest.Get("/api/orgs/:orgId/ledgers", auth.RequireAuth(GetOrgAccounts)),
rest.Post("/api/orgs/:orgId/ledgers", auth.RequireAuth(PostAccount)),
rest.Put("/api/orgs/:orgId/ledgers/:accountId", auth.RequireAuth(PutAccount)),
rest.Delete("/api/orgs/:orgId/ledgers/:accountId", auth.RequireAuth(DeleteAccount)),
rest.Get("/api/orgs/:orgId/ledgers/:accountId/transactions", auth.RequireAuth(GetTransactionsByAccount)),
rest.Get("/api/orgs/:orgId/accounts", auth.RequireAuth(GetOrgAccounts)),
rest.Post("/api/orgs/:orgId/accounts", auth.RequireAuth(PostAccount)),
rest.Put("/api/orgs/:orgId/accounts/:accountId", auth.RequireAuth(PutAccount)),
rest.Delete("/api/orgs/:orgId/accounts/:accountId", auth.RequireAuth(DeleteAccount)),
rest.Get("/api/orgs/:orgId/accounts/:accountId/transactions", auth.RequireAuth(GetTransactionsByAccount)),
rest.Get("/api/orgs/:orgId/transactions", auth.RequireAuth(GetTransactionsByOrg)),
rest.Post("/api/orgs/:orgId/transactions", auth.RequireAuth(PostTransaction)),
rest.Put("/api/orgs/:orgId/transactions/:transactionId", auth.RequireAuth(PutTransaction)),
rest.Delete("/api/orgs/:orgId/transactions/:transactionId", auth.RequireAuth(DeleteTransaction)),
rest.Get("/api/orgs/:orgId/prices", auth.RequireAuth(GetPrices)),
rest.Post("/api/orgs/:orgId/prices", auth.RequireAuth(PostPrice)),
rest.Delete("/api/orgs/:orgId/prices/:priceId", auth.RequireAuth(DeletePrice)),
rest.Get("/ws", ws.Handler),
rest.Post("/api/sessions", auth.RequireAuth(PostSession)),
rest.Delete("/api/sessions/:sessionId", auth.RequireAuth(DeleteSession)),
rest.Get("/api/apikeys", auth.RequireAuth(GetApiKeys)),
rest.Post("/api/apikeys", auth.RequireAuth(PostApiKey)),
rest.Put("/api/apikeys/:apiKeyId", auth.RequireAuth(PutApiKey)),
rest.Delete("/api/apikeys/:apiKeyId", auth.RequireAuth(DeleteApiKey)),
rest.Get("/api/orgs/:orgId/invites", auth.RequireAuth(GetInvites)),
rest.Post("/api/orgs/:orgId/invites", auth.RequireAuth(PostInvite)),
rest.Put("/api/orgs/:orgId/invites/:inviteId", auth.RequireAuth(PutInvite)),
rest.Delete("/api/orgs/:orgId/invites/:inviteId", auth.RequireAuth(DeleteInvite)),
rest.Get(prefix + "/user", auth.RequireAuth(GetUser)),
rest.Put(prefix + "/user", PutUser),
rest.Post(prefix + "/user/verify", VerifyUser),
rest.Post(prefix + "/user/reset-password", ResetPassword),
rest.Post(prefix + "/users", PostUser),
rest.Post(prefix + "/orgs", auth.RequireAuth(PostOrg)),
rest.Get(prefix + "/orgs", auth.RequireAuth(GetOrgs)),
rest.Get(prefix + "/orgs/:orgId", auth.RequireAuth(GetOrg)),
rest.Put(prefix + "/orgs/:orgId", auth.RequireAuth(PutOrg)),
rest.Get(prefix + "/orgs/:orgId/ledgers", auth.RequireAuth(GetOrgAccounts)),
rest.Post(prefix + "/orgs/:orgId/ledgers", auth.RequireAuth(PostAccount)),
rest.Put(prefix + "/orgs/:orgId/ledgers/:accountId", auth.RequireAuth(PutAccount)),
rest.Delete(prefix + "/orgs/:orgId/ledgers/:accountId", auth.RequireAuth(DeleteAccount)),
rest.Get(prefix + "/orgs/:orgId/ledgers/:accountId/transactions", auth.RequireAuth(GetTransactionsByAccount)),
rest.Get(prefix + "/orgs/:orgId/accounts", auth.RequireAuth(GetOrgAccounts)),
rest.Post(prefix + "/orgs/:orgId/accounts", auth.RequireAuth(PostAccount)),
rest.Put(prefix + "/orgs/:orgId/accounts/:accountId", auth.RequireAuth(PutAccount)),
rest.Delete(prefix + "/orgs/:orgId/accounts/:accountId", auth.RequireAuth(DeleteAccount)),
rest.Get(prefix + "/orgs/:orgId/accounts/:accountId/transactions", auth.RequireAuth(GetTransactionsByAccount)),
rest.Get(prefix + "/orgs/:orgId/transactions", auth.RequireAuth(GetTransactionsByOrg)),
rest.Post(prefix + "/orgs/:orgId/transactions", auth.RequireAuth(PostTransaction)),
rest.Put(prefix + "/orgs/:orgId/transactions/:transactionId", auth.RequireAuth(PutTransaction)),
rest.Delete(prefix + "/orgs/:orgId/transactions/:transactionId", auth.RequireAuth(DeleteTransaction)),
rest.Get(prefix + "/orgs/:orgId/prices", auth.RequireAuth(GetPrices)),
rest.Post(prefix + "/orgs/:orgId/prices", auth.RequireAuth(PostPrice)),
rest.Delete(prefix + "/orgs/:orgId/prices/:priceId", auth.RequireAuth(DeletePrice)),
rest.Get(prefix + "/ws", ws.Handler),
rest.Post(prefix + "/sessions", auth.RequireAuth(PostSession)),
rest.Delete(prefix + "/sessions/:sessionId", auth.RequireAuth(DeleteSession)),
rest.Get(prefix + "keys", auth.RequireAuth(GetApiKeys)),
rest.Post(prefix + "keys", auth.RequireAuth(PostApiKey)),
rest.Put(prefix + "keys/:apiKeyId", auth.RequireAuth(PutApiKey)),
rest.Delete(prefix + "keys/:apiKeyId", auth.RequireAuth(DeleteApiKey)),
rest.Get(prefix + "/orgs/:orgId/invites", auth.RequireAuth(GetInvites)),
rest.Post(prefix + "/orgs/:orgId/invites", auth.RequireAuth(PostInvite)),
rest.Put(prefix + "/orgs/:orgId/invites/:inviteId", auth.RequireAuth(PutInvite)),
rest.Delete(prefix + "/orgs/:orgId/invites/:inviteId", auth.RequireAuth(DeleteInvite)),
)
}