12 lines
530 B
TypeScript
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;
|
|
}
|