Skip to content

Commit 429c0b4

Browse files
allow rolemembers to remove themselves from church (#92)
1 parent 0fe5bb1 commit 429c0b4

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

src/controllers/RoleMemberController.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,14 @@ export class RoleMemberController extends MembershipBaseController {
8484
});
8585
}
8686

87+
@httpDelete("/self/:churchId/:userId")
88+
public async deleteSelf(@requestParam("churchId") churchId: string, @requestParam("userId") userId: string, req: express.Request<{}, {}, []>, res: express.Response): Promise<any> {
89+
return this.actionWrapper(req, res, async (au) => {
90+
await this.repositories.roleMember.deleteSelf(churchId, userId);
91+
return this.json([], 200);
92+
})
93+
}
94+
8795
private async checkAccess(members: RoleMember[], permission: IPermission, au: AuthenticatedUser) {
8896
const hasAccess = au.checkAccess(permission);
8997
/*

src/repositories/RoleMemberRepository.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,9 @@ export class RoleMemberRepository {
4646
return DB.query(query, [userId])
4747
}
4848

49+
public deleteSelf(churchId: string, userId: string) {
50+
const query = "DELETE FROM roleMembers WHERE churchId=? AND userId=?;"
51+
return DB.query(query, [churchId, userId]);
52+
}
53+
4954
}

0 commit comments

Comments
 (0)