fedilogue/shared/headers.go

106 lines
2.7 KiB
Go
Raw Permalink Normal View History

2021-09-29 02:47:10 +00:00
package shared
import (
"net/http"
)
const (
NEW_INSTANCE = 0
RUNNING = 200
UNAUTHORIZED = 401
FORBIDDEN = 403
NOT_FOUND = 404
UNPROCESSABLE_ENTITY = 422
TOOMANYREQUESTS = 429
INTERNAL_ERROR = 500
CLIENT_ISSUE = 600
ONION_PROTOCOL = 601
BAD_RESPONSE = 602
BAD_NODEINFO = 604
UNSUPPORTED_INSTANCE = 605
STREAM_ENDED = 606
KEEPALIVE = 607
)
type ObjectType struct {
Id string `json:"id"`
}
// Parsing Unmarshal JSON type
type ReportActivity struct {
// Retrieved values
Id string `json:"id"`
Uri string `json:"uri"`
Account AccountType
Content string `json:"content"`
Created_at string `json:"created_at"`
// Derived values
normalized string
}
2022-02-09 23:09:13 -05:00
type PleromaStreamHeader struct {
Event string `json:"event"`
Payload string `json:"payload"`
}
2021-09-29 02:47:10 +00:00
type AccountType struct {
Acct string `json:"acct"`
Avatar string `json:"avatar"`
Bot bool `json:"bot"`
Created_at string `json:"created_at"`
Display_name string `json:"display_name"`
Url string `json:"url"`
}
// Instance's new min_id value
type RunningInstance struct {
Software string `json:"software"`
Version string `json:"version"`
Status int `json:"status"`
LastRun string `json:"lastrun"`
CaptureType string `json:"capturetype"`
Banned bool `json:"-"`
Alwaysbot bool `json:"-"`
Client http.Client `json:"-"`
Client_id string `json:"-"`
Client_secret string `json:"-"`
Recentactivities *UniqueFifo `json:"-"`
Recentactors *UniqueFifo `json:"-"`
2021-09-29 02:47:10 +00:00
}
type Userinfo struct {
Id string `"json:id"`
Type string `"json:type"`
Following string `"json:following"`
Followers string `"json:followers"`
Inbox string `"json:inbox"`
Outbox string `"json:outbox"`
Featured string `"json:featured"`
PreferredUsername string `"json:preferredUsername"`
Name string `"json:name"`
Summary string `"json:summary"`
Url string `"json:Url"`
ManuallyApprovesFollowers string `"json:manuallyApprovesFollowers"`
Discoverable string `"json:discoverable"`
}
type SoftwareActualNodeInfo struct {
Name string `json:"name"`
Version string `json:"version"`
}
type ActualNodeInfo struct {
Software SoftwareActualNodeInfo `json:"software"`
}
type WellKnownNodeInfoLinks struct {
Rel string `json:"rel"`
Href string `json:"href"`
}
type WellKnownNodeInfo struct {
Links []WellKnownNodeInfoLinks `json:"links"`
}