Skip to main content

Service Template

Template untuk membuat service baru dengan clean architecture.

📁 Struktur Service

internal/auth/
├── handler/
│   └── auth_handler.go
├── service/
│   └── auth_service.go
├── repository/
│   └── user_repository.go
├── model/
│   └── user.go
└── dto/
    ├── request.go
    └── response.go

📝 Handler Example

type AuthHandler struct {
    authService service.AuthService
}

func (h *AuthHandler) Login(c echo.Context) error {
    var req dto.LoginRequest
    if err := c.Bind(&req); err != nil {
        return c.JSON(400, ErrorResponse(err))
    }
    
    token, err := h.authService.Login(c.Request().Context(), &req)
    if err != nil {
        return c.JSON(401, ErrorResponse(err))
    }
    
    return c.JSON(200, SuccessResponse(token))
}