|
@@ -6,8 +6,10 @@ import * as target from "./target";
|
|
import * as user from "./user";
|
|
import * as user from "./user";
|
|
import * as auth from "./auth";
|
|
import * as auth from "./auth";
|
|
import * as role from "./role";
|
|
import * as role from "./role";
|
|
|
|
+import * as accessToken from "./accessToken";
|
|
import HttpCode from "@server/types/HttpCode";
|
|
import HttpCode from "@server/types/HttpCode";
|
|
import {
|
|
import {
|
|
|
|
+ verifyAccessTokenAccess,
|
|
rateLimitMiddleware,
|
|
rateLimitMiddleware,
|
|
verifySessionMiddleware,
|
|
verifySessionMiddleware,
|
|
verifySessionUserMiddleware,
|
|
verifySessionUserMiddleware,
|
|
@@ -114,11 +116,13 @@ authenticated.put(
|
|
verifyUserHasAction(ActionsEnum.createResource),
|
|
verifyUserHasAction(ActionsEnum.createResource),
|
|
resource.createResource
|
|
resource.createResource
|
|
);
|
|
);
|
|
|
|
+
|
|
authenticated.get(
|
|
authenticated.get(
|
|
"/site/:siteId/resources",
|
|
"/site/:siteId/resources",
|
|
verifyUserHasAction(ActionsEnum.listResources),
|
|
verifyUserHasAction(ActionsEnum.listResources),
|
|
resource.listResources
|
|
resource.listResources
|
|
);
|
|
);
|
|
|
|
+
|
|
authenticated.get(
|
|
authenticated.get(
|
|
"/org/:orgId/resources",
|
|
"/org/:orgId/resources",
|
|
verifyOrgAccess,
|
|
verifyOrgAccess,
|
|
@@ -278,31 +282,59 @@ authenticated.post(
|
|
authenticated.post(
|
|
authenticated.post(
|
|
`/resource/:resourceId/password`,
|
|
`/resource/:resourceId/password`,
|
|
verifyResourceAccess,
|
|
verifyResourceAccess,
|
|
- verifyUserHasAction(ActionsEnum.updateResource), // REVIEW: group all resource related updates under update resource?
|
|
|
|
|
|
+ verifyUserHasAction(ActionsEnum.setResourcePassword),
|
|
resource.setResourcePassword
|
|
resource.setResourcePassword
|
|
);
|
|
);
|
|
|
|
|
|
authenticated.post(
|
|
authenticated.post(
|
|
`/resource/:resourceId/pincode`,
|
|
`/resource/:resourceId/pincode`,
|
|
verifyResourceAccess,
|
|
verifyResourceAccess,
|
|
- verifyUserHasAction(ActionsEnum.updateResource),
|
|
|
|
|
|
+ verifyUserHasAction(ActionsEnum.setResourcePincode),
|
|
resource.setResourcePincode
|
|
resource.setResourcePincode
|
|
);
|
|
);
|
|
|
|
|
|
authenticated.post(
|
|
authenticated.post(
|
|
`/resource/:resourceId/whitelist`,
|
|
`/resource/:resourceId/whitelist`,
|
|
verifyResourceAccess,
|
|
verifyResourceAccess,
|
|
- verifyUserHasAction(ActionsEnum.updateResource),
|
|
|
|
|
|
+ verifyUserHasAction(ActionsEnum.setResourceWhitelist),
|
|
resource.setResourceWhitelist
|
|
resource.setResourceWhitelist
|
|
);
|
|
);
|
|
|
|
|
|
authenticated.get(
|
|
authenticated.get(
|
|
`/resource/:resourceId/whitelist`,
|
|
`/resource/:resourceId/whitelist`,
|
|
verifyResourceAccess,
|
|
verifyResourceAccess,
|
|
- verifyUserHasAction(ActionsEnum.getResource),
|
|
|
|
|
|
+ verifyUserHasAction(ActionsEnum.getResourceWhitelist),
|
|
resource.getResourceWhitelist
|
|
resource.getResourceWhitelist
|
|
);
|
|
);
|
|
|
|
|
|
|
|
+authenticated.post(
|
|
|
|
+ `/resource/:resourceId/access-token`,
|
|
|
|
+ verifyResourceAccess,
|
|
|
|
+ verifyUserHasAction(ActionsEnum.generateAccessToken),
|
|
|
|
+ accessToken.generateAccessToken
|
|
|
|
+);
|
|
|
|
+
|
|
|
|
+authenticated.delete(
|
|
|
|
+ `/access-token/:accessTokenId`,
|
|
|
|
+ verifyAccessTokenAccess,
|
|
|
|
+ verifyUserHasAction(ActionsEnum.deleteAcessToken),
|
|
|
|
+ accessToken.deleteAccessToken
|
|
|
|
+);
|
|
|
|
+
|
|
|
|
+authenticated.get(
|
|
|
|
+ `/org/:orgId/access-tokens`,
|
|
|
|
+ verifyOrgAccess,
|
|
|
|
+ verifyUserHasAction(ActionsEnum.listAccessTokens),
|
|
|
|
+ accessToken.listAccessTokens
|
|
|
|
+);
|
|
|
|
+
|
|
|
|
+authenticated.get(
|
|
|
|
+ `/resource/:resourceId/access-tokens`,
|
|
|
|
+ verifyResourceAccess,
|
|
|
|
+ verifyUserHasAction(ActionsEnum.listAccessTokens),
|
|
|
|
+ accessToken.listAccessTokens
|
|
|
|
+);
|
|
|
|
+
|
|
unauthenticated.get("/resource/:resourceId/auth", resource.getResourceAuthInfo);
|
|
unauthenticated.get("/resource/:resourceId/auth", resource.getResourceAuthInfo);
|
|
|
|
|
|
// authenticated.get(
|
|
// authenticated.get(
|
|
@@ -422,3 +454,7 @@ authRouter.post("/reset-password/", auth.resetPassword);
|
|
authRouter.post("/resource/:resourceId/password", resource.authWithPassword);
|
|
authRouter.post("/resource/:resourceId/password", resource.authWithPassword);
|
|
authRouter.post("/resource/:resourceId/pincode", resource.authWithPincode);
|
|
authRouter.post("/resource/:resourceId/pincode", resource.authWithPincode);
|
|
authRouter.post("/resource/:resourceId/whitelist", resource.authWithWhitelist);
|
|
authRouter.post("/resource/:resourceId/whitelist", resource.authWithWhitelist);
|
|
|
|
+authRouter.post(
|
|
|
|
+ "/resource/:resourceId/access-token",
|
|
|
|
+ resource.authWithAccessToken
|
|
|
|
+);
|