fix: model add workspace_id
This commit is contained in:
parent
4af876f6a8
commit
d2ec6d558b
@ -107,12 +107,15 @@ class ModelSerializer(serializers.Serializer):
|
|||||||
class Operate(serializers.Serializer):
|
class Operate(serializers.Serializer):
|
||||||
id = serializers.UUIDField(required=True, label=_("model id"))
|
id = serializers.UUIDField(required=True, label=_("model id"))
|
||||||
user_id = serializers.UUIDField(required=False, label=_("user id"))
|
user_id = serializers.UUIDField(required=False, label=_("user id"))
|
||||||
|
workspace_id = serializers.CharField(required=False, label=_("workspace id"))
|
||||||
|
|
||||||
def is_valid(self, *, raise_exception=False):
|
def is_valid(self, *, raise_exception=False):
|
||||||
super().is_valid(raise_exception=True)
|
super().is_valid(raise_exception=True)
|
||||||
model = QuerySet(Model).filter(
|
workspace_id = self.data.get("workspace_id")
|
||||||
id=self.data.get("id")
|
model_query = QuerySet(Model).filter(id=self.data.get("id"))
|
||||||
).first()
|
if workspace_id is not None:
|
||||||
|
model_query = model_query.filter(workspace_id=workspace_id)
|
||||||
|
model = model_query.first()
|
||||||
if model is None:
|
if model is None:
|
||||||
raise AppApiException(500, _('Model does not exist'))
|
raise AppApiException(500, _('Model does not exist'))
|
||||||
if model.workspace_id == 'None':
|
if model.workspace_id == 'None':
|
||||||
@ -122,7 +125,7 @@ class ModelSerializer(serializers.Serializer):
|
|||||||
if with_valid:
|
if with_valid:
|
||||||
super().is_valid(raise_exception=True)
|
super().is_valid(raise_exception=True)
|
||||||
model = QuerySet(Model).get(
|
model = QuerySet(Model).get(
|
||||||
id=self.data.get('id')
|
id=self.data.get('id'), workspace_id=self.data.get('workspace_id')
|
||||||
)
|
)
|
||||||
return ModelSerializer.model_to_dict(model)
|
return ModelSerializer.model_to_dict(model)
|
||||||
|
|
||||||
@ -130,13 +133,15 @@ class ModelSerializer(serializers.Serializer):
|
|||||||
model = None
|
model = None
|
||||||
if with_valid:
|
if with_valid:
|
||||||
super().is_valid(raise_exception=True)
|
super().is_valid(raise_exception=True)
|
||||||
model = QuerySet(Model).filter(id=self.data.get("id")).first()
|
model = QuerySet(Model).filter(id=self.data.get("id"),
|
||||||
|
workspace_id=self.data.get('workspace_id')).first()
|
||||||
if model is None:
|
if model is None:
|
||||||
raise AppApiException(500, _('Model does not exist'))
|
raise AppApiException(500, _('Model does not exist'))
|
||||||
return {'id': str(model.id), 'provider': model.provider, 'name': model.name, 'model_type': model.model_type,
|
return {'id': str(model.id), 'provider': model.provider, 'name': model.name, 'model_type': model.model_type,
|
||||||
'model_name': model.model_name,
|
'model_name': model.model_name,
|
||||||
'status': model.status,
|
'status': model.status,
|
||||||
'meta': model.meta
|
'meta': model.meta,
|
||||||
|
'workspace_id': model.workspace_id,
|
||||||
}
|
}
|
||||||
|
|
||||||
def pause_download(self, with_valid=True):
|
def pause_download(self, with_valid=True):
|
||||||
|
|||||||
@ -121,7 +121,8 @@ class ModelSetting(APIView):
|
|||||||
)
|
)
|
||||||
def put(self, request: Request, workspace_id, model_id: str):
|
def put(self, request: Request, workspace_id, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).edit(request.data,
|
ModelSerializer.Operate(
|
||||||
|
data={'id': model_id, 'user_id': request.user.id, 'workspace_id': workspace_id}).edit(request.data,
|
||||||
str(request.user.id)))
|
str(request.user.id)))
|
||||||
|
|
||||||
@extend_schema(methods=['DELETE'],
|
@extend_schema(methods=['DELETE'],
|
||||||
@ -138,7 +139,8 @@ class ModelSetting(APIView):
|
|||||||
)
|
)
|
||||||
def delete(self, request: Request, workspace_id: str, model_id: str):
|
def delete(self, request: Request, workspace_id: str, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).delete())
|
ModelSerializer.Operate(
|
||||||
|
data={'id': model_id, 'user_id': request.user.id, 'workspace_id': workspace_id}).delete())
|
||||||
|
|
||||||
@extend_schema(methods=['GET'],
|
@extend_schema(methods=['GET'],
|
||||||
summary=_('Query model details'),
|
summary=_('Query model details'),
|
||||||
@ -151,7 +153,9 @@ class ModelSetting(APIView):
|
|||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
def get(self, request: Request, workspace_id: str, model_id: str):
|
def get(self, request: Request, workspace_id: str, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).one(with_valid=True))
|
ModelSerializer.Operate(
|
||||||
|
data={'id': model_id, 'user_id': request.user.id, 'workspace_id': workspace_id}).one(
|
||||||
|
with_valid=True))
|
||||||
|
|
||||||
class ModelParamsForm(APIView):
|
class ModelParamsForm(APIView):
|
||||||
authentication_classes = [TokenAuth]
|
authentication_classes = [TokenAuth]
|
||||||
@ -203,7 +207,7 @@ class ModelSetting(APIView):
|
|||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
def get(self, request: Request, workspace_id: str, model_id: str):
|
def get(self, request: Request, workspace_id: str, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.Operate(data={'id': model_id}).one_meta(with_valid=True))
|
ModelSerializer.Operate(data={'id': model_id, 'workspace_id': workspace_id}).one_meta(with_valid=True))
|
||||||
|
|
||||||
class PauseDownload(APIView):
|
class PauseDownload(APIView):
|
||||||
authentication_classes = [TokenAuth]
|
authentication_classes = [TokenAuth]
|
||||||
@ -220,7 +224,7 @@ class ModelSetting(APIView):
|
|||||||
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
|
||||||
def put(self, request: Request, workspace_id: str, model_id: str):
|
def put(self, request: Request, workspace_id: str, model_id: str):
|
||||||
return result.success(
|
return result.success(
|
||||||
ModelSerializer.Operate(data={'id': model_id}).pause_download())
|
ModelSerializer.Operate(data={'id': model_id, 'workspace_id': workspace_id}).pause_download())
|
||||||
|
|
||||||
|
|
||||||
class SharedModel(APIView):
|
class SharedModel(APIView):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user