| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- package handlers
- import (
- "context"
- "gogs.fxtmmsk.ru/foxtime/photoplaces/backend/internal/models"
- "gogs.fxtmmsk.ru/foxtime/photoplaces/backend/internal/services"
- )
- type PlaceService interface {
- List(ctx context.Context, filter models.PlaceFilter) (*models.PaginatedPlaces, error)
- GetByID(ctx context.Context, id string, fetchTags bool) (*models.Place, error)
- Create(ctx context.Context, input services.CreatePlaceInput) (*models.Place, error)
- Update(ctx context.Context, input services.UpdatePlaceInput, isModerator bool) (*models.Place, error)
- Delete(ctx context.Context, id, userID string) error
- Moderate(ctx context.Context, id, action, comment, moderatorID string) error
- HardDelete(ctx context.Context, id, moderatorID string) error
- Restore(ctx context.Context, id, moderatorID string) error
- }
- type AuthService interface {
- Register(ctx context.Context, input services.RegisterInput) (*services.AuthResult, string, error)
- Login(ctx context.Context, input services.LoginInput) (*services.AuthResult, string, error)
- RefreshSession(ctx context.Context, plainRefreshToken string) (*services.AuthResult, string, error)
- RevokeSession(ctx context.Context, plainRefreshToken string) error
- GetUser(ctx context.Context, userID string) (*models.User, error)
- ValidateAccessToken(tokenString string) (*services.TokenClaims, error)
- }
- type UserRepo interface {
- GetByID(ctx context.Context, id string) (*models.User, error)
- GetByEmail(ctx context.Context, email string) (*models.User, error)
- Create(ctx context.Context, user *models.User) error
- Update(ctx context.Context, user *models.User) error
- UpdateRole(ctx context.Context, id, role string) error
- UpdateStatus(ctx context.Context, id, status string) error
- HasSuperadmin(ctx context.Context) (bool, error)
- CountByRole(ctx context.Context, role string) (int, error)
- List(ctx context.Context, filter models.UserFilter) ([]*models.User, error)
- }
|