server

package
v0.0.0-...-167e9fd Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2023 License: GPL-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Authorizer

type Authorizer interface {
	CheckContextOperationAuthorized(ctx context.Context, operation string, target string) error
}

type CaseHandler

type CaseHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewCaseHandler

func NewCaseHandler(srv *Server) *CaseHandler

func (*CaseHandler) HandleNow

func (caseHandler *CaseHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type Casestore

type Casestore interface {
	Create(ctx context.Context, newCase *model.Case) (*model.Case, error)
	Update(ctx context.Context, socCase *model.Case) (*model.Case, error)
	GetCase(ctx context.Context, caseId string) (*model.Case, error)
	GetCaseHistory(ctx context.Context, caseId string) ([]interface{}, error)

	CreateComment(ctx context.Context, newComment *model.Comment) (*model.Comment, error)
	GetComment(ctx context.Context, commentId string) (*model.Comment, error)
	GetComments(ctx context.Context, caseId string) ([]*model.Comment, error)
	UpdateComment(ctx context.Context, comment *model.Comment) (*model.Comment, error)
	DeleteComment(ctx context.Context, id string) error

	CreateRelatedEvent(ctx context.Context, event *model.RelatedEvent) (*model.RelatedEvent, error)
	GetRelatedEvent(ctx context.Context, id string) (*model.RelatedEvent, error)
	GetRelatedEvents(ctx context.Context, caseId string) ([]*model.RelatedEvent, error)
	DeleteRelatedEvent(ctx context.Context, id string) error

	CreateArtifact(ctx context.Context, artifact *model.Artifact) (*model.Artifact, error)
	GetArtifact(ctx context.Context, id string) (*model.Artifact, error)
	GetArtifacts(ctx context.Context, caseId string, groupType string, groupId string) ([]*model.Artifact, error)
	DeleteArtifact(ctx context.Context, id string) error
	UpdateArtifact(ctx context.Context, artifact *model.Artifact) (*model.Artifact, error)

	CreateArtifactStream(ctx context.Context, artifactstream *model.ArtifactStream) (string, error)
	GetArtifactStream(ctx context.Context, id string) (*model.ArtifactStream, error)
	DeleteArtifactStream(ctx context.Context, id string) error
}

type Datastore

type Datastore interface {
	CreateNode(ctx context.Context, id string) *model.Node
	GetNodes(ctx context.Context) []*model.Node
	AddNode(ctx context.Context, node *model.Node) error
	UpdateNode(ctx context.Context, newNode *model.Node) (*model.Node, error)
	GetNextJob(ctx context.Context, nodeId string) *model.Job
	CreateJob(ctx context.Context) *model.Job
	GetJob(ctx context.Context, jobId int) *model.Job
	GetJobs(ctx context.Context, kind string, parameters map[string]interface{}) []*model.Job
	AddJob(ctx context.Context, job *model.Job) error
	AddPivotJob(ctx context.Context, job *model.Job) error
	UpdateJob(ctx context.Context, job *model.Job) error
	DeleteJob(ctx context.Context, jobId int) (*model.Job, error)
	GetPackets(ctx context.Context, jobId int, offset int, count int, unwrap bool) ([]*model.Packet, error)
	SavePacketStream(ctx context.Context, jobId int, reader io.ReadCloser) error
	GetPacketStream(ctx context.Context, jobId int, unwrap bool) (io.ReadCloser, string, int64, error)
}

type EventHandler

type EventHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewEventHandler

func NewEventHandler(srv *Server) *EventHandler

func (*EventHandler) HandleNow

func (eventHandler *EventHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type Eventstore

type Eventstore interface {
	Search(context context.Context, criteria *model.EventSearchCriteria) (*model.EventSearchResults, error)
	Index(ctx context.Context, index string, document map[string]interface{}, id string) (*model.EventIndexResults, error)
	Update(context context.Context, criteria *model.EventUpdateCriteria) (*model.EventUpdateResults, error)
	Delete(context context.Context, index string, id string) error
	Acknowledge(context context.Context, criteria *model.EventAckCriteria) (*model.EventUpdateResults, error)
}

type FakeAuthorizer

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

func (FakeAuthorizer) CheckContextOperationAuthorized

func (fake FakeAuthorizer) CheckContextOperationAuthorized(ctx context.Context, operation string, target string) error

type FakeEventstore

type FakeEventstore struct {
	InputDocuments       []map[string]interface{}
	InputContexts        []context.Context
	InputIndexes         []string
	InputIds             []string
	InputSearchCriterias []*model.EventSearchCriteria
	InputUpdateCriterias []*model.EventUpdateCriteria
	InputAckCriterias    []*model.EventAckCriteria
	Err                  error
	SearchResults        []*model.EventSearchResults
	IndexResults         []*model.EventIndexResults
	UpdateResults        []*model.EventUpdateResults
	// contains filtered or unexported fields
}

func NewFakeEventstore

func NewFakeEventstore() *FakeEventstore

func (*FakeEventstore) Acknowledge

func (store *FakeEventstore) Acknowledge(context context.Context, criteria *model.EventAckCriteria) (*model.EventUpdateResults, error)

func (*FakeEventstore) Delete

func (store *FakeEventstore) Delete(context context.Context, index string, id string) error

func (*FakeEventstore) Index

func (store *FakeEventstore) Index(context context.Context, index string, document map[string]interface{}, id string) (*model.EventIndexResults, error)

func (*FakeEventstore) Search

func (store *FakeEventstore) Search(context context.Context, criteria *model.EventSearchCriteria) (*model.EventSearchResults, error)

func (*FakeEventstore) Update

func (store *FakeEventstore) Update(context context.Context, criteria *model.EventUpdateCriteria) (*model.EventUpdateResults, error)

type FakeRolestore

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

func (*FakeRolestore) GetAssignments

func (impl *FakeRolestore) GetAssignments(ctx context.Context) (map[string][]string, error)

func (*FakeRolestore) PopulateUserRoles

func (impl *FakeRolestore) PopulateUserRoles(ctx context.Context, user *model.User) error

type GridHandler

type GridHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewGridHandler

func NewGridHandler(srv *Server) *GridHandler

func (*GridHandler) HandleNow

func (gridHandler *GridHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type InfoHandler

type InfoHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewInfoHandler

func NewInfoHandler(srv *Server) *InfoHandler

func (*InfoHandler) HandleNow

func (infoHandler *InfoHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type JobHandler

type JobHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewJobHandler

func NewJobHandler(srv *Server) *JobHandler

func (*JobHandler) HandleNow

func (jobHandler *JobHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type JobsHandler

type JobsHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewJobsHandler

func NewJobsHandler(srv *Server) *JobsHandler

func (*JobsHandler) HandleNow

func (jobsHandler *JobsHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type Metrics

type Metrics interface {
	GetGridEps(ctx context.Context) int
	UpdateNodeMetrics(ctx context.Context, node *model.Node) bool
}

type NodeHandler

type NodeHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewNodeHandler

func NewNodeHandler(srv *Server) *NodeHandler

func (*NodeHandler) HandleNow

func (nodeHandler *NodeHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type PacketHandler

type PacketHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewPacketHandler

func NewPacketHandler(srv *Server) *PacketHandler

func (*PacketHandler) HandleNow

func (packetHandler *PacketHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type QueryHandler

type QueryHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewQueryHandler

func NewQueryHandler(srv *Server) *QueryHandler

func (*QueryHandler) HandleNow

func (queryHandler *QueryHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type RolesHandler

type RolesHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewRolesHandler

func NewRolesHandler(srv *Server) *RolesHandler

func (*RolesHandler) HandleNow

func (rolesHandler *RolesHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type Rolestore

type Rolestore interface {
	GetAssignments(ctx context.Context) (map[string][]string, error)
	PopulateUserRoles(ctx context.Context, user *model.User) error
}

type Server

type Server struct {
	Config     *config.ServerConfig
	Host       *web.Host
	Datastore  Datastore
	Userstore  Userstore
	Rolestore  Rolestore
	Eventstore Eventstore
	Casestore  Casestore
	Metrics    Metrics

	Authorizer Authorizer
	Agent      *model.User
	Context    context.Context
	// contains filtered or unexported fields
}

func NewFakeAuthorizedServer

func NewFakeAuthorizedServer(roleMap map[string][]string) *Server

func NewFakeServer

func NewFakeServer(authorized bool, roleMap map[string][]string) *Server

func NewFakeUnauthorizedServer

func NewFakeUnauthorizedServer() *Server

func NewServer

func NewServer(cfg *config.ServerConfig, version string) *Server

func (*Server) CheckAuthorized

func (server *Server) CheckAuthorized(ctx context.Context, operation string, target string) error

func (*Server) GetTimezones

func (server *Server) GetTimezones() []string

func (*Server) Start

func (server *Server) Start()

func (*Server) Stop

func (server *Server) Stop()

func (*Server) Wait

func (server *Server) Wait()

type StreamHandler

type StreamHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewStreamHandler

func NewStreamHandler(srv *Server) *StreamHandler

func (*StreamHandler) HandleNow

func (streamHandler *StreamHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type UserHandler

type UserHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewUserHandler

func NewUserHandler(srv *Server) *UserHandler

func (*UserHandler) HandleNow

func (userHandler *UserHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type UsersHandler

type UsersHandler struct {
	web.BaseHandler
	// contains filtered or unexported fields
}

func NewUsersHandler

func NewUsersHandler(srv *Server) *UsersHandler

func (*UsersHandler) HandleNow

func (usersHandler *UsersHandler) HandleNow(ctx context.Context, writer http.ResponseWriter, request *http.Request) (int, interface{}, error)

type Userstore

type Userstore interface {
	GetUsers(ctx context.Context) ([]*model.User, error)
	DeleteUser(ctx context.Context, id string) error
	GetUser(ctx context.Context, id string) (*model.User, error)
	UpdateUser(ctx context.Context, id string, user *model.User) error
}

Jump to

Keyboard shortcuts

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