40 lines
685 B
Go
40 lines
685 B
Go
package filemanager
|
|
|
|
import (
|
|
"context"
|
|
"mime/multipart"
|
|
)
|
|
|
|
type FileType string
|
|
|
|
const (
|
|
AvatarFileType FileType = "avatar"
|
|
CVFileType FileType = "cv"
|
|
)
|
|
|
|
type ParameterType string
|
|
|
|
const (
|
|
UserIdParam ParameterType = "user_id"
|
|
VacancyIdParam ParameterType = "vacancy_id"
|
|
SubmissionIdParam ParameterType = "submission_id"
|
|
)
|
|
|
|
type ParameterTable map[ParameterType]any
|
|
|
|
type UserFileManager interface {
|
|
GetFilePaths(
|
|
ctx context.Context,
|
|
fileType FileType,
|
|
parameters ParameterTable,
|
|
) ([]string, error)
|
|
|
|
SaveFile(
|
|
ctx context.Context,
|
|
fileType FileType,
|
|
file multipart.File,
|
|
fileHeader *multipart.FileHeader,
|
|
parameters ParameterTable,
|
|
) error
|
|
}
|