2016-12-06 04:20:14 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import "time"
|
|
|
|
|
|
|
|
// Message We save the message struct into the db,
|
|
|
|
// it's also what we send/receive from slack
|
|
|
|
type Message struct {
|
|
|
|
ID uint64 `json:"id"`
|
|
|
|
Type string `json:"type"`
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
User string `json:"user"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Text string `json:"text"`
|
|
|
|
Ts string `json:"ts"`
|
2017-09-26 16:24:17 +00:00
|
|
|
|
|
|
|
Time time.Time
|
|
|
|
}
|
|
|
|
|
|
|
|
type Attachment struct {
|
|
|
|
Fallback string `json:"fallback"`
|
|
|
|
Color string `json:"color"`
|
|
|
|
Pretext string `json:"pretext"`
|
|
|
|
AuthorName string `json:"author_name"`
|
|
|
|
AuthorLink string `json:"author_link"`
|
|
|
|
AuthorIcon string `json:"author_icon"`
|
|
|
|
Title string `json:"title"`
|
|
|
|
TitleLink string `json:"title_link"`
|
|
|
|
Text string `json:"text"`
|
|
|
|
//Fields []AttachmentFields `json:"fields"`
|
|
|
|
ImageUrl string `json:"image_url"`
|
|
|
|
ThumbUrl string `json:"thumb_url"`
|
|
|
|
Footer string `json:"footer"`
|
|
|
|
FooterIcon string `json:"footer_icon"`
|
|
|
|
RawTS int `json:"ts"`
|
|
|
|
TS time.Time
|
2016-12-06 04:20:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Channel object
|
|
|
|
type Channel struct {
|
|
|
|
ID string `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
IsChannel bool `json:"is_channel"`
|
|
|
|
CreatedRaw int `json:"created"`
|
|
|
|
Created time.Time
|
|
|
|
Creator string `json:"creator"`
|
|
|
|
IsArchived bool `json:"is_archived"`
|
|
|
|
IsGeneral bool `json:"is_general"`
|
|
|
|
IsMember bool `json:"is_member"`
|
|
|
|
LastReadRaw string `json:"last_read"`
|
|
|
|
LastRead time.Time
|
|
|
|
Latest *Message `json:"latest"`
|
|
|
|
UnreadCount int `json:"unread_count"`
|
|
|
|
UnreadCountDisplay int `json:"unread_count_display"`
|
|
|
|
Members []string `json:"members"`
|
|
|
|
Topic *ChannelTopic `json:"topic"`
|
|
|
|
Purpose *ChannelTopic `json:"purpose"`
|
|
|
|
|
|
|
|
// LastUpdated is the last time we updated the info in the DB
|
|
|
|
LastUpdated time.Time
|
|
|
|
}
|
|
|
|
|
2016-12-06 23:31:22 +00:00
|
|
|
// ChannelTopic A simple 'Channel Topic' object
|
|
|
|
// used for several things in the slack api (channel topic/purpose, etc.
|
|
|
|
type ChannelTopic struct {
|
|
|
|
Value string `json:"value"`
|
|
|
|
Creator string `json:"creator"`
|
|
|
|
LastSetRaw int `json:"last_set"`
|
|
|
|
LastSet time.Time
|
|
|
|
}
|
|
|
|
|
2016-12-06 04:20:14 +00:00
|
|
|
// User object
|
|
|
|
type User struct {
|
|
|
|
ID string `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Deleted bool `json:"deleted"`
|
|
|
|
Status string `json:"status"`
|
|
|
|
Color string `json:"color"`
|
|
|
|
RealName string `json:"real_name"`
|
|
|
|
TZ string `json:"tz"`
|
|
|
|
TZLabel string `json:"tz_label"`
|
|
|
|
TZOffset int `json:"tz_offset"`
|
|
|
|
IsAdmin bool `json:"is_admin"`
|
|
|
|
IsOwner bool `json:"is_owner"`
|
|
|
|
IsPrimaryOwner bool `json:"is_primary_owner"`
|
|
|
|
IsRestricted bool `json:"is_restricted"`
|
|
|
|
IsUltraRestricted bool `json:"is_ultra_restricted"`
|
|
|
|
IsBot bool `json:"is_bot"`
|
|
|
|
HasFiles bool `json:"has_files"`
|
|
|
|
|
|
|
|
// LastUpdated is the last time we updated the info in the DB
|
|
|
|
LastUpdated time.Time
|
|
|
|
}
|