import { Constructor, MetadataInspector, MethodDecoratorFactory, } from '@loopback/context'; import {CLIENT_AUTHENTICATION_METADATA_KEY} from '../keys'; import {AuthenticationMetadata} from '../types'; export function authenticateClient(strategyName: string, options?: Object) { return MethodDecoratorFactory.createDecorator( CLIENT_AUTHENTICATION_METADATA_KEY, { strategy: strategyName, options: options ?? {}, }, ); } export function getClientAuthenticateMetadata( controllerClass: Constructor<{}>, methodName: string, ): AuthenticationMetadata | undefined { return MetadataInspector.getMethodMetadata( CLIENT_AUTHENTICATION_METADATA_KEY, controllerClass.prototype, methodName, ); }