forked from FoundKeyGang/FoundKey
server: add missing auth/deny endpoint
This endpoint is hinted at in the client, but is not actually defined in the backend. This commit defines it.
This commit is contained in:
parent
418c88bb8f
commit
c65fdebe26
2 changed files with 40 additions and 0 deletions
|
@ -67,6 +67,7 @@ import * as ep___ap_show from './endpoints/ap/show.js';
|
|||
import * as ep___app_create from './endpoints/app/create.js';
|
||||
import * as ep___app_show from './endpoints/app/show.js';
|
||||
import * as ep___auth_accept from './endpoints/auth/accept.js';
|
||||
import * as ep___auth_deny from './endpoints/auth/deny.js';
|
||||
import * as ep___auth_session_generate from './endpoints/auth/session/generate.js';
|
||||
import * as ep___auth_session_show from './endpoints/auth/session/show.js';
|
||||
import * as ep___auth_session_userkey from './endpoints/auth/session/userkey.js';
|
||||
|
@ -375,6 +376,7 @@ const eps = [
|
|||
['app/create', ep___app_create],
|
||||
['app/show', ep___app_show],
|
||||
['auth/accept', ep___auth_accept],
|
||||
['auth/deny', ep___auth_deny],
|
||||
['auth/session/generate', ep___auth_session_generate],
|
||||
['auth/session/show', ep___auth_session_show],
|
||||
['auth/session/userkey', ep___auth_session_userkey],
|
||||
|
|
38
packages/backend/src/server/api/endpoints/auth/deny.ts
Normal file
38
packages/backend/src/server/api/endpoints/auth/deny.ts
Normal file
|
@ -0,0 +1,38 @@
|
|||
import { AuthSessions } from '@/models/index.js';
|
||||
import define from '../../define.js';
|
||||
import { ApiError } from '../../error.js';
|
||||
|
||||
export const meta = {
|
||||
tags: ['auth'],
|
||||
|
||||
requireCredential: true,
|
||||
|
||||
secure: true,
|
||||
|
||||
errors: {
|
||||
noSuchSession: {
|
||||
message: 'No such session.',
|
||||
code: 'NO_SUCH_SESSION',
|
||||
id: '9c72d8de-391a-43c1-9d06-08d29efde8df',
|
||||
},
|
||||
},
|
||||
} as const;
|
||||
|
||||
export const paramDef = {
|
||||
type: 'object',
|
||||
properties: {
|
||||
token: { type: 'string' },
|
||||
},
|
||||
required: ['token'],
|
||||
} as const;
|
||||
|
||||
// eslint-disable-next-line import/no-default-export
|
||||
export default define(meta, paramDef, async (ps, user) => {
|
||||
const result = await AuthSessions.delete({
|
||||
token: ps.token,
|
||||
});
|
||||
|
||||
if (result.affected == 0) {
|
||||
throw new ApiError(meta.errors.noSuchSession);
|
||||
}
|
||||
});
|
Loading…
Reference in a new issue