44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package database
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
"log/slog"
|
|
|
|
"git.jmbit.de/jmb/scanfile/server/internal/sqlc"
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
func InsertFileCapa(params sqlc.InsertFileCapaParams) error {
|
|
query := sqlc.New(pool)
|
|
err := query.InsertFileCapa(context.Background(), params)
|
|
if err != nil {
|
|
slog.Error("Error from Query in InsertFileCapa", "file-uuid", params.FileID.String(), "error", err)
|
|
}
|
|
return err
|
|
}
|
|
|
|
func GetFileCapa(fileID string) (CapaResult, error) {
|
|
var pgUUID pgtype.UUID
|
|
err := pgUUID.Scan(fileID)
|
|
if err != nil {
|
|
slog.Error("Unable to convert string to UUID", "file-uuid", fileID, "error", err)
|
|
}
|
|
var r CapaResult
|
|
var data CapaData
|
|
query := sqlc.New(pool)
|
|
rawResult, err := query.GetFileCapa(context.Background(), pgUUID)
|
|
if err != nil {
|
|
slog.Error("Error from Query in GetFileCapa", "file-uuid", fileID, "error", err)
|
|
}
|
|
r.ID = rawResult.ID
|
|
r.FileID = rawResult.FileID
|
|
err = json.Unmarshal(rawResult.Data, &data)
|
|
if err != nil {
|
|
slog.Error("Error in GetFileCapa", "file-uuid", fileID, "error", err)
|
|
return r, err
|
|
}
|
|
r.Data = data
|
|
|
|
return r, nil
|
|
}
|