Newer
Older
wg-portal / internal / persistence / users.go
@Christoph Haas Christoph Haas on 6 Oct 2021 402 bytes WIP: new package structure
package persistence

import "gorm.io/gorm"

type UserFilterCondition func(tx *gorm.DB)

type UsersLoader interface {
	GetUser(id UserIdentifier) (User, error)
	GetUsers() ([]User, error)
	GetUsersUnscoped() ([]User, error)
	GetUsersFiltered(filter ...UserFilterCondition) ([]User, error)
}

type Users interface {
	UsersLoader

	SaveUser(user User) error
	DeleteUser(identifier UserIdentifier) error
}