update need test with new sql query in sqlc amo common repo

This commit is contained in:
Pavel 2024-04-18 21:14:00 +03:00
parent febeb74b35
commit bea9cfc432
10 changed files with 78 additions and 628 deletions

2
go.mod

@ -9,7 +9,7 @@ require (
github.com/stretchr/testify v1.8.4
go.mongodb.org/mongo-driver v1.14.0
go.uber.org/zap v1.27.0
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240418110002-105a18f646f0
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240418145924-0bb104019522
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af
)

4
go.sum

@ -187,7 +187,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6 h1:oV+/HNX+JPoQ3/GUx08hio7d45WpY0AMGrFs7j70QlA=
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240418110002-105a18f646f0 h1:DwTvHNGmE6ddntxSBb6OJXaJXy1Sbz2ifYUG77zsjyY=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240418110002-105a18f646f0/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240418145924-0bb104019522 h1:5QanVhIhGPhIHEe+Jx2SjrzWUPBvte8SBi2ISDumdrw=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240418145924-0bb104019522/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64=
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af h1:jQ7HaXSutDX5iepU7VRImxhikK7lV/lBKkiloOZ4Emo=
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af/go.mod h1:5S5YwjSXWmnEKjBjG6MtyGtFmljjukDRS8CwHk/CF/I=

@ -1,130 +0,0 @@
package repository
import (
"amocrm/internal/models"
"amocrm/internal/models/amo"
"context"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"time"
)
func (r *Repository) GettingFieldsFromCash(ctx context.Context, req *models.PaginationReq) (*models.UserListFieldsResp, error) {
offset := (req.Page - 1) * req.Size
totalFields, err := r.fields.CountDocuments(ctx, bson.M{"deleted": false})
if err != nil {
return nil, err
}
var fields []models.Field
cursor, err := r.fields.Find(ctx, bson.M{"deleted": false}, options.Find().SetLimit(int64(req.Size)).SetSkip(int64(offset)))
if err != nil {
return nil, err
}
defer cursor.Close(ctx)
for cursor.Next(ctx) {
var field models.Field
if err := cursor.Decode(&field); err != nil {
return nil, err
}
fields = append(fields, field)
}
if err := cursor.Err(); err != nil {
return nil, err
}
fieldListResp := &models.UserListFieldsResp{
Count: totalFields,
Items: fields,
}
return fieldListResp, nil
}
func (r *Repository) UpdateListCustom(ctx context.Context) error {
//TODO:IMPLEMENT ME
return nil
}
type CheckFieldsDeps struct {
AccountID string // id quiz
ID int // id amo
EntityType models.EntityType
Fields []amo.CustomField
}
func (r *Repository) CheckFields(ctx context.Context, deps CheckFieldsDeps) error {
for _, f := range deps.Fields {
field := models.Field{
ID: deps.AccountID,
Accountid: deps.ID,
Amoid: f.ID,
Name: f.Name,
Type: f.Type,
Code: f.Code,
Entity: deps.EntityType,
}
existingField, err := r.GetFieldByID(ctx, deps.AccountID, f.ID, deps.EntityType)
if err != nil {
return err
}
if existingField != nil {
field.UpdateAt = time.Now().Unix()
err = r.UpdateField(ctx, &field)
if err != nil {
return err
}
} else {
field.Createdat = time.Now().Unix()
err = r.InsertField(ctx, &field)
if err != nil {
return err
}
}
}
return nil
}
// test +
func (r *Repository) GetFieldByID(ctx context.Context, accountID string, amoid int, entity models.EntityType) (*models.Field, error) {
var field models.Field
filter := bson.M{"id": accountID, "amoid": amoid, "entity": entity}
err := r.fields.FindOne(ctx, filter).Decode(&field)
if err == mongo.ErrNoDocuments {
return nil, nil
}
if err != nil {
return nil, err
}
return &field, nil
}
// test +
func (r *Repository) UpdateField(ctx context.Context, field *models.Field) error {
filter := bson.M{"id": field.ID, "amoid": field.Amoid, "entity": field.Entity}
update := bson.M{"$set": bson.M{
"accountid": field.Accountid,
"name": field.Name,
"updateAt": field.UpdateAt,
"type": field.Type,
"entity": field.Entity,
"code": field.Code,
}}
_, err := r.fields.UpdateOne(ctx, filter, update)
return err
}
// test +
func (r *Repository) InsertField(ctx context.Context, field *models.Field) error {
_, err := r.fields.InsertOne(ctx, field)
return err
}

@ -1,41 +0,0 @@
package repository
import (
"go.mongodb.org/mongo-driver/mongo"
"go.uber.org/zap"
)
type Deps struct {
MdbUser *mongo.Collection
Tokens *mongo.Collection
Pipelines *mongo.Collection
Steps *mongo.Collection
Tags *mongo.Collection
Fields *mongo.Collection
UTMs *mongo.Collection
Logger *zap.Logger
}
type Repository struct {
mdbUser *mongo.Collection
tokens *mongo.Collection
pipelines *mongo.Collection
steps *mongo.Collection
tags *mongo.Collection
fields *mongo.Collection
utms *mongo.Collection
logger *zap.Logger
}
func NewRepository(deps Deps) *Repository {
return &Repository{
mdbUser: deps.MdbUser,
tokens: deps.Tokens,
pipelines: deps.Pipelines,
steps: deps.Steps,
tags: deps.Tags,
fields: deps.Fields,
utms: deps.UTMs,
logger: deps.Logger,
}
}

@ -1,121 +0,0 @@
package repository
import (
"amocrm/internal/models"
"amocrm/internal/models/amo"
"context"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"time"
)
func (r *Repository) UpdateListPipelines(ctx context.Context) error {
//TODO:IMPLEMENT ME
return nil
}
// test +
func (r *Repository) GettingPipelinesFromCash(ctx context.Context, req *models.PaginationReq) (*models.UserListPipelinesResp, error) {
offset := (req.Page - 1) * req.Size
totalPipelines, err := r.pipelines.CountDocuments(ctx, bson.M{"deleted": false})
if err != nil {
return nil, err
}
var pipelines []models.Pipeline
cursor, err := r.pipelines.Find(ctx, bson.M{"deleted": false}, options.Find().SetLimit(int64(req.Size)).SetSkip(int64(offset)))
if err != nil {
return nil, err
}
defer cursor.Close(ctx)
for cursor.Next(ctx) {
var pipeline models.Pipeline
if err := cursor.Decode(&pipeline); err != nil {
return nil, err
}
pipelines = append(pipelines, pipeline)
}
if err := cursor.Err(); err != nil {
return nil, err
}
pipelineListResp := &models.UserListPipelinesResp{
Count: totalPipelines,
Items: pipelines,
}
return pipelineListResp, nil
}
// test +
func (r *Repository) CheckPipelines(ctx context.Context, accountID string, pipelines []amo.Pipeline) error {
for _, p := range pipelines {
pipeline := models.Pipeline{
ID: accountID,
AccountID: p.AccountID,
Amoid: p.ID,
Name: p.Name,
Isarchive: p.IsArchive,
}
existingPipeline, err := r.GetPipelineByID(ctx, accountID, p.ID)
if err != nil {
return err
}
if existingPipeline != nil {
pipeline.UpdateAt = time.Now().Unix()
err = r.UpdatePipeline(ctx, &pipeline)
if err != nil {
return err
}
} else {
pipeline.Createdat = time.Now().Unix()
err = r.InsertPipeline(ctx, &pipeline)
if err != nil {
return err
}
}
}
return nil
}
// test +
func (r *Repository) GetPipelineByID(ctx context.Context, accountID string, amoid int) (*models.Pipeline, error) {
var pipeline models.Pipeline
filter := bson.M{"id": accountID, "amoid": amoid}
err := r.pipelines.FindOne(ctx, filter).Decode(&pipeline)
if err == mongo.ErrNoDocuments {
return nil, nil
}
if err != nil {
return nil, err
}
return &pipeline, nil
}
// test +
func (r *Repository) UpdatePipeline(ctx context.Context, pipeline *models.Pipeline) error {
filter := bson.M{"id": pipeline.ID, "amoid": pipeline.Amoid}
update := bson.M{"$set": bson.M{
"accountID": pipeline.AccountID,
"name": pipeline.Name,
"isarchive": pipeline.Isarchive,
"updateAt": pipeline.UpdateAt,
}}
_, err := r.pipelines.UpdateOne(ctx, filter, update)
return err
}
// test +
func (r *Repository) InsertPipeline(ctx context.Context, pipeline *models.Pipeline) error {
_, err := r.pipelines.InsertOne(ctx, pipeline)
return err
}

@ -1,123 +0,0 @@
package repository
import (
"amocrm/internal/models"
"amocrm/internal/models/amo"
"context"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"time"
)
// test +
func (r *Repository) GettingStepsFromCash(ctx context.Context, req *models.PaginationReq) (*models.UserListStepsResp, error) {
offset := (req.Page - 1) * req.Size
totalSteps, err := r.steps.CountDocuments(ctx, bson.M{"deleted": false})
if err != nil {
return nil, err
}
var steps []models.Step
cursor, err := r.steps.Find(ctx, bson.M{"deleted": false}, options.Find().SetLimit(int64(req.Size)).SetSkip(int64(offset)))
if err != nil {
return nil, err
}
defer cursor.Close(ctx)
for cursor.Next(ctx) {
var step models.Step
if err := cursor.Decode(&step); err != nil {
return nil, err
}
steps = append(steps, step)
}
if err := cursor.Err(); err != nil {
return nil, err
}
stepListResp := &models.UserListStepsResp{
Count: totalSteps,
Items: steps,
}
return stepListResp, nil
}
func (r *Repository) UpdateListSteps(ctx context.Context) error {
//TODO:IMPLEMENT ME
return nil
}
// test +
func (r *Repository) CheckSteps(ctx context.Context, accountID string, steps []amo.Statuses) error {
for _, s := range steps {
step := models.Step{
ID: accountID,
Pipelineid: s.PipelineID,
Name: s.Name,
Accountid: s.AccountID,
Amoid: s.ID,
Color: s.Color,
}
existingStep, err := r.GetStepByID(ctx, accountID, s.ID)
if err != nil {
return err
}
if existingStep != nil {
step.UpdateAt = time.Now().Unix()
err = r.UpdateStep(ctx, &step)
if err != nil {
return err
}
} else {
step.Createdat = time.Now().Unix()
err = r.InsertStep(ctx, &step)
if err != nil {
return err
}
}
}
return nil
}
// test +
func (r *Repository) GetStepByID(ctx context.Context, accountID string, amoid int) (*models.Step, error) {
var step models.Step
filter := bson.M{"id": accountID, "amoid": amoid}
err := r.steps.FindOne(ctx, filter).Decode(&step)
if err == mongo.ErrNoDocuments {
return nil, nil
}
if err != nil {
return nil, err
}
return &step, nil
}
// test +
func (r *Repository) UpdateStep(ctx context.Context, step *models.Step) error {
filter := bson.M{"id": step.ID, "amoid": step.Amoid}
update := bson.M{"$set": bson.M{
"accountid": step.Accountid,
"name": step.Name,
"updateAt": step.UpdateAt,
"color": step.Color,
"pipelineid": step.Pipelineid,
}}
_, err := r.steps.UpdateOne(ctx, filter, update)
return err
}
// test +
func (r *Repository) InsertStep(ctx context.Context, step *models.Step) error {
_, err := r.steps.InsertOne(ctx, step)
return err
}

@ -1,131 +0,0 @@
package repository
import (
"amocrm/internal/models"
"amocrm/internal/models/amo"
"context"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
"time"
)
// test +
func (r *Repository) GettingTagsFromCash(ctx context.Context, req *model.PaginationReq) (*models.UserListTagsResp, error) {
offset := (req.Page - 1) * req.Size
totalTags, err := r.tags.CountDocuments(ctx, bson.M{"deleted": false})
if err != nil {
return nil, err
}
var tags []models.Tag
cursor, err := r.tags.Find(ctx, bson.M{"deleted": false}, options.Find().SetLimit(int64(req.Size)).SetSkip(int64(offset)))
if err != nil {
return nil, err
}
defer cursor.Close(ctx)
for cursor.Next(ctx) {
var tag models.Tag
if err := cursor.Decode(&tag); err != nil {
return nil, err
}
tags = append(tags, tag)
}
if err := cursor.Err(); err != nil {
return nil, err
}
tagListResp := &models.UserListTagsResp{
Count: totalTags,
Items: tags,
}
return tagListResp, nil
}
func (r *Repository) UpdateListTags(ctx context.Context) error {
//TODO:IMPLEMENT ME
return nil
}
type CheckTagsDeps struct {
AccountID string // id quiz
ID int // id amo
EntityType models.EntityType
Tags []amo.Tag
}
// test +
func (r *Repository) CheckTags(ctx context.Context, deps CheckTagsDeps) error {
for _, t := range deps.Tags {
tag := models.Tag{
ID: deps.AccountID,
Accountid: deps.ID,
Amoid: t.ID,
Name: t.Name,
Color: t.Color,
Entity: deps.EntityType,
}
existingTag, err := r.GetTagByID(ctx, deps.AccountID, t.ID, deps.EntityType)
if err != nil {
return err
}
if existingTag != nil {
tag.UpdateAt = time.Now().Unix()
err = r.UpdateTag(ctx, &tag)
if err != nil {
return err
}
} else {
tag.Createdat = time.Now().Unix()
err = r.InsertTag(ctx, &tag)
if err != nil {
return err
}
}
}
return nil
}
// test +
func (r *Repository) GetTagByID(ctx context.Context, accountID string, amoid int, entity models.EntityType) (*models.Tag, error) {
var tag models.Tag
filter := bson.M{"id": accountID, "amoid": amoid, "entity": entity}
err := r.tags.FindOne(ctx, filter).Decode(&tag)
if err == mongo.ErrNoDocuments {
return nil, nil
}
if err != nil {
return nil, err
}
return &tag, nil
}
// test +
func (r *Repository) UpdateTag(ctx context.Context, tag *models.Tag) error {
filter := bson.M{"id": tag.ID, "amoid": tag.Amoid, "entity": tag.Entity}
update := bson.M{"$set": bson.M{
"accountid": tag.Accountid,
"name": tag.Name,
"updateAt": tag.UpdateAt,
"color": tag.Color,
"entity": tag.Entity,
}}
_, err := r.tags.UpdateOne(ctx, filter, update)
return err
}
// test +
func (r *Repository) InsertTag(ctx context.Context, tag *models.Tag) error {
_, err := r.tags.InsertOne(ctx, tag)
return err
}

@ -66,7 +66,7 @@ func (wc *DataUpdater) processTasks(ctx context.Context) {
if err != nil {
wc.logger.Error("error getting list pipelines:", zap.Error(err))
}
err = wc.repo.AmoRepo.CheckPipelines(ctx, token.AccountID, tools.ToPipeline(pipelines.Embedded.Pipelines))
err = wc.repo.AmoRepo.CheckPipelines(ctx, tools.ToPipeline(pipelines.Embedded.Pipelines))
if err != nil {
wc.logger.Error("error update pipelines in mongo:", zap.Error(err))
}
@ -79,7 +79,7 @@ func (wc *DataUpdater) processTasks(ctx context.Context) {
continue
}
err = wc.repo.AmoRepo.CheckSteps(ctx, token.AccountID, tools.ToStep(steps.Embedded.Statuses))
err = wc.repo.AmoRepo.CheckSteps(ctx, tools.ToStep(steps.Embedded.Statuses))
if err != nil {
wc.logger.Error("error update pipeline steps in mongo:", zap.Error(err))
}

@ -24,10 +24,10 @@ func Test_Repository(t *testing.T) {
panic(err)
}
//err = webhookCreate(ctx, repo)
//assert.NoError(t, err)
//err = webhookUpdate(ctx, repo)
//assert.NoError(t, err)
err = webhookCreate(ctx, repo)
assert.NoError(t, err)
err = webhookUpdate(ctx, repo)
assert.NoError(t, err)
//count := 0
//for {
@ -53,20 +53,20 @@ func Test_Repository(t *testing.T) {
//assert.NoError(t, err)
//err = gettingUserFromCash(ctx, t, repo)
//assert.NoError(t, err)
//err = checkPipelines(ctx, repo)
//assert.NoError(t, err)
err = checkPipelines(ctx, repo)
assert.NoError(t, err)
//err = gettingPipelinesFromCash(ctx, t, repo)
//assert.NoError(t, err)
//err = checkSteps(ctx, repo)
//assert.NoError(t, err)
err = checkSteps(ctx, repo)
assert.NoError(t, err)
//err = gettingStepsFromCash(ctx, t, repo)
//assert.NoError(t, err)
//err = checkTags(ctx, repo)
//assert.NoError(t, err)
err = checkTags(ctx, repo)
assert.NoError(t, err)
//err = gettingTagsFromCash(ctx, t, repo)
//assert.NoError(t, err)
//err = checkFields(ctx, repo)
//assert.NoError(t, err)
err = checkFields(ctx, repo)
assert.NoError(t, err)
//err = gettingFieldsFromCash(ctx, t, repo)
//assert.NoError(t, err)
//err = saveUtms(ctx, repo)
@ -187,16 +187,14 @@ func checkPipelines(ctx context.Context, repo *dal.AmoDal) error {
}
for i := 0; i < 9; i++ {
accID := strconv.Itoa(i)
err = repo.AmoRepo.CheckPipelines(ctx, accID, tools.ToPipeline(testPipeline1.Embedded.Pipelines))
err = repo.AmoRepo.CheckPipelines(ctx, tools.ToPipeline(testPipeline1.Embedded.Pipelines))
if err != nil {
return err
}
}
for i := 0; i < 9; i++ {
accID := strconv.Itoa(i)
err = repo.AmoRepo.CheckPipelines(ctx, accID, tools.ToPipeline(testPipeline2.Embedded.Pipelines))
err = repo.AmoRepo.CheckPipelines(ctx, tools.ToPipeline(testPipeline2.Embedded.Pipelines))
if err != nil {
return err
}
@ -238,16 +236,14 @@ func checkSteps(ctx context.Context, repo *dal.AmoDal) error {
}
for i := 0; i < 9; i++ {
accID := strconv.Itoa(i)
err = repo.AmoRepo.CheckSteps(ctx, accID, tools.ToStep(testStep1.Embedded.Statuses))
err = repo.AmoRepo.CheckSteps(ctx, tools.ToStep(testStep1.Embedded.Statuses))
if err != nil {
return err
}
}
for i := 0; i < 9; i++ {
accID := strconv.Itoa(i)
err = repo.AmoRepo.CheckSteps(ctx, accID, tools.ToStep(testStep2.Embedded.Statuses))
err = repo.AmoRepo.CheckSteps(ctx, tools.ToStep(testStep2.Embedded.Statuses))
if err != nil {
return err
}
@ -327,19 +323,19 @@ func checkTags(ctx context.Context, repo *dal.AmoDal) error {
accID := strconv.Itoa(i)
err = repo.AmoRepo.CheckTags(ctx, tools.ToTag(testLeadsTags.Embedded.Tags, model.LeadsTags), accID)
if err != nil {
return err
fmt.Println(err)
}
err = repo.AmoRepo.CheckTags(ctx, tools.ToTag(testCompaniesTags.Embedded.Tags, model.CompaniesTags), accID)
if err != nil {
return err
fmt.Println(err)
}
err = repo.AmoRepo.CheckTags(ctx, tools.ToTag(testCustomersTags.Embedded.Tags, model.CustomersTags), accID)
if err != nil {
return err
fmt.Println(err)
}
err = repo.AmoRepo.CheckTags(ctx, tools.ToTag(testContactsTags.Embedded.Tags, model.ContactsTags), accID)
if err != nil {
return err
fmt.Println(err)
}
}
@ -347,22 +343,22 @@ func checkTags(ctx context.Context, repo *dal.AmoDal) error {
accID := strconv.Itoa(i)
err = repo.AmoRepo.CheckTags(ctx, tools.ToTag(testLeadsTags2.Embedded.Tags, model.LeadsTags), accID)
if err != nil {
return err
fmt.Println(err)
}
err = repo.AmoRepo.CheckTags(ctx, tools.ToTag(testCompaniesTags2.Embedded.Tags, model.CompaniesTags), accID)
if err != nil {
return err
fmt.Println(err)
}
err = repo.AmoRepo.CheckTags(ctx, tools.ToTag(testCustomersTags2.Embedded.Tags, model.CustomersTags), accID)
if err != nil {
return err
fmt.Println(err)
}
err = repo.AmoRepo.CheckTags(ctx, tools.ToTag(testContactsTags2.Embedded.Tags, model.ContactsTags), accID)
if err != nil {
return err
fmt.Println(err)
}
if err != nil {
return err
fmt.Println(err)
}
}

@ -764,13 +764,13 @@ var jsonLeadsTags = `{
"_embedded": {
"tags": [
{
"id": 2707,
"name": "Заявка с сайта",
"id": 17,
"name": "Заявка с сайта1",
"color": "EBEBEB"
},
{
"id": 2709,
"name": "Техническая поддержка",
"id": 16,
"name": "Техническая поддержка1",
"color": null
}
]
@ -790,13 +790,13 @@ var jsonLeadsTags2 = `{
"_embedded": {
"tags": [
{
"id": 2707,
"name": "Заявка с сайта update",
"id": 15,
"name": "Заявка с сайта update1",
"color": "EBEBEB"
},
{
"id": 2709,
"name": "Техническая поддержка update",
"id": 14,
"name": "Техническая поддержка update1",
"color": null
}
]
@ -816,13 +816,13 @@ var jsonContactsTags = `{
"_embedded": {
"tags": [
{
"id": 2707,
"name": "ContactsTags1",
"id": 13,
"name": "ContactsTags11",
"color": "EBEBEB"
},
{
"id": 2709,
"name": "ContactsTags2",
"id": 12,
"name": "ContactsTags22",
"color": null
}
]
@ -842,13 +842,13 @@ var jsonContactsTags2 = `{
"_embedded": {
"tags": [
{
"id": 2707,
"name": "ContactsTags1 update",
"id": 11,
"name": "ContactsTags1 update1",
"color": "EBEBEB"
},
{
"id": 2709,
"name": "ContactsTags2 update",
"id": 9,
"name": "ContactsTags2 update2",
"color": null
}
]
@ -868,13 +868,13 @@ var jsonCompaniesTags = `{
"_embedded": {
"tags": [
{
"id": 2707,
"name": "CompaniesTags1",
"id": 8,
"name": "CompaniesTags11",
"color": "EBEBEB"
},
{
"id": 2709,
"name": "CompaniesTags2",
"id": 7,
"name": "CompaniesTags22",
"color": null
}
]
@ -894,13 +894,13 @@ var jsonCompaniesTags2 = `{
"_embedded": {
"tags": [
{
"id": 2707,
"name": "CompaniesTags1 update",
"id": 6,
"name": "CompaniesTags1 update1",
"color": "EBEBEB"
},
{
"id": 2709,
"name": "CompaniesTags2 update",
"id": 5,
"name": "CompaniesTags2 update2",
"color": null
}
]
@ -920,13 +920,13 @@ var jsonCustomersTags = `{
"_embedded": {
"tags": [
{
"id": 2707,
"name": "CustomersTags1",
"id": 4,
"name": "CustomersTags11",
"color": "EBEBEB"
},
{
"id": 2709,
"name": "CustomersTags2",
"id": 3,
"name": "CustomersTags22",
"color": null
}
]
@ -946,13 +946,13 @@ var jsonCustomersTags2 = `{
"_embedded": {
"tags": [
{
"id": 2707,
"name": "CustomersTags1 update",
"id": 2,
"name": "CustomersTags1 update1",
"color": "EBEBEB"
},
{
"id": 2709,
"name": "CustomersTags2 update",
"id": 1,
"name": "CustomersTags2 update2",
"color": null
}
]
@ -977,7 +977,7 @@ var jsonLeadsFields = `{
"_embedded": {
"custom_fields": [
{
"id": 4439091,
"id": 21,
"name": "Пример текстового поля",
"sort": 504,
"type": "text",
@ -1000,7 +1000,7 @@ var jsonLeadsFields = `{
}
},
{
"id": 4440043,
"id": 16,
"name": "Пример поля с типом 'data'",
"sort": 505,
"type": "date",
@ -1039,7 +1039,7 @@ var jsonLeadsFields2 = `{
"_embedded": {
"custom_fields": [
{
"id": 4439091,
"id": 15,
"name": "Пример текстового поля update",
"sort": 504,
"type": "text",
@ -1062,7 +1062,7 @@ var jsonLeadsFields2 = `{
}
},
{
"id": 4440043,
"id": 14,
"name": "Пример поля с типом 'data' update",
"sort": 505,
"type": "date",
@ -1101,7 +1101,7 @@ var jsonContactsFields = `{
"_embedded": {
"custom_fields": [
{
"id": 4439091,
"id": 13,
"name": "ContactsFields",
"sort": 504,
"type": "text",
@ -1124,7 +1124,7 @@ var jsonContactsFields = `{
}
},
{
"id": 4440043,
"id": 12,
"name": "ContactsFields",
"sort": 505,
"type": "date",
@ -1163,7 +1163,7 @@ var jsonContactsFields2 = `{
"_embedded": {
"custom_fields": [
{
"id": 4439091,
"id": 11,
"name": "ContactsFields update",
"sort": 504,
"type": "text",
@ -1186,7 +1186,7 @@ var jsonContactsFields2 = `{
}
},
{
"id": 4440043,
"id": 9,
"name": "ContactsFields update",
"sort": 505,
"type": "date",
@ -1225,7 +1225,7 @@ var jsonCompaniesFields = `{
"_embedded": {
"custom_fields": [
{
"id": 4439091,
"id": 8,
"name": "CompaniesFields",
"sort": 504,
"type": "text",
@ -1248,7 +1248,7 @@ var jsonCompaniesFields = `{
}
},
{
"id": 4440043,
"id": 7,
"name": "CompaniesFields",
"sort": 505,
"type": "date",
@ -1287,7 +1287,7 @@ var jsonCompaniesFields2 = `{
"_embedded": {
"custom_fields": [
{
"id": 4439091,
"id": 6,
"name": "CompaniesFields update",
"sort": 504,
"type": "text",
@ -1310,7 +1310,7 @@ var jsonCompaniesFields2 = `{
}
},
{
"id": 4440043,
"id": 5,
"name": "CompaniesFields update",
"sort": 505,
"type": "date",
@ -1349,7 +1349,7 @@ var jsonCustomersFields = `{
"_embedded": {
"custom_fields": [
{
"id": 4439091,
"id": 4,
"name": "CustomersFields",
"sort": 504,
"type": "text",
@ -1372,7 +1372,7 @@ var jsonCustomersFields = `{
}
},
{
"id": 4440043,
"id": 3,
"name": "CustomersFields",
"sort": 505,
"type": "date",
@ -1411,7 +1411,7 @@ var jsonCustomersFields2 = `{
"_embedded": {
"custom_fields": [
{
"id": 4439091,
"id": 2,
"name": "CustomersFields update",
"sort": 504,
"type": "text",
@ -1434,7 +1434,7 @@ var jsonCustomersFields2 = `{
}
},
{
"id": 4440043,
"id": 1,
"name": "CustomersFields update",
"sort": 505,
"type": "date",