diff --git a/assemblyline/odm/models/config.py b/assemblyline/odm/models/config.py index 7eea9e69e..e2ee5e94e 100644 --- a/assemblyline/odm/models/config.py +++ b/assemblyline/odm/models/config.py @@ -6,13 +6,15 @@ AUTO_PROPERTY_TYPE = ['access', 'classification', 'type', 'role', 'remove_role', 'group', - 'multi_group', 'api_quota', 'api_daily_quota', 'submission_quota', 'submission_daily_quota'] + 'multi_group', 'api_quota', 'api_daily_quota', 'submission_quota', + 'submission_async_quota', 'submission_daily_quota'] DEFAULT_EMAIL_FIELDS = ['email', 'emails', 'extension_selectedEmailAddress', 'otherMails', 'preferred_username', 'upn'] DEFAULT_DAILY_API_QUOTA = 0 DEFAULT_API_QUOTA = 10 DEFAULT_DAILY_SUBMISSION_QUOTA = 0 DEFAULT_SUBMISSION_QUOTA = 5 +DEFAULT_ASYNC_SUBMISSION_QUOTA = 0 @odm.model(index=False, store=False, description="Password Requirement") @@ -1626,8 +1628,11 @@ class ExternalSource(odm.Model): @odm.model(index=False, store=False, description="Default API and submission quota values for the system") class Quotas(odm.Model): - concurrent_api_calls: int = odm.Integer(description="Maximum concurrent API Calls can be running for a user.") - concurrent_submissions: int = odm.Integer(description="Maximum concurrent Submission can be running for a user.") + concurrent_api_calls: int = odm.Integer(description="Maximum concurrent API Calls that can be running for a user.") + concurrent_submissions: int = odm.Integer( + description="Maximum concurrent Submission that can be running for a user.") + concurrent_async_submissions: int = odm.Integer( + description="Maximum concurrent asynchroneous Submission that can be running for a user.") daily_api_calls: int = odm.Integer(description="Maximum daily API calls a user can issue.") daily_submissions: int = odm.Integer(description="Maximum daily submission a user can do.") @@ -1635,6 +1640,7 @@ class Quotas(odm.Model): DEFAULT_QUOTAS = { 'concurrent_api_calls': DEFAULT_API_QUOTA, 'concurrent_submissions': DEFAULT_SUBMISSION_QUOTA, + 'concurrent_async_submissions': DEFAULT_ASYNC_SUBMISSION_QUOTA, 'daily_api_calls': DEFAULT_DAILY_API_QUOTA, 'daily_submissions': DEFAULT_DAILY_SUBMISSION_QUOTA } diff --git a/assemblyline/odm/models/user.py b/assemblyline/odm/models/user.py index 35b344ae8..af2217af4 100644 --- a/assemblyline/odm/models/user.py +++ b/assemblyline/odm/models/user.py @@ -265,6 +265,8 @@ class User(odm.Model): password = odm.Keyword(index=False, store=False, description="BCrypt hash of the user's password") submission_quota = odm.Optional(odm.Integer(store=False, description="Maximum number of concurrent submissions (0: No Quota)")) + submission_async_quota = odm.Optional(odm.Integer( + store=False, description="Maximum number of concurrent async submission (0: No Quota)")) submission_daily_quota = odm.Optional(odm.Integer( store=False, description="Maximum number of submissions a user can do daily (0: No Quota)"))