Documentation ¶
Index ¶
Constants ¶
View Source
const BucketEncryptionKeyLength = 32 + 16 + 32
32 bytes aes key + 16 bytes salt/IV + 32 bytes HMAC key
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BucketSchema ¶
type BucketSchema struct { ID core.InstanceID `json:"_id"` Slug string `json:"slug"` Backup bool `json:"backup"` EncryptionKey []byte `json:"hub_key"` DbID string *MirrorBucketSchema }
type MirrorBucketSchema ¶
type MirrorFileSchema ¶
type Model ¶
type Model interface { CreateBucket(ctx context.Context, bucketSlug, dbID string) (*BucketSchema, error) UpsertBucket(ctx context.Context, bucketSlug, dbID string) (*BucketSchema, error) BucketBackupToggle(ctx context.Context, bucketSlug string, backup bool) (*BucketSchema, error) FindBucket(ctx context.Context, bucketSlug string) (*BucketSchema, error) ListBuckets(ctx context.Context) ([]*BucketSchema, error) CreateReceivedFile( ctx context.Context, file domain.FullPath, invitationId string, accepted bool, key []byte, ) (*ReceivedFileSchema, error) FindReceivedFile(ctx context.Context, remoteDbID, bucket, path string) (*ReceivedFileSchema, error) CreateMirrorBucket(ctx context.Context, bucketSlug string, mirrorBucket *MirrorBucketSchema) (*BucketSchema, error) FindMirrorFileByPathAndBucketSlug(ctx context.Context, path, bucketSlug string) (*MirrorFileSchema, error) CreateMirrorFile(ctx context.Context, mirrorFile *domain.MirrorFile) (*MirrorFileSchema, error) ListReceivedFiles(ctx context.Context, accepted bool, seek string, limit int) ([]*ReceivedFileSchema, error) FindMirrorFileByPaths(ctx context.Context, paths []string) (map[string]*MirrorFileSchema, error) FindReceivedFilesByIds(ctx context.Context, ids []string) ([]*ReceivedFileSchema, error) }
type ReceivedFileSchema ¶
type ReceivedFileSchema struct { ID core.InstanceID `json:"_id"` DbID string `json:"dbId"` Bucket string `json:"bucket"` Path string `json:"path"` InvitationId string `json:"invitationId"` Accepted bool `json:"accepted"` BucketKey string `json:"bucketKey` EncryptionKey []byte `json:"encryptionKey` CreatedAt int64 `json:"created_at"` }
type SharedPublicKeySchema ¶
type SharedPublicKeySchema struct {}
Click to show internal directories.
Click to hide internal directories.