domain

package
v0.0.0-...-beb69a8 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2025 License: MIT Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const CircleImageRoot = "circles"
View Source
const RecipeImageRoot = "recipes"
View Source
const UserImageRoot = "users"

Variables

View Source
var Module = fx.Module(
	"domain",
	fx.Provide(
		NewDomain,
	),
)

Module -

Functions

func NewDomain

func NewDomain(params DomainParams) domainPort.Domain

NewDomain creates a new domain.

Types

type Domain

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

Domain defines the domain layer or service.

func (*Domain) AcceptCalendarAccess

func (d *Domain) AcceptCalendarAccess(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarAccessParent, id model.CalendarAccessId) (model.CalendarAccess, error)

AcceptCalendarAccess accepts calendar access

func (*Domain) AcceptCircleAccess

func (d *Domain) AcceptCircleAccess(ctx context.Context, authAccount model.AuthAccount, parent model.CircleAccessParent, id model.CircleAccessId) (model.CircleAccess, error)

AcceptCircleAccess accepts a pending circle access

func (*Domain) AcceptListAccess

func (d *Domain) AcceptListAccess(ctx context.Context, authAccount model.AuthAccount, parent model.ListAccessParent, id model.ListAccessId) (model.ListAccess, error)

AcceptListAccess accepts a pending list access.

func (*Domain) AcceptRecipeAccess

func (d *Domain) AcceptRecipeAccess(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeAccessParent, id model.RecipeAccessId) (model.RecipeAccess, error)

AcceptRecipeAccess accepts a pending recipe access.

func (*Domain) AcceptUserAccess

func (d *Domain) AcceptUserAccess(ctx context.Context, authAccount model.AuthAccount, parent model.UserAccessParent, id model.UserAccessId) (model.UserAccess, error)

AcceptUserAccess -

func (*Domain) AuthenticateByAccessKey

func (d *Domain) AuthenticateByAccessKey(ctx context.Context, username string, unencryptedAccessKey string) (model.User, error)

AuthenticateByAccessKey authenticates a user by their access key

func (*Domain) CreateAccessKey

func (d *Domain) CreateAccessKey(ctx context.Context, authAccount model.AuthAccount, accessKey model.AccessKey) (dbAccessKey model.AccessKey, err error)

CreateAccessKey creates a new access key

func (*Domain) CreateCalendar

func (d *Domain) CreateCalendar(ctx context.Context, authAccount model.AuthAccount, calendar model.Calendar) (dbCalendar model.Calendar, err error)

CreateCalendar creates a new calendar

func (*Domain) CreateCalendarAccess

func (d *Domain) CreateCalendarAccess(ctx context.Context, authAccount model.AuthAccount, access model.CalendarAccess) (dbAccess model.CalendarAccess, err error)

CreateCalendarAccess creates calendar access

func (*Domain) CreateCircle

func (d *Domain) CreateCircle(ctx context.Context, authAccount model.AuthAccount, circle model.Circle) (model.Circle, error)

CreateCircle creates a new circle.

func (*Domain) CreateCircleAccess

func (d *Domain) CreateCircleAccess(ctx context.Context, authAccount model.AuthAccount, access model.CircleAccess) (dbAccess model.CircleAccess, err error)

CreateCircleAccess creates a new circle access

func (*Domain) CreateEvent

func (d *Domain) CreateEvent(ctx context.Context, authAccount model.AuthAccount, event model.Event) (dbEvent model.Event, err error)

CreateEvent creates a new event

func (*Domain) CreateEventRecipe

func (d *Domain) CreateEventRecipe(ctx context.Context, authAccount model.AuthAccount, eventRecipe model.EventRecipe) (dbEventRecipe model.EventRecipe, err error)

CreateEventRecipe creates a new event recipe connection

func (*Domain) CreateList

func (d *Domain) CreateList(ctx context.Context, authAccount model.AuthAccount, list model.List) (dbList model.List, err error)

CreateList creates a new list.

func (*Domain) CreateListAccess

func (d *Domain) CreateListAccess(ctx context.Context, authAccount model.AuthAccount, access model.ListAccess) (listAccess model.ListAccess, err error)

List Access Methods

func (*Domain) CreateListItem

func (d *Domain) CreateListItem(ctx context.Context, authAccount model.AuthAccount, listItem model.ListItem) (dbListItem model.ListItem, err error)

CreateListItem creates a new list item

func (*Domain) CreateRecipe

func (d *Domain) CreateRecipe(ctx context.Context, authAccount model.AuthAccount, recipe model.Recipe) (dbRecipe model.Recipe, err error)

CreateRecipe creates a new recipe.

func (*Domain) CreateRecipeAccess

func (d *Domain) CreateRecipeAccess(ctx context.Context, authAccount model.AuthAccount, access model.RecipeAccess) (recipeAccess model.RecipeAccess, err error)

func (*Domain) CreateToken

func (d *Domain) CreateToken(ctx context.Context, user model.User) (string, error)

func (*Domain) CreateUser

func (d *Domain) CreateUser(ctx context.Context, user model.User) (model.User, error)

CreateUser creates a new user.

func (*Domain) CreateUserAccess

func (d *Domain) CreateUserAccess(ctx context.Context, authAccount model.AuthAccount, access model.UserAccess) (dbUserAccess model.UserAccess, err error)

CreateUserAccess - Only allows WRITE level

func (*Domain) DeleteAccessKey

func (d *Domain) DeleteAccessKey(ctx context.Context, authAccount model.AuthAccount, id model.AccessKeyId) (dbAccessKey model.AccessKey, err error)

DeleteAccessKey deletes an access key

func (*Domain) DeleteCalendar

func (d *Domain) DeleteCalendar(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarParent, id model.CalendarId) (dbCalendar model.Calendar, err error)

DeleteCalendar deletes a calendar

func (*Domain) DeleteCalendarAccess

func (d *Domain) DeleteCalendarAccess(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarAccessParent, id model.CalendarAccessId) error

DeleteCalendarAccess deletes calendar access

func (*Domain) DeleteCircle

func (d *Domain) DeleteCircle(ctx context.Context, authAccount model.AuthAccount, id model.CircleId) (circle model.Circle, err error)

DeleteCircle deletes a circle.

func (*Domain) DeleteCircleAccess

func (d *Domain) DeleteCircleAccess(ctx context.Context, authAccount model.AuthAccount, parent model.CircleAccessParent, id model.CircleAccessId) error

DeleteCircleAccess deletes a circle access

func (*Domain) DeleteEvent

func (d *Domain) DeleteEvent(ctx context.Context, authAccount model.AuthAccount, parent model.EventParent, id model.EventId) (dbEvent model.Event, err error)

DeleteEvent deletes an event

func (*Domain) DeleteEventRecipe

func (d *Domain) DeleteEventRecipe(ctx context.Context, authAccount model.AuthAccount, parent model.EventRecipeParent, id model.EventRecipeId) (dbEventRecipe model.EventRecipe, err error)

DeleteEventRecipe deletes an event recipe connection

func (*Domain) DeleteList

func (d *Domain) DeleteList(ctx context.Context, authAccount model.AuthAccount, parent model.ListParent, id model.ListId) (err error)

DeleteList deletes a list.

func (*Domain) DeleteListAccess

func (d *Domain) DeleteListAccess(ctx context.Context, authAccount model.AuthAccount, parent model.ListAccessParent, id model.ListAccessId) error

func (*Domain) DeleteListItem

func (d *Domain) DeleteListItem(ctx context.Context, authAccount model.AuthAccount, parent model.ListItemParent, id model.ListItemId) (dbListItem model.ListItem, err error)

DeleteListItem deletes a list item

func (*Domain) DeleteRecipe

func (d *Domain) DeleteRecipe(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeParent, id model.RecipeId) (recipe model.Recipe, err error)

DeleteRecipe deletes a recipe.

func (*Domain) DeleteRecipeAccess

func (d *Domain) DeleteRecipeAccess(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeAccessParent, id model.RecipeAccessId) error

func (*Domain) DeleteUser

func (d *Domain) DeleteUser(ctx context.Context, authAccount model.AuthAccount, id model.UserId) (model.User, error)

DeleteUser deletes a user.

func (*Domain) DeleteUserAccess

func (d *Domain) DeleteUserAccess(ctx context.Context, authAccount model.AuthAccount, parent model.UserAccessParent, id model.UserAccessId) error

DeleteUserAccess -

func (*Domain) FavoriteCalendar

func (d *Domain) FavoriteCalendar(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarParent, id model.CalendarId) error

FavoriteCalendar favorites a calendar for the authenticated user.

func (*Domain) FavoriteCircle

func (d *Domain) FavoriteCircle(ctx context.Context, authAccount model.AuthAccount, parent model.CircleParent, id model.CircleId) error

FavoriteCircle favorites a circle for the authenticated user.

func (*Domain) FavoriteList

func (d *Domain) FavoriteList(ctx context.Context, authAccount model.AuthAccount, parent model.ListParent, id model.ListId) error

FavoriteList adds a list to the user's favorites.

func (*Domain) FavoriteRecipe

func (d *Domain) FavoriteRecipe(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeParent, id model.RecipeId) error

FavoriteRecipe favorites a recipe for a user.

func (*Domain) FavoriteUser

func (d *Domain) FavoriteUser(ctx context.Context, authAccount model.AuthAccount, parent model.UserParent, id model.UserId) error

FavoriteUser adds a user to the current user's favorites.

func (*Domain) GenerateRecipeImage

func (d *Domain) GenerateRecipeImage(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeParent, id model.RecipeId) (file.File, error)

func (*Domain) GetAccessKey

func (d *Domain) GetAccessKey(ctx context.Context, authAccount model.AuthAccount, parent model.AccessKeyParent, id model.AccessKeyId, fields []string) (dbAccessKey model.AccessKey, err error)

GetAccessKey retrieves an access key

func (*Domain) GetCalendar

func (d *Domain) GetCalendar(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarParent, id model.CalendarId, fields []string) (dbCalendar model.Calendar, err error)

GetCalendar retrieves a calendar

func (*Domain) GetCalendarAccess

func (d *Domain) GetCalendarAccess(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarAccessParent, id model.CalendarAccessId, fields []string) (model.CalendarAccess, error)

GetCalendarAccess retrieves calendar access

func (*Domain) GetCircle

func (d *Domain) GetCircle(ctx context.Context, authAccount model.AuthAccount, parent model.CircleParent, id model.CircleId, fields []string) (dbCircle model.Circle, err error)

GetCircle gets a circle.

func (*Domain) GetCircleAccess

func (d *Domain) GetCircleAccess(ctx context.Context, authAccount model.AuthAccount, parent model.CircleAccessParent, id model.CircleAccessId, fields []string) (model.CircleAccess, error)

GetCircleAccess gets a circle access

func (*Domain) GetEvent

func (d *Domain) GetEvent(ctx context.Context, authAccount model.AuthAccount, parent model.EventParent, id model.EventId, fields []string) (dbEvent model.Event, err error)

GetEvent retrieves an event

func (*Domain) GetEventRecipe

func (d *Domain) GetEventRecipe(ctx context.Context, authAccount model.AuthAccount, parent model.EventRecipeParent, id model.EventRecipeId, fields []string) (dbEventRecipe model.EventRecipe, err error)

GetEventRecipe retrieves an event recipe

func (*Domain) GetList

func (d *Domain) GetList(ctx context.Context, authAccount model.AuthAccount, parent model.ListParent, id model.ListId, fields []string) (list model.List, err error)

GetList gets a list.

func (*Domain) GetListAccess

func (d *Domain) GetListAccess(ctx context.Context, authAccount model.AuthAccount, parent model.ListAccessParent, id model.ListAccessId, fields []string) (model.ListAccess, error)

func (*Domain) GetListItem

func (d *Domain) GetListItem(ctx context.Context, authAccount model.AuthAccount, parent model.ListItemParent, id model.ListItemId, fields []string) (dbListItem model.ListItem, err error)

GetListItem retrieves a list item

func (*Domain) GetOwnUser

func (d *Domain) GetOwnUser(ctx context.Context, authAccount model.AuthAccount, id model.UserId, fields []string) (model.User, error)

GetOwnUser gets the current user.

func (*Domain) GetRecipe

func (d *Domain) GetRecipe(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeParent, id model.RecipeId, fields []string) (recipe model.Recipe, err error)

GetRecipe gets a recipe.

func (*Domain) GetRecipeAccess

func (d *Domain) GetRecipeAccess(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeAccessParent, id model.RecipeAccessId, fields []string) (model.RecipeAccess, error)

func (*Domain) GetUser

func (d *Domain) GetUser(ctx context.Context, authAccount model.AuthAccount, parent model.UserParent, id model.UserId, fields []string) (dbUser model.User, err error)

GetUser gets a user.

func (*Domain) GetUserAccess

func (d *Domain) GetUserAccess(ctx context.Context, authAccount model.AuthAccount, parent model.UserAccessParent, id model.UserAccessId, fields []string) (model.UserAccess, error)

GetUserAccess -

func (*Domain) IdentifyUser

func (d *Domain) IdentifyUser(ctx context.Context, user model.User) (model.User, error)

func (*Domain) ListAccessKeys

func (d *Domain) ListAccessKeys(ctx context.Context, authAccount model.AuthAccount, userId int64, pageSize int32, offset int64, filter string, fields []string) ([]model.AccessKey, error)

ListAccessKeys lists access keys for a user

func (*Domain) ListCalendarAccesses

func (d *Domain) ListCalendarAccesses(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarAccessParent, pageSize int32, pageOffset int64, filter string, fields []string) (dbAccesses []model.CalendarAccess, err error)

ListCalendarAccesses lists calendar accesses

func (*Domain) ListCalendars

func (d *Domain) ListCalendars(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarParent, pageSize int32, offset int64, filter string, fields []string) (dbCalendars []model.Calendar, err error)

ListCalendars lists calendars

func (*Domain) ListCircleAccesses

func (d *Domain) ListCircleAccesses(ctx context.Context, authAccount model.AuthAccount, parent model.CircleAccessParent, pageSize int32, pageOffset int64, filter string, fields []string) ([]model.CircleAccess, error)

ListCircleAccesses lists circle accesses

func (*Domain) ListCircles

func (d *Domain) ListCircles(ctx context.Context, authAccount model.AuthAccount, parent model.CircleParent, pageSize int32, pageOffset int64, filter string, fieldMask []string) (dbCircles []model.Circle, err error)

ListCircles lists circles for a parent.

func (*Domain) ListEventRecipes

func (d *Domain) ListEventRecipes(ctx context.Context, authAccount model.AuthAccount, parent model.EventRecipeParent, pageSize int32, offset int64, filter string, fields []string) (dbEventRecipes []model.EventRecipe, err error)

ListEventRecipes lists event recipes

func (*Domain) ListEvents

func (d *Domain) ListEvents(ctx context.Context, authAccount model.AuthAccount, parent model.EventParent, pageSize int32, offset int64, filter string, fields []string) (dbEvents []model.Event, err error)

ListEvents lists events with pagination and filtering

func (*Domain) ListListAccesses

func (d *Domain) ListListAccesses(ctx context.Context, authAccount model.AuthAccount, parent model.ListAccessParent, pageSize int32, pageOffset int64, filter string, fields []string) (listAccesses []model.ListAccess, err error)

func (*Domain) ListListItems

func (d *Domain) ListListItems(ctx context.Context, authAccount model.AuthAccount, parent model.ListItemParent, pageSize int32, pageOffset int32, filter string, fields []string) (dbListItems []model.ListItem, err error)

ListListItems lists list items with pagination and filtering

func (*Domain) ListLists

func (d *Domain) ListLists(ctx context.Context, authAccount model.AuthAccount, parent model.ListParent, pageSize int32, pageOffset int32, filter string, fields []string) (lists []model.List, err error)

ListLists lists lists.

func (*Domain) ListRecipeAccesses

func (d *Domain) ListRecipeAccesses(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeAccessParent, pageSize int32, pageOffset int64, filter string, fields []string) (recipeAccesses []model.RecipeAccess, err error)

func (*Domain) ListRecipes

func (d *Domain) ListRecipes(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeParent, pageSize int32, pageOffset int64, filter string, fields []string) (recipes []model.Recipe, err error)

ListRecipes lists recipes.

func (*Domain) ListUserAccesses

func (d *Domain) ListUserAccesses(ctx context.Context, authAccount model.AuthAccount, parent model.UserAccessParent, pageSize int32, pageOffset int64, filter string, fields []string) ([]model.UserAccess, error)

ListUserAccesses -

func (*Domain) ListUsers

func (d *Domain) ListUsers(ctx context.Context, authAccount model.AuthAccount, parent model.UserParent, pageSize int32, pageOffset int64, filter string, fieldMask []string) (users []model.User, err error)

ListUsers lists users.

func (*Domain) OCRRecipe

func (d *Domain) OCRRecipe(ctx context.Context, authAccount model.AuthAccount, imageReaders []io.Reader) (recipe model.Recipe, err error)

func (*Domain) ParseToken

func (d *Domain) ParseToken(ctx context.Context, token string) (model.User, error)

func (*Domain) RetrieveToken

func (d *Domain) RetrieveToken(ctx context.Context, key string) (string, error)

func (*Domain) ScrapeRecipe

func (d *Domain) ScrapeRecipe(ctx context.Context, authAccount model.AuthAccount, uri string) (recipe model.Recipe, err error)

func (*Domain) UnfavoriteCalendar

func (d *Domain) UnfavoriteCalendar(ctx context.Context, authAccount model.AuthAccount, parent model.CalendarParent, id model.CalendarId) error

UnfavoriteCalendar removes a calendar from the authenticated user's favorites.

func (*Domain) UnfavoriteCircle

func (d *Domain) UnfavoriteCircle(ctx context.Context, authAccount model.AuthAccount, parent model.CircleParent, id model.CircleId) error

UnfavoriteCircle removes a circle from the authenticated user's favorites.

func (*Domain) UnfavoriteList

func (d *Domain) UnfavoriteList(ctx context.Context, authAccount model.AuthAccount, parent model.ListParent, id model.ListId) error

UnfavoriteList removes a list from the user's favorites.

func (*Domain) UnfavoriteRecipe

func (d *Domain) UnfavoriteRecipe(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeParent, id model.RecipeId) error

UnfavoriteRecipe removes a recipe from user's favorites.

func (*Domain) UnfavoriteUser

func (d *Domain) UnfavoriteUser(ctx context.Context, authAccount model.AuthAccount, parent model.UserParent, id model.UserId) error

UnfavoriteUser removes a user from the current user's favorites.

func (*Domain) UpdateAccessKey

func (d *Domain) UpdateAccessKey(ctx context.Context, authAccount model.AuthAccount, accessKey model.AccessKey, fields []string) (dbAccessKey model.AccessKey, err error)

UpdateAccessKey updates an access key

func (*Domain) UpdateCalendar

func (d *Domain) UpdateCalendar(ctx context.Context, authAccount model.AuthAccount, calendar model.Calendar, fields []string) (dbCalendar model.Calendar, err error)

UpdateCalendar updates a calendar

func (*Domain) UpdateCalendarAccess

func (d *Domain) UpdateCalendarAccess(ctx context.Context, authAccount model.AuthAccount, access model.CalendarAccess, fields []string) (model.CalendarAccess, error)

UpdateCalendarAccess updates calendar access

func (*Domain) UpdateCircle

func (d *Domain) UpdateCircle(ctx context.Context, authAccount model.AuthAccount, circle model.Circle, fields []string) (dbCircle model.Circle, err error)

UpdateCircle updates a circle.

func (*Domain) UpdateCircleAccess

func (d *Domain) UpdateCircleAccess(ctx context.Context, authAccount model.AuthAccount, access model.CircleAccess, fields []string) (model.CircleAccess, error)

UpdateCircleAccess updates a circle access

func (*Domain) UpdateEvent

func (d *Domain) UpdateEvent(ctx context.Context, authAccount model.AuthAccount, event model.Event, fields []string) (dbEvent model.Event, err error)

UpdateEvent updates an existing event

func (*Domain) UpdateList

func (d *Domain) UpdateList(ctx context.Context, authAccount model.AuthAccount, list model.List, fields []string) (dbList model.List, err error)

UpdateList updates a list.

func (*Domain) UpdateListAccess

func (d *Domain) UpdateListAccess(ctx context.Context, authAccount model.AuthAccount, access model.ListAccess, fields []string) (model.ListAccess, error)

func (*Domain) UpdateListItem

func (d *Domain) UpdateListItem(ctx context.Context, authAccount model.AuthAccount, listItem model.ListItem, fields []string) (dbListItem model.ListItem, err error)

UpdateListItem updates an existing list item

func (*Domain) UpdateRecipe

func (d *Domain) UpdateRecipe(ctx context.Context, authAccount model.AuthAccount, recipe model.Recipe, fields []string) (dbRecipe model.Recipe, err error)

UpdateRecipe updates a recipe.

func (*Domain) UpdateRecipeAccess

func (d *Domain) UpdateRecipeAccess(ctx context.Context, authAccount model.AuthAccount, access model.RecipeAccess, fields []string) (model.RecipeAccess, error)

func (*Domain) UpdateUser

func (d *Domain) UpdateUser(ctx context.Context, authAccount model.AuthAccount, user model.User, updateMask []string) (dbUser model.User, err error)

UpdateUser updates a user.

func (*Domain) UploadCircleImage

func (d *Domain) UploadCircleImage(ctx context.Context, authAccount model.AuthAccount, id model.CircleId, imageReader io.Reader) (imageURI string, err error)

UploadCircleImage uploads a circle image.

func (*Domain) UploadRecipeImage

func (d *Domain) UploadRecipeImage(ctx context.Context, authAccount model.AuthAccount, parent model.RecipeParent, id model.RecipeId, imageReader io.Reader) (imageURI string, err error)

UploadRecipeImage uploads a recipe image.

func (*Domain) UploadUserImage

func (d *Domain) UploadUserImage(ctx context.Context, authAccount model.AuthAccount, id model.UserId, imageReader io.Reader) (imageURI string, err error)

UploadUserImage uploads a user image and returns the image URI

type DomainParams

type DomainParams struct {
	fx.In

	Log  zerolog.Logger
	Repo repository.Client

	TokenClient    token.Client
	ImageStore     filestorage.Client
	ImageClient    image.Client
	FileRetriever  fileretriever.Client
	ImageGenerator imagegenerator.Client
	RecipeScraper  recipescraper.Client
}

DomainParams defines the dependencies for the domain layer.

Jump to

Keyboard shortcuts

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