1
Fork 0

Implement ScanAll resolver

This commit is contained in:
viktorstrate 2020-04-15 11:21:16 +02:00
parent 4e388c430c
commit b254f3abaa
2 changed files with 37 additions and 1 deletions

View File

@ -9,8 +9,24 @@ import (
)
func (r *mutationResolver) ScanAll(ctx context.Context) (*models.ScannerResult, error) {
panic("Not implemented")
if err := scanner.ScanAll(r.Database); err != nil {
errorMessage := fmt.Sprintf("Error starting scanner: %s", err.Error())
return &models.ScannerResult{
Finished: false,
Success: false,
Message: &errorMessage,
}, nil
}
startMessage := "Scanner started"
return &models.ScannerResult{
Finished: false,
Success: true,
Message: &startMessage,
}, nil
}
func (r *mutationResolver) ScanUser(ctx context.Context, userID int) (*models.ScannerResult, error) {
if err := scanner.ScanUser(r.Database, userID); err != nil {
errorMessage := fmt.Sprintf("Error scanning user: %s", err.Error())

View File

@ -62,6 +62,26 @@ func (cache *scanner_cache) album_contains_photo(path string) *bool {
return nil
}
func ScanAll(database *sql.DB) error {
rows, err := database.Query("SELECT * FROM user")
if err != nil {
log.Printf("Could not fetch all users from database: %s\n", err.Error())
return err
}
users, err := models.NewUsersFromRows(rows)
if err != nil {
log.Printf("Could not convert users: %s\n", err)
return err
}
for _, user := range users {
go scan(database, user)
}
return nil
}
func ScanUser(database *sql.DB, userId int) error {
row := database.QueryRow("SELECT * FROM user WHERE user_id = ?", userId)