muddle/decorators/Auth.ts
2026-10-23 08:53:07 -04:00

12 lines
530 B
TypeScript

import { defineMemberMetadata, getMemberMetadata } from "../core/metadata.ts";
const KEY = "muddle:auth";
export interface AuthOptions { roles?: string[]; redirect?: string }
export function Auth(options: AuthOptions = {}): MethodDecorator {
return (target, propertyKey) => defineMemberMetadata(KEY, options, target as object, propertyKey as string);
}
export function getAuth(target: object, propertyKey: string): AuthOptions | undefined {
return getMemberMetadata(KEY, target, propertyKey)[0] as AuthOptions | undefined;
}