projector

package
v0.0.0-...-a8e4d9d Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2020 License: AGPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const ProgramName = "projector"

Variables

This section is empty.

Functions

func Main

func Main()

Types

type ActivityHandler

type ActivityHandler interface {
	SubscribedTo() []string
	HandleActivity(IndexTransaction, *domain.Activity) error
}

type ActivityStore

type ActivityStore interface {
	AllByNameSince(activityNames []string, since time.Time, handler func(*domain.Activity) error) error
}

type BoltDBIndex

type BoltDBIndex struct {
	// contains filtered or unexported fields
}

func NewBoltDBIndex

func NewBoltDBIndex(db *bolt.DB) *BoltDBIndex

func (*BoltDBIndex) Update

func (self *BoltDBIndex) Update(do func(tx IndexTransaction) error) error

type BoltDBIndexTransaction

type BoltDBIndexTransaction struct {
	// contains filtered or unexported fields
}

func NewBoltDBIndexTransaction

func NewBoltDBIndexTransaction(tx *bolt.Tx, bucketName string) *BoltDBIndexTransaction

func (*BoltDBIndexTransaction) Get

func (self *BoltDBIndexTransaction) Get(uuid string, dest interface{}) error

func (*BoltDBIndexTransaction) Put

func (self *BoltDBIndexTransaction) Put(uuid string, src interface{}) error

type BroadcastHandler

type BroadcastHandler struct {
	// contains filtered or unexported fields
}

func NewBroadcastHandler

func NewBroadcastHandler(log logger.Logger) *BroadcastHandler

func (*BroadcastHandler) Add

func (*BroadcastHandler) HandleActivity

func (self *BroadcastHandler) HandleActivity(tx IndexTransaction, activity *domain.Activity) error

func (*BroadcastHandler) LogStatus

func (self *BroadcastHandler) LogStatus()

func (*BroadcastHandler) SubscribedTo

func (self *BroadcastHandler) SubscribedTo() []string

type Clock

type Clock interface {
	Now() time.Time
}

type Environment

type Environment struct {
	Uuid string
	Name string
}

type Environments

type Environments struct {
}

func NewEnvironments

func NewEnvironments() *Environments

func (*Environments) HandleActivity

func (self *Environments) HandleActivity(tx IndexTransaction, activity *domain.Activity) error

func (*Environments) SubscribedTo

func (self *Environments) SubscribedTo() []string

type InMemoryIndex

type InMemoryIndex struct {
	// contains filtered or unexported fields
}

func NewInMemoryIndex

func NewInMemoryIndex() *InMemoryIndex

func (*InMemoryIndex) Get

func (self *InMemoryIndex) Get(uuid string, dest interface{}) error

func (*InMemoryIndex) Put

func (self *InMemoryIndex) Put(uuid string, src interface{}) error

func (*InMemoryIndex) Update

func (self *InMemoryIndex) Update(do func(tx IndexTransaction) error) error

type Index

type Index interface {
	Update(func(tx IndexTransaction) error) error
}

type IndexTransaction

type IndexTransaction interface {
	Get(uuid string, dest interface{}) error
	Put(uuid string, src interface{}) error
}

type Job

type Job struct {
	Uuid            string
	EnvironmentUuid string
	EnvironmentName string
	TaskUuid        string
	TaskName        string
}

func (*Job) Name

func (self *Job) Name() string

func (*Job) UpdateEnvironment

func (self *Job) UpdateEnvironment(uuid string, index IndexTransaction) error

func (*Job) UpdateTask

func (self *Job) UpdateTask(uuid string, index IndexTransaction) error

type Jobs

type Jobs struct {
	// contains filtered or unexported fields
}

func NewJobs

func NewJobs(log logger.Logger) *Jobs

func (*Jobs) HandleActivity

func (self *Jobs) HandleActivity(tx IndexTransaction, activity *domain.Activity) error

func (*Jobs) SubscribedTo

func (self *Jobs) SubscribedTo() []string

type Operation

type Operation struct {
	Uuid    string
	JobUuid string
}

func (*Operation) ProjectUuid

func (self *Operation) ProjectUuid(index IndexTransaction) string

type Operations

type Operations struct {
	ByUuid map[string]*Operation
}

func NewOperations

func NewOperations() *Operations

func (*Operations) HandleActivity

func (self *Operations) HandleActivity(tx IndexTransaction, activity *domain.Activity) error

func (*Operations) SubscribedTo

func (self *Operations) SubscribedTo() []string

type Organization

type Organization struct {
	Uuid         string
	ProjectCards map[string]*ProjectCard
}

type Project

type Project struct {
	Uuid string
	Name string
}

type ProjectCard

type ProjectCard struct {
	OrganizationUuid string     `json:"organizationUuid"`
	ProjectUuid      string     `json:"projectUuid"`
	ProjectName      string     `json:"projectName"`
	LastTaskUuid     string     `json:"lastTaskUuid"`
	LastTaskName     string     `json:"lastTaskName"`
	LastTaskRunAt    *time.Time `json:"lastTaskRunAt"`
	LastTaskStatus   string     `json:"lastTaskStatus"`
	// contains filtered or unexported fields
}

type ProjectCards

type ProjectCards struct {
}

func NewProjectCards

func NewProjectCards() *ProjectCards

func (*ProjectCards) HandleActivity

func (self *ProjectCards) HandleActivity(tx IndexTransaction, activity *domain.Activity) error

func (*ProjectCards) IndexCard

func (self *ProjectCards) IndexCard(tx IndexTransaction, card *ProjectCard) error

func (*ProjectCards) SubscribedTo

func (self *ProjectCards) SubscribedTo() []string

type Projector

type Projector struct {
	// contains filtered or unexported fields
}

func NewProjector

func NewProjector(index Index, log logger.Logger) *Projector

func (*Projector) HandleActivity

func (self *Projector) HandleActivity(tx IndexTransaction, activity *domain.Activity) error

func (*Projector) SubscribedTo

func (self *Projector) SubscribedTo() []string

func (*Projector) Update

func (self *Projector) Update(activityStore ActivityStore) error

func (*Projector) Version

func (self *Projector) Version(tx IndexTransaction) time.Time

type Projects

type Projects struct {
}

func NewProjects

func NewProjects() *Projects

func (*Projects) HandleActivity

func (self *Projects) HandleActivity(tx IndexTransaction, activity *domain.Activity) error

func (*Projects) SubscribedTo

func (self *Projects) SubscribedTo() []string

type Response

type Response struct {
	Error      string      `json:"error"`
	Subject    interface{} `json:"subject,omitempty"`
	Collection interface{} `json:"collection,omitempty"`
}

func (*Response) ServeHTTP

func (self *Response) ServeHTTP(w http.ResponseWriter, req *http.Request)

type StructuredLog

type StructuredLog struct {
	// contains filtered or unexported fields
}

func NewStructuredLog

func NewStructuredLog(size int, clock Clock) *StructuredLog

func (*StructuredLog) Each

func (self *StructuredLog) Each(do func(entry *StructuredLogEntry)) *StructuredLog

func (*StructuredLog) Errf

func (self *StructuredLog) Errf(format string, args ...interface{}) error

func (*StructuredLog) Fatal

func (self *StructuredLog) Fatal(thing interface{})

func (*StructuredLog) Infof

func (self *StructuredLog) Infof(format string, args ...interface{}) error

func (*StructuredLog) LogMessage

func (self *StructuredLog) LogMessage(level string, text string) *StructuredLog

func (*StructuredLog) RenderHTML

func (self *StructuredLog) RenderHTML(w io.Writer)

func (*StructuredLog) RenderText

func (self *StructuredLog) RenderText(w io.Writer)

type StructuredLogEntry

type StructuredLogEntry struct {
	Level      string
	OccurredOn time.Time
	Fields     map[string][]string
}

func (*StructuredLogEntry) Parse

func (self *StructuredLogEntry) Parse(level string, now time.Time, text string)

func (*StructuredLogEntry) String

func (self *StructuredLogEntry) String() string

type Task

type Task struct {
	Uuid        string
	ProjectUuid string
	Name        string
}

type Tasks

type Tasks struct {
}

func NewTasks

func NewTasks() *Tasks

func (*Tasks) HandleActivity

func (self *Tasks) HandleActivity(tx IndexTransaction, activity *domain.Activity) error

func (*Tasks) SubscribedTo

func (self *Tasks) SubscribedTo() []string

type TypeError

type TypeError struct {
	Activity *domain.Activity
	Expected interface{}
}

func NewTypeError

func NewTypeError(activity *domain.Activity, expected interface{}) *TypeError

func (*TypeError) Error

func (self *TypeError) Error() string

Jump to

Keyboard shortcuts

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