2023-12-11 09:32:50 +01:00
|
|
|
package models
|
2023-12-12 09:21:55 +01:00
|
|
|
|
|
|
|
import (
|
|
|
|
"crypto/sha256"
|
|
|
|
"encoding/json"
|
|
|
|
"fmt"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Session struct {
|
|
|
|
Meta
|
|
|
|
|
2024-04-22 14:24:29 +02:00
|
|
|
Title string `json:"name"`
|
|
|
|
Exams map[string]*Exam `json:"exams"`
|
2023-12-12 09:21:55 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func (s *Session) String() string {
|
2024-04-22 14:24:29 +02:00
|
|
|
return s.Title
|
2023-12-12 09:21:55 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func (s *Session) GetHash() string {
|
2024-04-22 14:24:29 +02:00
|
|
|
return fmt.Sprintf("%x", sha256.Sum256([]byte(s.Title)))
|
2023-12-12 09:21:55 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
func (s *Session) Marshal() ([]byte, error) {
|
|
|
|
return json.Marshal(s)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *Session) Unmarshal(data []byte) error {
|
|
|
|
return json.Unmarshal(data, s)
|
|
|
|
}
|