init rule methods in amo repo
This commit is contained in:
parent
b6b8f67cb6
commit
9cbe8b6b27
@ -944,5 +944,5 @@ RETURNING *;
|
||||
-- name: ChangeQuizSettings :one
|
||||
UPDATE rules
|
||||
SET PerformerID = $1,PipelineID = $2,StepID = $3,UTMS = $4,FieldsRule = $5
|
||||
WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $6) AND QuizID = $7
|
||||
WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $6) AND QuizID = $7 AND Deleted = false
|
||||
RETURNING *;
|
||||
|
||||
@ -117,7 +117,7 @@ func (q *Queries) ArchiveQuiz(ctx context.Context, arg ArchiveQuizParams) error
|
||||
const changeQuizSettings = `-- name: ChangeQuizSettings :one
|
||||
UPDATE rules
|
||||
SET PerformerID = $1,PipelineID = $2,StepID = $3,UTMS = $4,FieldsRule = $5
|
||||
WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $6) AND QuizID = $7
|
||||
WHERE AccountID = (SELECT AmoID FROM users WHERE users.AccountID = $6) AND QuizID = $7 AND Deleted = false
|
||||
RETURNING id, accountid, quizid, performerid, pipelineid, stepid, utms, fieldsrule, deleted, createdat
|
||||
`
|
||||
|
||||
|
||||
14
model/amo.go
14
model/amo.go
@ -129,19 +129,19 @@ const (
|
||||
|
||||
type Rule struct {
|
||||
/* - айдишник в нашей системе*/
|
||||
ID int `json:"ID"`
|
||||
ID int64 `json:"ID"`
|
||||
/* - связь с аккаунтом в интеграции амо id в амо*/
|
||||
Accountid int `json:"AccountID"`
|
||||
Accountid int32 `json:"AccountID"`
|
||||
/* - айдишник опроса*/
|
||||
Quizid int `json:"QuizID"`
|
||||
Quizid int32 `json:"QuizID"`
|
||||
/* - айдишник ответственного за сделку*/
|
||||
Performerid int `json:"PerformerID"`
|
||||
Performerid int32 `json:"PerformerID"`
|
||||
/* - айдишник воронки*/
|
||||
Pipelineid int `json:"PipelineID"`
|
||||
Pipelineid int32 `json:"PipelineID"`
|
||||
/* - айдишник этапа*/
|
||||
Stepid int `json:"StepID"`
|
||||
Stepid int32 `json:"StepID"`
|
||||
/* - список UTM для этого опроса*/
|
||||
Utms []int `json:"UTMs"`
|
||||
Utms []int32 `json:"UTMs"`
|
||||
/* - правила заполнения полей сущностей в амо*/
|
||||
Fieldsrule Fieldsrule `json:"FieldsRule"`
|
||||
/* - флаг мягкого удаления*/
|
||||
|
||||
@ -13,10 +13,10 @@ type PaginationReq struct {
|
||||
}
|
||||
|
||||
type RulesReq struct {
|
||||
PerformerID int // айдишник ответственного за сделку
|
||||
PipelineID int // айдишник воронки
|
||||
StepID int // айдишник этапа
|
||||
Utms []int // список UTM для этого опроса
|
||||
PerformerID int32 // айдишник ответственного за сделку
|
||||
PipelineID int32 // айдишник воронки
|
||||
StepID int32 // айдишник этапа
|
||||
Utms []int32 // список UTM для этого опроса
|
||||
Fieldsrule Fieldsrule // правила заполнения полей сущностей в амо
|
||||
}
|
||||
|
||||
|
||||
@ -584,24 +584,94 @@ func (r *AmoRepository) CheckFields(ctx context.Context, fields []model.Field, t
|
||||
|
||||
// методы rules
|
||||
|
||||
func (r *AmoRepository) ChangeQuizSettings(ctx context.Context, request *model.RulesReq, accountID string, quizID int) error {
|
||||
//TODO:IMPLEMENT ME
|
||||
func (r *AmoRepository) ChangeQuizSettings(ctx context.Context, request *model.RulesReq, accountID string, quizID int) (*model.Rule, error) {
|
||||
jsonFieldRule, err := json.Marshal(request.Fieldsrule)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
row, err := r.queries.ChangeQuizSettings(ctx, sqlcgen.ChangeQuizSettingsParams{
|
||||
Performerid: request.PerformerID,
|
||||
Pipelineid: request.PipelineID,
|
||||
Stepid: request.StepID,
|
||||
Utms: request.Utms,
|
||||
Fieldsrule: jsonFieldRule,
|
||||
Accountid: accountID,
|
||||
Quizid: int32(quizID),
|
||||
})
|
||||
|
||||
return nil
|
||||
var fieldsRule model.Fieldsrule
|
||||
err = json.Unmarshal(row.Fieldsrule, &fieldsRule)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &model.Rule{
|
||||
ID: row.ID,
|
||||
Accountid: row.Accountid,
|
||||
Quizid: row.Quizid,
|
||||
Performerid: row.Performerid,
|
||||
Pipelineid: row.Pipelineid,
|
||||
Stepid: row.Stepid,
|
||||
Utms: row.Utms,
|
||||
Fieldsrule: fieldsRule,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *AmoRepository) SetQuizSettings(ctx context.Context, request *model.RulesReq, accountID string, quizID int) error {
|
||||
func (r *AmoRepository) SetQuizSettings(ctx context.Context, request *model.RulesReq, accountID string, quizID int) (*model.Rule, error) {
|
||||
jsonFieldRule, err := json.Marshal(request.Fieldsrule)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
row, err := r.queries.SetQuizSettings(ctx, sqlcgen.SetQuizSettingsParams{
|
||||
Performerid: request.PerformerID,
|
||||
Pipelineid: request.PipelineID,
|
||||
Stepid: request.StepID,
|
||||
Utms: request.Utms,
|
||||
Fieldsrule: jsonFieldRule,
|
||||
Accountid: accountID,
|
||||
Quizid: int32(quizID),
|
||||
})
|
||||
|
||||
return nil
|
||||
var fieldsRule model.Fieldsrule
|
||||
err = json.Unmarshal(row.Fieldsrule, &fieldsRule)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &model.Rule{
|
||||
ID: row.ID,
|
||||
Accountid: row.Accountid,
|
||||
Quizid: row.Quizid,
|
||||
Performerid: row.Performerid,
|
||||
Pipelineid: row.Pipelineid,
|
||||
Stepid: row.Stepid,
|
||||
Utms: row.Utms,
|
||||
Fieldsrule: fieldsRule,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (r *AmoRepository) GettingQuizRules(ctx context.Context) (*model.Rule, error) {
|
||||
//TODO:IMPLEMENT ME
|
||||
func (r *AmoRepository) GettingQuizRules(ctx context.Context, quizID int) (*model.Rule, error) {
|
||||
row, err := r.queries.GetQuizRule(ctx, int32(quizID))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &model.Rule{}, nil
|
||||
var fieldsRule model.Fieldsrule
|
||||
err = json.Unmarshal(row.Fieldsrule, &fieldsRule)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &model.Rule{
|
||||
ID: row.ID,
|
||||
Accountid: row.Accountid,
|
||||
Quizid: row.Quizid,
|
||||
Performerid: row.Performerid,
|
||||
Pipelineid: row.Pipelineid,
|
||||
Stepid: row.Stepid,
|
||||
Utms: row.Utms,
|
||||
Fieldsrule: fieldsRule,
|
||||
}, nil
|
||||
}
|
||||
|
||||
// методы UTMs
|
||||
|
||||
Loading…
Reference in New Issue
Block a user