mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-05 12:20:39 +08:00
feat(license): add license checks for workspace and team member limits
This commit is contained in:
parent
1045f6db7a
commit
3603418bc6
@ -54,6 +54,13 @@ class MemberInviteEmailApi(Resource):
|
||||
inviter = current_user
|
||||
invitation_results = []
|
||||
console_web_url = dify_config.CONSOLE_WEB_URL
|
||||
if (FeatureService.get_system_features().license.product_id == "DIFY_ENTERPRISE_STANDARD" and
|
||||
len(invitee_emails) > FeatureService.get_system_features().available_team_members):
|
||||
return {
|
||||
"code": "limit-exceeded",
|
||||
"message": "Limit exceeded",
|
||||
}, 400
|
||||
|
||||
for invitee_email in invitee_emails:
|
||||
try:
|
||||
token = RegisterService.invite_new_member(
|
||||
|
@ -585,6 +585,9 @@ class TenantService:
|
||||
if not FeatureService.get_system_features().is_allow_create_workspace and not is_setup:
|
||||
raise WorkSpaceNotAllowedCreateError()
|
||||
|
||||
if FeatureService.get_system_features().license.product_id == "DIFY_ENTERPRISE_STANDARD" and FeatureService.get_system_features().available_workspaces == 0:
|
||||
raise WorkSpaceNotAllowedCreateError()
|
||||
|
||||
if name:
|
||||
tenant = TenantService.create_tenant(name=name, is_setup=is_setup)
|
||||
else:
|
||||
|
@ -34,6 +34,9 @@ class LicenseStatus(StrEnum):
|
||||
class LicenseModel(BaseModel):
|
||||
status: LicenseStatus = LicenseStatus.NONE
|
||||
expired_at: str = ""
|
||||
product_id: str = ""
|
||||
available_team_members: int = 0
|
||||
available_workspaces: int = 0
|
||||
|
||||
|
||||
class BrandingModel(BaseModel):
|
||||
@ -202,3 +205,12 @@ class FeatureService:
|
||||
|
||||
if "expiredAt" in license_info:
|
||||
features.license.expired_at = license_info["expiredAt"]
|
||||
|
||||
if "productId" in license_info:
|
||||
features.license.product_id = license_info["productId"]
|
||||
|
||||
if "availableTeamMembers" in license_info:
|
||||
features.license.available_team_members = license_info["availableTeamMembers"]
|
||||
|
||||
if "availableWorkspaces" in license_info:
|
||||
features.license.available_workspaces = license_info["availableWorkspaces"]
|
||||
|
Loading…
x
Reference in New Issue
Block a user