Skip to content

Commit d2ec6d5

Browse files
committed
fix: model add workspace_id
1 parent 4af876f commit d2ec6d5

File tree

2 files changed

+21
-12
lines changed

2 files changed

+21
-12
lines changed

apps/models_provider/serializers/model_serializer.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,15 @@ def model_to_dict(model: Model):
107107
class Operate(serializers.Serializer):
108108
id = serializers.UUIDField(required=True, label=_("model id"))
109109
user_id = serializers.UUIDField(required=False, label=_("user id"))
110+
workspace_id = serializers.CharField(required=False, label=_("workspace id"))
110111

111112
def is_valid(self, *, raise_exception=False):
112113
super().is_valid(raise_exception=True)
113-
model = QuerySet(Model).filter(
114-
id=self.data.get("id")
115-
).first()
114+
workspace_id = self.data.get("workspace_id")
115+
model_query = QuerySet(Model).filter(id=self.data.get("id"))
116+
if workspace_id is not None:
117+
model_query = model_query.filter(workspace_id=workspace_id)
118+
model = model_query.first()
116119
if model is None:
117120
raise AppApiException(500, _('Model does not exist'))
118121
if model.workspace_id == 'None':
@@ -122,21 +125,23 @@ def one(self, with_valid=False):
122125
if with_valid:
123126
super().is_valid(raise_exception=True)
124127
model = QuerySet(Model).get(
125-
id=self.data.get('id')
128+
id=self.data.get('id'), workspace_id=self.data.get('workspace_id')
126129
)
127130
return ModelSerializer.model_to_dict(model)
128131

129132
def one_meta(self, with_valid=False):
130133
model = None
131134
if with_valid:
132135
super().is_valid(raise_exception=True)
133-
model = QuerySet(Model).filter(id=self.data.get("id")).first()
136+
model = QuerySet(Model).filter(id=self.data.get("id"),
137+
workspace_id=self.data.get('workspace_id')).first()
134138
if model is None:
135139
raise AppApiException(500, _('Model does not exist'))
136140
return {'id': str(model.id), 'provider': model.provider, 'name': model.name, 'model_type': model.model_type,
137141
'model_name': model.model_name,
138142
'status': model.status,
139-
'meta': model.meta
143+
'meta': model.meta,
144+
'workspace_id': model.workspace_id,
140145
}
141146

142147
def pause_download(self, with_valid=True):

apps/models_provider/views/model.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,9 @@ class Operate(APIView):
121121
)
122122
def put(self, request: Request, workspace_id, model_id: str):
123123
return result.success(
124-
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).edit(request.data,
125-
str(request.user.id)))
124+
ModelSerializer.Operate(
125+
data={'id': model_id, 'user_id': request.user.id, 'workspace_id': workspace_id}).edit(request.data,
126+
str(request.user.id)))
126127

127128
@extend_schema(methods=['DELETE'],
128129
summary=_('Delete model'),
@@ -138,7 +139,8 @@ def put(self, request: Request, workspace_id, model_id: str):
138139
)
139140
def delete(self, request: Request, workspace_id: str, model_id: str):
140141
return result.success(
141-
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).delete())
142+
ModelSerializer.Operate(
143+
data={'id': model_id, 'user_id': request.user.id, 'workspace_id': workspace_id}).delete())
142144

143145
@extend_schema(methods=['GET'],
144146
summary=_('Query model details'),
@@ -151,7 +153,9 @@ def delete(self, request: Request, workspace_id: str, model_id: str):
151153
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
152154
def get(self, request: Request, workspace_id: str, model_id: str):
153155
return result.success(
154-
ModelSerializer.Operate(data={'id': model_id, 'user_id': request.user.id}).one(with_valid=True))
156+
ModelSerializer.Operate(
157+
data={'id': model_id, 'user_id': request.user.id, 'workspace_id': workspace_id}).one(
158+
with_valid=True))
155159

156160
class ModelParamsForm(APIView):
157161
authentication_classes = [TokenAuth]
@@ -203,7 +207,7 @@ class ModelMeta(APIView):
203207
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
204208
def get(self, request: Request, workspace_id: str, model_id: str):
205209
return result.success(
206-
ModelSerializer.Operate(data={'id': model_id}).one_meta(with_valid=True))
210+
ModelSerializer.Operate(data={'id': model_id, 'workspace_id': workspace_id}).one_meta(with_valid=True))
207211

208212
class PauseDownload(APIView):
209213
authentication_classes = [TokenAuth]
@@ -220,7 +224,7 @@ class PauseDownload(APIView):
220224
RoleConstants.WORKSPACE_MANAGE.get_workspace_role())
221225
def put(self, request: Request, workspace_id: str, model_id: str):
222226
return result.success(
223-
ModelSerializer.Operate(data={'id': model_id}).pause_download())
227+
ModelSerializer.Operate(data={'id': model_id, 'workspace_id': workspace_id}).pause_download())
224228

225229

226230
class SharedModel(APIView):

0 commit comments

Comments
 (0)