submissions: centralize hashing and formatting

This commit is contained in:
2024-12-17 15:57:29 -08:00
parent 8c45736cf4
commit 6bab1e1b6b
3 changed files with 20 additions and 10 deletions

@ -2,12 +2,10 @@ package service
import (
"context"
"fmt"
"git.itzana.me/strafesnet/maps-service/pkg/api"
"git.itzana.me/strafesnet/maps-service/pkg/datastore"
"git.itzana.me/strafesnet/maps-service/pkg/model"
"github.com/dchest/siphash"
)
// CreateScript implements createScript operation.
@ -28,7 +26,7 @@ func (svc *Service) CreateScript(ctx context.Context, req *api.ScriptCreate) (*a
script, err := svc.DB.Scripts().Create(ctx, model.Script{
ID: 0,
Name: req.Name,
Hash: siphash.Hash(0, 0, []byte(req.Source)),
Hash: model.HashSource(req.Source),
Source: req.Source,
SubmissionID: req.SubmissionID.Or(0),
})
@ -80,7 +78,7 @@ func (svc *Service) GetScript(ctx context.Context, params api.GetScriptParams) (
return &api.Script{
ID: script.ID,
Name: script.Name,
Hash: fmt.Sprintf("%x", script.Hash),
Hash: model.HashFormat(script.Hash),
Source: script.Source,
SubmissionID: script.SubmissionID,
}, nil
@ -107,7 +105,7 @@ func (svc *Service) UpdateScript(ctx context.Context, req *api.ScriptUpdate, par
}
if source, ok := req.Source.Get(); ok {
pmap.Add("source", source)
pmap.Add("hash", siphash.Hash(0, 0, []byte(source)))
pmap.Add("hash", model.HashSource(source))
}
if SubmissionID, ok := req.SubmissionID.Get(); ok {
pmap.Add("submission_id", SubmissionID)