chore: update resource storage type comment

pull/4384/head
Johnny 3 weeks ago
parent 49332851d4
commit 6abd51fe5a

@ -26,9 +26,12 @@ type ResourceStorageType int32
const ( const (
ResourceStorageType_RESOURCE_STORAGE_TYPE_UNSPECIFIED ResourceStorageType = 0 ResourceStorageType_RESOURCE_STORAGE_TYPE_UNSPECIFIED ResourceStorageType = 0
ResourceStorageType_LOCAL ResourceStorageType = 1 // Resource is stored locally. AKA, local file system.
ResourceStorageType_S3 ResourceStorageType = 2 ResourceStorageType_LOCAL ResourceStorageType = 1
ResourceStorageType_EXTERNAL ResourceStorageType = 3 // Resource is stored in S3.
ResourceStorageType_S3 ResourceStorageType = 2
// Resource is stored in an external storage. The reference is a URL.
ResourceStorageType_EXTERNAL ResourceStorageType = 3
) )
// Enum value maps for ResourceStorageType. // Enum value maps for ResourceStorageType.

@ -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;
} }

@ -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{ resourceUID, err := ExtractResourceUIDFromName(request.Name)
GetBlob: true, if err != nil {
} return nil, status.Errorf(codes.InvalidArgument, "invalid resource id: %v", err)
if request.Name != "" {
resourceUID, err := ExtractResourceUIDFromName(request.Name)
if err != nil {
return nil, status.Errorf(codes.InvalidArgument, "invalid resource id: %v", err)
}
resourceFind.UID = &resourceUID
} }
resource, err := s.Store.GetResource(ctx, resourceFind) resource, err := s.Store.GetResource(ctx, &store.FindResource{
GetBlob: true,
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
} }
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)
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 (

Loading…
Cancel
Save