diff --git a/pkg/responses/httpResponse.go b/pkg/responses/httpResponse.go new file mode 100644 index 0000000..5c49482 --- /dev/null +++ b/pkg/responses/httpResponse.go @@ -0,0 +1,25 @@ +package responses + +type DefaultErrorResponse struct { + Error string `json:"error" example:"error"` +} + +type BadRequest struct { + Error string `json:"error" example:"error"` +} + +type NotFound struct { + Error string `json:"error" example:"error"` +} + +type Unauthorized struct { + Error string `json:"error" example:"error"` +} + +type Forbidden struct { + Error string `json:"error" example:"error"` +} + +type InternalServerError struct { + Error string `json:"error" example:"error"` +} diff --git a/pkg/utils/cpus.go b/pkg/utils/cpus.go new file mode 100644 index 0000000..cc739b7 --- /dev/null +++ b/pkg/utils/cpus.go @@ -0,0 +1,11 @@ +package utils + +import "runtime" + +type cpuUtil interface { + NumCPU() int +} + +func (h *Handler) NumCPU() int { + return runtime.NumCPU() +} diff --git a/pkg/utils/handler.go b/pkg/utils/handler.go new file mode 100644 index 0000000..1e57cde --- /dev/null +++ b/pkg/utils/handler.go @@ -0,0 +1,8 @@ +package utils + +type Handler struct { +} + +func New() *Handler { + return &Handler{} +} diff --git a/pkg/utils/interface.go b/pkg/utils/interface.go new file mode 100644 index 0000000..159ca57 --- /dev/null +++ b/pkg/utils/interface.go @@ -0,0 +1,6 @@ +package utils + +type Utils interface { + timeUtil + cpuUtil +} diff --git a/pkg/utils/time.go b/pkg/utils/time.go new file mode 100644 index 0000000..9fa6b59 --- /dev/null +++ b/pkg/utils/time.go @@ -0,0 +1,29 @@ +package utils + +import ( + "database/sql" + "time" +) + +type timeUtil interface { + TimeNowUTC() time.Time + DeletedNullTime() sql.NullTime + NullTimeNowUTC() sql.NullTime + NullTimeFromNow(time.Time) sql.NullTime +} + +func (h *Handler) TimeNowUTC() time.Time { + return time.Now().UTC() +} + +func (h *Handler) DeletedNullTime() sql.NullTime { + return sql.NullTime{Time: time.Time{}, Valid: false} +} + +func (h *Handler) NullTimeNowUTC() sql.NullTime { + return sql.NullTime{Time: h.TimeNowUTC(), Valid: true} +} + +func (h *Handler) NullTimeFromNow(time.Time) sql.NullTime { + return sql.NullTime{Time: h.TimeNowUTC(), Valid: true} +}