author | Mikael Berthe <mikael@lilotux.net> |
Sun, 30 Apr 2017 20:43:17 +0200 | |
changeset 159 | 408aa794d9bb |
parent 158 | 083d33bb419b |
child 162 | 68df3a01e1a7 |
permissions | -rw-r--r-- |
130 | 1 |
/* |
2 |
Copyright 2017 Ollivier Robert |
|
3 |
Copyright 2017 Mikael Berthe |
|
4 |
||
5 |
Licensed under the MIT license. Please see the LICENSE file is this directory. |
|
6 |
*/ |
|
7 |
||
138
23d3a518d0ad
Update package name in source files
Mikael Berthe <mikael@lilotux.net>
parents:
131
diff
changeset
|
8 |
package madon |
7 | 9 |
|
21
555716349f64
Move App stuff into app.go.
Ollivier Robert <roberto@keltia.net>
parents:
13
diff
changeset
|
10 |
import ( |
83
adc39ae774c0
Make it work with non-defaut instances
Mikael Berthe <mikael@lilotux.net>
parents:
77
diff
changeset
|
11 |
"errors" |
21
555716349f64
Move App stuff into app.go.
Ollivier Robert <roberto@keltia.net>
parents:
13
diff
changeset
|
12 |
) |
7 | 13 |
|
149
5f922977d7c7
Add support for limits and paging ({since,max}_id) API parameters
Mikael Berthe <mikael@lilotux.net>
parents:
145
diff
changeset
|
14 |
// LimitParams contains common limit/paging options for the Mastodon REST API |
5f922977d7c7
Add support for limits and paging ({since,max}_id) API parameters
Mikael Berthe <mikael@lilotux.net>
parents:
145
diff
changeset
|
15 |
type LimitParams struct { |
159
408aa794d9bb
s/int/int64/ for IDs and time integers
Mikael Berthe <mikael@lilotux.net>
parents:
158
diff
changeset
|
16 |
Limit int // Number of items per query |
408aa794d9bb
s/int/int64/ for IDs and time integers
Mikael Berthe <mikael@lilotux.net>
parents:
158
diff
changeset
|
17 |
SinceID, MaxID int64 // Boundaries |
408aa794d9bb
s/int/int64/ for IDs and time integers
Mikael Berthe <mikael@lilotux.net>
parents:
158
diff
changeset
|
18 |
All bool // Get as many items as possible |
149
5f922977d7c7
Add support for limits and paging ({since,max}_id) API parameters
Mikael Berthe <mikael@lilotux.net>
parents:
145
diff
changeset
|
19 |
} |
5f922977d7c7
Add support for limits and paging ({since,max}_id) API parameters
Mikael Berthe <mikael@lilotux.net>
parents:
145
diff
changeset
|
20 |
|
120 | 21 |
// apiCallParams is a map with the parameters for an API call |
22 |
type apiCallParams map[string]string |
|
23 |
||
7 | 24 |
const ( |
138
23d3a518d0ad
Update package name in source files
Mikael Berthe <mikael@lilotux.net>
parents:
131
diff
changeset
|
25 |
// MadonVersion contains the version of the Madon library |
158
083d33bb419b
Bump version to 1.3.0-dev
Mikael Berthe <mikael@lilotux.net>
parents:
157
diff
changeset
|
26 |
MadonVersion = "1.3.0-dev" |
12
4f58e9f1e2bc
Add APIEndpoint. Fill in Gondole variable.
Ollivier Robert <roberto@keltia.net>
parents:
7
diff
changeset
|
27 |
|
131
68ef6504637e
Introduce RestoreApp(), bump library version
Mikael Berthe <mikael@lilotux.net>
parents:
130
diff
changeset
|
28 |
// API version implemented in this library |
68ef6504637e
Introduce RestoreApp(), bump library version
Mikael Berthe <mikael@lilotux.net>
parents:
130
diff
changeset
|
29 |
apiVersion = "v1" |
68ef6504637e
Introduce RestoreApp(), bump library version
Mikael Berthe <mikael@lilotux.net>
parents:
130
diff
changeset
|
30 |
currentAPIPath = "/api/" + apiVersion |
77
603dd20de7e1
Use site part of the endpoint but fix "/api/v1". Use FallBack if necessary.
Ollivier Robert <roberto@keltia.net>
parents:
67
diff
changeset
|
31 |
|
83
adc39ae774c0
Make it work with non-defaut instances
Mikael Berthe <mikael@lilotux.net>
parents:
77
diff
changeset
|
32 |
// NoRedirect is the URI for no redirection in the App registration |
21
555716349f64
Move App stuff into app.go.
Ollivier Robert <roberto@keltia.net>
parents:
13
diff
changeset
|
33 |
NoRedirect = "urn:ietf:wg:oauth:2.0:oob" |
7 | 34 |
) |
35 |
||
99
6ec2a44a1bd1
Return error rather than empty entities
Mikael Berthe <mikael@lilotux.net>
parents:
89
diff
changeset
|
36 |
// Error codes |
33
bce8b17415ae
Add new error ErrAlreadyRegistered.
Ollivier Robert <roberto@keltia.net>
parents:
26
diff
changeset
|
37 |
var ( |
138
23d3a518d0ad
Update package name in source files
Mikael Berthe <mikael@lilotux.net>
parents:
131
diff
changeset
|
38 |
ErrUninitializedClient = errors.New("use of uninitialized madon client") |
23d3a518d0ad
Update package name in source files
Mikael Berthe <mikael@lilotux.net>
parents:
131
diff
changeset
|
39 |
ErrAlreadyRegistered = errors.New("app already registered") |
23d3a518d0ad
Update package name in source files
Mikael Berthe <mikael@lilotux.net>
parents:
131
diff
changeset
|
40 |
ErrEntityNotFound = errors.New("entity not found") |
23d3a518d0ad
Update package name in source files
Mikael Berthe <mikael@lilotux.net>
parents:
131
diff
changeset
|
41 |
ErrInvalidParameter = errors.New("incorrect parameter") |
23d3a518d0ad
Update package name in source files
Mikael Berthe <mikael@lilotux.net>
parents:
131
diff
changeset
|
42 |
ErrInvalidID = errors.New("incorrect entity ID") |
33
bce8b17415ae
Add new error ErrAlreadyRegistered.
Ollivier Robert <roberto@keltia.net>
parents:
26
diff
changeset
|
43 |
) |