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
type Values struct {
Value interface{} `json:"value,omitempty"`
Value any `json:"value,omitempty"`
EnumID int `json:"enum_id,omitempty"`
Enum string `json:"enum,omitempty"`
}
@ -12,3 +12,17 @@ type CustomFieldsValue struct {
FieldType string `json:"field_type,omitempty"`
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"`
UpdatedAt int `json:"updated_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"`
Links Links `json:"_links,omitempty"`
Embedded Embedded `json:"_embedded,omitempty"`

View file

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