Skip to content

andrewstuart/soffit-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

soffit

-- import "astuart.co/soffit-go"

Package soffit provides data structures for the data types one can expect from the uPortal Soffit portlet. This should help enable more rapid iteration when working in a soffit environment.

Usage

type Context

type Context struct {
	PortalInfo            PortalInfo `json:"portalInfo"`
	SupportedWindowStates []string   `json:"supportedWindowStates"`
	Attributes            url.Values `json:"attributes"`
}

Context represents information about the portal creating the request

type Payload

type Payload struct {
	Request Request     `json:"request"`
	User    UserDetails `json:"user"`
	Context Context     `json:"context"`
}

Payload is the tentative name for the main Soffit request body

type PortalInfo

type PortalInfo struct {
	Provider string         `json:"provider"`
	Version  semver.Version `json:"version"`
	Snapshot bool           `json:"snapshot"`
}

PortalInfo is the representation of the portal information sent by the uPortal server.

func (*PortalInfo) UnmarshalJSON

func (p *PortalInfo) UnmarshalJSON(bs []byte) error

UnmarshalJSON implements json.Unmarshaler

type Request

type Request struct {
	Mode        string `json:"mode"`
	WindowID    string `json:"windowId"`
	Namespace   string `json:"namespace"`
	WindowState string `json:"windowState"`

	Properties  map[string]string `json:"properties"`
	Preferences url.Values        `json:"preferences"`
	Attributes  url.Values        `json:"attributes"`
}

Request is the go representation of the Soffit JSON request format v_1.

type UserDetails

type UserDetails struct {
	Username   string     `json:"username"`
	Attributes url.Values `json:"attributes"`
	Roles      []string   `json:"roles"`
	Groups     []string   `json:"groups"`
}

UserDetails is the representation of the user information sent by uPortal.

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages