From 22907f7d62d3e388bb8f99c44aaa73773b1dfee9 Mon Sep 17 00:00:00 2001 From: kang2453 Date: Fri, 3 Jan 2025 13:49:50 +0900 Subject: [PATCH] refactor: remove project_id references and update workspace handling in file management Signed-off-by: kang2453 --- src/spaceone/file_manager/interface/rest/file.py | 10 +++++----- src/spaceone/file_manager/manager/file_manager.py | 4 ---- .../file_manager/manager/identity_manager.py | 14 +++++++------- src/spaceone/file_manager/model/file/database.py | 4 +--- src/spaceone/file_manager/model/file/request.py | 6 ------ src/spaceone/file_manager/model/file/response.py | 3 ++- src/spaceone/file_manager/service/file_service.py | 6 ------ 7 files changed, 15 insertions(+), 32 deletions(-) diff --git a/src/spaceone/file_manager/interface/rest/file.py b/src/spaceone/file_manager/interface/rest/file.py index 59fbcdd..3c6ddbf 100644 --- a/src/spaceone/file_manager/interface/rest/file.py +++ b/src/spaceone/file_manager/interface/rest/file.py @@ -229,14 +229,14 @@ def get_download_url(self, response: dict ) -> str: elif resource_group == "DOMAIN": domain_id = response["domain_id"] download_url = "/files/domain/" + domain_id + "/" + file_id - elif resource_group == "WORKSPACE": + elif resource_group == "WORKSPACE" or resource_group == "PROJECT": domain_id = response["domain_id"] workspace_id = response["workspace_id"] download_url = "/files/domain/" + domain_id + "/workspace/" + workspace_id + "/" + file_id - elif resource_group == "PROJECT": - domain_id = response["domain_id"] - project_id = response["project_id"] - download_url = "/files/domain/" + domain_id + "/project/"+ project_id + "/" + file_id + # elif resource_group == "PROJECT": + # domain_id = response["domain_id"] + # project_id = response["project_id"] + # download_url = "/files/domain/" + domain_id + "/workspace/" + workspace_id + "/project/"+ project_id + "/" + file_id else: raise ERROR_NOT_SUPPORTED_RESOURCE_GROUP(resource_group=resource_group) diff --git a/src/spaceone/file_manager/manager/file_manager.py b/src/spaceone/file_manager/manager/file_manager.py index 94d5389..7195e93 100644 --- a/src/spaceone/file_manager/manager/file_manager.py +++ b/src/spaceone/file_manager/manager/file_manager.py @@ -42,7 +42,6 @@ def get_file( file_id: str, domain_id: str = None, workspace_id: str = None, - project_id: str = None, ) -> File: conditions = {"file_id": file_id} @@ -52,9 +51,6 @@ def get_file( if workspace_id: conditions["workspace_id"] = workspace_id - if project_id: - conditions["project_id"] = project_id - return self.file_model.get(**conditions) def filter_files(self, **conditions) -> QuerySet: diff --git a/src/spaceone/file_manager/manager/identity_manager.py b/src/spaceone/file_manager/manager/identity_manager.py index a02cbf3..eac1408 100644 --- a/src/spaceone/file_manager/manager/identity_manager.py +++ b/src/spaceone/file_manager/manager/identity_manager.py @@ -22,13 +22,13 @@ def check_workspace(self, workspace_id, domain_id): token=system_token, ) - def check_project(self, project_id, domain_id): - system_token = config.get_global("TOKEN") - return self.identity_connector.dispatch( - "Project.check", - {"project_id": project_id, "domain_id": domain_id}, - token=system_token, - ) + # def check_project(self, project_id, domain_id): + # system_token = config.get_global("TOKEN") + # return self.identity_connector.dispatch( + # "Project.check", + # {"project_id": project_id, "domain_id": domain_id}, + # token=system_token, + # ) # def check_user(self, user_id, domain_id): # system_token = config.get_global("TOKEN") diff --git a/src/spaceone/file_manager/model/file/database.py b/src/spaceone/file_manager/model/file/database.py index 495b70b..50001e9 100644 --- a/src/spaceone/file_manager/model/file/database.py +++ b/src/spaceone/file_manager/model/file/database.py @@ -16,6 +16,7 @@ def to_dict(self): class File(MongoModel): file_id = StringField(max_length=40, generate_id="file", unique=True) + file_type = StringField(max_length=40, null=True, default=None) name = StringField(max_length=255, required=True) download_url = StringField(null=True, default=None) tags = DictField() @@ -25,7 +26,6 @@ class File(MongoModel): ) workspace_id = StringField(max_length=40, null=True, default=None) domain_id = StringField(max_length=40, null=True, default=None) - project_id = StringField(max_length=40, null=True, default=None) created_at = DateTimeField(auto_now_add=True) meta = { @@ -37,7 +37,6 @@ class File(MongoModel): "resource_group", "workspace_id", "domain_id", - "project_id", ], "change_query_keys": { "resource_type": "reference.resource_type", @@ -50,7 +49,6 @@ class File(MongoModel): "reference.resource_id", "resource_group", "workspace_id", - "project_id", "domain_id", ], } diff --git a/src/spaceone/file_manager/model/file/request.py b/src/spaceone/file_manager/model/file/request.py index 2e9f1c0..9a4aaea 100644 --- a/src/spaceone/file_manager/model/file/request.py +++ b/src/spaceone/file_manager/model/file/request.py @@ -21,7 +21,6 @@ class FileAddRequest(BaseModel): resource_group: ResourceGroup domain_id: Union[str, None] = None workspace_id: Union[str, None] = None - project_id: Union[str, None] = None class FileUpdateRequest(BaseModel): @@ -30,7 +29,6 @@ class FileUpdateRequest(BaseModel): tags: Union[dict, None] = None domain_id: Union[str, None] = None workspace_id: Union[str, None] = None - project_id: Union[str, None] = None download_url: Union[str, None] = None @@ -38,14 +36,12 @@ class FileDeleteRequest(BaseModel): file_id: str domain_id: Union[str, None] = None workspace_id: Union[str, None] = None - project_id: Union[str, None] = None class FileGetRequest(BaseModel): file_id: str domain_id: Union[list, str, None] = None workspace_id: Union[list, str, None] = None - project_id: Union[list, str, None] = None class FileSearchQueryRequest(BaseModel): @@ -56,11 +52,9 @@ class FileSearchQueryRequest(BaseModel): resource_id: Union[str, None] = None domain_id: Union[list, str, None] = None workspace_id: Union[list, str, None] = None - project_id: Union[list, str, None] = None class FileStatQueryRequest(BaseModel): query: dict domain_id: Union[list, str, None] = None workspace_id: Union[list, str, None] = None - project_id: Union[list, str, None] = None diff --git a/src/spaceone/file_manager/model/file/response.py b/src/spaceone/file_manager/model/file/response.py index 3c4fc9f..e994b0f 100644 --- a/src/spaceone/file_manager/model/file/response.py +++ b/src/spaceone/file_manager/model/file/response.py @@ -1,5 +1,6 @@ from datetime import datetime from typing import Union, List + from pydantic import BaseModel from spaceone.core import utils @@ -10,6 +11,7 @@ class FileResponse(BaseModel): file_id: Union[str, None] = None + file_type: Union[str, None] = None name: Union[str, None] = None download_url: Union[str, None] = None reference: Union[dict, None] = None @@ -17,7 +19,6 @@ class FileResponse(BaseModel): resource_group: Union[ResourceGroup, None] = None domain_id: Union[str, None] = None workspace_id: Union[str, None] = None - project_id: Union[str, None] = None created_at: Union[datetime, None] = None def dict(self, *args, **kwargs): diff --git a/src/spaceone/file_manager/service/file_service.py b/src/spaceone/file_manager/service/file_service.py index 9e2fcb2..ceb04ef 100644 --- a/src/spaceone/file_manager/service/file_service.py +++ b/src/spaceone/file_manager/service/file_service.py @@ -45,7 +45,6 @@ def add(self, params: FileAddRequest) -> Union[FileResponse, dict]: 'name': 'str', # required 'reference': 'dict', 'tags': 'dict', - 'project_id': 'str', 'workspace_id': 'str', # injected from auth 'domain_id': 'str' # injected from auth } @@ -108,7 +107,6 @@ def update(self, params: FileUpdateRequest) -> Union[FileResponse, dict]: params.file_id, params.domain_id, params.workspace_id, - params.project_id, ) file_vo = self.file_mgr.update_file_by_vo( @@ -133,7 +131,6 @@ def delete(self, params: FileDeleteRequest) -> None: Args: params (FileDeleteRequest): { 'file_id': 'str', # required - 'project_id': 'str', 'workspace_id': 'str', # injected from auth 'domain_id': 'str' # injected from auth } @@ -146,7 +143,6 @@ def delete(self, params: FileDeleteRequest) -> None: params.file_id, params.domain_id, params.workspace_id, - params.project_id, ) try: @@ -187,7 +183,6 @@ def get(self, params: FileGetRequest) -> Union[FileResponse, dict]: params.file_id, params.domain_id, params.workspace_id, - params.project_id, ) return FileResponse(**file_vo.to_dict()) @@ -211,7 +206,6 @@ def get(self, params: FileGetRequest) -> Union[FileResponse, dict]: "resource_id", "domain_id", "workspace_id", - "project_id", ] ) @append_keyword_filter(["file_id", "name"])