Skip to content

Commit

Permalink
Merge pull request #37 from kang2453/master
Browse files Browse the repository at this point in the history
feat: fix download URL construction and improve user file response handling
  • Loading branch information
kang2453 authored Jan 7, 2025
2 parents 24363b6 + a354234 commit 4dcf909
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 14 deletions.
3 changes: 2 additions & 1 deletion src/spaceone/file_manager/conf/global_conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
DATABASE_AUTO_CREATE_INDEX = True
DATABASES = {
"default": {
"db": "file-manager",
"db": "dev2-file-manager",
"host": "localhost",
"port": 27017,
"username": "",
Expand Down Expand Up @@ -41,3 +41,4 @@

# System Token Settings
TOKEN = ""
FILE_MANAGER_URL = ""
5 changes: 3 additions & 2 deletions src/spaceone/file_manager/manager/file_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
from typing import Union
from mongoengine import QuerySet


from spaceone.core import config
from spaceone.core.manager import BaseManager
from spaceone.file_manager.model.file.database import File

Expand Down Expand Up @@ -53,7 +55,6 @@ def get_file(

if workspace_id:
condition["workspace_id"] = workspace_id


return self.file_model.get(**condition)

Expand All @@ -64,4 +65,4 @@ def list_files(self, query: dict) -> dict:
return self.file_model.query(**query)

def stat_files(self, query: dict) -> dict:
return self.file_model.stat(**query)
return self.file_model.stat(**query)
15 changes: 9 additions & 6 deletions src/spaceone/file_manager/model/file/response.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from typing import Union, List
from pydantic import BaseModel

from spaceone.core import utils
from spaceone.core import utils, config
from spaceone.file_manager.model.file.request import ResourceGroup

__all__ = ["FileResponse", "FilesResponse"]
Expand All @@ -23,19 +23,22 @@ class FileResponse(BaseModel):
def dict(self, *args, **kwargs):
data = super().dict(*args, **kwargs)
data["created_at"] = utils.datetime_to_iso8601(data["created_at"])

file_manager_url = config.get_global("FILE_MANAGER_URL")

if data["resource_group"] == "SYSTEM":
data["download_url"] = "/files/public/" + data["file_id"]
data["download_url"] = str(file_manager_url) + "/files/public/" + data["file_id"]
elif data["resource_group"] == "DOMAIN":
data["download_url"] = "/files/domain/" + data["file_id"]
data["download_url"] = str(file_manager_url) + "/files/domain/" + data["file_id"]
elif data["resource_group"] == "WORKSPACE":
data["download_url"] = "/files/workspace/" + data["file_id"]
data["download_url"] = str(file_manager_url) + "/files/workspace/" + data["file_id"]
elif data["resource_group"] == "PROJECT":
data["download_url"] = "/files/project/" + data["file_id"]
data["download_url"] = str(file_manager_url) + "/files/project/" + data["file_id"]
else:
data["download_url"] = None

return data


class FilesResponse(BaseModel):
results: List[FileResponse]
total_count: int
7 changes: 5 additions & 2 deletions src/spaceone/file_manager/model/user_file/response.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from typing import Union, List
from pydantic import BaseModel

from spaceone.core import utils
from spaceone.core import utils, config

__all__ = ["UserFileResponse", "UserFilesResponse"]

Expand All @@ -19,7 +19,10 @@ class UserFileResponse(BaseModel):
def dict(self, *args, **kwargs):
data = super().dict(*args, **kwargs)
data["created_at"] = utils.datetime_to_iso8601(data["created_at"])
data["download_url"] = "/files/user/" + data["file_id"]

file_manager_url = config.get_global("FILE_MANAGER_URL")

data["download_url"] = str(file_manager_url) + "/files/user/" + data["file_id"]
return data


Expand Down
2 changes: 0 additions & 2 deletions src/spaceone/file_manager/service/file_service.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import logging

from signal import raise_signal
from typing import Union

from spaceone.core import utils
Expand Down
2 changes: 1 addition & 1 deletion src/spaceone/file_manager/service/user_file_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ def list(self, params: UserFileSearchQueryRequest) -> Union[UserFilesResponse, d

query = params.query or {}
user_file_vos, total_count = self.user_file_mgr.list_user_files(query)
user_files_info = [user_file_vos.to_dict() for user_file_vo in user_file_vos]
user_files_info = [user_file_vo.to_dict() for user_file_vo in user_file_vos]

return UserFilesResponse(results=user_files_info, total_count=total_count)

Expand Down

0 comments on commit 4dcf909

Please sign in to comment.