/
repo.go
69 lines (63 loc) · 1.57 KB
/
repo.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
package data
import (
"errors"
"github.com/go-kratos/kratos/v2/log"
"github.com/matteo-gz/prof/internal/biz"
"github.com/matteo-gz/prof/pkg/filex"
)
type repo struct {
data *Data
log *log.Helper
}
func NewRepo(data *Data, logger log.Logger) biz.Repo {
return &repo{
data: data,
log: log.NewHelper(logger),
}
}
func (rp *repo) GetPortByDir(string2 string) (port int, err error) {
dir := rp.data.file.getAbsDir(string2)
if a := filex.IsFileExist(dir); !a {
return 0, errors.New("file not exist")
}
return rp.data.task.getPortByDir(dir)
}
func (rp *repo) GetAbsDir(string2 string) string {
return rp.data.file.getAbsDir(string2)
}
func (rp *repo) GetFileList(date string) (list, files []string, err error) {
return rp.data.file.getFileList(date)
}
func (rp *repo) GetFileType(dir string) string {
return getFileType(dir)
}
func (rp *repo) CreateFile(uri string, data []byte) (RelativePath string, err error) {
var ext string
if ext, err = checkMimeByData(data); err != nil {
return
}
filename, err := rp.data.file.getFileName(uri, ext)
if err != nil {
return
}
dir, err := rp.data.file.createDir()
if err != nil {
return
}
return rp.data.file.createFile(filename, dir, data)
}
func (rp *repo) CreateFileByUpload(fileName string, data []byte) (relativePath string, err error) {
var ext string
if ext, err = checkMimeByData(data); err != nil {
return
}
filename, err := rp.data.file.getFileName2(fileName, ext)
if err != nil {
return
}
dir, err := rp.data.file.createDir()
if err != nil {
return
}
return rp.data.file.createFile(filename, dir, data)
}