Skip to content

Commit 5335729

Browse files
committed
feat: 🎸 Added deleteByLogin to users route of node-api
1 parent 9d84fe9 commit 5335729

File tree

1 file changed

+23
-1
lines changed
  • packages/node-api/src/router

1 file changed

+23
-1
lines changed

‎packages/node-api/src/router/user.ts

+23-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
authAdminProcedure,
1313
} from '../server.js';
1414
import { ACCESS_TOKEN_NAME } from '../constants.js';
15+
import { z } from 'zod';
1516
import { createLogger } from '@windingtree/sdk-logger';
1617

1718
const logger = createLogger('UserRouter');
@@ -43,7 +44,7 @@ export const userRouter = router({
4344

4445
/**
4546
* List users records.
46-
* Throws an error if the user already exists.
47+
* Allowed for admins only.
4748
*/
4849
list: authAdminProcedure
4950
.output(UsersListOutputSchema)
@@ -65,6 +66,27 @@ export const userRouter = router({
6566
}
6667
}),
6768

69+
/**
70+
* Deletes user by login name.
71+
* Allowed for admins only.
72+
*/
73+
deleteByLogin: authAdminProcedure
74+
.input(z.string())
75+
.mutation(async ({ input, ctx }) => {
76+
try {
77+
const { users } = ctx;
78+
const record = await users.get(input);
79+
logger.trace(`Found #${record.login} user`);
80+
await users.delete(record.login);
81+
} catch (error) {
82+
logger.error('user.deleteByLogin', error);
83+
throw new TRPCError({
84+
code: 'BAD_REQUEST',
85+
message: (error as Error).message,
86+
});
87+
}
88+
}),
89+
6890
/**
6991
* Log in an existing user.
7092
* If successful, generates a new access token and sends it in the response.

0 commit comments

Comments
 (0)