aboutsummaryrefslogtreecommitdiff
path: root/backend/studip/responses.go
blob: 244b4a3bde40420dad4a3f8c21e710b4191f5996 (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package studip

import "time"

type Meta struct {
	Page Page
}

type Page struct {
	Offset int `json:"offset"`
	Limit  int `json:"limit"`
	Total  int `json:"total"`
}

type Links struct {
	First string `json:"first"`
	Last  string `json:"last"`
}

type StudIPFolders struct {
	Meta Meta
	Data []StudIPFoldersData `json:"data"`
}

type Attributes struct {
	FolderType         string    `json:"folder-type"`
	Name               string    `json:"name"`
	Description        string    `json:"description"`
	Mkdate             time.Time `json:"mkdate"`
	Chdate             time.Time `json:"chdate"`
	IsVisible          bool      `json:"is-visible"`
	IsReadable         bool      `json:"is-readable"`
	IsWritable         bool      `json:"is-writable"`
	IsEditable         bool      `json:"is-editable"`
	IsEmpty            bool      `json:"is-empty"`
	IsSubfolderAllowed bool      `json:"is-subfolder-allowed"`
	Downloads          int       `json:"downloads"`
	Filesize           int64     `json:"filesize"`
	MimeType           string    `json:"mime-type"`
	CourseNumber       string    `json:"course-number"`
	Title              string    `json:"title"`
	CourseType         int       `json:"course-type"`
	CourseTypeText     string    `json:"course-type-text"`
	Dates              string    `json:"dates"`
	IsDownloadable     bool      `json:"is-downloadable"`
}

type StudIPFoldersData struct {
	Type          string `json:"type"`
	ID            string `json:"id"`
	Attributes    Attributes
	Relationships struct {
		Parent StudIPRelationship `json:"parent"`
	} `json:"relationships"`
}

type StudIPFiles struct {
	Meta  Meta
	Links Links
	Data  []struct {
		StudIPResourceIdentifier
		Attributes Attributes
	} `json:"data"`
}

type StudIPResourceIdentifier struct {
	Type string `json:"type"`
	ID   string `json:"id"`
}

type StudIPRelationship struct {
	Data StudIPResourceIdentifier `json:"data"`
}

type StudIPNullableRelationship struct {
	Data *StudIPResourceIdentifier `json:"data"`
}

type StudIPFileRefData struct {
	StudIPResourceIdentifier
	Attributes    Attributes
	Relationships struct {
		File       StudIPRelationship         `json:"file"`
		Parent     StudIPRelationship         `json:"parent"`
		TermsOfUse StudIPNullableRelationship `json:"terms-of-use"`
	} `json:"relationships"`
}

type StudIPFileRef struct {
	Data StudIPFileRefData `json:"data"`
}

type StudIPCourses struct {
	Data struct {
		StudIPResourceIdentifier
		Attributes Attributes
	} `json:"data"`
}