domain

package
v0.0.0-...-7fad759 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CollectionPriorities = "priorities"
)
View Source
const (
	CollectionStatus = "status"
)
View Source
const (
	CollectionTask = "tasks"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Priority

type Priority struct {
	ID   string `bson:"_id,omitempty" json:"id,omitempty"`
	Name string `bson:"name" json:"name"`
}

type PriorityRepository

type PriorityRepository interface {
	FetchByName(c context.Context, name string) (*Priority, error)
	FetchAll(c context.Context) ([]Priority, error)
}

type Status

type Status struct {
	ID   string `bson:"_id,omitempty" json:"id,omitempty"`
	Name string `bson:"name" json:"name"`
}

type StatusRepository

type StatusRepository interface {
	FetchByName(c context.Context, name string) (*Status, error)
	FetchAll(c context.Context) ([]Status, error)
}

type Task

type Task struct {
	ID             primitive.ObjectID `bson:"_id,omitempty" json:"id,omitempty"`
	Title          string             `bson:"title" json:"title"`
	Description    string             `bson:"description" json:"description"`
	Priority       Priority           `bson:"priority" json:"priority"`
	Status         Status             `bson:"status" json:"status"`
	CreationDate   time.Time          `bson:"creationDate" json:"creationDate"`
	CompletionDate *time.Time         `bson:"completionDate,omitempty" json:"completionDate,omitempty"`
	UserID         primitive.ObjectID `bson:"userID" json:"userID"`
}

Task representa a estrutura de uma tarefa dentro do sistema.

type TaskRepository

type TaskRepository interface {
	Create(c context.Context, task *Task) error
	CreateBatch(c context.Context, tasks []Task) error
	FetchByUserID(c context.Context, userID string) ([]Task, error)
	FetchTasks(c context.Context, filter bson.M, projection bson.M, limit, skip int64) ([]Task, error)
	Update(ctx context.Context, id string, task Task) error
	Delete(ctx context.Context, id string) error
	FetchTaskByID(ctx context.Context, id primitive.ObjectID) (*Task, error)
}

TaskRepository define as operações de repositório disponíveis para uma Task.

type TaskUsecase

type TaskUsecase interface {
	Create(c context.Context, task *Task) error
	CreateBatch(c context.Context, tasks []Task) error
	FetchByUserID(c context.Context, userID string) ([]Task, error)
	FetchUserTasks(c context.Context, filter, projection bson.M, limit, skip int64) ([]Task, error)
	Update(ctx context.Context, id string, task Task) error
	Delete(ctx context.Context, id string) error
	FetchTaskByID(ctx context.Context, id primitive.ObjectID) (*Task, error)
}

TaskUsecase define as operações de caso de uso disponíveis para uma Task.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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