maps-service/pkg/model/script.go

35 lines
772 B
Go
Raw Normal View History

2024-12-05 01:27:49 +00:00
package model
import (
"fmt"
"strconv"
"time"
"github.com/dchest/siphash"
)
// compute the hash of a source code string
func HashSource(source string) uint64{
return siphash.Hash(0, 0, []byte(source))
}
// format a hash value as a hexidecimal string
func HashFormat(hash uint64) string{
return fmt.Sprintf("%016x", hash)
}
2024-12-10 06:27:52 +00:00
// parse a hexidecimal hash string
func HashParse(hash string) (uint64, error){
return strconv.ParseUint(hash, 16, 64)
}
2024-12-05 01:27:49 +00:00
type Script struct {
2024-12-12 22:29:20 +00:00
ID int64 `gorm:"primaryKey"`
2024-12-14 20:31:31 +00:00
Name string
Hash int64 // postgres does not support unsigned integers, so we have to pretend
2024-12-12 22:29:20 +00:00
Source string
SubmissionID int64 // which submission did this script first appear in
CreatedAt time.Time
UpdatedAt time.Time
2024-12-05 01:27:49 +00:00
}