Documentation
¶
Overview ¶
pkg/api/handler.go
pkg/api/ptrconv.go
pkg/api/problem_details_renderer.go
Index ¶
- func NewStrictServerImpl(opsHandler *operations.Handler, dbPool *pgxpool.Pool, redisPool *redis.Pool, ...) openapi.StrictServerInterface
- func Ptr[T any](v T) *T
- func PtrOrNil[T comparable](v T) *T
- func RateLimiter(rps rate.Limit, burst int) gin.HandlerFunc
- func UpdateOrKeep[T comparable](current T, newVal *T) T
- type ProblemDetailsRenderer
- type RequestSizeLimiter
- type StrictServerImpl
- func (p *StrictServerImpl) CreateUser(ctx context.Context, request openapi.CreateUserRequestObject) (openapi.CreateUserResponseObject, error)
- func (p *StrictServerImpl) DeleteUserById(ctx context.Context, request openapi.DeleteUserByIdRequestObject) (openapi.DeleteUserByIdResponseObject, error)
- func (p *StrictServerImpl) GetHealthLiveness(ctx context.Context, request openapi.GetHealthLivenessRequestObject) (openapi.GetHealthLivenessResponseObject, error)
- func (p *StrictServerImpl) GetHealthReadiness(ctx context.Context, request openapi.GetHealthReadinessRequestObject) (openapi.GetHealthReadinessResponseObject, error)
- func (p *StrictServerImpl) GetUserById(ctx context.Context, request openapi.GetUserByIdRequestObject) (openapi.GetUserByIdResponseObject, error)
- func (p *StrictServerImpl) ListUsers(ctx context.Context, request openapi.ListUsersRequestObject) (openapi.ListUsersResponseObject, error)
- func (p *StrictServerImpl) UpdateUserById(ctx context.Context, request openapi.UpdateUserByIdRequestObject) (openapi.UpdateUserByIdResponseObject, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewStrictServerImpl ¶
func NewStrictServerImpl(opsHandler *operations.Handler, dbPool *pgxpool.Pool, redisPool *redis.Pool, sm *scs.SessionManager) openapi.StrictServerInterface
func PtrOrNil ¶
func PtrOrNil[T comparable](v T) *T
PtrOrNil は v が T のゼロ値(== zero)なら nil を返し、 そうでなければ v のポインタを返す 比較可能な型(comparable)でのみ利用可能
func RateLimiter ¶
func RateLimiter(rps rate.Limit, burst int) gin.HandlerFunc
RateLimiter returns a Gin middleware that allows r tokens per second with burst b.
func UpdateOrKeep ¶
func UpdateOrKeep[T comparable](current T, newVal *T) T
UpdateOrKeep は、newVal が nil でなくかつゼロ値でないなら *newVal を返し、 それ以外は current を返す T は comparable 制約なので、ゼロ値チェックのために == zero が利用可能
Types ¶
type ProblemDetailsRenderer ¶
type ProblemDetailsRenderer struct {
// contains filtered or unexported fields
}
func (*ProblemDetailsRenderer) Middleware ¶
func (p *ProblemDetailsRenderer) Middleware() gin.HandlerFunc
type RequestSizeLimiter ¶
type RequestSizeLimiter struct {
// contains filtered or unexported fields
}
func NewRequestSizeLimiter ¶
func NewRequestSizeLimiter(uriReferenceBase string, logger *slog.Logger) (*RequestSizeLimiter, error)
func (*RequestSizeLimiter) Middleware ¶
func (p *RequestSizeLimiter) Middleware(maxBytes int64) gin.HandlerFunc
type StrictServerImpl ¶
type StrictServerImpl struct {
// contains filtered or unexported fields
}
StrictServerInterface の実装用
func (*StrictServerImpl) CreateUser ¶
func (p *StrictServerImpl) CreateUser(ctx context.Context, request openapi.CreateUserRequestObject) (openapi.CreateUserResponseObject, error)
Create a new user (POST /users)
func (*StrictServerImpl) DeleteUserById ¶
func (p *StrictServerImpl) DeleteUserById(ctx context.Context, request openapi.DeleteUserByIdRequestObject) (openapi.DeleteUserByIdResponseObject, error)
Delete a user by ID (DELETE /users/{user_id})
func (*StrictServerImpl) GetHealthLiveness ¶
func (p *StrictServerImpl) GetHealthLiveness(ctx context.Context, request openapi.GetHealthLivenessRequestObject) (openapi.GetHealthLivenessResponseObject, error)
Liveness チェック (GET /health/liveness)
func (*StrictServerImpl) GetHealthReadiness ¶
func (p *StrictServerImpl) GetHealthReadiness(ctx context.Context, request openapi.GetHealthReadinessRequestObject) (openapi.GetHealthReadinessResponseObject, error)
Readiness チェック (GET /health/readiness)
func (*StrictServerImpl) GetUserById ¶
func (p *StrictServerImpl) GetUserById(ctx context.Context, request openapi.GetUserByIdRequestObject) (openapi.GetUserByIdResponseObject, error)
Get a user by ID (GET /users/{user_id})
func (*StrictServerImpl) ListUsers ¶
func (p *StrictServerImpl) ListUsers(ctx context.Context, request openapi.ListUsersRequestObject) (openapi.ListUsersResponseObject, error)
List all users (GET /users)
func (*StrictServerImpl) UpdateUserById ¶
func (p *StrictServerImpl) UpdateUserById(ctx context.Context, request openapi.UpdateUserByIdRequestObject) (openapi.UpdateUserByIdResponseObject, error)
Update a user by ID (PATCH /users/{user_id})