Browse Source

correct key for api errors

pull/1250/head
Bernd Storath 10 months ago
parent
commit
fcf8adb059
  1. 1
      src/app.vue
  2. 6
      src/server/api/session.delete.ts
  3. 9
      src/server/api/session.post.ts
  4. 2
      src/server/api/wireguard/client/[clientId]/address.put.ts
  5. 2
      src/server/api/wireguard/client/[clientId]/disable.post.ts
  6. 2
      src/server/api/wireguard/client/[clientId]/enable.post.ts
  7. 2
      src/server/api/wireguard/client/[clientId]/name.put.ts
  8. 12
      src/server/middleware/session.ts
  9. 2
      src/server/utils/config.ts
  10. 4
      src/server/utils/session.ts

1
src/app.vue

@ -1434,6 +1434,7 @@ function login(e: Event) {
return refresh(); return refresh();
}) })
.catch((err) => { .catch((err) => {
// TODO: replace alert with actual ui error message
console.log(err); console.log(err);
alert(err.message || err.toString()); alert(err.message || err.toString());
}) })

6
src/server/api/session.delete.ts

@ -4,9 +4,9 @@ export default defineEventHandler(async (event) => {
if (sessionId === undefined) { if (sessionId === undefined) {
return createError({ return createError({
status: 401, statusCode: 401,
message: 'Not logged in' statusMessage: 'Not logged in',
}) });
} }
await session.clear(); await session.clear();

9
src/server/api/session.post.ts

@ -6,15 +6,14 @@ export default defineEventHandler(async (event) => {
// if no password is required, the API should never be called. // if no password is required, the API should never be called.
// Do not automatically authenticate the user. // Do not automatically authenticate the user.
throw createError({ throw createError({
status: 401, statusCode: 401,
message: 'Invalid state', statusMessage: 'Invalid state',
}); });
} }
if (!isPasswordValid(password)) { if (!isPasswordValid(password)) {
throw createError({ throw createError({
status: 401, statusCode: 401,
message: 'Incorrect Password', statusMessage: 'Incorrect Password',
}); });
} }

2
src/server/api/wireguard/client/[clientId]/address.put.ts

@ -5,7 +5,7 @@ export default defineEventHandler(async (event) => {
clientId === 'constructor' || clientId === 'constructor' ||
clientId === 'prototype' clientId === 'prototype'
) { ) {
throw createError({ status: 403 }); throw createError({ statusCode: 403 });
} }
const { address } = await readBody(event); const { address } = await readBody(event);
await WireGuard.updateClientAddress({ clientId, address }); await WireGuard.updateClientAddress({ clientId, address });

2
src/server/api/wireguard/client/[clientId]/disable.post.ts

@ -5,7 +5,7 @@ export default defineEventHandler(async (event) => {
clientId === 'constructor' || clientId === 'constructor' ||
clientId === 'prototype' clientId === 'prototype'
) { ) {
throw createError({ status: 403 }); throw createError({ statusCode: 403 });
} }
await WireGuard.disableClient({ clientId }); await WireGuard.disableClient({ clientId });
return { success: true }; return { success: true };

2
src/server/api/wireguard/client/[clientId]/enable.post.ts

@ -5,7 +5,7 @@ export default defineEventHandler(async (event) => {
clientId === 'constructor' || clientId === 'constructor' ||
clientId === 'prototype' clientId === 'prototype'
) { ) {
throw createError({ status: 403 }); throw createError({ statusCode: 403 });
} }
await WireGuard.enableClient({ clientId }); await WireGuard.enableClient({ clientId });
return { success: true }; return { success: true };

2
src/server/api/wireguard/client/[clientId]/name.put.ts

@ -5,7 +5,7 @@ export default defineEventHandler(async (event) => {
clientId === 'constructor' || clientId === 'constructor' ||
clientId === 'prototype' clientId === 'prototype'
) { ) {
throw createError({ status: 403 }); throw createError({ statusCode: 403 });
} }
const { name } = await readBody(event); const { name } = await readBody(event);
await WireGuard.updateClientName({ clientId, name }); await WireGuard.updateClientName({ clientId, name });

12
src/server/middleware/session.ts

@ -1,8 +1,8 @@
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {
if (event.node.req.url === undefined) { if (event.node.req.url === undefined) {
throw createError({ throw createError({
status: 400, statusCode: 400,
message: 'Invalid request', statusMessage: 'Invalid request',
}); });
} }
if ( if (
@ -27,13 +27,13 @@ export default defineEventHandler(async (event) => {
return; return;
} }
throw createError({ throw createError({
status: 401, statusCode: 401,
message: 'Incorrect Password', statusMessage: 'Incorrect Password',
}); });
} }
throw createError({ throw createError({
status: 401, statusCode: 401,
message: 'Not logged in', statusMessage: 'Not logged in',
}); });
}); });

2
src/server/utils/config.ts

@ -55,7 +55,7 @@ export const REQUIRES_PASSWORD = !!PASSWORD_HASH;
export const SESSION_CONFIG = { export const SESSION_CONFIG = {
password: getRandomHex(256), password: getRandomHex(256),
name: 'wg-easy' name: 'wg-easy',
} satisfies SessionConfig; } satisfies SessionConfig;
export const SERVER_DEBUG = debug('Server'); export const SERVER_DEBUG = debug('Server');

4
src/server/utils/session.ts

@ -1,8 +1,8 @@
import type { H3Event } from 'h3'; import type { H3Event } from 'h3';
export type WGSession = { export type WGSession = {
authenticated: boolean authenticated: boolean;
} };
export function useWGSession(event: H3Event) { export function useWGSession(event: H3Event) {
return useSession<Partial<WGSession>>(event, SESSION_CONFIG); return useSession<Partial<WGSession>>(event, SESSION_CONFIG);

Loading…
Cancel
Save