Skip to content

Commit

Permalink
confingure tagliatelle + remove batchTriggerSql from api
Browse files Browse the repository at this point in the history
  • Loading branch information
Pascal-Delange committed Sep 4, 2024
1 parent 549a931 commit db69790
Show file tree
Hide file tree
Showing 17 changed files with 83 additions and 65 deletions.
23 changes: 23 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,31 @@ linters:
- durationcheck
- sloglint
- unconvert
- tagliatelle

issues:
exclude-rules:
- path: repository/ingested_data_indexes_repository.go
text: "should be called, not discarded, to avoid a context leak"

linters-settings:
tagliatelle:
# Check the struct tag name case.
case:
# Use the struct field name to check the name of the struct tag.
# Default: false
use-field-name: true
# `camel` is used for `json` and `yaml`, and `header` is used for `header` (can be overridden)
# Default: {}
rules:
# Any struct tag type can be used.
# Support string case: `camel`, `pascal`, `kebab`, `snake`, `upperSnake`, `goCamel`, `goPascal`, `goKebab`, `goSnake`, `upper`, `lower`, `header`
json: snake
yaml: camel
xml: camel
toml: camel
bson: camel
avro: snake
mapstructure: kebab
env: upperSnake
envconfig: upperSnake
8 changes: 4 additions & 4 deletions api/handle_decision.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,9 +104,9 @@ func handlePostDecision(uc usecases.Usecases, marbleAppHost string) func(c *gin.
c.Request.Context(),
models.CreateDecisionInput{
OrganizationId: organizationId,
PayloadRaw: requestData.TriggerObjectRaw,
PayloadRaw: requestData.TriggerObject,
ScenarioId: requestData.ScenarioId,
TriggerObjectTable: requestData.TriggerObjectType,
TriggerObjectTable: requestData.ObjectType,
},
false,
true,
Expand Down Expand Up @@ -154,8 +154,8 @@ func handlePostAllDecisions(uc usecases.Usecases, marbleAppHost string) func(c *
c.Request.Context(),
models.CreateAllDecisionsInput{
OrganizationId: organizationId,
PayloadRaw: requestData.TriggerObjectRaw,
TriggerObjectTable: requestData.TriggerObjectType,
PayloadRaw: requestData.TriggerObject,
TriggerObjectTable: requestData.ObjectType,
},
)
if presentError(c, err) {
Expand Down
4 changes: 2 additions & 2 deletions dto/custom_list_dto.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ type CustomList struct {
Description string `json:"description"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
CreatedAt_deprec time.Time `json:"createdAt"`
UpdatedAt_deprec time.Time `json:"updatedAt"`
CreatedAt_deprec time.Time `json:"createdAt"` //nolint:tagliatelle
UpdatedAt_deprec time.Time `json:"updatedAt"` //nolint:tagliatelle
}

func AdaptCustomListDto(list models.CustomList) CustomList {
Expand Down
10 changes: 5 additions & 5 deletions dto/decision_dto.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,14 @@ type DecisionFilters struct {
}

type CreateDecisionBody struct {
TriggerObjectRaw json.RawMessage `json:"trigger_object" binding:"required"`
TriggerObjectType string `json:"object_type" binding:"required"`
TriggerObject json.RawMessage `json:"trigger_object" binding:"required"`
ObjectType string `json:"object_type" binding:"required"`
}

type CreateDecisionWithScenarioBody struct {
ScenarioId string `json:"scenario_id" binding:"required"`
TriggerObjectRaw json.RawMessage `json:"trigger_object" binding:"required"`
TriggerObjectType string `json:"object_type" binding:"required"`
ScenarioId string `json:"scenario_id" binding:"required"`
TriggerObject json.RawMessage `json:"trigger_object" binding:"required"`
ObjectType string `json:"object_type" binding:"required"`
}

type CreateDecisionInputDto struct {
Expand Down
10 changes: 5 additions & 5 deletions dto/dto_ast_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import (
)

type NodeDto struct {
FuncName string `json:"name,omitempty"`
Name string `json:"name,omitempty"`
Constant any `json:"constant,omitempty"`
Children []NodeDto `json:"children,omitempty"`
NamedChildren map[string]NodeDto `json:"named_children,omitempty"`
Expand All @@ -31,7 +31,7 @@ func AdaptNodeDto(node ast.Node) (NodeDto, error) {
}

return NodeDto{
FuncName: funcName,
Name: funcName,
Constant: node.Constant,
Children: childrenDto,
NamedChildren: namedChildrenDto,
Expand All @@ -44,11 +44,11 @@ func adaptDtoFunctionName(f ast.Function) (string, error) {
}

func AdaptASTNode(dto NodeDto) (ast.Node, error) {
if dto.FuncName == "Unknown" {
dto.FuncName = "Undefined"
if dto.Name == "Unknown" {
dto.Name = "Undefined"
}

function, err := adaptFunctionName(dto.FuncName)
function, err := adaptFunctionName(dto.Name)
if err != nil {
return ast.Node{}, err
}
Expand Down
4 changes: 2 additions & 2 deletions dto/dto_ast_node_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func TestAdaptNodeDto(t *testing.T) {
assert.NoError(t, err)
assert.Equal(t,
NodeDto{
FuncName: ">",
Name: ">",
Children: []NodeDto{{Constant: 1, Children: []NodeDto{}, NamedChildren: map[string]NodeDto{}}},
NamedChildren: map[string]NodeDto{"named": {Constant: 2, Children: []NodeDto{}, NamedChildren: map[string]NodeDto{}}},
},
Expand All @@ -29,7 +29,7 @@ func TestAdaptNodeDto(t *testing.T) {

func TestAdaptASTNode(t *testing.T) {
dto := NodeDto{
FuncName: "+",
Name: "+",
Children: []NodeDto{{Constant: 1, Children: []NodeDto{}, NamedChildren: map[string]NodeDto{}}},
NamedChildren: map[string]NodeDto{
"named": {Constant: 2, Children: []NodeDto{}, NamedChildren: map[string]NodeDto{}},
Expand Down
4 changes: 2 additions & 2 deletions dto/func_attributes_dto.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ import (
)

type FuncAttributesDto struct {
AstName string `json:"name"`
Name string `json:"name"`
NumberOfArguments int `json:"number_of_arguments,omitempty"`
NamedArguments []string `json:"named_arguments,omitempty"`
}

func AdaptFuncAttributesDto(attributes ast.FuncAttributes) FuncAttributesDto {
return FuncAttributesDto{
AstName: attributes.AstName,
Name: attributes.AstName,
NumberOfArguments: attributes.NumberOfArguments,
NamedArguments: attributes.NamedArguments,
}
Expand Down
1 change: 1 addition & 0 deletions dto/openapi.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//nolint:tagliatelle
package dto

import (
Expand Down
18 changes: 9 additions & 9 deletions dto/rule_dto.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,40 +9,40 @@ import (

type RuleDto struct {
Id string `json:"id"`
ScenarioIterationId_deprec string `json:"scenarioIterationId"`
ScenarioIterationId_deprec string `json:"scenarioIterationId"` //nolint:tagliatelle
ScenarioIterationId string `json:"scenario_iteration_id"`
DisplayOrder_deprec int `json:"displayOrder"`
DisplayOrder_deprec int `json:"displayOrder"` //nolint:tagliatelle
DisplayOrder int `json:"display_order"`
Name string `json:"name"`
Description string `json:"description"`
FormulaAstExpression *NodeDto `json:"formula_ast_expression"`
ScoreModifier_deprec int `json:"scoreModifier"`
ScoreModifier_deprec int `json:"scoreModifier"` //nolint:tagliatelle
ScoreModifier int `json:"score_modifier"`
CreatedAt_deprec time.Time `json:"createdAt"`
CreatedAt_deprec time.Time `json:"createdAt"` //nolint:tagliatelle
CreatedAt time.Time `json:"created_at"`
RuleGroup string `json:"rule_group"`
}

type CreateRuleInputBody struct {
ScenarioIterationId_deprec string `json:"scenarioIterationId"`
ScenarioIterationId_deprec string `json:"scenarioIterationId"` //nolint:tagliatelle
ScenarioIterationId string `json:"scenario_iteration_id"`
DisplayOrder_deprec int `json:"displayOrder"`
DisplayOrder_deprec int `json:"displayOrder"` //nolint:tagliatelle
DisplayOrder int `json:"display_order"`
Name string `json:"name"`
Description string `json:"description"`
FormulaAstExpression *NodeDto `json:"formula_ast_expression"`
ScoreModifier_deprec int `json:"scoreModifier"`
ScoreModifier_deprec int `json:"scoreModifier"` //nolint:tagliatelle
ScoreModifier int `json:"score_modifier"`
RuleGroup string `json:"rule_group"`
}

type UpdateRuleBody struct {
DisplayOrder_deprec *int `json:"displayOrder,omitempty"`
DisplayOrder_deprec *int `json:"displayOrder,omitempty"` //nolint:tagliatelle
DisplayOrder *int `json:"display_order,omitempty"`
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
FormulaAstExpression *NodeDto `json:"formula_ast_expression"`
ScoreModifier_deprec *int `json:"scoreModifier,omitempty"`
ScoreModifier_deprec *int `json:"scoreModifier,omitempty"` //nolint:tagliatelle
ScoreModifier *int `json:"score_modifier,omitempty"`
RuleGroup *string `json:"rule_group"`
}
Expand Down
2 changes: 1 addition & 1 deletion dto/rule_snoozes.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ type RuleSnooze struct {
Id string `json:"id"`
PivotValue string `json:"pivot_value"`
StartsAt time.Time `json:"starts_at"`
ExpiresAt time.Time `json:"ends_at"`
ExpiresAt time.Time `json:"ends_at"` //nolint:tagliatelle
CreatedByUser string `json:"created_by_user"`
CreatedFromDecisionId *string `json:"created_from_decision_id"`
CreatedFromRuleId string `json:"created_from_rule_id"`
Expand Down
26 changes: 10 additions & 16 deletions dto/scenario_iterations.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,23 +17,22 @@ type ScenarioIterationWithBodyDto struct {

type ScenarioIterationDto struct {
Id string `json:"id"`
ScenarioId_deprec string `json:"scenarioId"`
ScenarioId_deprec string `json:"scenarioId"` //nolint:tagliatelle
ScenarioId string `json:"scenario_id"`
Version *int `json:"version"`
CreatedAt_deprec time.Time `json:"createdAt"`
CreatedAt_deprec time.Time `json:"createdAt"` //nolint:tagliatelle
CreatedAt time.Time `json:"created_at"`
UpdatedAt_deprec time.Time `json:"updatedAt"`
UpdatedAt_deprec time.Time `json:"updatedAt"` //nolint:tagliatelle
UpdatedAt time.Time `json:"updated_at"`
}

type ScenarioIterationBodyDto struct {
TriggerConditionAstExpression *NodeDto `json:"trigger_condition_ast_expression"`
Rules []RuleDto `json:"rules"`
ScoreReviewThreshold_deprec *int `json:"scoreReviewThreshold"`
ScoreReviewThreshold_deprec *int `json:"scoreReviewThreshold"` //nolint:tagliatelle
ScoreReviewThreshold *int `json:"score_review_threshold"`
ScoreRejectThreshold_deprec *int `json:"scoreRejectThreshold"`
ScoreRejectThreshold_deprec *int `json:"scoreRejectThreshold"` //nolint:tagliatelle
ScoreRejectThreshold *int `json:"score_reject_threshold"`
BatchTriggerSQL string `json:"batchTriggerSql"` // TODO deprec
Schedule string `json:"schedule"`
}

Expand All @@ -43,7 +42,6 @@ func AdaptScenarioIterationWithBodyDto(si models.ScenarioIteration) (ScenarioIte
ScoreReviewThreshold: si.ScoreReviewThreshold,
ScoreRejectThreshold_deprec: si.ScoreRejectThreshold,
ScoreRejectThreshold: si.ScoreRejectThreshold,
BatchTriggerSQL: si.BatchTriggerSQL,
Schedule: si.Schedule,
Rules: make([]RuleDto, len(si.Rules)),
}
Expand Down Expand Up @@ -84,12 +82,11 @@ func AdaptScenarioIterationWithBodyDto(si models.ScenarioIteration) (ScenarioIte
type UpdateScenarioIterationBody struct {
Body struct {
TriggerConditionAstExpression *NodeDto `json:"trigger_condition_ast_expression"`
ScoreReviewThreshold_deprec *int `json:"scoreReviewThreshold,omitempty"`
ScoreReviewThreshold_deprec *int `json:"scoreReviewThreshold,omitempty"` //nolint:tagliatelle
ScoreReviewThreshold *int `json:"score_review_threshold,omitempty"`
ScoreRejectThreshold_deprec *int `json:"scoreRejectThreshold,omitempty"`
ScoreRejectThreshold_deprec *int `json:"scoreRejectThreshold,omitempty"` //nolint:tagliatelle
ScoreRejectThreshold *int `json:"score_reject_threshold,omitempty"`
Schedule *string `json:"schedule"`
BatchTriggerSQL *string `json:"batchTriggerSQL"`
} `json:"body,omitempty"`
}

Expand All @@ -100,7 +97,6 @@ func AdaptUpdateScenarioIterationInput(input UpdateScenarioIterationBody, iterat
ScoreReviewThreshold: input.Body.ScoreReviewThreshold,
ScoreRejectThreshold: input.Body.ScoreRejectThreshold,
Schedule: input.Body.Schedule,
BatchTriggerSQL: input.Body.BatchTriggerSQL,
},
}

Expand Down Expand Up @@ -128,17 +124,16 @@ func AdaptUpdateScenarioIterationInput(input UpdateScenarioIterationBody, iterat

// Create iteration DTO
type CreateScenarioIterationBody struct {
ScenarioId_deprec string `json:"scenarioId"`
ScenarioId_deprec string `json:"scenarioId"` //nolint:tagliatelle
ScenarioId string `json:"scenario_id"`
Body *struct {
TriggerConditionAstExpression *NodeDto `json:"trigger_condition_ast_expression"`
Rules []CreateRuleInputBody `json:"rules"`
ScoreReviewThreshold_deprec *int `json:"scoreReviewThreshold,omitempty"`
ScoreReviewThreshold_deprec *int `json:"scoreReviewThreshold,omitempty"` //nolint:tagliatelle
ScoreReviewThreshold *int `json:"score_review_threshold,omitempty"`
ScoreRejectThreshold_deprec *int `json:"scoreRejectThreshold,omitempty"`
ScoreRejectThreshold_deprec *int `json:"scoreRejectThreshold,omitempty"` //nolint:tagliatelle
ScoreRejectThreshold *int `json:"score_reject_threshold,omitempty"`
Schedule string `json:"schedule"`
BatchTriggerSQL string `json:"batchTriggerSQL"`
} `json:"body,omitempty"`
}

Expand All @@ -155,7 +150,6 @@ func AdaptCreateScenarioIterationInput(input CreateScenarioIterationBody, organi
createScenarioIterationInput.Body = &models.CreateScenarioIterationBody{
ScoreReviewThreshold: input.Body.ScoreReviewThreshold,
ScoreRejectThreshold: input.Body.ScoreRejectThreshold,
BatchTriggerSQL: input.Body.BatchTriggerSQL,
Schedule: input.Body.Schedule,
Rules: make([]models.CreateRuleInput, len(input.Body.Rules)),
}
Expand Down
12 changes: 6 additions & 6 deletions dto/scenario_publications.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ import (
type ScenarioPublication struct {
Id string `json:"id"`
Rank int32 `json:"rank"`
ScenarioId_deprec string `json:"scenarioID"`
ScenarioId_deprec string `json:"scenarioID"` //nolint:tagliatelle
ScenarioId string `json:"scenario_id"`
ScenarioIterationId_deprec string `json:"scenarioIterationID"`
ScenarioIterationId_deprec string `json:"scenarioIterationID"` //nolint:tagliatelle
ScenarioIterationId string `json:"scenario_iteration_id"`
PublicationAction_deprec string `json:"publicationAction"`
PublicationAction_deprec string `json:"publicationAction"` //nolint:tagliatelle
PublicationAction string `json:"publication_action"`
CreatedAt_deprec time.Time `json:"createdAt"`
CreatedAt_deprec time.Time `json:"createdAt"` //nolint:tagliatelle
CreatedAt time.Time `json:"created_at"`
}

Expand All @@ -35,9 +35,9 @@ func AdaptScenarioPublicationDto(sp models.ScenarioPublication) ScenarioPublicat
}

type CreateScenarioPublicationBody struct {
ScenarioIterationId_deprec string `json:"scenarioIterationID"`
ScenarioIterationId_deprec string `json:"scenarioIterationID"` //nolint:tagliatelle
ScenarioIterationId string `json:"scenario_iteration_id"`
PublicationAction_deprec string `json:"publicationAction"`
PublicationAction_deprec string `json:"publicationAction"` //nolint:tagliatelle
PublicationAction string `json:"publication_action"`
}

Expand Down
4 changes: 2 additions & 2 deletions dto/scenario_validation_dto.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ import (

type ScenarioValidationErrorDto struct {
Message string `json:"message"`
Code string `json:"error"`
Error string `json:"error"`
}

func AdaptScenarioValidationErrorDto(err models.ScenarioValidationError) ScenarioValidationErrorDto {
return ScenarioValidationErrorDto{
Message: err.Error.Error(),
Code: err.Code.String(),
Error: err.Code.String(),
}
}

Expand Down
8 changes: 4 additions & 4 deletions dto/scenarios.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@ import (
// Read DTO
type ScenarioDto struct {
Id string `json:"id"`
CreatedAt_deprec time.Time `json:"createdAt"`
CreatedAt_deprec time.Time //nolint:tagliatelle
CreatedAt time.Time `json:"created_at"`
DecisionToCaseOutcomes []string `json:"decision_to_case_outcomes"`
DecisionToCaseInboxId null.String `json:"decision_to_case_inbox_id"`
DecisionToCaseWorkflowType string `json:"decision_to_case_workflow_type"`
Description string `json:"description"`
LiveVersionID_deprec *string `json:"liveVersionId,omitempty"`
LiveVersionID_deprec *string `json:"liveVersionId,omitempty"` //nolint:tagliatelle
LiveVersionID *string `json:"live_version_id,omitempty"`
Name string `json:"name"`
OrganizationId string `json:"organization_id"`
TriggerObjectType_deprec string `json:"triggerObjectType"`
TriggerObjectType_deprec string `json:"triggerObjectType"` //nolint:tagliatelle
TriggerObjectType string `json:"trigger_object_type"`
}

Expand All @@ -48,7 +48,7 @@ func AdaptScenarioDto(scenario models.Scenario) ScenarioDto {
type CreateScenarioBody struct {
Name string `json:"name"`
Description string `json:"description"`
TriggerObjectType_deprec string `json:"triggerObjectType"`
TriggerObjectType_deprec string `json:"triggerObjectType"` //nolint:tagliatelle
TriggerObjectType string `json:"trigger_object_type"`
}

Expand Down
Loading

0 comments on commit db69790

Please sign in to comment.