package handler import ( "context" "go-backend-template/internal/contract" "github.com/google/uuid" ) type UserService interface { CreateUser(ctx context.Context, req *contract.CreateUserRequest) (*contract.UserResponse, error) UpdateUser(ctx context.Context, id uuid.UUID, req *contract.UpdateUserRequest) (*contract.UserResponse, error) DeleteUser(ctx context.Context, id uuid.UUID) error GetUserByID(ctx context.Context, id uuid.UUID) (*contract.UserResponse, error) GetUsers(ctx context.Context, page, limit int) (*contract.PaginatedUserResponse, error) }