models

package
v0.0.0-...-1f6a4c1 Latest Latest
Warning

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

Go to latest
Published: May 2, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AvailableTemplates

type AvailableTemplates string
const (
	LandingPage AvailableTemplates = "landingPage"
)

func (AvailableTemplates) IsValid

func (at AvailableTemplates) IsValid() error

func (*AvailableTemplates) Scan

func (at *AvailableTemplates) Scan(value interface{}) error

func (AvailableTemplates) String

func (at AvailableTemplates) String() string

func (AvailableTemplates) Value

func (at AvailableTemplates) Value() (driver.Value, error)

type AvailableWidgets

type AvailableWidgets string
const (
	FavoriteServices    AvailableWidgets = "favoriteServices"
	NotificationsEvents AvailableWidgets = "notificationsEvents"
	LearningResources   AvailableWidgets = "learningResources"
	ExploreCapabilities AvailableWidgets = "exploreCapabilities"
	Edge                AvailableWidgets = "edge"
	Ansible             AvailableWidgets = "ansible"
	Rhel                AvailableWidgets = "rhel"
	OpenShift           AvailableWidgets = "openshift"
	RecentlyVisited     AvailableWidgets = "recentlyVisited"
	OpenShiftAi         AvailableWidgets = "openshiftAi"
	Quay                AvailableWidgets = "quay"
	Acs                 AvailableWidgets = "acs"
)

func (AvailableWidgets) IsValid

func (aw AvailableWidgets) IsValid() error

type BaseDashboardTemplate

type BaseDashboardTemplate struct {
	Name           string         `json:"name"`
	DisplayName    string         `json:"displayName"`
	TemplateConfig TemplateConfig `json:"templateConfig"`
}

type BaseModel

type BaseModel struct {
	ID        uint           `gorm:"primarykey" json:"id,omitempty"`
	CreatedAt time.Time      `json:"createdAt,omitempty"`
	UpdatedAt time.Time      `json:"updatedAt,omitempty"`
	DeletedAt gorm.DeletedAt `json:"deletedAt,omitempty"`
}

Generic Struct used throughout models in this service.

type BaseWidgetDimensions

type BaseWidgetDimensions struct {
	Width     int `json:"w"`
	Height    int `json:"h"`
	MaxHeight int `json:"maxH"`
	MinHeight int `json:"minH"`
}

func (BaseWidgetDimensions) InitDimensions

func (bwd BaseWidgetDimensions) InitDimensions(w, h, maxH, minH int) BaseWidgetDimensions

type DashboardTemplate

type DashboardTemplate struct {
	BaseModel
	UserIdentityID uint                  `json:"userIdentityID"`
	Default        bool                  `gorm:"not null;default:false" json:"default"`
	TemplateBase   DashboardTemplateBase `gorm:"not null;default null; embedded" 'json:"templateBase"`
	TemplateConfig TemplateConfig        `gorm:"not null;default null; embedded" json:"templateConfig"`
}

func DecodeDashboardBase64

func DecodeDashboardBase64(encoded string) (DashboardTemplate, error)

func (*DashboardTemplate) EncodeBase64

func (dt *DashboardTemplate) EncodeBase64() (string, error)

func (DashboardTemplate) IsValid

func (dt DashboardTemplate) IsValid() error

type DashboardTemplateBase

type DashboardTemplateBase struct {
	Name        string `json:"name"`
	DisplayName string `json:"displayName"`
}

type FavoritePage

type FavoritePage struct {
	BaseModel
	Pathname       string `json:"pathname"`
	Favorite       bool   `json:"favorite"`
	UserIdentityID uint   `json:"userIdentityId"`
}

type GridItem

type GridItem struct {
	BaseWidgetDimensions
	Title  string `json:"title"`
	ID     string `json:"i"`
	X      int    `json:"x"`
	Y      int    `json:"y"`
	Static bool   `json:"static"`
}

func (GridItem) IsValid

func (gi GridItem) IsValid(variant GridSizes) error

type GridSizes

type GridSizes string
const (
	Sm GridSizes = "sm"
	Md GridSizes = "md"
	Lg GridSizes = "lg"
	Xl GridSizes = "xl"
)

func (GridSizes) GetMaxWidth

func (gs GridSizes) GetMaxWidth() (int, error)

func (GridSizes) IsValid

func (gs GridSizes) IsValid() error

type LastVisitedRequest

type LastVisitedRequest struct {
	Pages []VisitedPage `json:"pages"`
}

type ModuleFederationMetadata

type ModuleFederationMetadata struct {
	Scope      string               `json:"scope"`
	Module     string               `json:"module"`
	ImportName string               `json:"importName,omitempty"`
	Defaults   BaseWidgetDimensions `json:"defaults"`
	Config     WidgetConfiguration  `json:"config"`
}

type ProductOfInterest

type ProductOfInterest struct {
	BaseModel
	Name           string `json:"name"`
	UserIdentityID uint   `json:"userIdentityId"`
}

type SelfReport

type SelfReport struct {
	BaseModel
	ProductsOfInterest pq.StringArray `gorm:"type:text[]" json:"productsOfInterest"`
	JobRole            string         `json:"jobRole"`
	UserIdentityID     uint           `json:"userIdentityID"`
}

type TemplateConfig

type TemplateConfig struct {
	Sm datatypes.JSONType[[]GridItem] `gorm:"not null;default null" json:"sm"`
	Md datatypes.JSONType[[]GridItem] `gorm:"not null;default null" json:"md"`
	Lg datatypes.JSONType[[]GridItem] `gorm:"not null;default null" json:"lg"`
	Xl datatypes.JSONType[[]GridItem] `gorm:"not null;default null" json:"xl"`
}

func (TemplateConfig) IsValid

func (tc TemplateConfig) IsValid() error

func (*TemplateConfig) SetLayoutSizeItems

func (tc *TemplateConfig) SetLayoutSizeItems(layoutSize string, items []GridItem) *TemplateConfig

type UserIdentity

type UserIdentity struct {
	BaseModel
	AccountId          string                            `json:"accountId,omitempty"`
	FirstLogin         bool                              `json:"firstLogin"`
	DayOne             bool                              `json:"dayOne"`
	LastLogin          time.Time                         `json:"lastLogin"`
	LastVisitedPages   datatypes.JSONType[[]VisitedPage] `json:"lastVisitedPages"`
	FavoritePages      []FavoritePage                    `json:"favoritePages"`
	SelfReport         SelfReport                        `json:"selfReport"`
	VisitedBundles     datatypes.JSON                    `json:"visitedBundles,omitempty" gorm:"type: JSONB"`
	DashboardTemplates []DashboardTemplate               `json:"dashboardTemplates,omitempty"`
}

type UserIdentityResponse

type UserIdentityResponse struct {
	BaseModel
	AccountId        string         `json:"accountId,omitempty"`
	FirstLogin       bool           `json:"firstLogin"`
	DayOne           bool           `json:"dayOne"`
	LastLogin        time.Time      `json:"lastLogin"`
	LastVisitedPages []VisitedPage  `json:"lastVisitedPages"`
	FavoritePages    []FavoritePage `json:"favoritePages"`
	SelfReport       SelfReport     `json:"selfReport"`
	VisitedBundles   datatypes.JSON `json:"visitedBundles,omitempty" gorm:"type: JSONB"`
}

type VisitedPage

type VisitedPage struct {
	Bundle   string `json:"bundle"`
	Pathname string `json:"pathname"`
	Title    string `json:"title"`
}

type WidgetConfiguration

type WidgetConfiguration struct {
	Title       string             `json:"title"`
	Icon        WidgetIcons        `json:"icon,omitempty"`
	HeaderLink  WidgetHeaderLink   `json:"headerLink,omitempty"`
	Permissions []WidgetPermission `json:"permissions,omitempty"`
}
type WidgetHeaderLink struct {
	Title string `json:"title,omitempty"`
	Href  string `json:"href,omitempty"`
}

type WidgetIcons

type WidgetIcons string
const (
	BellIcon             WidgetIcons = "BellIcon"
	HistoryIcon          WidgetIcons = "HistoryIcon"
	OutlinedBookmarkIcon WidgetIcons = "OutlinedBookmarkIcon"
	RocketIcon           WidgetIcons = "RocketIcon"
	StarIcon             WidgetIcons = "StarIcon"
	RhelIcon             WidgetIcons = "RhelIcon"
	OpenShiftIcon        WidgetIcons = "OpenShiftIcon"
	EdgeIcon             WidgetIcons = "EdgeIcon"
	AnsibleIcon          WidgetIcons = "AnsibleIcon"
	QuayIcon             WidgetIcons = "QuayIcon"
	ACSIcon              WidgetIcons = "ACSIcon"
	OpenShiftAiIcon      WidgetIcons = "OpenShiftAiIcon"
)

func (WidgetIcons) IsValid

func (wi WidgetIcons) IsValid() error

type WidgetModuleFederationMapping

type WidgetModuleFederationMapping map[AvailableWidgets]ModuleFederationMetadata

type WidgetPermission

type WidgetPermission struct {
	Method WidgetPermissionMethods `json:"method,omitempty"`
	Apps   []string                `json:"apps,omitempty"`
	Args   []any                   `json:"args,omitempty"`
}

type WidgetPermissionMethods

type WidgetPermissionMethods string
const (
	OrgAdmin WidgetPermissionMethods = "isOrgAdmin"
)

Jump to

Keyboard shortcuts

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