status

package
v0.0.0-...-dae269f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2023 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

Package status provides dagta structutres for distillery information

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BundleStatistics

type BundleStatistics struct {
	Bundles []struct {
		Label       string `json:"label"`
		MachineName string `json:"machineName"`

		Count int `json:"entities"`

		LastEdit phpx.Timestamp `json:"lastEdit"`

		MainBundle phpx.Boolean `json:"mainBundle"`
	} `json:"bundleStatistics"`
	TotalBundles     int `json:"totalBundles"`
	TotalMainBundles int `json:"totalMainBundles"`
}

func (BundleStatistics) LastEdit

func (bs BundleStatistics) LastEdit() (le LastEdit)

LastEdit returns the last time any bundle was edited, and if any edit was bigger than the reference time

func (BundleStatistics) Summary

func (bs BundleStatistics) Summary() string

func (BundleStatistics) TotalCount

func (bs BundleStatistics) TotalCount() (total int)

type Distillery

type Distillery struct {
	Time time.Time // Time when this information was built

	// Configuration of the distillery
	Config *config.Config

	// number of instances
	TotalCount   int
	RunningCount int
	StoppedCount int

	Backups []models.Export // list of backups
}

Distillery holds status and analytical data about a distillery

type DrupalUser

type DrupalUser struct {
	UID     phpx.Integer   `json:"uid,omitempty"`
	Name    phpx.String    `json:"name,omitempty"`
	Mail    phpx.String    `json:"mail,omitempty"`
	Status  phpx.Boolean   `json:"status,omitempty"`
	Created phpx.Timestamp `json:"created,omitempty"`
	Changed phpx.Timestamp `json:"changed,omitempty"`
	Access  phpx.Timestamp `json:"access,omitempty"`
	Login   phpx.Timestamp `json:"login,omitempty"`
	Roles   UserRoles      `json:"roles,omitempty"`
}

DrupalUser represents a WissKI DrupalUser

func (DrupalUser) String

func (du DrupalUser) String() string

type ImageVersion

type ImageVersion string

type LastEdit

type LastEdit struct {
	Time  time.Time
	Valid bool
}

type Requirement

type Requirement struct {
	ID          string        `json:"id"`
	Title       string        `json:"title"`
	Weight      int           `json:"weight"`
	Severity    int           `json:"severity"`
	Value       template.HTML `json:"value"`
	Description template.HTML `json:"description"`
}

Requirement represents a drupal requirement or status check.

func (Requirement) Level

func (req Requirement) Level() template.HTML

type Statistics

type Statistics struct {
	Activity struct {
		MostVisited string `json:"mostVisited"`
		PageVisits  []struct {
			URL    string `json:"url"`
			Visits int    `json:"visits"`
		} `json:"pageVisits"`
		TotalEditsLastWeek int `json:"totalEditsLastWeek"`
	} `json:"activity"`
	Bundles     BundleStatistics `json:"bundles"`
	Triplestore struct {
		Graphs []struct {
			URI   string `json:"uri"`
			Count int    `json:"triples"`
		} `json:"graphStatistics"`
		Total int `json:"totalTriples"`
	} `json:"triplestore"`
	Users struct {
		LastLogin  string `json:"lastLogin"`
		TotalUsers int    `json:"totalUsers"`
	} `json:"users"`
}

Statistics holds statistics generated by the WissKI module

type UserRole

type UserRole string

UserRole represents the role of a user

const (
	Administrator UserRole = "administrator"
	ContentEditor UserRole = "content_editor"
)

type UserRoles

type UserRoles map[UserRole]struct{}

UserRoles represents a set of user roles for a given user

func (UserRoles) Has

func (ur UserRoles) Has(role UserRole) (ok bool)

Has checks if the UserRole has the given role

func (UserRoles) MarshalJSON

func (ur UserRoles) MarshalJSON() ([]byte, error)

func (UserRoles) String

func (ur UserRoles) String() string

func (*UserRoles) UnmarshalJSON

func (u *UserRoles) UnmarshalJSON(data []byte) error

type WissKI

type WissKI struct {
	Time time.Time // Time this info was built

	Slug string // slug
	URL  string // complete URL, including http(s)

	// golang html requirements.
	// Note that the html in templates may contain dirty html.
	Requirements []Requirement

	Locked bool // Is this instance currently locked?

	// Information about the running instance
	Running     bool
	LastRebuild time.Time
	LastUpdate  time.Time
	LastCron    time.Time

	// current theme
	Theme string

	// Statistics of the WissKI
	Statistics Statistics

	// List of backups made
	Snapshots []models.Export

	// List of SSH Keys that have access to this server
	SSHKeys []string

	// WissKI content information
	NoPrefixes   bool              // TODO: Move this into the database
	Prefixes     []string          // list of prefixes
	Pathbuilders map[string]string // all the pathbuilders
	Users        []DrupalUser      // all the known users
	Grants       []models.Grant
}

WissKI provides information about a single WissKI

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL