Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
6abd51fe
Commit
6abd51fe
authored
Feb 09, 2025
by
Johnny
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update resource storage type comment
parent
49332851
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
16 deletions
+21
-16
resource.pb.go
proto/gen/store/resource.pb.go
+6
-3
resource.proto
proto/store/resource.proto
+3
-0
resource_service.go
server/router/api/v1/resource_service.go
+12
-13
No files found.
proto/gen/store/resource.pb.go
View file @
6abd51fe
...
@@ -26,8 +26,11 @@ type ResourceStorageType int32
...
@@ -26,8 +26,11 @@ type ResourceStorageType int32
const
(
const
(
ResourceStorageType_RESOURCE_STORAGE_TYPE_UNSPECIFIED
ResourceStorageType
=
0
ResourceStorageType_RESOURCE_STORAGE_TYPE_UNSPECIFIED
ResourceStorageType
=
0
// Resource is stored locally. AKA, local file system.
ResourceStorageType_LOCAL
ResourceStorageType
=
1
ResourceStorageType_LOCAL
ResourceStorageType
=
1
// Resource is stored in S3.
ResourceStorageType_S3
ResourceStorageType
=
2
ResourceStorageType_S3
ResourceStorageType
=
2
// Resource is stored in an external storage. The reference is a URL.
ResourceStorageType_EXTERNAL
ResourceStorageType
=
3
ResourceStorageType_EXTERNAL
ResourceStorageType
=
3
)
)
...
...
proto/store/resource.proto
View file @
6abd51fe
...
@@ -9,8 +9,11 @@ option go_package = "gen/store";
...
@@ -9,8 +9,11 @@ option go_package = "gen/store";
enum
ResourceStorageType
{
enum
ResourceStorageType
{
RESOURCE_STORAGE_TYPE_UNSPECIFIED
=
0
;
RESOURCE_STORAGE_TYPE_UNSPECIFIED
=
0
;
// Resource is stored locally. AKA, local file system.
LOCAL
=
1
;
LOCAL
=
1
;
// Resource is stored in S3.
S3
=
2
;
S3
=
2
;
// Resource is stored in an external storage. The reference is a URL.
EXTERNAL
=
3
;
EXTERNAL
=
3
;
}
}
...
...
server/router/api/v1/resource_service.go
View file @
6abd51fe
...
@@ -129,17 +129,14 @@ func (s *APIV1Service) GetResource(ctx context.Context, request *v1pb.GetResourc
...
@@ -129,17 +129,14 @@ func (s *APIV1Service) GetResource(ctx context.Context, request *v1pb.GetResourc
}
}
func
(
s
*
APIV1Service
)
GetResourceBinary
(
ctx
context
.
Context
,
request
*
v1pb
.
GetResourceBinaryRequest
)
(
*
httpbody
.
HttpBody
,
error
)
{
func
(
s
*
APIV1Service
)
GetResourceBinary
(
ctx
context
.
Context
,
request
*
v1pb
.
GetResourceBinaryRequest
)
(
*
httpbody
.
HttpBody
,
error
)
{
resourceFind
:=
&
store
.
FindResource
{
GetBlob
:
true
,
}
if
request
.
Name
!=
""
{
resourceUID
,
err
:=
ExtractResourceUIDFromName
(
request
.
Name
)
resourceUID
,
err
:=
ExtractResourceUIDFromName
(
request
.
Name
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid resource id: %v"
,
err
)
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid resource id: %v"
,
err
)
}
}
resourceFind
.
UID
=
&
resourceUID
resource
,
err
:=
s
.
Store
.
GetResource
(
ctx
,
&
store
.
FindResource
{
}
GetBlob
:
true
,
resource
,
err
:=
s
.
Store
.
GetResource
(
ctx
,
resourceFind
)
UID
:
&
resourceUID
,
})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get resource: %v"
,
err
)
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get resource: %v"
,
err
)
}
}
...
@@ -366,7 +363,7 @@ func SaveResourceBlob(ctx context.Context, s *store.Store, create *store.Resourc
...
@@ -366,7 +363,7 @@ func SaveResourceBlob(ctx context.Context, s *store.Store, create *store.Resourc
}
}
func
(
s
*
APIV1Service
)
GetResourceBlob
(
resource
*
store
.
Resource
)
([]
byte
,
error
)
{
func
(
s
*
APIV1Service
)
GetResourceBlob
(
resource
*
store
.
Resource
)
([]
byte
,
error
)
{
blob
:=
resource
.
Blob
// For local storage, read the file from the local disk.
if
resource
.
StorageType
==
storepb
.
ResourceStorageType_LOCAL
{
if
resource
.
StorageType
==
storepb
.
ResourceStorageType_LOCAL
{
resourcePath
:=
filepath
.
FromSlash
(
resource
.
Reference
)
resourcePath
:=
filepath
.
FromSlash
(
resource
.
Reference
)
if
!
filepath
.
IsAbs
(
resourcePath
)
{
if
!
filepath
.
IsAbs
(
resourcePath
)
{
...
@@ -381,12 +378,14 @@ func (s *APIV1Service) GetResourceBlob(resource *store.Resource) ([]byte, error)
...
@@ -381,12 +378,14 @@ func (s *APIV1Service) GetResourceBlob(resource *store.Resource) ([]byte, error)
return
nil
,
errors
.
Wrap
(
err
,
"failed to open the file"
)
return
nil
,
errors
.
Wrap
(
err
,
"failed to open the file"
)
}
}
defer
file
.
Close
()
defer
file
.
Close
()
blob
,
err
=
io
.
ReadAll
(
file
)
blob
,
err
:
=
io
.
ReadAll
(
file
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
errors
.
Wrap
(
err
,
"failed to read the file"
)
return
nil
,
errors
.
Wrap
(
err
,
"failed to read the file"
)
}
}
}
return
blob
,
nil
return
blob
,
nil
}
// For database storage, return the blob from the database.
return
resource
.
Blob
,
nil
}
}
const
(
const
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment