feat: update all request response to camel case

This commit is contained in:
hanif salafi 2025-11-11 11:53:14 +07:00
parent 18801f9891
commit 3c7124fb18
14 changed files with 127 additions and 128 deletions

View File

@ -9,8 +9,8 @@ type CampaignDestinations struct {
ID uint `json:"id" gorm:"primaryKey;type:int4;autoIncrement"` ID uint `json:"id" gorm:"primaryKey;type:int4;autoIncrement"`
CampaignTypeID uint `json:"campaign_type_id" gorm:"type:int4"` CampaignTypeID uint `json:"campaign_type_id" gorm:"type:int4"`
CampaignType CampaignTypes `json:"campaign_type" gorm:"foreignKey:CampaignTypeID;references:ID"` CampaignType CampaignTypes `json:"campaign_type" gorm:"foreignKey:CampaignTypeID;references:ID"`
SubType string `json:"sub_type" gorm:"type:varchar(100)"`
Name string `json:"name" gorm:"type:varchar(150)"` Name string `json:"name" gorm:"type:varchar(150)"`
SubType *string `json:"sub_type" gorm:"type:varchar(100)"`
Description *string `json:"description" gorm:"type:text"` Description *string `json:"description" gorm:"type:text"`
URL *string `json:"url" gorm:"type:varchar(255)"` URL *string `json:"url" gorm:"type:varchar(255)"`
IsActive *bool `json:"is_active" gorm:"type:bool;default:true"` IsActive *bool `json:"is_active" gorm:"type:bool;default:true"`

View File

@ -15,9 +15,9 @@ type CampaignDestinationsQueryRequest struct {
} }
type CampaignDestinationsCreateRequest struct { type CampaignDestinationsCreateRequest struct {
CampaignTypeID uint `json:"campaign_type_id" validate:"required"` CampaignTypeID uint `json:"campaignTypeId" validate:"required"`
SubType string `json:"sub_type" validate:"required"`
Name string `json:"name" validate:"required"` Name string `json:"name" validate:"required"`
SubType *string `json:"subType"`
Description *string `json:"description"` Description *string `json:"description"`
URL *string `json:"url"` URL *string `json:"url"`
IsActive *bool `json:"isActive"` IsActive *bool `json:"isActive"`
@ -42,9 +42,9 @@ func (req CampaignDestinationsCreateRequest) ToEntity() *entity.CampaignDestinat
} }
type CampaignDestinationsUpdateRequest struct { type CampaignDestinationsUpdateRequest struct {
CampaignTypeID uint `json:"campaign_type_id" validate:"required"` CampaignTypeID uint `json:"campaignTypeId" validate:"required"`
SubType string `json:"sub_type" validate:"required"`
Name string `json:"name" validate:"required"` Name string `json:"name" validate:"required"`
SubType *string `json:"subType"`
Description *string `json:"description"` Description *string `json:"description"`
URL *string `json:"url"` URL *string `json:"url"`
IsActive *bool `json:"isActive"` IsActive *bool `json:"isActive"`
@ -90,4 +90,3 @@ func (req CampaignDestinationsQueryRequestContext) ToParamRequest() CampaignDest
return request return request
} }

View File

@ -4,15 +4,15 @@ import "time"
type CampaignDestinationsResponse struct { type CampaignDestinationsResponse struct {
ID uint `json:"id"` ID uint `json:"id"`
CampaignTypeID uint `json:"campaign_type_id"` CampaignTypeID uint `json:"campaignTypeId"`
CampaignType *CampaignTypeInfo `json:"campaign_type,omitempty"` CampaignType *CampaignTypeInfo `json:"campaignType,omitempty"`
SubType string `json:"sub_type"` SubType *string `json:"subType"`
Name string `json:"name"` Name string `json:"name"`
Description *string `json:"description"` Description *string `json:"description"`
URL *string `json:"url"` URL *string `json:"url"`
IsActive *bool `json:"is_active"` IsActive *bool `json:"isActive"`
CreatedAt time.Time `json:"created_at"` CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updated_at"` UpdatedAt time.Time `json:"updatedAt"`
} }
type CampaignTypeInfo struct { type CampaignTypeInfo struct {

View File

@ -15,6 +15,7 @@ func CampaignFilesResponseMapper(campaignFilesReq *entity.CampaignFiles) (campai
ExternalURL: campaignFilesReq.ExternalURL, ExternalURL: campaignFilesReq.ExternalURL,
IsDraft: campaignFilesReq.IsDraft, IsDraft: campaignFilesReq.IsDraft,
IsPublish: campaignFilesReq.IsPublish, IsPublish: campaignFilesReq.IsPublish,
IsActive: campaignFilesReq.IsActive,
CreatedAt: campaignFilesReq.CreatedAt, CreatedAt: campaignFilesReq.CreatedAt,
UpdatedAt: campaignFilesReq.UpdatedAt, UpdatedAt: campaignFilesReq.UpdatedAt,
} }

View File

@ -14,12 +14,12 @@ type CampaignFilesQueryRequest struct {
} }
type CampaignFilesCreateRequest struct { type CampaignFilesCreateRequest struct {
CampaignID uint `json:"campaign_id" validate:"required"` CampaignID uint `json:"campaignId" validate:"required"`
Type string `json:"type" validate:"required"` // url, file Type string `json:"type" validate:"required"` // url, file
FileURL *string `json:"file_url"` FileURL *string `json:"fileUrl"`
ExternalURL *string `json:"external_url"` ExternalURL *string `json:"externalUrl"`
IsDraft *bool `json:"is_draft"` IsDraft *bool `json:"isDraft"`
IsPublish *bool `json:"is_publish"` IsPublish *bool `json:"isPublish"`
} }
func (req CampaignFilesCreateRequest) ToEntity() *entity.CampaignFiles { func (req CampaignFilesCreateRequest) ToEntity() *entity.CampaignFiles {
@ -45,10 +45,10 @@ func (req CampaignFilesCreateRequest) ToEntity() *entity.CampaignFiles {
type CampaignFilesUpdateRequest struct { type CampaignFilesUpdateRequest struct {
Type string `json:"type" validate:"required"` Type string `json:"type" validate:"required"`
FileURL *string `json:"file_url"` FileURL *string `json:"fileUrl"`
ExternalURL *string `json:"external_url"` ExternalURL *string `json:"externalUrl"`
IsDraft *bool `json:"is_draft"` IsDraft *bool `json:"isDraft"`
IsPublish *bool `json:"is_publish"` IsPublish *bool `json:"isPublish"`
} }
func (req CampaignFilesUpdateRequest) ToEntity() *entity.CampaignFiles { func (req CampaignFilesUpdateRequest) ToEntity() *entity.CampaignFiles {

View File

@ -4,13 +4,14 @@ import "time"
type CampaignFilesResponse struct { type CampaignFilesResponse struct {
ID uint `json:"id"` ID uint `json:"id"`
CampaignID uint `json:"campaign_id"` CampaignID uint `json:"campaignId"`
Type string `json:"type"` Type string `json:"type"`
FileURL *string `json:"file_url"` FileURL *string `json:"fileUrl"`
ExternalURL *string `json:"external_url"` ExternalURL *string `json:"externalUrl"`
IsDraft *bool `json:"is_draft"` IsDraft *bool `json:"isDraft"`
IsPublish *bool `json:"is_publish"` IsPublish *bool `json:"isPublish"`
CreatedAt time.Time `json:"created_at"` IsActive *bool `json:"isActive"`
UpdatedAt time.Time `json:"updated_at"` CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
} }

View File

@ -11,6 +11,7 @@ func CampaignTypesResponseMapper(campaignTypesReq *entity.CampaignTypes) (campai
ID: campaignTypesReq.ID, ID: campaignTypesReq.ID,
Name: campaignTypesReq.Name, Name: campaignTypesReq.Name,
Description: campaignTypesReq.Description, Description: campaignTypesReq.Description,
IsActive: campaignTypesReq.IsActive,
CreatedAt: campaignTypesReq.CreatedAt, CreatedAt: campaignTypesReq.CreatedAt,
UpdatedAt: campaignTypesReq.UpdatedAt, UpdatedAt: campaignTypesReq.UpdatedAt,
} }

View File

@ -6,6 +6,7 @@ type CampaignTypesResponse struct {
ID uint `json:"id"` ID uint `json:"id"`
Name string `json:"name"` Name string `json:"name"`
Description *string `json:"description"` Description *string `json:"description"`
IsActive *bool `json:"isActive"`
CreatedAt time.Time `json:"createdAt"` CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"` UpdatedAt time.Time `json:"updatedAt"`
} }

View File

@ -20,6 +20,7 @@ func CampaignsResponseMapper(campaignsReq *entity.Campaigns, host string) (campa
Description: campaignsReq.Description, Description: campaignsReq.Description,
CreatorID: campaignsReq.CreatorID, CreatorID: campaignsReq.CreatorID,
Status: campaignsReq.Status, Status: campaignsReq.Status,
IsActive: campaignsReq.IsActive,
CreatedAt: campaignsReq.CreatedAt, CreatedAt: campaignsReq.CreatedAt,
UpdatedAt: campaignsReq.UpdatedAt, UpdatedAt: campaignsReq.UpdatedAt,
} }

View File

@ -17,15 +17,15 @@ type CampaignsQueryRequest struct {
type CampaignsCreateRequest struct { type CampaignsCreateRequest struct {
Title string `json:"title" validate:"required"` Title string `json:"title" validate:"required"`
CampaignTypeID uint `json:"campaign_type_id" validate:"required"` CampaignTypeID uint `json:"campaignTypeId" validate:"required"`
StartDate *string `json:"start_date"` StartDate *string `json:"startDate"`
EndDate *string `json:"end_date"` EndDate *string `json:"endDate"`
MediaTypeSelected *string `json:"media_type_selected"` MediaTypeSelected *string `json:"mediaTypeSelected"`
MediaItemSelected *string `json:"media_item_selected"` MediaItemSelected *string `json:"mediaItemSelected"`
Purpose *string `json:"purpose"` Purpose *string `json:"purpose"`
MediaPromote *bool `json:"media_promote"` MediaPromote *bool `json:"mediaPromote"`
Description *string `json:"description"` Description *string `json:"description"`
CreatorID *uint `json:"creator_id"` CreatorID *uint `json:"creatorId"`
Status *string `json:"status"` Status *string `json:"status"`
} }
@ -63,13 +63,13 @@ func (req CampaignsCreateRequest) ToEntity() *entity.Campaigns {
type CampaignsUpdateRequest struct { type CampaignsUpdateRequest struct {
Title string `json:"title" validate:"required"` Title string `json:"title" validate:"required"`
CampaignTypeID uint `json:"campaign_type_id" validate:"required"` CampaignTypeID uint `json:"campaignTypeId" validate:"required"`
StartDate *string `json:"start_date"` StartDate *string `json:"startDate"`
EndDate *string `json:"end_date"` EndDate *string `json:"endDate"`
MediaTypeSelected *string `json:"media_type_selected"` MediaTypeSelected *string `json:"mediaTypeSelected"`
MediaItemSelected *string `json:"media_item_selected"` MediaItemSelected *string `json:"mediaItemSelected"`
Purpose *string `json:"purpose"` Purpose *string `json:"purpose"`
MediaPromote *bool `json:"media_promote"` MediaPromote *bool `json:"mediaPromote"`
Description *string `json:"description"` Description *string `json:"description"`
Status *string `json:"status"` Status *string `json:"status"`
} }

View File

@ -5,20 +5,21 @@ import "time"
type CampaignsResponse struct { type CampaignsResponse struct {
ID uint `json:"id"` ID uint `json:"id"`
Title string `json:"title"` Title string `json:"title"`
CampaignTypeID uint `json:"campaign_type_id"` CampaignTypeID uint `json:"campaignTypeId"`
CampaignType *CampaignTypeInfo `json:"campaign_type,omitempty"` CampaignType *CampaignTypeInfo `json:"campaignType,omitempty"`
StartDate *time.Time `json:"start_date"` StartDate *time.Time `json:"startDate"`
EndDate *time.Time `json:"end_date"` EndDate *time.Time `json:"endDate"`
MediaTypeSelected *string `json:"media_type_selected"` MediaTypeSelected *string `json:"mediaTypeSelected"`
MediaItemSelected *string `json:"media_item_selected"` MediaItemSelected *string `json:"mediaItemSelected"`
Purpose *string `json:"purpose"` Purpose *string `json:"purpose"`
MediaPromote *bool `json:"media_promote"` MediaPromote *bool `json:"mediaPromote"`
Description *string `json:"description"` Description *string `json:"description"`
CreatorID uint `json:"creator_id"` CreatorID uint `json:"creatorId"`
Creator *CreatorInfo `json:"creator,omitempty"` Creator *CreatorInfo `json:"creator,omitempty"`
Status string `json:"status"` Status string `json:"status"`
CreatedAt time.Time `json:"created_at"` IsActive *bool `json:"isActive"`
UpdatedAt time.Time `json:"updated_at"` CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
} }
type CampaignTypeInfo struct { type CampaignTypeInfo struct {

View File

@ -16533,12 +16533,11 @@ const docTemplate = `{
"request.CampaignDestinationsCreateRequest": { "request.CampaignDestinationsCreateRequest": {
"type": "object", "type": "object",
"required": [ "required": [
"campaign_type_id", "campaignTypeId",
"name", "name"
"sub_type"
], ],
"properties": { "properties": {
"campaign_type_id": { "campaignTypeId": {
"type": "integer" "type": "integer"
}, },
"createdById": { "createdById": {
@ -16553,7 +16552,7 @@ const docTemplate = `{
"name": { "name": {
"type": "string" "type": "string"
}, },
"sub_type": { "subType": {
"type": "string" "type": "string"
}, },
"url": { "url": {
@ -16564,12 +16563,11 @@ const docTemplate = `{
"request.CampaignDestinationsUpdateRequest": { "request.CampaignDestinationsUpdateRequest": {
"type": "object", "type": "object",
"required": [ "required": [
"campaign_type_id", "campaignTypeId",
"name", "name"
"sub_type"
], ],
"properties": { "properties": {
"campaign_type_id": { "campaignTypeId": {
"type": "integer" "type": "integer"
}, },
"description": { "description": {
@ -16581,7 +16579,7 @@ const docTemplate = `{
"name": { "name": {
"type": "string" "type": "string"
}, },
"sub_type": { "subType": {
"type": "string" "type": "string"
}, },
"url": { "url": {
@ -16623,35 +16621,35 @@ const docTemplate = `{
"request.CampaignsCreateRequest": { "request.CampaignsCreateRequest": {
"type": "object", "type": "object",
"required": [ "required": [
"campaign_type_id", "campaignTypeId",
"title" "title"
], ],
"properties": { "properties": {
"campaign_type_id": { "campaignTypeId": {
"type": "integer" "type": "integer"
}, },
"creator_id": { "creatorId": {
"type": "integer" "type": "integer"
}, },
"description": { "description": {
"type": "string" "type": "string"
}, },
"end_date": { "endDate": {
"type": "string" "type": "string"
}, },
"media_item_selected": { "mediaItemSelected": {
"type": "string" "type": "string"
}, },
"media_promote": { "mediaPromote": {
"type": "boolean" "type": "boolean"
}, },
"media_type_selected": { "mediaTypeSelected": {
"type": "string" "type": "string"
}, },
"purpose": { "purpose": {
"type": "string" "type": "string"
}, },
"start_date": { "startDate": {
"type": "string" "type": "string"
}, },
"status": { "status": {
@ -16665,32 +16663,32 @@ const docTemplate = `{
"request.CampaignsUpdateRequest": { "request.CampaignsUpdateRequest": {
"type": "object", "type": "object",
"required": [ "required": [
"campaign_type_id", "campaignTypeId",
"title" "title"
], ],
"properties": { "properties": {
"campaign_type_id": { "campaignTypeId": {
"type": "integer" "type": "integer"
}, },
"description": { "description": {
"type": "string" "type": "string"
}, },
"end_date": { "endDate": {
"type": "string" "type": "string"
}, },
"media_item_selected": { "mediaItemSelected": {
"type": "string" "type": "string"
}, },
"media_promote": { "mediaPromote": {
"type": "boolean" "type": "boolean"
}, },
"media_type_selected": { "mediaTypeSelected": {
"type": "string" "type": "string"
}, },
"purpose": { "purpose": {
"type": "string" "type": "string"
}, },
"start_date": { "startDate": {
"type": "string" "type": "string"
}, },
"status": { "status": {

View File

@ -16522,12 +16522,11 @@
"request.CampaignDestinationsCreateRequest": { "request.CampaignDestinationsCreateRequest": {
"type": "object", "type": "object",
"required": [ "required": [
"campaign_type_id", "campaignTypeId",
"name", "name"
"sub_type"
], ],
"properties": { "properties": {
"campaign_type_id": { "campaignTypeId": {
"type": "integer" "type": "integer"
}, },
"createdById": { "createdById": {
@ -16542,7 +16541,7 @@
"name": { "name": {
"type": "string" "type": "string"
}, },
"sub_type": { "subType": {
"type": "string" "type": "string"
}, },
"url": { "url": {
@ -16553,12 +16552,11 @@
"request.CampaignDestinationsUpdateRequest": { "request.CampaignDestinationsUpdateRequest": {
"type": "object", "type": "object",
"required": [ "required": [
"campaign_type_id", "campaignTypeId",
"name", "name"
"sub_type"
], ],
"properties": { "properties": {
"campaign_type_id": { "campaignTypeId": {
"type": "integer" "type": "integer"
}, },
"description": { "description": {
@ -16570,7 +16568,7 @@
"name": { "name": {
"type": "string" "type": "string"
}, },
"sub_type": { "subType": {
"type": "string" "type": "string"
}, },
"url": { "url": {
@ -16612,35 +16610,35 @@
"request.CampaignsCreateRequest": { "request.CampaignsCreateRequest": {
"type": "object", "type": "object",
"required": [ "required": [
"campaign_type_id", "campaignTypeId",
"title" "title"
], ],
"properties": { "properties": {
"campaign_type_id": { "campaignTypeId": {
"type": "integer" "type": "integer"
}, },
"creator_id": { "creatorId": {
"type": "integer" "type": "integer"
}, },
"description": { "description": {
"type": "string" "type": "string"
}, },
"end_date": { "endDate": {
"type": "string" "type": "string"
}, },
"media_item_selected": { "mediaItemSelected": {
"type": "string" "type": "string"
}, },
"media_promote": { "mediaPromote": {
"type": "boolean" "type": "boolean"
}, },
"media_type_selected": { "mediaTypeSelected": {
"type": "string" "type": "string"
}, },
"purpose": { "purpose": {
"type": "string" "type": "string"
}, },
"start_date": { "startDate": {
"type": "string" "type": "string"
}, },
"status": { "status": {
@ -16654,32 +16652,32 @@
"request.CampaignsUpdateRequest": { "request.CampaignsUpdateRequest": {
"type": "object", "type": "object",
"required": [ "required": [
"campaign_type_id", "campaignTypeId",
"title" "title"
], ],
"properties": { "properties": {
"campaign_type_id": { "campaignTypeId": {
"type": "integer" "type": "integer"
}, },
"description": { "description": {
"type": "string" "type": "string"
}, },
"end_date": { "endDate": {
"type": "string" "type": "string"
}, },
"media_item_selected": { "mediaItemSelected": {
"type": "string" "type": "string"
}, },
"media_promote": { "mediaPromote": {
"type": "boolean" "type": "boolean"
}, },
"media_type_selected": { "mediaTypeSelected": {
"type": "string" "type": "string"
}, },
"purpose": { "purpose": {
"type": "string" "type": "string"
}, },
"start_date": { "startDate": {
"type": "string" "type": "string"
}, },
"status": { "status": {

View File

@ -380,7 +380,7 @@ definitions:
type: object type: object
request.CampaignDestinationsCreateRequest: request.CampaignDestinationsCreateRequest:
properties: properties:
campaign_type_id: campaignTypeId:
type: integer type: integer
createdById: createdById:
type: integer type: integer
@ -390,18 +390,17 @@ definitions:
type: boolean type: boolean
name: name:
type: string type: string
sub_type: subType:
type: string type: string
url: url:
type: string type: string
required: required:
- campaign_type_id - campaignTypeId
- name - name
- sub_type
type: object type: object
request.CampaignDestinationsUpdateRequest: request.CampaignDestinationsUpdateRequest:
properties: properties:
campaign_type_id: campaignTypeId:
type: integer type: integer
description: description:
type: string type: string
@ -409,14 +408,13 @@ definitions:
type: boolean type: boolean
name: name:
type: string type: string
sub_type: subType:
type: string type: string
url: url:
type: string type: string
required: required:
- campaign_type_id - campaignTypeId
- name - name
- sub_type
type: object type: object
request.CampaignTypesCreateRequest: request.CampaignTypesCreateRequest:
properties: properties:
@ -440,56 +438,56 @@ definitions:
type: object type: object
request.CampaignsCreateRequest: request.CampaignsCreateRequest:
properties: properties:
campaign_type_id: campaignTypeId:
type: integer type: integer
creator_id: creatorId:
type: integer type: integer
description: description:
type: string type: string
end_date: endDate:
type: string type: string
media_item_selected: mediaItemSelected:
type: string type: string
media_promote: mediaPromote:
type: boolean type: boolean
media_type_selected: mediaTypeSelected:
type: string type: string
purpose: purpose:
type: string type: string
start_date: startDate:
type: string type: string
status: status:
type: string type: string
title: title:
type: string type: string
required: required:
- campaign_type_id - campaignTypeId
- title - title
type: object type: object
request.CampaignsUpdateRequest: request.CampaignsUpdateRequest:
properties: properties:
campaign_type_id: campaignTypeId:
type: integer type: integer
description: description:
type: string type: string
end_date: endDate:
type: string type: string
media_item_selected: mediaItemSelected:
type: string type: string
media_promote: mediaPromote:
type: boolean type: boolean
media_type_selected: mediaTypeSelected:
type: string type: string
purpose: purpose:
type: string type: string
start_date: startDate:
type: string type: string
status: status:
type: string type: string
title: title:
type: string type: string
required: required:
- campaign_type_id - campaignTypeId
- title - title
type: object type: object
request.ChatMessageCreateRequest: request.ChatMessageCreateRequest: