probo/pkg/models/session.go

30 lines
446 B
Go

package models
import (
"crypto/sha256"
"encoding/json"
"fmt"
)
type Session struct {
Meta
Name string
Exams map[string]*Exam
}
func (s *Session) String() string {
return s.Name
}
func (s *Session) GetHash() string {
return fmt.Sprintf("%x", sha256.Sum256([]byte(s.Name)))
}
func (s *Session) Marshal() ([]byte, error) {
return json.Marshal(s)
}
func (s *Session) Unmarshal(data []byte) error {
return json.Unmarshal(data, s)
}