services

package
v0.0.0-...-437e729 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const ProjectsPerPage uint = 10

Variables

This section is empty.

Functions

This section is empty.

Types

type ProjectMemberService

type ProjectMemberService interface {
	CreateMember(member *models.ProjectMember, userId uuid.UUID) (*models.ProjectMember, bool, error)
	GetMember(projectId, userId uuid.UUID) (*models.ProjectMember, error)
	GetMembers(projectId uuid.UUID) ([]*models.ProjectMember, error)
	DeleteMember(projectId, memberId, userId uuid.UUID) (bool, error)
}

func NewProjectMemberService

func NewProjectMemberService(projectMemberRepo repository.ProjectMemberRepository) ProjectMemberService

type ProjectService

type ProjectService interface {
	CreateProject(project *models.Project, ownerId uuid.UUID) (*models.Project, error)
	GetProjectsForUser(memberId uuid.UUID, page uint) ([]*models.Project, error)
	GetProjectById(projectId, memberId uuid.UUID) (*models.Project, error)
	UpdateProject(project *models.Project, memberId uuid.UUID) (*models.Project, bool, error)
	DeleteProject(projectId, memberId uuid.UUID) (bool, error)
}

func NewProjectService

func NewProjectService(projectRepo repository.ProjectRepository, projectMemberRepo repository.ProjectMemberRepository, db *sql.DB) ProjectService

type TaskService

type TaskService interface {
	CreateTask(task *models.Task) (*models.Task, bool, error)
	GetTasksForUser(projectId, memberId, userId uuid.UUID) ([]*models.Task, bool, error)
	GetTaskById(projectId, taskId, memberId uuid.UUID) (*models.Task, bool, error)
	DeleteTask(projectId, taskId, memberId uuid.UUID) (bool, error)
	GetTasksForProject(projectId, userId uuid.UUID) ([]*models.Task, bool, error)
	UpdateTask(projectId, taskId, userId uuid.UUID, task *models.Task) (*models.Task, bool, error)
}

func NewTaskService

func NewTaskService(taskRepository repository.TaskRepository, projectMemberRepository repository.ProjectMemberRepository) TaskService

type UserService

type UserService interface {
	RegisterUser(user *models.User) error
	GetUserByEmail(email string) (*models.User, error)
	GetUserById(id uuid.UUID) (*models.User, error)
	LoginUser(email, password string) (*models.JwtToken, error)
}

func NewUserService

func NewUserService(userRepo repository.UserRepository, jwtKey []byte) UserService

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳