Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( File FileRepository Role RoleRepository Post PostRepository Topic TopicRepository User UserRepository Permission PermissionRepository Comment CommentRepository Setting SettingRepository )
Functions ¶
func New ¶
func New(config Repositories)
Types ¶
type CommentRepository ¶
type CommentRepository interface { Repository[entities.Comment, entities.CommentFilter] FindWithPost(ctx context.Context, filters ...*entities.CommentFilter) ([]*entities.Comment, error) PaginateWithPost(ctx context.Context, filters ...*entities.CommentFilter) (*entities.Paginate[entities.Comment], error) }
type FileRepository ¶
type FileRepository interface { Repository[entities.File, entities.FileFilter] }
type PermissionRepository ¶
type PermissionRepository interface { Repository[entities.Permission, entities.PermissionFilter] All(ctx context.Context) ([]*entities.Permission, error) }
type PostRepository ¶
type Repositories ¶
type Repositories struct { File FileRepository User UserRepository Post PostRepository Role RoleRepository Topic TopicRepository Comment CommentRepository Setting SettingRepository Permission PermissionRepository }
type Repository ¶
type Repository[E entities.Entity, F entities.EntityFilter] interface { All(ctx context.Context) ([]*E, error) ByID(ctx context.Context, id int) (*E, error) DeleteByID(ctx context.Context, id int) error Create(ctx context.Context, data *E) (*E, error) Update(ctx context.Context, data *E) (*E, error) Count(ctx context.Context, filters ...*F) (int, error) Find(ctx context.Context, filters ...*F) ([]*E, error) Paginate(ctx context.Context, filters ...*F) (*entities.Paginate[E], error) }
type RoleRepository ¶
type SettingRepository ¶
type TopicRepository ¶
type UserRepository ¶
type UserRepository interface { Repository[entities.User, entities.UserFilter] ByUsername(ctx context.Context, username string) (*entities.User, error) ByProvider(ctx context.Context, providerName, providerId string) (*entities.User, error) ByUsernameOrEmail(ctx context.Context, username, email string) ([]*entities.User, error) CreateIfNotExistsByProvider(ctx context.Context, userData *entities.User) (*entities.User, error) Setting(ctx context.Context, id int, userData *entities.SettingMutation) (*entities.User, error) }
Click to show internal directories.
Click to hide internal directories.