-
Notifications
You must be signed in to change notification settings - Fork 1
/
api.go
135 lines (134 loc) · 4.07 KB
/
api.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
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package dcdump
// DOIResponse is the https://api.datacite.org/dois endpoint response.
// TODO(martin): Sort out the interface{} fields, if necessary.
type DOIResponse struct {
Data []struct {
Attributes interface{} `json:"attributes"`
Id string `json:"id"`
Relationships struct {
Client struct {
Data struct {
Id string `json:"id"`
Type string `json:"type"`
} `json:"data"`
} `json:"client"`
} `json:"relationships"`
Type string `json:"type"`
} `json:"data"`
Included []struct {
Attributes struct {
AlternateName interface{} `json:"alternateName"`
ClientType string `json:"clientType"`
ContactEmail string `json:"contactEmail"`
Created string `json:"created"`
Description interface{} `json:"description"`
Domains string `json:"domains"`
HasPassword bool `json:"hasPassword"`
IsActive bool `json:"isActive"`
Issn interface{} `json:"issn"`
Language []interface{} `json:"language"`
Name string `json:"name"`
Opendoar interface{} `json:"opendoar"`
Re3data interface{} `json:"re3data"`
Symbol string `json:"symbol"`
Updated string `json:"updated"`
Url interface{} `json:"url"`
Year int64 `json:"year"`
} `json:"attributes"`
Id string `json:"id"`
Relationships struct {
Prefixes struct {
Data []struct {
Id string `json:"id"`
Type string `json:"type"`
} `json:"data"`
} `json:"prefixes"`
Provider struct {
Data struct {
Id string `json:"id"`
Type string `json:"type"`
} `json:"data"`
} `json:"provider"`
} `json:"relationships"`
Type string `json:"type"`
} `json:"included"`
Links struct {
Next string `json:"next"`
Self string `json:"self"`
} `json:"links"`
Meta struct {
Affiliations []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"affiliations"`
Certificates []interface{} `json:"certificates"`
Clients []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"clients"`
Created []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"created"`
LinkChecksCitationDoi int64 `json:"linkChecksCitationDoi"`
LinkChecksDcIdentifier int64 `json:"linkChecksDcIdentifier"`
LinkChecksSchemaOrgId int64 `json:"linkChecksSchemaOrgId"`
LinkChecksStatus []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"linkChecksStatus"`
LinksChecked int64 `json:"linksChecked"`
LinksWithSchemaOrg []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"linksWithSchemaOrg"`
Page int64 `json:"page"`
Prefixes []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"prefixes"`
Providers []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"providers"`
Registered []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"registered"`
ResourceTypes []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"resourceTypes"`
SchemaVersions []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"schemaVersions"`
Sources []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"sources"`
States []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"states"`
Subjects []struct {
Count int64 `json:"count"`
Id string `json:"id"`
Title string `json:"title"`
} `json:"subjects"`
Total int64 `json:"total"`
TotalPages int64 `json:"totalPages"`
} `json:"meta"`
}