Skip to content

Commit 4ac52a3

Browse files
committed
Remove v1 GET api
1 parent c9501c5 commit 4ac52a3

File tree

2 files changed

+1
-128
lines changed

2 files changed

+1
-128
lines changed

src/api/routes/membership.ts

Lines changed: 0 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -226,133 +226,6 @@ const membershipPlugin: FastifyPluginAsync = async (fastify, _options) => {
226226
.send({ givenName, surname, netId, isPaidMember: false });
227227
},
228228
);
229-
fastify.withTypeProvider<FastifyZodOpenApiTypeProvider>().get(
230-
"/:netId",
231-
{
232-
schema: withTags(["Membership"], {
233-
deprecated: true,
234-
description: "[DEPRECATED] DO NOT USE!",
235-
params: z.object({ netId: illinoisNetId }),
236-
querystring: z.object({
237-
list: z.string().min(1).optional().meta({
238-
description:
239-
"Membership list to check from (defaults to ACM Paid Member list).",
240-
}),
241-
}),
242-
summary:
243-
"Check ACM @ UIUC paid membership (or partner organization membership) status.",
244-
response: {
245-
200: {
246-
description: "List membership status.",
247-
content: {
248-
"application/json": {
249-
schema: z
250-
.object({
251-
netId: illinoisNetId,
252-
list: z.optional(z.string().min(1)),
253-
isPaidMember: z.boolean(),
254-
})
255-
.meta({
256-
example: {
257-
netId: "rjjones",
258-
isPaidMember: false,
259-
},
260-
}),
261-
},
262-
},
263-
},
264-
},
265-
}),
266-
},
267-
async (request, reply) => {
268-
const netId = request.params.netId.toLowerCase();
269-
const list = request.query.list || "acmpaid";
270-
const cacheKey = `membership:${netId}:${list}`;
271-
const result = await getKey<{ isMember: boolean }>({
272-
redisClient: fastify.redisClient,
273-
key: cacheKey,
274-
logger: request.log,
275-
});
276-
if (result) {
277-
return reply.header("X-ACM-Data-Source", "cache").send({
278-
netId,
279-
list: list === "acmpaid" ? undefined : list,
280-
isPaidMember: result.isMember,
281-
});
282-
}
283-
if (list !== "acmpaid") {
284-
const isMember = await checkExternalMembership(
285-
netId,
286-
list,
287-
fastify.dynamoClient,
288-
);
289-
await setKey({
290-
redisClient: fastify.redisClient,
291-
key: cacheKey,
292-
data: JSON.stringify({ isMember }),
293-
expiresIn: MEMBER_CACHE_SECONDS,
294-
logger: request.log,
295-
});
296-
return reply.header("X-ACM-Data-Source", "dynamo").send({
297-
netId,
298-
list,
299-
isPaidMember: isMember,
300-
});
301-
}
302-
const isDynamoMember = await checkPaidMembershipFromTable(
303-
netId,
304-
fastify.dynamoClient,
305-
);
306-
if (isDynamoMember) {
307-
await setKey({
308-
redisClient: fastify.redisClient,
309-
key: cacheKey,
310-
data: JSON.stringify({ isMember: true }),
311-
expiresIn: MEMBER_CACHE_SECONDS,
312-
logger: request.log,
313-
});
314-
return reply
315-
.header("X-ACM-Data-Source", "dynamo")
316-
.send({ netId, isPaidMember: true });
317-
}
318-
const entraIdToken = await getEntraIdToken({
319-
clients: await getAuthorizedClients(),
320-
clientId: fastify.environmentConfig.AadValidClientId,
321-
secretName: genericConfig.EntraSecretName,
322-
logger: request.log,
323-
});
324-
const paidMemberGroup = fastify.environmentConfig.PaidMemberGroupId;
325-
const isAadMember = await checkPaidMembershipFromEntra(
326-
netId,
327-
entraIdToken,
328-
paidMemberGroup,
329-
);
330-
if (isAadMember) {
331-
await setKey({
332-
redisClient: fastify.redisClient,
333-
key: cacheKey,
334-
data: JSON.stringify({ isMember: true }),
335-
expiresIn: MEMBER_CACHE_SECONDS,
336-
logger: request.log,
337-
});
338-
reply
339-
.header("X-ACM-Data-Source", "aad")
340-
.send({ netId, isPaidMember: true });
341-
await setPaidMembershipInTable(netId, fastify.dynamoClient);
342-
return;
343-
}
344-
await setKey({
345-
redisClient: fastify.redisClient,
346-
key: cacheKey,
347-
data: JSON.stringify({ isMember: false }),
348-
expiresIn: MEMBER_CACHE_SECONDS,
349-
logger: request.log,
350-
});
351-
return reply
352-
.header("X-ACM-Data-Source", "aad")
353-
.send({ netId, isPaidMember: false });
354-
},
355-
);
356229
fastify.withTypeProvider<FastifyZodOpenApiTypeProvider>().get(
357230
"/externalList",
358231
{

src/common/errors/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ export class NotImplementedError extends BaseError<"NotImplementedError"> {
5656

5757
export class UnauthorizedError extends BaseError<"UnauthorizedError"> {
5858
constructor({ message }: { message?: string }) {
59-
super({ name: "UnauthorizedError", id: 101, message: message || "Caller does not have permission.", httpStatusCode: 401 });
59+
super({ name: "UnauthorizedError", id: 101, message: message || "User does not have the privileges for this task.", httpStatusCode: 401 });
6060
}
6161
}
6262

0 commit comments

Comments
 (0)