types.go
author Ollivier Robert <roberto@keltia.net>
Wed, 05 Apr 2017 22:03:09 +0200
changeset 20 3379b2ff8f4c
parent 18 cc25503a10b6
child 25 9414cadcb717
permissions -rw-r--r--
Does not make any sense to have ID anything else than int64.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7
0fbbac6d8e8c We have an skeleton now.
Ollivier Robert <roberto@keltia.net>
parents:
diff changeset
     1
package gondole
0fbbac6d8e8c We have an skeleton now.
Ollivier Robert <roberto@keltia.net>
parents:
diff changeset
     2
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
     3
import (
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
     4
	"time"
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
     5
)
16
9d64e00d3ea6 Begin to fill in types.
Ollivier Robert <roberto@keltia.net>
parents: 10
diff changeset
     6
7
0fbbac6d8e8c We have an skeleton now.
Ollivier Robert <roberto@keltia.net>
parents:
diff changeset
     7
type Gondole struct {
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
     8
	Name        string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
     9
	RedirectURI string
10
bb83de52ba5f Adding types.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    10
}
bb83de52ba5f Adding types.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    11
bb83de52ba5f Adding types.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    12
type Client struct {
16
9d64e00d3ea6 Begin to fill in types.
Ollivier Robert <roberto@keltia.net>
parents: 10
diff changeset
    13
	BaseURL     string
9d64e00d3ea6 Begin to fill in types.
Ollivier Robert <roberto@keltia.net>
parents: 10
diff changeset
    14
	BearerToken string
10
bb83de52ba5f Adding types.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    15
}
bb83de52ba5f Adding types.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    16
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    17
/*
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    18
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    19
Entities:
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    20
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    21
Everything manipulated/returned by the API
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    22
*/
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    23
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    24
type Account struct {
20
3379b2ff8f4c Does not make any sense to have ID anything else than int64.
Ollivier Robert <roberto@keltia.net>
parents: 18
diff changeset
    25
	ID          int64
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    26
	Username    string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    27
	Acct        string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    28
	DisplayName string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    29
	Note        string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    30
	URL         string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    31
	Avatar      string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    32
	Header      string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    33
	Locked      bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    34
	Followers   int
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    35
	Followings  int
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    36
	Statuses    int
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    37
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    38
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    39
type Application struct {
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    40
	Name    string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    41
	Website string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    42
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    43
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    44
type Attachement struct {
20
3379b2ff8f4c Does not make any sense to have ID anything else than int64.
Ollivier Robert <roberto@keltia.net>
parents: 18
diff changeset
    45
	ID         int64
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    46
	Type       string
16
9d64e00d3ea6 Begin to fill in types.
Ollivier Robert <roberto@keltia.net>
parents: 10
diff changeset
    47
	URL        string
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    48
	RemoteURL  string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    49
	PreviewURL string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    50
	TextURL    string
10
bb83de52ba5f Adding types.
Ollivier Robert <roberto@keltia.net>
parents: 7
diff changeset
    51
}
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    52
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    53
type Card struct {
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    54
	URL         string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    55
	Title       string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    56
	Description string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    57
	Image       string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    58
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    59
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    60
type Context struct {
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    61
	Ancestors   []Status
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    62
	Descendents []Status
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    63
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    64
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    65
type Error struct {
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    66
	Text string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    67
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    68
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    69
type Instance struct {
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    70
	URI         string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    71
	Title       string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    72
	Description string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    73
	Email       string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    74
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    75
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    76
type Mention struct {
20
3379b2ff8f4c Does not make any sense to have ID anything else than int64.
Ollivier Robert <roberto@keltia.net>
parents: 18
diff changeset
    77
	ID       int64
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    78
	URL      string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    79
	Username string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    80
	Acct     string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    81
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    82
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    83
type Notification struct {
20
3379b2ff8f4c Does not make any sense to have ID anything else than int64.
Ollivier Robert <roberto@keltia.net>
parents: 18
diff changeset
    84
	ID        int64
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    85
	Type      string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    86
	CreatedAt time.Time
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    87
	Account   *Account
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    88
	Status    *Status
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    89
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    90
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    91
type Relationship struct {
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    92
	Following  bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    93
	FollowedBy bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    94
	Blocking   bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    95
	Muting     bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    96
	Requested  bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    97
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
    98
type Report struct {
20
3379b2ff8f4c Does not make any sense to have ID anything else than int64.
Ollivier Robert <roberto@keltia.net>
parents: 18
diff changeset
    99
	ID          int64
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   100
	ActionTaken string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   101
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   102
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   103
type Result struct {
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   104
	Accounts []Account
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   105
	Statutes []Status
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   106
	Hashtags []Tag
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   107
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   108
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   109
type Status struct {
20
3379b2ff8f4c Does not make any sense to have ID anything else than int64.
Ollivier Robert <roberto@keltia.net>
parents: 18
diff changeset
   110
	ID                 int64
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   111
	URI                string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   112
	URL                string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   113
	Account            *Account
20
3379b2ff8f4c Does not make any sense to have ID anything else than int64.
Ollivier Robert <roberto@keltia.net>
parents: 18
diff changeset
   114
	InReplyToId        int64
3379b2ff8f4c Does not make any sense to have ID anything else than int64.
Ollivier Robert <roberto@keltia.net>
parents: 18
diff changeset
   115
	InReplyToAccountID int64
17
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   116
	Reblog             *Status
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   117
	Content            string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   118
	CreatedAT          time.Time
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   119
	Reblogs            int
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   120
	Favourites         int
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   121
	Reblogged          bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   122
	Favourited         bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   123
	Sensitive          bool
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   124
	SpoilerText        string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   125
	Visibility         string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   126
	MediaAttachments   []Attachement
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   127
	Mentions           []Mention
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   128
	Tags               []Tag
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   129
	App                Application
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   130
}
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   131
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   132
type Tag struct {
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   133
	Name string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   134
	URL  string
9f17ef336aad Add all types documented.
Ollivier Robert <roberto@keltia.net>
parents: 16
diff changeset
   135
}