Skip to content
This repository was archived by the owner on Apr 19, 2023. It is now read-only.

Commit 1e457da

Browse files
✨ Detailed membership information
1 parent bf70fc9 commit 1e457da

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/crud/membership.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,18 @@ export const getMembership = async (id: number) => {
131131
))[0];
132132
};
133133

134+
/*
135+
* Get a detailed version of a membership
136+
*/
137+
export const getMembershipDetailed = async (id: number) => {
138+
const membership = (await getMembership(id)) as any;
139+
if (!membership || !membership.id)
140+
throw new Error(ErrorCode.MEMBERSHIP_NOT_FOUND);
141+
membership.organization = await getOrganization(membership.organizationId);
142+
membership.user = await getUser(membership.organizationId);
143+
return membership;
144+
};
145+
134146
/*
135147
* Get a list of all members in an organization
136148
*/

src/rest/membership.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ import {
1111
getMembership,
1212
deleteMembership,
1313
getOrganizationMembers,
14-
getUserOrganizationMembership
14+
getUserOrganizationMembership,
15+
getMembershipDetailed
1516
} from "../crud/membership";
1617
import { User } from "../interfaces/tables/user";
1718
import { register } from "./auth";
@@ -25,7 +26,7 @@ export const getMembershipDetailsForUser = async (
2526
membershipId: number
2627
) => {
2728
if (await can(userId, Authorizations.READ, "membership", membershipId))
28-
return await getMembership(membershipId);
29+
return await getMembershipDetailed(membershipId);
2930
throw new Error(ErrorCode.INSUFFICIENT_PERMISSION);
3031
};
3132

0 commit comments

Comments
 (0)