Skip to content

Commit 200e723

Browse files
authored
Merge pull request #62 from aisa-it/add/BAK-319
add BAK-319
2 parents 14408f7 + 8061afb commit 200e723

30 files changed

+522
-487
lines changed

aiplan.go/internal/aiplan/activity-tracker/activity-func.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ func entityUpdatedActivity[E dao.Entity, A dao.Activity](
2525
actor dao.User) ([]A, error) {
2626
result := make([]A, 0)
2727
for key := range requestedData {
28-
if f := getFuncUpdate[E, A](actField.ActivityField(key)); f != nil {
28+
if f := getFuncUpdate[E, A](key); f != nil {
2929
acts, err := f(tracker, requestedData, currentInstance, entity, actor)
3030
if err != nil {
3131
return nil, ErrStack.TrackErrorStack(err)

aiplan.go/internal/aiplan/activity-tracker/entity-activities.go

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -49,93 +49,93 @@ func (t *ActivitiesTracker) RegisterHandler(handler ActivityHandler) {
4949
}
5050

5151
// attachment (issue(+),)
52-
func getFuncUpdate[E dao.Entity, A dao.Activity](field actField.ActivityField) activityFuncGen[E, A] {
52+
func getFuncUpdate[E dao.Entity, A dao.Activity](field string) activityFuncGen[E, A] {
5353
switch field {
54-
case actField.ReqAssignees: // issue(+)
54+
case actField.Assignees.Req: // issue(+)
5555
return issueAssigneesUpdate[E, A]
56-
case actField.ReqWatchers: // issue(+)
56+
case actField.Watchers.Req: // issue(+)
5757
return entityWatchersUpdate[E, A]
58-
case actField.ReqReaders:
58+
case actField.Readers.Req:
5959
return entityReadersUpdate[E, A]
60-
case actField.ReqEditors:
60+
case actField.Editors.Req:
6161
return entityEditorsUpdate[E, A]
62-
case actField.ReqIssues:
62+
case actField.Issues.Req:
6363
return entityIssuesUpdate[E, A]
64-
case actField.ReqSprint:
64+
case actField.Sprint.Req:
6565
return entitySprintUpdate[E, A]
66-
case actField.ReqName: // issue(+)
66+
case actField.Name.Req: // issue(+)
6767
return entityNameUpdate[E, A]
68-
case actField.ReqTemplate:
68+
case actField.Template.Req:
6969
return entityTemplateUpdate[E, A]
70-
case actField.ReqLogo: // issue(+)
70+
case actField.Logo.Req: // issue(+)
7171
return entityLogoUpdate[E, A]
72-
case actField.ReqToken:
72+
case actField.Token.Req:
7373
return entityTokenUpdate[E, A]
74-
case actField.ReqOwner:
74+
case actField.Owner.Req:
7575
return entityOwnerUpdate[E, A]
76-
case actField.ReqTitle:
76+
case actField.Title.Req:
7777
return entityTitleUpdate[E, A]
78-
case actField.ReqEmoj:
78+
case actField.Emoj.Req:
7979
return entityEmojiUpdate[E, A]
80-
case actField.ReqPublic:
80+
case actField.Public.Req:
8181
return entityPublicUpdate[E, A]
82-
case actField.ReqIdentifier:
82+
case actField.Identifier.Req:
8383
return entityIdentifierUpdate[E, A]
84-
case actField.ReqProjectLead:
84+
case actField.ProjectLead.Req:
8585
return entityProjectLeadUpdate[E, A]
86-
case actField.ReqPriority: // issue(+)
86+
case actField.Priority.Req: // issue(+)
8787
return entityPriorityUpdate[E, A]
88-
case actField.ReqRole:
88+
case actField.Role.Req:
8989
return entityRoleUpdate[E, A]
90-
case actField.ReqDefaultAssignees:
90+
case actField.DefaultAssignees.Req:
9191
return entityDefaultAssigneesUpdate[E, A]
92-
case actField.ReqDefaultWatchers:
92+
case actField.DefaultWatchers.Req:
9393
return entityDefaultWatchersUpdate[E, A]
94-
case actField.ReqDescription: // issue(+)
94+
case actField.Description.Req: // issue(+)
9595
return entityDescriptionUpdate[E, A]
96-
case actField.ReqDescriptionHtml: // issue(+)
96+
case actField.DescriptionHtml.Req: // issue(+)
9797
return entityDescriptionHtmlUpdate[E, A]
98-
case actField.ReqColor:
98+
case actField.Color.Req:
9999
return entityColorUpdate[E, A]
100-
case actField.ReqTargetDate: // issue(+)
100+
case actField.TargetDate.Req: // issue(+)
101101
return entityTargetDateUpdate[E, A]
102-
case actField.ReqStartDate:
102+
case actField.StartDate.Req:
103103
return entityStartDateUpdate[E, A]
104-
case actField.ReqCompletedAt:
104+
case actField.CompletedAt.Req:
105105
return entityCompletedAtUpdate[E, A]
106-
case actField.ReqEndDate:
106+
case actField.EndDate.Req:
107107
return entityEndDateUpdate[E, A]
108-
case actField.ReqLabel: // issue(+)
108+
case actField.Label.Req: // issue(+)
109109
return entityLabelUpdate[E, A]
110-
case actField.ReqAuthRequire:
110+
case actField.AuthRequire.Req:
111111
return entityAuthRequireUpdate[E, A]
112-
case actField.ReqFields:
112+
case actField.Fields.Req:
113113
return entityFieldsUpdate[E, A]
114-
case actField.ReqGroup:
114+
case actField.Group.Req:
115115
return entityGroupUpdate[E, A]
116-
case actField.ReqState: // issue(+)
116+
case actField.Status.Req: // issue(+)
117117
return entityStateUpdate[E, A]
118-
case actField.ReqParent:
118+
case actField.Parent.Req:
119119
return issueParentUpdate[E, A]
120-
case actField.ReqDefault:
120+
case actField.Default.Req:
121121
return entityDefaultUpdate[E, A]
122-
case actField.ReqEstimatePoint:
122+
case actField.EstimatePoint.Req:
123123
return entityEstimatePointUpdate[E, A]
124-
case actField.ReqBlocksList:
124+
case actField.Blocks.Req:
125125
return issueBlocksListUpdate[E, A]
126-
case actField.ReqBlockersList:
126+
case actField.Blocking.Req:
127127
return issueBlockersListUpdate[E, A]
128-
case actField.ReqUrl: // issue(+)
128+
case actField.Url.Req: // issue(+)
129129
return entityUrlUpdate[E, A]
130-
case actField.ReqCommentHtml: // issue(+)
130+
case actField.Comment.Req: // issue(+)
131131
return entityCommentHtmlUpdate[E, A]
132-
case actField.ReqDocSort:
132+
case actField.DocSort.Req:
133133
return entityDocSortUpdate[E, A]
134-
case actField.ReqLinked:
134+
case actField.Linked.Req:
135135
return issueLinkedUpdate[E, A]
136-
case actField.ReqEditorRole:
136+
case actField.EditorRole.Req:
137137
return entityEditorRoleUpdate[E, A]
138-
case actField.ReqReaderRole:
138+
case actField.ReaderRole.Req:
139139
return entityReaderRoleUpdate[E, A]
140140
}
141141
return nil

aiplan.go/internal/aiplan/activity-tracker/template-activity.go

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,7 @@ func entityFieldUpdate[E dao.Entity, A dao.Activity](
127127

128128
// entityFieldsListUpdate Обновляет список сутностей по указанному полю. Выполняет массовые изменения (добавление и удаление) сутностей, связанных с данным полем. Использует данные из `requestedData` для обновления или добавления/удаления сутностей. Работает с несколькими сутностями одновременно.
129129
func entityFieldsListUpdate[E dao.Entity, A dao.Activity, T dao.IDaoAct](
130-
field actField.ActivityField,
131-
requestedName string,
130+
act actField.FieldMapping,
132131
tracker *ActivitiesTracker,
133132
requestedData map[string]interface{},
134133
currentInstance map[string]interface{},
@@ -137,13 +136,13 @@ func entityFieldsListUpdate[E dao.Entity, A dao.Activity, T dao.IDaoAct](
137136

138137
result := make([]A, 0)
139138

140-
f := field.String()
141-
if v, ok := requestedData[field.WithGetFieldStr()]; ok {
139+
f := act.Field.String()
140+
if v, ok := requestedData[act.Field.WithGetFieldStr()]; ok {
142141
f = v.(string)
143142
}
144143

145144
oldEntities := currentInstance[f].([]interface{})
146-
newEntities := requestedData[requestedName].([]interface{})
145+
newEntities := requestedData[act.Req].([]interface{})
147146
changes := utils.CalculateIDChanges(newEntities, oldEntities)
148147

149148
var involvedEntities []T
@@ -168,20 +167,20 @@ func entityFieldsListUpdate[E dao.Entity, A dao.Activity, T dao.IDaoAct](
168167

169168
if err := query.
170169
Find(&involvedEntities).Error; err != nil {
171-
return result, ErrStack.TrackErrorStack(err).AddContext("field", field)
170+
return result, ErrStack.TrackErrorStack(err).AddContext("field", act.Field.String())
172171
}
173172

174173
entityMap := mapEntity(involvedEntities)
175174

176175
if fieldLog, ok := requestedData["field_log"]; ok {
177-
field = fieldLog.(actField.ActivityField)
176+
act.Field = fieldLog.(actField.ActivityField)
178177
}
179178

180179
for _, id := range changes.DelIds {
181180

182181
oldV := entityMap[id.String()].GetString()
183182
oldId := id.String()
184-
templateActivity := dao.NewTemplateActivity(actField.VerbRemoved, field, &oldV, "", nil, &oldId, &actor, oldV)
183+
templateActivity := dao.NewTemplateActivity(actField.VerbRemoved, act.Field, &oldV, "", nil, &oldId, &actor, oldV)
185184
if act, err := CreateActivity[E, A](entity, templateActivity); err != nil {
186185
ErrStack.GetError(nil, ErrStack.TrackErrorStack(err).AddContext("comment", templateActivity.Comment))
187186
continue
@@ -194,7 +193,7 @@ func entityFieldsListUpdate[E dao.Entity, A dao.Activity, T dao.IDaoAct](
194193

195194
newV := entityMap[id.String()].GetString()
196195
newId := id.String()
197-
templateActivity := dao.NewTemplateActivity(actField.VerbAdded, field, nil, newV, &newId, nil, &actor, newV)
196+
templateActivity := dao.NewTemplateActivity(actField.VerbAdded, act.Field, nil, newV, &newId, nil, &actor, newV)
198197
if act, err := CreateActivity[E, A](entity, templateActivity); err != nil {
199198
ErrStack.GetError(nil, ErrStack.TrackErrorStack(err).AddContext("comment", templateActivity.Comment))
200199
continue

0 commit comments

Comments
 (0)