-
Notifications
You must be signed in to change notification settings - Fork 3
/
assignment.go
34 lines (28 loc) · 1.12 KB
/
assignment.go
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
31
32
33
34
package model
import "time"
// Assignment conveys the specification of what a
// User must do in order to fulfill a Task or
// Challenge.
type Assignment struct {
// Name should give a very brief and memorable
// description and classification of the assignment.
Name string `datastore:",index",json:",omitempty"`
// Description should detail what this assignment is
// about and why it makes sense.
//
// TODO(victorbalan): Improve documentation.
Description string `datastore:",noindex",json:",omitempty"`
// Instructions should make clear how the assignment
// is to be carried out (e.g. a step-by-step guide).
//
// NOTE(flowlo, victorbalan): Instructions is not guaranteed
// to be backwards-compatible. In the future it may
// be an URL pointing at the source of the instructions.
Instructions string `datastore:",noindex",json:",omitempty"`
// Expected time to complete the assignment. Can serve
// as deadline.
Duration time.Duration `datastore:",index",json:",omitempty"`
// Where to deliver results as part of carrying out the
// assignment.
Endpoints Endpoints `datastore:",noindex",json:",omitempty"`
}