apiRateLimits.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.DEFAULT_API_RATE_LIMIT_COST_CONFIG = exports.DEFAULT_API_RATE_LIMIT_ALGORITHM_CONFIG = exports.DEFAULT_API_RATE_LIMIT_SERVICE_MAXIMUM_CONFIG = void 0;
  4. const types_1 = require("../../types");
  5. const service_types_1 = require("../../types/rate-limiting/service.types");
  6. exports.DEFAULT_API_RATE_LIMIT_SERVICE_MAXIMUM_CONFIG = {
  7. [types_1.ApiServiceLevelEnum.FREE]: {
  8. [service_types_1.ApiRateLimitCategoryEnum.TRIGGER]: 60,
  9. [service_types_1.ApiRateLimitCategoryEnum.CONFIGURATION]: 15,
  10. [service_types_1.ApiRateLimitCategoryEnum.GLOBAL]: 30,
  11. },
  12. [types_1.ApiServiceLevelEnum.BUSINESS]: {
  13. [service_types_1.ApiRateLimitCategoryEnum.TRIGGER]: 600,
  14. [service_types_1.ApiRateLimitCategoryEnum.CONFIGURATION]: 150,
  15. [service_types_1.ApiRateLimitCategoryEnum.GLOBAL]: 300,
  16. },
  17. [types_1.ApiServiceLevelEnum.ENTERPRISE]: {
  18. [service_types_1.ApiRateLimitCategoryEnum.TRIGGER]: 6000,
  19. [service_types_1.ApiRateLimitCategoryEnum.CONFIGURATION]: 1500,
  20. [service_types_1.ApiRateLimitCategoryEnum.GLOBAL]: 3000,
  21. },
  22. [types_1.ApiServiceLevelEnum.UNLIMITED]: {
  23. [service_types_1.ApiRateLimitCategoryEnum.TRIGGER]: 6000,
  24. [service_types_1.ApiRateLimitCategoryEnum.CONFIGURATION]: 1500,
  25. [service_types_1.ApiRateLimitCategoryEnum.GLOBAL]: 3000,
  26. },
  27. };
  28. exports.DEFAULT_API_RATE_LIMIT_ALGORITHM_CONFIG = {
  29. [types_1.ApiRateLimitAlgorithmEnum.BURST_ALLOWANCE]: 0.1,
  30. [types_1.ApiRateLimitAlgorithmEnum.WINDOW_DURATION]: 1,
  31. };
  32. exports.DEFAULT_API_RATE_LIMIT_COST_CONFIG = {
  33. [types_1.ApiRateLimitCostEnum.SINGLE]: 1,
  34. [types_1.ApiRateLimitCostEnum.BULK]: 100,
  35. };