import {BindingKey, MetadataAccessor} from '@loopback/core'; import {RateLimitFactoryService} from './services'; import { RateLimitAction, RateLimitConfig, RateLimitMetadata, RateLimitMiddlewareConfig, RateLimitResults, RateLimitStoreSource, } from './types'; export namespace RateLimitSecurityBindings { export const ACTION = BindingKey.create('bleco.security.ratelimit.actions'); export const METADATA = BindingKey.create( 'bleco.security.ratelimit.operationMetadata', ); export const CONFIG = BindingKey.create('bleco.security.ratelimit.config'); export const STORESOURCE = BindingKey.create( 'bleco.security.ratelimit.storesourceProvider', ); export const RATELIMIT_FACTORY_SERVICE = BindingKey.create( `services.${RateLimitFactoryService.name}`, ); export const RATELIMIT_CONFIG = BindingKey.create( 'bleco.security.ratelimit.middleware.config', ); export const RATELIMIT_RESULTS = BindingKey.create('bleco.security.ratelimit.result'); } export const RATELIMIT_METADATA_ACCESSOR = MetadataAccessor.create( 'bleco.security.ratelimit.operationMetadata.accessor', );