mirror of
https://git.phreedom.club/localhost_frssoft/bloat.git
synced 2024-11-25 05:11:27 +00:00
Add some information about instance
This commit is contained in:
parent
7dd90ac015
commit
7d54da6380
|
@ -10,6 +10,7 @@ type Instance struct {
|
||||||
URI string `json:"uri"`
|
URI string `json:"uri"`
|
||||||
Title string `json:"title"`
|
Title string `json:"title"`
|
||||||
Description string `json:"description"`
|
Description string `json:"description"`
|
||||||
|
ShortDescription *string `json:"short_description"`
|
||||||
EMail string `json:"email"`
|
EMail string `json:"email"`
|
||||||
Version string `json:"version,omitempty"`
|
Version string `json:"version,omitempty"`
|
||||||
Thumbnail string `json:"thumbnail,omitempty"`
|
Thumbnail string `json:"thumbnail,omitempty"`
|
||||||
|
@ -17,7 +18,14 @@ type Instance struct {
|
||||||
Stats *InstanceStats `json:"stats,omitempty"`
|
Stats *InstanceStats `json:"stats,omitempty"`
|
||||||
Languages []string `json:"languages"`
|
Languages []string `json:"languages"`
|
||||||
ContactAccount *Account `json:"account"`
|
ContactAccount *Account `json:"account"`
|
||||||
|
PollLimits *PollLimit `json:"poll_limits"`
|
||||||
MaxTootChars *int64 `json:"max_toot_chars"`
|
MaxTootChars *int64 `json:"max_toot_chars"`
|
||||||
|
MaxMediaAttachments *int64 `json:"max_media_attachments"`
|
||||||
|
UploadLimit *int64 `json:"upload_limit"`
|
||||||
|
BackgroundUploadLimit *int64 `json:"background_upload_limit"`
|
||||||
|
AvatarUploadLimit *int64 `json:"avatar_upload_limit"`
|
||||||
|
Configuration *InstanceConf `json:"configuration"`
|
||||||
|
Rules *[]map[string]string `json:"rules"`
|
||||||
Pleroma *PleromaInstance `json:"pleroma"`
|
Pleroma *PleromaInstance `json:"pleroma"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +36,23 @@ type InstanceStats struct {
|
||||||
DomainCount int64 `json:"domain_count"`
|
DomainCount int64 `json:"domain_count"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// InstanceConf hold information for mastodon instances
|
||||||
|
type InstanceConf struct {
|
||||||
|
Statuses StatusesConf `json:"statuses"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type StatusesConf struct {
|
||||||
|
MaxCharacters int64 `json:"max_characters"`
|
||||||
|
MaxMediaAttachments int64 `json:"max_media_attachments"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PollLimit struct {
|
||||||
|
MaxExpiration int64 `json:"max_expiration"`
|
||||||
|
MaxOptionChars int64 `json:"max_option_chars"`
|
||||||
|
MaxOptions int64 `json:"max_options"`
|
||||||
|
MinExpiration int64 `json:"min_expiration"`
|
||||||
|
}
|
||||||
|
|
||||||
// For about instance if this Pleroma
|
// For about instance if this Pleroma
|
||||||
type PleromaInstance struct {
|
type PleromaInstance struct {
|
||||||
MetaData MetaData `json:"metadata"`
|
MetaData MetaData `json:"metadata"`
|
||||||
|
@ -35,6 +60,12 @@ type PleromaInstance struct {
|
||||||
|
|
||||||
type MetaData struct {
|
type MetaData struct {
|
||||||
Features *[]string `json:"features"`
|
Features *[]string `json:"features"`
|
||||||
|
Federation FederationInfo `json:"federation"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type FederationInfo struct {
|
||||||
|
Enabled bool `json:enabled"`
|
||||||
|
MrfPolicies []string `json:mrf_policies"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -122,6 +122,7 @@ type AboutData struct {
|
||||||
type AboutInstanceData struct {
|
type AboutInstanceData struct {
|
||||||
*CommonData
|
*CommonData
|
||||||
Instance *mastodon.Instance
|
Instance *mastodon.Instance
|
||||||
|
Peers []string
|
||||||
}
|
}
|
||||||
|
|
||||||
type EmojiData struct {
|
type EmojiData struct {
|
||||||
|
|
|
@ -743,9 +743,15 @@ func (s *service) AboutInstance(c *client) (err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
peers, err := c.GetInstancePeers(c.ctx)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
data := &renderer.AboutInstanceData{
|
data := &renderer.AboutInstanceData{
|
||||||
CommonData: cdata,
|
CommonData: cdata,
|
||||||
Instance: instance,
|
Instance: instance,
|
||||||
|
Peers: peers,
|
||||||
}
|
}
|
||||||
return s.renderer.Render(c.rctx, c.w, renderer.AboutInstance, data)
|
return s.renderer.Render(c.rctx, c.w, renderer.AboutInstance, data)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,19 @@
|
||||||
<p>
|
<p>
|
||||||
{{.Instance.Description}}
|
{{.Instance.Description}}
|
||||||
</p>
|
</p>
|
||||||
|
<p>
|
||||||
|
{{Raw .Instance.ShortDescription}}
|
||||||
|
</p>
|
||||||
|
{{if .Instance.Rules}}
|
||||||
|
<p>
|
||||||
|
<details>
|
||||||
|
<summary>Rules</summary>
|
||||||
|
{{range .Instance.Rules}}
|
||||||
|
{{.id}}. {{.text}}<br><br>
|
||||||
|
{{end}}
|
||||||
|
</details>
|
||||||
|
</p>
|
||||||
|
{{end}}
|
||||||
<p>
|
<p>
|
||||||
<details>
|
<details>
|
||||||
<summary>Logo instance</summary>
|
<summary>Logo instance</summary>
|
||||||
|
@ -15,6 +28,9 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="page-title"> Contact E-mail: {{.Instance.EMail}} </div>
|
<div class="page-title"> Contact E-mail: {{.Instance.EMail}} </div>
|
||||||
|
{{if .Instance.ContactAccount}}
|
||||||
|
<div class="page-title"> Contact account: {{.Instance.ContactAccount.Acct}} </div>
|
||||||
|
{{end}}
|
||||||
|
|
||||||
{{if .Instance.Stats}}
|
{{if .Instance.Stats}}
|
||||||
<div class="page-title"> Statistics: </div>
|
<div class="page-title"> Statistics: </div>
|
||||||
|
@ -36,6 +52,39 @@
|
||||||
{{end}}
|
{{end}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="page-title"> Limits: </div>
|
||||||
|
{{if .Instance.Configuration}}
|
||||||
|
Max status characters: {{.Instance.Configuration.Statuses.MaxCharacters}}<br>
|
||||||
|
Max media attachments: {{.Instance.Configuration.Statuses.MaxMediaAttachments}}<br>
|
||||||
|
{{else}}
|
||||||
|
Max status characters: {{.Instance.MaxTootChars}}<br>
|
||||||
|
Max media attachments: {{.Instance.MaxMediaAttachments}}<br>
|
||||||
|
Max size attachment: {{.Instance.UploadLimit}} bytes<br>
|
||||||
|
{{end}}
|
||||||
|
{{if .Instance.PollLimits}}
|
||||||
|
Max poll options: {{.Instance.PollLimits.MaxOptions}}<br>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="page-title"> Federation info: </div>
|
||||||
|
<div>
|
||||||
|
{{if .Instance.Pleroma}}
|
||||||
|
<div class="federation-enabled"> Federation enabled: {{.Instance.Pleroma.MetaData.Federation.Enabled}} </div>
|
||||||
|
<div class="mrf-policies"> MRF Policies </div>
|
||||||
|
{{range .Instance.Pleroma.MetaData.Federation.MrfPolicies}}
|
||||||
|
{{.}}<br>
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
<details>
|
||||||
|
<summary>Current peers ({{.Instance.Stats.DomainCount}})</summary>
|
||||||
|
{{range .Peers}}
|
||||||
|
{{.}}<br>
|
||||||
|
{{end}}
|
||||||
|
</details>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="page-title"> Version: {{.Instance.Version}} </div>
|
<div class="page-title"> Version: {{.Instance.Version}} </div>
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue