add handlers for enable/disable

This commit is contained in:
Jacob Overgaard
2024-03-26 09:49:48 +01:00
parent 583012c474
commit 5ef2af51c9
2 changed files with 40 additions and 0 deletions

View File

@@ -77,6 +77,26 @@ class UmbUserMockDB extends UmbEntityMockDbBase<UmbMockUserModel> {
return mfaLoginProviders;
}
enableMfaProvider(providerName: string) {
const provider = mfaLoginProviders.find((x) => x.providerName === providerName);
if (provider) {
provider.isEnabledOnUser = true;
return true;
}
return false;
}
disableMfaProvider(providerName: string) {
const provider = mfaLoginProviders.find((x) => x.providerName === providerName);
if (provider) {
provider.isEnabledOnUser = false;
return true;
}
return false;
}
/**
* Disable users
* @param {Array<string>} ids

View File

@@ -12,4 +12,24 @@ export const handlers = [
const mfaLoginProviders = umbUserMockDb.getMfaLoginProviders();
return res(ctx.status(200), ctx.json(mfaLoginProviders));
}),
rest.post<{ code: string; secret: string }>(
umbracoPath(`${UMB_SLUG}/current/2fa/:providerName`),
async (req, res, ctx) => {
const body = await req.json();
if (!req.params.providerName || !body.code || !body.secret) {
return res(ctx.status(400));
}
const result = umbUserMockDb.enableMfaProvider(req.params.providerName.toString());
return res(ctx.status(result ? 200 : 404));
},
),
rest.delete<{ code: string }>(umbracoPath(`${UMB_SLUG}/current/2fa/:providerName`), (req, res, ctx) => {
if (!req.params.providerName) {
return res(ctx.status(400));
}
const result = umbUserMockDb.disableMfaProvider(req.params.providerName.toString());
return res(ctx.status(result ? 200 : 404));
}),
];