Documentation ¶
Overview ¶
Package api contains generic implementation of APIs to expose archivekeep functionality from application servers.
This package contains common constructs for all APIs. The HTTP and GRPC APIs are available in sub-packages.
Index ¶
- Variables
- type ArchiveAccessor
- type ArchiveDetails
- type ArchivePermissionService
- type ArchivePermissionsDetails
- type ArchiveService
- type CreateArchivePermissionRequest
- type CreatePersonalAccessTokenRequest
- type DeleteArchivePermissionRequest
- type ListArchivePermissionsRequest
- type ListArchivePermissionsResult
- type ListArchivesRequest
- type ListArchivesResult
- type PersonalAccessToken
- type PersonalAccessTokenService
- type TestArchive
- type TestSingleArchiveService
- type UnimplementedArchiveAccessor
- func (_ UnimplementedArchiveAccessor) GetThumbnail(_ context.Context, _ string) (io.ReadCloser, error)
- func (_ UnimplementedArchiveAccessor) OpenReadWriter() (archive.ReadWriter, error)
- func (_ UnimplementedArchiveAccessor) OpenReader() (archive.Reader, error)
- func (_ UnimplementedArchiveAccessor) OpenWriter() (archive.Writer, error)
- type UnimplementedArchivePermissionService
- func (u UnimplementedArchivePermissionService) CreateArchivePermission(ctx context.Context, request CreateArchivePermissionRequest) (ArchivePermissionsDetails, error)
- func (u UnimplementedArchivePermissionService) DeletePermission(ctx context.Context, request DeleteArchivePermissionRequest) error
- func (u UnimplementedArchivePermissionService) ListArchivePermissions(ctx context.Context, request ListArchivePermissionsRequest) (ListArchivePermissionsResult, error)
- type UnimplementedArchiveService
- func (_ UnimplementedArchiveService) GetArchive(_ context.Context, _ string) (ArchiveDetails, error)
- func (_ UnimplementedArchiveService) GetArchiveAccessor(_ context.Context, _ string) (ArchiveAccessor, error)
- func (_ UnimplementedArchiveService) ListArchives(_ context.Context, _ ListArchivesRequest) (ListArchivesResult, error)
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNotAuthorized should be returned if user can see resource, but can't perform the operation. // // Be cautious to not return this error for invocations, where user can't access a resource all. In such cases // ErrNotFound might be more appropriate to prevent information leak informing, that resource exists, but user // can't access it. // // TODO: API implementation to provide option.rewriteNotAuthorized to "not found or not authorized" for all // not authorized and not found errors to signal user authorization might be needed but won't leak information. ErrNotAuthorized = errors.New("not authorized") ErrNotFound = errors.New("not found") ErrNotImplemented = errors.New("not implemented") )
Functions ¶
This section is empty.
Types ¶
type ArchiveAccessor ¶
type ArchiveAccessor interface { OpenReader() (archive.Reader, error) OpenWriter() (archive.Writer, error) OpenReadWriter() (archive.ReadWriter, error) // GetThumbnail should return a thumbnail for file at given path // TODO: add support for image formats (JPEG, WEBP,...) and move to more appropriate place GetThumbnail(ctx context.Context, filePath string) (io.ReadCloser, error) // contains filtered or unexported methods }
type ArchiveDetails ¶
type ArchivePermissionService ¶ added in v0.1.3
type ArchivePermissionService interface { ListArchivePermissions(ctx context.Context, request ListArchivePermissionsRequest) (ListArchivePermissionsResult, error) CreateArchivePermission(ctx context.Context, request CreateArchivePermissionRequest) (ArchivePermissionsDetails, error) DeletePermission(ctx context.Context, request DeleteArchivePermissionRequest) error }
type ArchivePermissionsDetails ¶ added in v0.1.3
type ArchiveService ¶
type ArchiveService interface { ListArchives(ctx context.Context, request ListArchivesRequest) (ListArchivesResult, error) GetArchive(ctx context.Context, id string) (ArchiveDetails, error) GetArchiveAccessor(ctx context.Context, id string) (ArchiveAccessor, error) // contains filtered or unexported methods }
ArchiveService is an application service exposing access to archives.
Authorization MUST be performed by ArchiveService on each method call. If a method returns a rich object, like GetArchiveAccessor, then implementation of these objects MUST ensure correct access control policies are applied for the user, for which the object was returned.
type CreateArchivePermissionRequest ¶ added in v0.1.3
type CreatePersonalAccessTokenRequest ¶
type CreatePersonalAccessTokenRequest struct {
Name string
}
type DeleteArchivePermissionRequest ¶ added in v0.1.3
type ListArchivePermissionsRequest ¶ added in v0.1.3
type ListArchivePermissionsRequest struct {
ArchiveID string
}
type ListArchivePermissionsResult ¶ added in v0.1.3
type ListArchivePermissionsResult struct {
ArchivePermissions []ArchivePermissionsDetails
}
type ListArchivesRequest ¶
type ListArchivesRequest struct{}
type ListArchivesResult ¶
type ListArchivesResult struct {
Archives []ArchiveDetails
}
type PersonalAccessToken ¶
type PersonalAccessTokenService ¶
type PersonalAccessTokenService interface {
CreatePersonalAccessToken(ctx context.Context, request *CreatePersonalAccessTokenRequest) (*PersonalAccessToken, error)
}
type TestArchive ¶
type TestArchive struct { UnimplementedArchiveAccessor Id string DisplayName string A archive.ReadWriter }
func (TestArchive) OpenReadWriter ¶
func (t TestArchive) OpenReadWriter() (archive.ReadWriter, error)
func (TestArchive) OpenReader ¶
func (t TestArchive) OpenReader() (archive.Reader, error)
func (TestArchive) OpenWriter ¶
func (t TestArchive) OpenWriter() (archive.Writer, error)
type TestSingleArchiveService ¶
type TestSingleArchiveService struct { UnimplementedArchiveService A TestArchive }
func (*TestSingleArchiveService) GetArchiveAccessor ¶
func (t *TestSingleArchiveService) GetArchiveAccessor(ctx context.Context, id string) (ArchiveAccessor, error)
func (*TestSingleArchiveService) ListArchives ¶
func (t *TestSingleArchiveService) ListArchives(ctx context.Context, request ListArchivesRequest) (ListArchivesResult, error)
type UnimplementedArchiveAccessor ¶
type UnimplementedArchiveAccessor struct { }
func (UnimplementedArchiveAccessor) GetThumbnail ¶
func (_ UnimplementedArchiveAccessor) GetThumbnail(_ context.Context, _ string) (io.ReadCloser, error)
func (UnimplementedArchiveAccessor) OpenReadWriter ¶
func (_ UnimplementedArchiveAccessor) OpenReadWriter() (archive.ReadWriter, error)
func (UnimplementedArchiveAccessor) OpenReader ¶
func (_ UnimplementedArchiveAccessor) OpenReader() (archive.Reader, error)
func (UnimplementedArchiveAccessor) OpenWriter ¶
func (_ UnimplementedArchiveAccessor) OpenWriter() (archive.Writer, error)
type UnimplementedArchivePermissionService ¶ added in v0.1.3
type UnimplementedArchivePermissionService struct{}
func (UnimplementedArchivePermissionService) CreateArchivePermission ¶ added in v0.1.3
func (u UnimplementedArchivePermissionService) CreateArchivePermission(ctx context.Context, request CreateArchivePermissionRequest) (ArchivePermissionsDetails, error)
func (UnimplementedArchivePermissionService) DeletePermission ¶ added in v0.1.3
func (u UnimplementedArchivePermissionService) DeletePermission(ctx context.Context, request DeleteArchivePermissionRequest) error
func (UnimplementedArchivePermissionService) ListArchivePermissions ¶ added in v0.1.3
func (u UnimplementedArchivePermissionService) ListArchivePermissions(ctx context.Context, request ListArchivePermissionsRequest) (ListArchivePermissionsResult, error)
type UnimplementedArchiveService ¶
type UnimplementedArchiveService struct { }
func (UnimplementedArchiveService) GetArchive ¶
func (_ UnimplementedArchiveService) GetArchive(_ context.Context, _ string) (ArchiveDetails, error)
func (UnimplementedArchiveService) GetArchiveAccessor ¶
func (_ UnimplementedArchiveService) GetArchiveAccessor(_ context.Context, _ string) (ArchiveAccessor, error)
func (UnimplementedArchiveService) ListArchives ¶
func (_ UnimplementedArchiveService) ListArchives(_ context.Context, _ ListArchivesRequest) (ListArchivesResult, error)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.