Pārlūkot izejas kodu

feat: add inner API to create workspace without requiring email (#13021)

tags/0.15.3
Xin Zhang pirms 9 mēnešiem
vecāks
revīzija
a6a727e8a4
Revīzijas autora e-pasta adrese nav piesaistīta nevienam kontam
1 mainītis faili ar 32 papildinājumiem un 0 dzēšanām
  1. 32
    0
      api/controllers/inner_api/workspace/workspace.py

+ 32
- 0
api/controllers/inner_api/workspace/workspace.py Parādīt failu

@@ -1,3 +1,5 @@
import json

from flask_restful import Resource, reqparse # type: ignore

from controllers.console.wraps import setup_required
@@ -29,4 +31,34 @@ class EnterpriseWorkspace(Resource):
return {"message": "enterprise workspace created."}


class EnterpriseWorkspaceNoOwnerEmail(Resource):
@setup_required
@inner_api_only
def post(self):
parser = reqparse.RequestParser()
parser.add_argument("name", type=str, required=True, location="json")
args = parser.parse_args()

tenant = TenantService.create_tenant(args["name"], is_from_dashboard=True)

tenant_was_created.send(tenant)

resp = {
"id": tenant.id,
"name": tenant.name,
"encrypt_public_key": tenant.encrypt_public_key,
"plan": tenant.plan,
"status": tenant.status,
"custom_config": json.loads(tenant.custom_config) if tenant.custom_config else {},
"created_at": tenant.created_at.isoformat() if tenant.created_at else None,
"updated_at": tenant.updated_at.isoformat() if tenant.updated_at else None,
}

return {
"message": "enterprise workspace created.",
"tenant": resp,
}


api.add_resource(EnterpriseWorkspace, "/enterprise/workspace")
api.add_resource(EnterpriseWorkspaceNoOwnerEmail, "/enterprise/workspace/ownerless")

Notiek ielāde…
Atcelt
Saglabāt