Fix: Made API endpoints more REST compliant

This commit is contained in:
Daniel Hougaard
2024-04-09 00:18:45 -07:00
parent 9d362b8597
commit dd43268506
4 changed files with 19 additions and 19 deletions

View File

@@ -59,7 +59,7 @@ export const registerAccessApprovalPolicyRouter = async (server: FastifyZodProvi
},
onRequest: verifyAuth([AuthMode.JWT]),
handler: async (req) => {
const approvals = await server.services.accessApprovalPolicy.getAccessApprovalPolicyByProjectId({
const approvals = await server.services.accessApprovalPolicy.getAccessApprovalPolicyByProjectSlug({
actor: req.permission.type,
actorId: req.permission.id,
actorAuthMethod: req.permission.authMethod,
@@ -71,7 +71,7 @@ export const registerAccessApprovalPolicyRouter = async (server: FastifyZodProvi
});
server.route({
url: "/policy-count",
url: "/count",
method: "GET",
schema: {
querystring: z.object({
@@ -80,14 +80,14 @@ export const registerAccessApprovalPolicyRouter = async (server: FastifyZodProvi
}),
response: {
200: z.object({
policyCount: z.number()
count: z.number()
})
}
},
onRequest: verifyAuth([AuthMode.JWT]),
handler: async (req) => {
const { policyCount } = await server.services.accessApprovalPolicy.getAccessPolicyCountByEnvSlug({
const { count } = await server.services.accessApprovalPolicy.getAccessPolicyCountByEnvSlug({
actor: req.permission.type,
actorId: req.permission.id,
actorAuthMethod: req.permission.authMethod,
@@ -95,7 +95,7 @@ export const registerAccessApprovalPolicyRouter = async (server: FastifyZodProvi
actorOrgId: req.permission.orgId,
envSlug: req.query.envSlug
});
return { policyCount };
return { count };
}
});

View File

@@ -43,8 +43,8 @@ export const registerV1EERoutes = async (server: FastifyZodProvider) => {
prefix: "/secret-rotation-providers"
});
await server.register(registerAccessApprovalPolicyRouter, { prefix: "/access-approvals" });
await server.register(registerAccessApprovalRequestRouter, { prefix: "/access-approval-requests" });
await server.register(registerAccessApprovalPolicyRouter, { prefix: "/access-approvals/policies" });
await server.register(registerAccessApprovalRequestRouter, { prefix: "/access-approvals/requests" });
await server.register(
async (dynamicSecretRouter) => {

View File

@@ -17,7 +17,7 @@ export const useCreateAccessApprovalPolicy = () => {
return useMutation<{}, {}, TCreateAccessPolicyDTO>({
mutationFn: async ({ environment, projectSlug, approvals, approvers, name, secretPath }) => {
const { data } = await apiRequest.post("/api/v1/access-approvals", {
const { data } = await apiRequest.post("/api/v1/access-approvals/policies", {
environment,
projectSlug,
approvals,
@@ -38,7 +38,7 @@ export const useUpdateAccessApprovalPolicy = () => {
return useMutation<{}, {}, TUpdateAccessPolicyDTO>({
mutationFn: async ({ id, approvers, approvals, name, secretPath }) => {
const { data } = await apiRequest.patch(`/api/v1/access-approvals/${id}`, {
const { data } = await apiRequest.patch(`/api/v1/access-approvals/policies/${id}`, {
approvals,
approvers,
secretPath,
@@ -57,7 +57,7 @@ export const useDeleteAccessApprovalPolicy = () => {
return useMutation<{}, {}, TDeleteSecretPolicyDTO>({
mutationFn: async ({ id }) => {
const { data } = await apiRequest.delete(`/api/v1/access-approvals/${id}`);
const { data } = await apiRequest.delete(`/api/v1/access-approvals/policies/${id}`);
return data;
},
onSuccess: (_, { projectSlug }) => {
@@ -71,7 +71,7 @@ export const useCreateAccessRequest = () => {
return useMutation<{}, {}, TCreateAccessRequestDTO>({
mutationFn: async ({ projectSlug, ...request }) => {
const { data } = await apiRequest.post<TAccessApproval>(
"/api/v1/access-approval-requests",
"/api/v1/access-approvals/requests",
{
...request,
permissions: request.permissions ? packRules(request.permissions) : undefined
@@ -106,7 +106,7 @@ export const useReviewAccessRequest = () => {
>({
mutationFn: async ({ requestId, status }) => {
const { data } = await apiRequest.post(
`/api/v1/access-approval-requests/${requestId}/review`,
`/api/v1/access-approvals/requests/${requestId}/review`,
{
status
}

View File

@@ -19,7 +19,7 @@ export const accessApprovalKeys = {
[{ workspaceId, environment }, "access-approval-policy"] as const,
getAccessApprovalRequests: (projectSlug: string, envSlug?: string, requestedBy?: string) =>
[{ projectSlug, envSlug, requestedBy }, "access-approval-requests"] as const,
[{ projectSlug, envSlug, requestedBy }, "access-approvals-requests"] as const,
getAccessApprovalRequestCount: (projectSlug: string) =>
[{ projectSlug }, "access-approval-request-count"] as const
};
@@ -28,13 +28,13 @@ export const fetchPolicyApprovalCount = async ({
projectSlug,
envSlug
}: TGetAccessPolicyApprovalCountDTO) => {
const { data } = await apiRequest.get<{ policyCount: number }>(
"/api/v1/access-approvals/policy-count",
const { data } = await apiRequest.get<{ count: number }>(
"/api/v1/access-approvals/policies/count",
{
params: { projectSlug, envSlug }
}
);
return data.policyCount;
return data.count;
};
export const useGetAccessPolicyApprovalCount = ({
@@ -57,7 +57,7 @@ export const useGetAccessPolicyApprovalCount = ({
const fetchApprovalPolicies = async ({ projectSlug }: TGetAccessApprovalRequestsDTO) => {
const { data } = await apiRequest.get<{ approvals: TAccessApprovalPolicy[] }>(
"/api/v1/access-approvals",
"/api/v1/access-approvals/policies",
{ params: { projectSlug } }
);
return data.approvals;
@@ -69,7 +69,7 @@ const fetchApprovalRequests = async ({
authorProjectMembershipId
}: TGetAccessApprovalRequestsDTO) => {
const { data } = await apiRequest.get<{ requests: TAccessApprovalRequest[] }>(
"/api/v1/access-approval-requests",
"/api/v1/access-approvals/requests",
{ params: { projectSlug, envSlug, authorProjectMembershipId } }
);
@@ -90,7 +90,7 @@ const fetchApprovalRequests = async ({
const fetchAccessRequestsCount = async (projectSlug: string) => {
const { data } = await apiRequest.get<TAccessRequestCount>(
"/api/v1/access-approval-requests/count",
"/api/v1/access-approvals/requests/count",
{ params: { projectSlug } }
);
return data;