apiRateLimits.js 1.3 KB

1234567891011121314151617181920212223242526272829303132
  1. import { ApiRateLimitAlgorithmEnum, ApiRateLimitCostEnum, ApiServiceLevelEnum, } from '../../types';
  2. import { ApiRateLimitCategoryEnum } from '../../types/rate-limiting/service.types';
  3. export const DEFAULT_API_RATE_LIMIT_SERVICE_MAXIMUM_CONFIG = {
  4. [ApiServiceLevelEnum.FREE]: {
  5. [ApiRateLimitCategoryEnum.TRIGGER]: 60,
  6. [ApiRateLimitCategoryEnum.CONFIGURATION]: 15,
  7. [ApiRateLimitCategoryEnum.GLOBAL]: 30,
  8. },
  9. [ApiServiceLevelEnum.BUSINESS]: {
  10. [ApiRateLimitCategoryEnum.TRIGGER]: 600,
  11. [ApiRateLimitCategoryEnum.CONFIGURATION]: 150,
  12. [ApiRateLimitCategoryEnum.GLOBAL]: 300,
  13. },
  14. [ApiServiceLevelEnum.ENTERPRISE]: {
  15. [ApiRateLimitCategoryEnum.TRIGGER]: 6000,
  16. [ApiRateLimitCategoryEnum.CONFIGURATION]: 1500,
  17. [ApiRateLimitCategoryEnum.GLOBAL]: 3000,
  18. },
  19. [ApiServiceLevelEnum.UNLIMITED]: {
  20. [ApiRateLimitCategoryEnum.TRIGGER]: 6000,
  21. [ApiRateLimitCategoryEnum.CONFIGURATION]: 1500,
  22. [ApiRateLimitCategoryEnum.GLOBAL]: 3000,
  23. },
  24. };
  25. export const DEFAULT_API_RATE_LIMIT_ALGORITHM_CONFIG = {
  26. [ApiRateLimitAlgorithmEnum.BURST_ALLOWANCE]: 0.1,
  27. [ApiRateLimitAlgorithmEnum.WINDOW_DURATION]: 1,
  28. };
  29. export const DEFAULT_API_RATE_LIMIT_COST_CONFIG = {
  30. [ApiRateLimitCostEnum.SINGLE]: 1,
  31. [ApiRateLimitCostEnum.BULK]: 100,
  32. };