refactor: Update DTOs to use string type for IDs and enhance API documentation for activity and user handlers
This commit is contained in:
@@ -2,62 +2,6 @@ package utils
|
||||
|
||||
// This file contains type definitions for Swagger documentation
|
||||
|
||||
// SwaggerULID is a string representation of ULID for Swagger
|
||||
type SwaggerULID string
|
||||
|
||||
// SwaggerTime is a string representation of time.Time for Swagger
|
||||
type SwaggerTime string
|
||||
|
||||
// ActivityResponse is a Swagger representation of ActivityDto
|
||||
type ActivityResponse struct {
|
||||
ID SwaggerULID `json:"id" example:"01H1VECTJQXS1RVWJT6QG3QJCJ"`
|
||||
CreatedAt SwaggerTime `json:"createdAt" example:"2023-01-01T12:00:00Z"`
|
||||
UpdatedAt SwaggerTime `json:"updatedAt" example:"2023-01-01T12:00:00Z"`
|
||||
Name string `json:"name" example:"Development"`
|
||||
BillingRate float64 `json:"billingRate" example:"100.0"`
|
||||
}
|
||||
|
||||
// UserResponse is a Swagger representation of UserDto
|
||||
type UserResponse struct {
|
||||
ID SwaggerULID `json:"id" example:"01H1VECTJQXS1RVWJT6QG3QJCJ"`
|
||||
CreatedAt SwaggerTime `json:"createdAt" example:"2023-01-01T12:00:00Z"`
|
||||
UpdatedAt SwaggerTime `json:"updatedAt" example:"2023-01-01T12:00:00Z"`
|
||||
Email string `json:"email" example:"user@example.com"`
|
||||
Role string `json:"role" example:"admin"`
|
||||
CompanyID int `json:"companyId" example:"1"`
|
||||
HourlyRate float64 `json:"hourlyRate" example:"50.0"`
|
||||
}
|
||||
|
||||
// ActivityCreateRequest is a Swagger representation of ActivityCreateDto
|
||||
type ActivityCreateRequest struct {
|
||||
Name string `json:"name" example:"Development"`
|
||||
BillingRate float64 `json:"billingRate" example:"100.0"`
|
||||
}
|
||||
|
||||
// ActivityUpdateRequest is a Swagger representation of ActivityUpdateDto
|
||||
type ActivityUpdateRequest struct {
|
||||
Name *string `json:"name,omitempty" example:"Development"`
|
||||
BillingRate *float64 `json:"billingRate,omitempty" example:"100.0"`
|
||||
}
|
||||
|
||||
// UserCreateRequest is a Swagger representation of UserCreateDto
|
||||
type UserCreateRequest struct {
|
||||
Email string `json:"email" example:"user@example.com"`
|
||||
Password string `json:"password" example:"SecurePassword123!"`
|
||||
Role string `json:"role" example:"admin"`
|
||||
CompanyID int `json:"companyId" example:"1"`
|
||||
HourlyRate float64 `json:"hourlyRate" example:"50.0"`
|
||||
}
|
||||
|
||||
// UserUpdateRequest is a Swagger representation of UserUpdateDto
|
||||
type UserUpdateRequest struct {
|
||||
Email *string `json:"email,omitempty" example:"user@example.com"`
|
||||
Password *string `json:"password,omitempty" example:"SecurePassword123!"`
|
||||
Role *string `json:"role,omitempty" example:"admin"`
|
||||
CompanyID *int `json:"companyId,omitempty" example:"1"`
|
||||
HourlyRate *float64 `json:"hourlyRate,omitempty" example:"50.0"`
|
||||
}
|
||||
|
||||
// LoginRequest is a Swagger representation of LoginDto
|
||||
type LoginRequest struct {
|
||||
Email string `json:"email" example:"user@example.com"`
|
||||
@@ -66,6 +10,6 @@ type LoginRequest struct {
|
||||
|
||||
// TokenResponse is a Swagger representation of TokenDto
|
||||
type TokenResponse struct {
|
||||
Token string `json:"token" example:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."`
|
||||
User UserResponse `json:"user"`
|
||||
Token string `json:"token" example:"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."`
|
||||
User dto.UserDto `json:"user"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user