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