checkpoint: printer now posts instance info
This commit is contained in:
parent
02e96bd528
commit
1180de5114
4 changed files with 42 additions and 54 deletions
|
@ -220,13 +220,13 @@ func (c *CreateExecutor) createStatus(gtsClient *client.Client) error {
|
||||||
form.Poll = &poll
|
form.Poll = &poll
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = gtsClient.CreateStatus(form)
|
status, err := gtsClient.CreateStatus(form)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("unable to create the status: %w", err)
|
return fmt.Errorf("unable to create the status: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
c.printer.PrintSuccess("Successfully created the following status:")
|
c.printer.PrintSuccess("Successfully created the following status:")
|
||||||
//utilities.Display(status, *c.topLevelFlags.NoColor, c.topLevelFlags.Pager)
|
c.printer.PrintStatus(status)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,7 +99,7 @@ func (s *ShowExecutor) showInstance(gtsClient *client.Client) error {
|
||||||
return fmt.Errorf("unable to retrieve the instance details: %w", err)
|
return fmt.Errorf("unable to retrieve the instance details: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
utilities.Display(instance, false, "")
|
s.printer.PrintInstance(instance)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,12 +4,6 @@
|
||||||
|
|
||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"codeflow.dananglin.me.uk/apollo/enbas/internal/utilities"
|
|
||||||
)
|
|
||||||
|
|
||||||
type InstanceV2 struct {
|
type InstanceV2 struct {
|
||||||
AccountDomain string `json:"account_domain"`
|
AccountDomain string `json:"account_domain"`
|
||||||
Configuration InstanceConfiguration `json:"configuration"`
|
Configuration InstanceConfiguration `json:"configuration"`
|
||||||
|
@ -116,48 +110,3 @@ type InstanceV2Usage struct {
|
||||||
type InstanceV2Users struct {
|
type InstanceV2Users struct {
|
||||||
ActiveMonth int `json:"active_month"`
|
ActiveMonth int `json:"active_month"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i InstanceV2) Display(noColor bool) string {
|
|
||||||
format := `
|
|
||||||
%s
|
|
||||||
%s
|
|
||||||
|
|
||||||
%s
|
|
||||||
%s
|
|
||||||
|
|
||||||
%s
|
|
||||||
%s
|
|
||||||
|
|
||||||
%s
|
|
||||||
%s
|
|
||||||
|
|
||||||
%s
|
|
||||||
Running GoToSocial %s
|
|
||||||
|
|
||||||
%s
|
|
||||||
%s %s
|
|
||||||
%s %s
|
|
||||||
%s %s
|
|
||||||
`
|
|
||||||
|
|
||||||
return fmt.Sprintf(
|
|
||||||
format,
|
|
||||||
utilities.HeaderFormat(noColor, "INSTANCE TITLE:"),
|
|
||||||
i.Title,
|
|
||||||
utilities.HeaderFormat(noColor, "INSTANCE DESCRIPTION:"),
|
|
||||||
utilities.WrapLines(i.DescriptionText, "\n ", 80),
|
|
||||||
utilities.HeaderFormat(noColor, "DOMAIN:"),
|
|
||||||
i.Domain,
|
|
||||||
utilities.HeaderFormat(noColor, "TERMS AND CONDITIONS:"),
|
|
||||||
utilities.WrapLines(i.TermsText, "\n ", 80),
|
|
||||||
utilities.HeaderFormat(noColor, "VERSION:"),
|
|
||||||
i.Version,
|
|
||||||
utilities.HeaderFormat(noColor, "CONTACT:"),
|
|
||||||
utilities.FieldFormat(noColor, "Name:"),
|
|
||||||
i.Contact.Account.DisplayName,
|
|
||||||
utilities.FieldFormat(noColor, "Username:"),
|
|
||||||
i.Contact.Account.Acct,
|
|
||||||
utilities.FieldFormat(noColor, "Email:"),
|
|
||||||
i.Contact.Email,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
39
internal/printer/instance.go
Normal file
39
internal/printer/instance.go
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
package printer
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strings"
|
||||||
|
|
||||||
|
"codeflow.dananglin.me.uk/apollo/enbas/internal/model"
|
||||||
|
"codeflow.dananglin.me.uk/apollo/enbas/internal/utilities"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (p Printer) PrintInstance(instance model.InstanceV2) {
|
||||||
|
var builder strings.Builder
|
||||||
|
|
||||||
|
builder.WriteString("\n" + p.headerFormat("INSTANCE TITLE:"))
|
||||||
|
builder.WriteString("\n" + instance.Title)
|
||||||
|
|
||||||
|
builder.WriteString("\n\n" + p.headerFormat("INSTANCE DESCRIPTION:"))
|
||||||
|
builder.WriteString("\n" + utilities.WrapLines(instance.DescriptionText, "\n", p.maxTerminalWidth))
|
||||||
|
|
||||||
|
builder.WriteString("\n\n" + p.headerFormat("DOMAIN:"))
|
||||||
|
builder.WriteString("\n" + instance.Domain)
|
||||||
|
|
||||||
|
builder.WriteString("\n\n" + p.headerFormat("TERMS AND CONDITIONS:"))
|
||||||
|
builder.WriteString("\n" + utilities.WrapLines(instance.TermsText, "\n ", p.maxTerminalWidth))
|
||||||
|
|
||||||
|
builder.WriteString("\n\n" + p.headerFormat("VERSION:"))
|
||||||
|
builder.WriteString("\nRunning GoToSocial " + instance.Version)
|
||||||
|
|
||||||
|
builder.WriteString("\n\n" + p.headerFormat("CONTACT:"))
|
||||||
|
builder.WriteString("\n" + p.fieldFormat("Name:"))
|
||||||
|
builder.WriteString(" " + instance.Contact.Account.DisplayName)
|
||||||
|
builder.WriteString("\n" + p.fieldFormat("Username:"))
|
||||||
|
builder.WriteString(" " + instance.Contact.Account.Acct)
|
||||||
|
builder.WriteString("\n" + p.fieldFormat("Email:"))
|
||||||
|
builder.WriteString(" " + instance.Contact.Email)
|
||||||
|
|
||||||
|
builder.WriteString("\n\n")
|
||||||
|
|
||||||
|
p.print(builder.String())
|
||||||
|
}
|
Loading…
Reference in a new issue