about summary refs log tree commit diff
path: root/src/structs.go
blob: d7fcdcfcf78472e0a2163e424f3c736bd68c43b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package main

// Challenge defines a challenge as in the original companion.json format
type Challenge struct {
	UUID        string `json:"uuid"`
	Name        string `json:"name"`
	Description string `json:"description"`
	Flag        string `json:"flag"`
	Container   string `json:"container"`
	Category    string `json:"category"`
	Points      int    `json:"points"`
	Static      bool   `json:"static"`
}

// StrippedChallenge contains a stripped version of the challenge (no flag, but
// its hash!)
type StrippedChallenge struct {
	Name        string `json:"name"`
	Description string `json:"description"`
	FlagHash    string `json:"flag_hash"`
	Container   string `json:"container"`
	Category    string `json:"category"`
	Points      int    `json:"points"`
	Static      bool   `json:"static"`
}

// Challenges defines a list of challenges.
type Challenges struct {
	Challenge []Challenge `json:"challenges"`
}