services

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type PetService

type PetService interface {
	AdoptPet(userID string, petID string) error
	AddPetToShelter(params gqtypes.PetParams) (*models.Pet, error)
	GetPetByID(id string) (*models.Pet, error)
	FindPets(params gqtypes.PetParams) ([]*models.Pet, error)
	ListShelterPets(shelterID string) ([]*models.Pet, error)
	ListPetsOwnedByUser(userID string) ([]*models.Pet, error)
	GetPetOwnerID(petID string) (string, error)
	UpdatePet(params gqtypes.PetParams) (*models.Pet, error)
	DeletePet(id string) error
}

type ShelterService

type ShelterService interface {
	ValidateShelter(params gqtypes.ShelterParams) error
	ShelterOwnedByUser(shelterID, userID string) error
	GetShelter(id string) (*models.Shelter, error)
	FindShelters(filter gqtypes.ShelterParams) ([]*models.Shelter, error)
	UserShelters(userID string) ([]*models.Shelter, error)
	CreateShelter(params gqtypes.ShelterParams) (*models.Shelter, error)
	UpdateShelter(shelter gqtypes.ShelterParams) (*models.Shelter, error)
	IncreasePetCount(shelterID string) error
	DecreasePetCount(shelterID string) error
	DeleteShelter(id string) error
}

type UserService

type UserService interface {
	ValidateUser(params gqtypes.RegisterParams) error
	GetUser(id string) (*models.User, error)             // any logged-in user
	GetUserByName(username string) (*models.User, error) // any logged-in user
	GetUserByEmail(email string) (*models.User, error)
	ListUsers(filter models.User, limit int64) ([]*models.User, error) // mainly for internal uses
	CreateUser(params gqtypes.RegisterParams) (*models.User, error)    // new user sign up
	UpdateUser(params gqtypes.UserParams) (*models.User, error)        // by logged-in user
	DeleteUser(id string) error                                        // by logged-in user
	LoginUser(usernameOrEmail string, passwd string) (*models.User, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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