mirror of
https://github.com/soconnor0919/hristudio.git
synced 2026-03-24 03:37:51 -04:00
feat: add role-based permissions and profile page improvements
- Add getMyMemberships API endpoint for user role lookup - Add getMemberRole helper for profile page display - Add role-based UI controls to study page (owner/researcher only) - Add canManage checks to experiments, participants, trials pages - Hide management actions for wizard/observer roles Backend already enforces permissions; UI now provides cleaner UX
This commit is contained in:
@@ -1001,4 +1001,20 @@ export const studiesRouter = createTRPCRouter({
|
||||
|
||||
return updatedPlugin;
|
||||
}),
|
||||
|
||||
getMyMemberships: protectedProcedure.query(async ({ ctx }) => {
|
||||
const userId = ctx.session.user.id;
|
||||
|
||||
const memberships = await ctx.db.query.studyMembers.findMany({
|
||||
where: eq(studyMembers.userId, userId),
|
||||
columns: {
|
||||
studyId: true,
|
||||
role: true,
|
||||
joinedAt: true,
|
||||
},
|
||||
orderBy: [desc(studyMembers.joinedAt)],
|
||||
});
|
||||
|
||||
return memberships;
|
||||
}),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user