service

package
v0.5.6 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2026 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConvertToDBProjectBase added in v0.4.1

func ConvertToDBProjectBase(project *projsvc.ProjectBase) (*models.ProjectBase, error)

ConvertToDBProjectBase converts a project service project to a project database representation.

func ConvertToDBProjectSettings added in v0.4.1

func ConvertToDBProjectSettings(settings *projsvc.ProjectSettings) (*models.ProjectSettings, error)

ConvertToDBProjectSettings converts a project settings service representation to a database representation.

func ConvertToProjectFull added in v0.4.1

func ConvertToProjectFull(base *models.ProjectBase, settings *models.ProjectSettings) *projsvc.ProjectFull

ConvertToProjectFull merges ProjectBase and ProjectSettings into ProjectFull

func ConvertToServiceProjectBase added in v0.4.1

func ConvertToServiceProjectBase(p *models.ProjectBase) *projsvc.ProjectBase

ConvertToServiceProjectBase converts a project database representation to a project service project.

func ConvertToServiceProjectSettings added in v0.4.1

func ConvertToServiceProjectSettings(s *models.ProjectSettings) *projsvc.ProjectSettings

ConvertToServiceProjectSettings converts a project settings database representation to a service representation.

Types

type ProjectsService

type ProjectsService struct {
	ProjectRepository domain.ProjectRepository
	MessageBuilder    domain.MessageBuilder
	Auth              domain.Authenticator
	Config            ServiceConfig
}

ProjectsService implements the projsvc.Service interface and domain.MessageHandler

func NewProjectsService

func NewProjectsService(auth domain.Authenticator, config ServiceConfig) *ProjectsService

NewProjectsService creates a new ProjectsService.

func (*ProjectsService) CreateProject

CreateProject creates a new project

func (*ProjectsService) DeleteProject

func (s *ProjectsService) DeleteProject(ctx context.Context, payload *projsvc.DeleteProjectPayload) error

Delete a project.

func (*ProjectsService) GetOneProjectBase

func (*ProjectsService) GetOneProjectSettings

Get a single project's settings information.

func (*ProjectsService) GetProjects

func (s *ProjectsService) GetProjects(ctx context.Context) ([]*projsvc.ProjectFull, error)

GetProjects fetches all projects

func (*ProjectsService) HandleMessage

func (s *ProjectsService) HandleMessage(ctx context.Context, msg domain.Message)

HandleMessage implements domain.MessageHandler interface

func (s *ProjectsService) HandleProjectGetLogo(ctx context.Context, msg domain.Message) ([]byte, error)

HandleProjectGetLogo is the message handler for the project-get-logo subject.

func (*ProjectsService) HandleProjectGetName

func (s *ProjectsService) HandleProjectGetName(ctx context.Context, msg domain.Message) ([]byte, error)

HandleProjectGetName is the message handler for the project-get-name subject.

func (*ProjectsService) HandleProjectGetParentUID added in v0.5.4

func (s *ProjectsService) HandleProjectGetParentUID(ctx context.Context, msg domain.Message) ([]byte, error)

HandleProjectGetParentUID is the message handler for the project-get-parent-uid subject.

func (*ProjectsService) HandleProjectGetSlug added in v0.3.0

func (s *ProjectsService) HandleProjectGetSlug(ctx context.Context, msg domain.Message) ([]byte, error)

HandleProjectGetSlug is the message handler for the project-get-slug subject.

func (*ProjectsService) HandleProjectSlugToUID

func (s *ProjectsService) HandleProjectSlugToUID(ctx context.Context, msg domain.Message) ([]byte, error)

HandleProjectSlugToUID is the message handler for the project-slug-to-uid subject.

func (*ProjectsService) ServiceReady

func (s *ProjectsService) ServiceReady() bool

ServiceReady checks if the service is ready for use.

func (*ProjectsService) UpdateProjectBase

func (s *ProjectsService) UpdateProjectBase(ctx context.Context, payload *projsvc.UpdateProjectBasePayload) (*projsvc.ProjectBase, error)

Update a project's base information.

func (*ProjectsService) UpdateProjectSettings

Update a project's settings.

type ServiceConfig

type ServiceConfig struct {
	// SkipEtagValidation is a flag to skip the Etag validation - only meant for local development.
	SkipEtagValidation bool
}

ServiceConfig is the configuration for the ProjectsService.

Jump to

Keyboard shortcuts

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