feat: added the GetValuesByID for CustomFieldsValues.

This commit is contained in:
Andrey Parhomenko 2024-05-30 17:42:47 +05:00
parent 09d95941ff
commit ab6d5fb118
4 changed files with 42 additions and 28 deletions

View file

@ -1,7 +1,7 @@
package common package common
type Values struct { type Values struct {
Value interface{} `json:"value,omitempty"` Value any `json:"value,omitempty"`
EnumID int `json:"enum_id,omitempty"` EnumID int `json:"enum_id,omitempty"`
Enum string `json:"enum,omitempty"` Enum string `json:"enum,omitempty"`
} }
@ -12,3 +12,17 @@ type CustomFieldsValue struct {
FieldType string `json:"field_type,omitempty"` FieldType string `json:"field_type,omitempty"`
Values []Values `json:"values"` Values []Values `json:"values"`
} }
type CustomFieldsValues []CustomFieldsValue
func (vs CustomFieldsValues) GetValuesByID(
id int,
) ([]Values, bool) {
for _, v := range vs {
if v.FieldID == id {
return v.Values, true
}
}
return nil, false
}

View file

@ -12,7 +12,7 @@ type Company struct {
CreatedAt int `json:"created_at,omitempty"` CreatedAt int `json:"created_at,omitempty"`
UpdatedAt int `json:"updated_at,omitempty"` UpdatedAt int `json:"updated_at,omitempty"`
ClosestTaskAt interface{} `json:"closest_task_at,omitempty"` ClosestTaskAt interface{} `json:"closest_task_at,omitempty"`
CustomFieldsValues []common.CustomFieldsValue `json:"custom_fields_values,omitempty"` CustomFieldsValues common.CustomFieldsValues `json:"custom_fields_values,omitempty"`
AccountID int `json:"account_id,omitempty"` AccountID int `json:"account_id,omitempty"`
Links Links `json:"_links,omitempty"` Links Links `json:"_links,omitempty"`
Embedded Embedded `json:"_embedded,omitempty"` Embedded Embedded `json:"_embedded,omitempty"`

View file

@ -3,26 +3,26 @@ package contacts
import "surdeus.su/core/amo/common" import "surdeus.su/core/amo/common"
type Contact struct { type Contact struct {
Id int `json:"id"` Id int `json:"id"`
Name string `json:"name,omitempty"` Name string `json:"name,omitempty"`
FirstName string `json:"first_name,omitempty"` FirstName string `json:"first_name,omitempty"`
LastName string `json:"last_name,omitempty"` LastName string `json:"last_name,omitempty"`
ResponsibleUserId int `json:"responsible_user_id,omitempty"` ResponsibleUserId int `json:"responsible_user_id,omitempty"`
GroupId int `json:"group_id,omitempty"` GroupId int `json:"group_id,omitempty"`
CreatedBy int `json:"created_by,omitempty"` CreatedBy int `json:"created_by,omitempty"`
UpdatedBy int `json:"updated_by,omitempty"` UpdatedBy int `json:"updated_by,omitempty"`
CreatedAt int `json:"created_at,omitempty"` CreatedAt int `json:"created_at,omitempty"`
UpdatedAt int `json:"updated_at,omitempty"` UpdatedAt int `json:"updated_at,omitempty"`
ClosestTaskAt interface{} `json:"closest_task_at,omitempty"` ClosestTaskAt interface{} `json:"closest_task_at,omitempty"`
CustomFieldsValues []common.CustomFieldsValue `json:"custom_fields_values,omitempty"` CustomFieldsValues common.CustomFieldsValues `json:"custom_fields_values,omitempty"`
AccountId int `json:"account_id,omitempty"` AccountId int `json:"account_id,omitempty"`
Links Links `json:"_links,omitempty"` Links Links `json:"_links,omitempty"`
Embedded Embedded `json:"_embedded,omitempty"` Embedded Embedded `json:"_embedded,omitempty"`
} }
type Values struct { type Values struct {
Value string `json:"value"` Value string `json:"value"`
EnumId int `json:"enum_id"` EnumId int `json:"enum_id"`
Enum string `json:"enum"` Enum string `json:"enum"`
} }
type Self struct { type Self struct {
@ -34,24 +34,24 @@ type Links struct {
} }
type Leads struct { type Leads struct {
Id int `json:"id"` Id int `json:"id"`
Links Links `json:"_links"` Links Links `json:"_links"`
} }
type Customers struct { type Customers struct {
Id int `json:"id"` Id int `json:"id"`
Links Links `json:"_links"` Links Links `json:"_links"`
} }
type Companies struct { type Companies struct {
Id int `json:"id"` Id int `json:"id"`
Links Links `json:"_links"` Links Links `json:"_links"`
} }
type Embedded struct { type Embedded struct {
Tags []interface{} `json:"tags"` Tags []interface{} `json:"tags"`
Leads []Leads `json:"leads"` Leads []Leads `json:"leads"`
Customers []Customers `json:"customers"` Customers []Customers `json:"customers"`
CatalogElements []interface{} `json:"catalog_elements"` CatalogElements []interface{} `json:"catalog_elements"`
Companies []Companies `json:"companies"` Companies []Companies `json:"companies"`
} }

View file

@ -19,7 +19,7 @@ type Lead struct {
ClosedAt int `json:"closed_at,omitempty"` ClosedAt int `json:"closed_at,omitempty"`
ClosestTaskAt interface{} `json:"closest_task_at,omitempty"` ClosestTaskAt interface{} `json:"closest_task_at,omitempty"`
IsDeleted bool `json:"is_deleted,omitempty"` IsDeleted bool `json:"is_deleted,omitempty"`
CustomFieldsValues []common.CustomFieldsValue `json:"custom_fields_values,omitempty"` CustomFieldsValues common.CustomFieldsValues `json:"custom_fields_values,omitempty"`
Score interface{} `json:"score,omitempty"` Score interface{} `json:"score,omitempty"`
AccountID int `json:"account_id,omitempty"` AccountID int `json:"account_id,omitempty"`
IsPriceModifiedByRobot bool `json:"is_price_modified_by_robot,omitempty"` IsPriceModifiedByRobot bool `json:"is_price_modified_by_robot,omitempty"`