package service import ( "context" db "github.com/FernandoJVideira/simple_bank/internal/db/sqlc" ) type UserService interface { CreateUser(ctx context.Context, params RegisterUserRequest) (*RegisterUserResponse, error) GetUser(ctx context.Context, username string) (*db.User, error) UpdateUser(ctx context.Context, params UserUpdateRequest) (*db.User, error) UpdatePassword(ctx context.Context, params PasswordUpdateRequest) (*db.User, error) VerifyEmail(ctx context.Context, params EmailVerificationRequest) (*EmailVerificationResponse, error) } // AuthService defines operations related to authentication type AuthService interface { Login(ctx context.Context, params LoginCredentials) (*LoginResponse, error) RenewAccessToken(ctx context.Context, params TokenRenewalRequest) (*TokenRenewalResponse, error) } // Ensure implementations satisfy interfaces at compile time var ( _ UserService = (*userService)(nil) _ AuthService = (*authService)(nil) )