74 lines
1.4 KiB
Go
74 lines
1.4 KiB
Go
|
package main
|
||
|
|
||
|
const (
|
||
|
NEW_INSTANCE = 0
|
||
|
RUNNING = 200
|
||
|
TOOMANYREQUESTS = 429
|
||
|
CLIENT_ISSUE = 600
|
||
|
ONION_PROTOCOL = 601
|
||
|
BAD_RESPONSE = 602
|
||
|
BAD_NODEINFO = 604
|
||
|
)
|
||
|
|
||
|
// Parsing Unmarshal JSON type
|
||
|
type ReportPost struct {
|
||
|
|
||
|
// Retrieved values
|
||
|
Id string `json:"id"`
|
||
|
Url string `json:"url"`
|
||
|
Account AccountType
|
||
|
Content string `json:"content"`
|
||
|
Created_at string `json:"created_at"`
|
||
|
|
||
|
// Derived values
|
||
|
normalized string
|
||
|
posthash []byte
|
||
|
}
|
||
|
|
||
|
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"`
|
||
|
}
|
||
|
|
||
|
// Used to report a new instance to main
|
||
|
type InstanceReport struct {
|
||
|
endpoint string
|
||
|
status int
|
||
|
|
||
|
min_id string
|
||
|
numposts int
|
||
|
}
|
||
|
|
||
|
// Instance's new min_id value
|
||
|
type RunningInstance struct {
|
||
|
Endpoint string `json:"endpoint"`
|
||
|
Software string `json:"software"`
|
||
|
Min_id string
|
||
|
Status int `json:"status"`
|
||
|
LastRun string `json:"lastrun"`
|
||
|
}
|
||
|
|
||
|
type NodeInfoSoftware struct {
|
||
|
Name string `json:"name"`
|
||
|
Version string `json:"version"`
|
||
|
}
|
||
|
|
||
|
type NodeInfo struct {
|
||
|
Software NodeInfoSoftware `json:"software"`
|
||
|
}
|
||
|
|
||
|
type CommandMap struct {
|
||
|
Type string `json:"Type"`
|
||
|
Endpoint string `json:"Endpoint"`
|
||
|
}
|
||
|
|
||
|
type ResponseBack struct {
|
||
|
Type string `json:"Type"`
|
||
|
Message string `json:"Message"`
|
||
|
RunningInstances []RunningInstance `json:"RunningInstances"`
|
||
|
}
|