update script minio
This commit is contained in:
parent
6254aa585c
commit
f82a80494f
@ -19,7 +19,6 @@ const (
|
|||||||
mongoURI = "mongodb://test:test@localhost:27024/?authSource=admin"
|
mongoURI = "mongodb://test:test@localhost:27024/?authSource=admin"
|
||||||
mongoDBName = "admin"
|
mongoDBName = "admin"
|
||||||
collectionName = "verification"
|
collectionName = "verification"
|
||||||
folder = "folder"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -69,7 +68,9 @@ func main() {
|
|||||||
// получение всех файлов из минио по бакету
|
// получение всех файлов из минио по бакету
|
||||||
func getAllFilesInBucket(ctx context.Context, client *minio.Client) ([]minio.ObjectInfo, error) {
|
func getAllFilesInBucket(ctx context.Context, client *minio.Client) ([]minio.ObjectInfo, error) {
|
||||||
var files []minio.ObjectInfo
|
var files []minio.ObjectInfo
|
||||||
objectCh := client.ListObjects(ctx, bucketName, minio.ListObjectsOptions{})
|
objectCh := client.ListObjects(ctx, bucketName, minio.ListObjectsOptions{
|
||||||
|
Recursive: true, // флаг рекурсивного прохода по расположениям, добавлен с добавлением folder
|
||||||
|
})
|
||||||
for object := range objectCh {
|
for object := range objectCh {
|
||||||
if object.Err != nil {
|
if object.Err != nil {
|
||||||
return nil, object.Err
|
return nil, object.Err
|
||||||
@ -108,36 +109,13 @@ func getVerificationRecords(ctx context.Context, collection *mongo.Collection) (
|
|||||||
|
|
||||||
// проверка на существования файла минио в монге по урлу
|
// проверка на существования файла минио в монге по урлу
|
||||||
func checkContains(verifications []models.Verification, fileKey string) bool {
|
func checkContains(verifications []models.Verification, fileKey string) bool {
|
||||||
firstTry := func(verifications []models.Verification, fileKey string) bool {
|
fileURL := fmt.Sprintf("%s/%s/%s", minioEndpoint, bucketName, fileKey)
|
||||||
fileURL := fmt.Sprintf("%s/%s/%s", minioEndpoint, bucketName, fileKey)
|
for _, verification := range verifications {
|
||||||
for _, verification := range verifications {
|
for _, file := range verification.Files {
|
||||||
for _, file := range verification.Files {
|
if file.Url == fileURL {
|
||||||
if file.Url == fileURL {
|
return true
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
secondTry := func(verifications []models.Verification, fileKey string) bool {
|
|
||||||
for _, verification := range verifications {
|
|
||||||
for _, file := range verification.Files {
|
|
||||||
fileURL := fmt.Sprintf("%s/%s/%s/%s/%s", minioEndpoint, bucketName, folder, verification.UserID, fileKey)
|
|
||||||
if file.Url == fileURL {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
if firstTry(verifications, fileKey) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
if secondTry(verifications, fileKey) {
|
|
||||||
return true
|
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user