Skip to content
This repository was archived by the owner on May 24, 2024. It is now read-only.

Commit f3f0abd

Browse files
DA-4830
Signed-off-by: Łukasz Gryglicki <[email protected]>
1 parent c65c561 commit f3f0abd

File tree

3 files changed

+80
-64
lines changed

3 files changed

+80
-64
lines changed

cmd/confluence/confluence.go

Lines changed: 74 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ const (
4141
ConfluenceDataSource = "confluence"
4242
// ConfluenceDefaultStream - Stream To Publish confluence
4343
ConfluenceDefaultStream = "PUT-S3-confluence"
44+
// ConfluenceAddHistoryCreatedByRole - should we add contributor for history->createdBy page version edit?
45+
ConfluenceAddHistoryCreatedByRole = false
46+
// ConfluenceAddHistoryLastUpdatedByRole - should we add contributor for history->lastUpdatedBy page version edit?
47+
ConfluenceAddHistoryLastUpdatedByRole = false
4448
)
4549

4650
var (
@@ -865,19 +869,23 @@ func (j *DSConfluence) EnrichItem(ctx *shared.Ctx, item map[string]interface{})
865869
avatar, _ := iAvatar.(string)
866870
rich["avatar"] = j.URL + avatar
867871
}
868-
iAvatar, ok = shared.Dig(page, []string{"history", "createdBy", "profilePicture", "path"}, false, true)
869-
if ok {
870-
avatar, _ := iAvatar.(string)
871-
rich["created_by_avatar"] = j.URL + avatar
872+
rich["by_name"], rich["by_username"], rich["by_email"] = j.GetRoleIdentity(item)
873+
if ConfluenceAddHistoryCreatedByRole {
874+
iAvatar, ok = shared.Dig(page, []string{"history", "createdBy", "profilePicture", "path"}, false, true)
875+
if ok {
876+
avatar, _ := iAvatar.(string)
877+
rich["created_by_avatar"] = j.URL + avatar
878+
}
879+
rich["created_by_name"], rich["created_by_username"], rich["created_by_email"] = j.GetCreatedRoleIdentity(ctx, item)
872880
}
873-
iAvatar, ok = shared.Dig(page, []string{"history", "lastUpdated", "by", "profilePicture", "path"}, false, true)
874-
if ok {
875-
avatar, _ := iAvatar.(string)
876-
rich["updated_by_avatar"] = j.URL + avatar
881+
if ConfluenceAddHistoryLastUpdatedByRole {
882+
iAvatar, ok = shared.Dig(page, []string{"history", "lastUpdated", "by", "profilePicture", "path"}, false, true)
883+
if ok {
884+
avatar, _ := iAvatar.(string)
885+
rich["updated_by_avatar"] = j.URL + avatar
886+
}
887+
rich["updated_by_name"], rich["updated_by_username"], rich["updated_by_email"] = j.GetLastUpdatedRoleIdentity(ctx, item)
877888
}
878-
rich["by_name"], rich["by_username"], rich["by_email"] = j.GetRoleIdentity(item)
879-
rich["created_by_name"], rich["created_by_username"], rich["created_by_email"] = j.GetCreatedRoleIdentity(ctx, item)
880-
rich["updated_by_name"], rich["updated_by_username"], rich["updated_by_email"] = j.GetLastUpdatedRoleIdentity(ctx, item)
881889
// From shared
882890
rich["metadata__enriched_on"] = time.Now()
883891
// rich[ProjectSlug] = ctx.ProjectSlug
@@ -1175,59 +1183,63 @@ func (j *DSConfluence) GetModelData(ctx *shared.Ctx, docs []interface{}) (data m
11751183
},
11761184
},
11771185
}
1178-
name, _ = doc["created_by_name"].(string)
1179-
username, _ = doc["created_by_username"].(string)
1180-
email, _ = doc["created_by_email"].(string)
1181-
if name != "" || username != "" || email != "" {
1182-
avatar, _ = doc["created_by_avatar"].(string)
1183-
// No identity data postprocessing in V2
1184-
// name, username = shared.PostprocessNameUsername(name, username, email)
1185-
userID, err = user.GenerateIdentity(&source, &email, &name, &username)
1186-
if err != nil {
1187-
shared.Printf("GenerateIdentity(%s,%s,%s,%s): %+v for %+v", source, email, name, username, err, doc)
1188-
return
1189-
}
1190-
contributor := insights.Contributor{
1191-
Role: insights.AuthorRole,
1192-
Weight: 1.0,
1193-
Identity: user.UserIdentityObjectBase{
1194-
ID: userID,
1195-
Email: email,
1196-
IsVerified: false,
1197-
Name: name,
1198-
Username: username,
1199-
Source: ConfluenceDataSource,
1200-
Avatar: avatar,
1201-
},
1202-
}
1203-
contributors = append(contributors, contributor)
1204-
}
1205-
name, _ = doc["updated_by_name"].(string)
1206-
username, _ = doc["updated_by_username"].(string)
1207-
email, _ = doc["updated_by_email"].(string)
1208-
if name != "" || username != "" || email != "" {
1209-
avatar, _ = doc["updated_by_avatar"].(string)
1210-
// No identity data postprocessing in V2
1211-
// name, username = shared.PostprocessNameUsername(name, username, email)
1212-
userID, err = user.GenerateIdentity(&source, &email, &name, &username)
1213-
if err != nil {
1214-
shared.Printf("GenerateIdentity(%s,%s,%s,%s): %+v for %+v", source, email, name, username, err, doc)
1215-
return
1186+
if ConfluenceAddHistoryCreatedByRole {
1187+
name, _ = doc["created_by_name"].(string)
1188+
username, _ = doc["created_by_username"].(string)
1189+
email, _ = doc["created_by_email"].(string)
1190+
if name != "" || username != "" || email != "" {
1191+
avatar, _ = doc["created_by_avatar"].(string)
1192+
// No identity data postprocessing in V2
1193+
// name, username = shared.PostprocessNameUsername(name, username, email)
1194+
userID, err = user.GenerateIdentity(&source, &email, &name, &username)
1195+
if err != nil {
1196+
shared.Printf("GenerateIdentity(%s,%s,%s,%s): %+v for %+v", source, email, name, username, err, doc)
1197+
return
1198+
}
1199+
contributor := insights.Contributor{
1200+
Role: insights.AuthorRole,
1201+
Weight: 1.0,
1202+
Identity: user.UserIdentityObjectBase{
1203+
ID: userID,
1204+
Email: email,
1205+
IsVerified: false,
1206+
Name: name,
1207+
Username: username,
1208+
Source: ConfluenceDataSource,
1209+
Avatar: avatar,
1210+
},
1211+
}
1212+
contributors = append(contributors, contributor)
12161213
}
1217-
contributor := insights.Contributor{
1218-
Role: insights.AuthorRole,
1219-
Weight: 1.0,
1220-
Identity: user.UserIdentityObjectBase{
1221-
ID: userID,
1222-
Email: email,
1223-
IsVerified: false,
1224-
Name: name,
1225-
Username: username,
1226-
Source: ConfluenceDataSource,
1227-
Avatar: avatar,
1228-
},
1214+
}
1215+
if ConfluenceAddHistoryLastUpdatedByRole {
1216+
name, _ = doc["updated_by_name"].(string)
1217+
username, _ = doc["updated_by_username"].(string)
1218+
email, _ = doc["updated_by_email"].(string)
1219+
if name != "" || username != "" || email != "" {
1220+
avatar, _ = doc["updated_by_avatar"].(string)
1221+
// No identity data postprocessing in V2
1222+
// name, username = shared.PostprocessNameUsername(name, username, email)
1223+
userID, err = user.GenerateIdentity(&source, &email, &name, &username)
1224+
if err != nil {
1225+
shared.Printf("GenerateIdentity(%s,%s,%s,%s): %+v for %+v", source, email, name, username, err, doc)
1226+
return
1227+
}
1228+
contributor := insights.Contributor{
1229+
Role: insights.AuthorRole,
1230+
Weight: 1.0,
1231+
Identity: user.UserIdentityObjectBase{
1232+
ID: userID,
1233+
Email: email,
1234+
IsVerified: false,
1235+
Name: name,
1236+
Username: username,
1237+
Source: ConfluenceDataSource,
1238+
Avatar: avatar,
1239+
},
1240+
}
1241+
contributors = append(contributors, contributor)
12291242
}
1230-
contributors = append(contributors, contributor)
12311243
}
12321244
confluenceContentID, err = insightsConf.GenerateConfluenceContentID(j.URL, nonEmptySpaceID, string(contentType), entityID)
12331245
if err != nil {

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ module github.com/LF-Engineering/insights-connector-confluence
33
go 1.17
44

55
require (
6-
github.com/LF-Engineering/insights-datasource-shared v1.4.2-0.20220309073146-6f42257b2791
7-
github.com/LF-Engineering/lfx-event-schema v0.1.9-0.20220309224940-67adf60a9f3b
6+
github.com/LF-Engineering/insights-datasource-shared v1.4.3-0.20220314162813-49e8868ac871
7+
github.com/LF-Engineering/lfx-event-schema v0.1.11-0.20220315154946-b6384c70b245
88
github.com/aws/aws-sdk-go v1.43.3
99
github.com/json-iterator/go v1.1.12
1010
)

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ github.com/LF-Engineering/insights-datasource-shared v1.4.2-0.20220309072152-e3b
1818
github.com/LF-Engineering/insights-datasource-shared v1.4.2-0.20220309072152-e3b65cc32906/go.mod h1:cy/YH2aldmSRGUg9XUe6W+rW+m7p2N8RsSSwyATIe9Y=
1919
github.com/LF-Engineering/insights-datasource-shared v1.4.2-0.20220309073146-6f42257b2791 h1:G9yMWyDeqCWMwFmCzc5RLCf4NIdccNpgkfjTNPWSkWU=
2020
github.com/LF-Engineering/insights-datasource-shared v1.4.2-0.20220309073146-6f42257b2791/go.mod h1:cy/YH2aldmSRGUg9XUe6W+rW+m7p2N8RsSSwyATIe9Y=
21+
github.com/LF-Engineering/insights-datasource-shared v1.4.3-0.20220314162813-49e8868ac871 h1:7DT1e8zUIjxAdlzJkB0pWfwMTZyQA5JE8aPqTm3Mph8=
22+
github.com/LF-Engineering/insights-datasource-shared v1.4.3-0.20220314162813-49e8868ac871/go.mod h1:cy/YH2aldmSRGUg9XUe6W+rW+m7p2N8RsSSwyATIe9Y=
2123
github.com/LF-Engineering/lfx-event-schema v0.1.7 h1:XqRKTsoQUccBd9BT7JLHedCMp1lz9n3WaM8X80R6eIQ=
2224
github.com/LF-Engineering/lfx-event-schema v0.1.7/go.mod h1:GvEBmXvYGafFRIpZ6I0G5Ss4jsmkBNptLJIasLClXu8=
2325
github.com/LF-Engineering/lfx-event-schema v0.1.8-0.20220217061411-fc08702ce26c h1:ZFYTdRhwWu9o9OvrMMU4NLJnAPQiksCXYNkp0e01Fdo=
@@ -46,6 +48,8 @@ github.com/LF-Engineering/lfx-event-schema v0.1.9-0.20220305065714-d0c576bbcaba
4648
github.com/LF-Engineering/lfx-event-schema v0.1.9-0.20220305065714-d0c576bbcaba/go.mod h1:GvEBmXvYGafFRIpZ6I0G5Ss4jsmkBNptLJIasLClXu8=
4749
github.com/LF-Engineering/lfx-event-schema v0.1.9-0.20220309224940-67adf60a9f3b h1:qFpaYdxhWUOzWdTJTNNLbIfqGyMxQJEIFaGmQtr835M=
4850
github.com/LF-Engineering/lfx-event-schema v0.1.9-0.20220309224940-67adf60a9f3b/go.mod h1:GvEBmXvYGafFRIpZ6I0G5Ss4jsmkBNptLJIasLClXu8=
51+
github.com/LF-Engineering/lfx-event-schema v0.1.11-0.20220315154946-b6384c70b245 h1:z6hNqnqL37A67z+uI4J6pGTAFm2Z9bgFVUdyiKBe1jI=
52+
github.com/LF-Engineering/lfx-event-schema v0.1.11-0.20220315154946-b6384c70b245/go.mod h1:CfFIZ4mwzo88umf5+KxDQEzqlVkPG7Vx8eLK2oDfWIs=
4953
github.com/alecthomas/jsonschema v0.0.0-20210920000243-787cd8204a0d/go.mod h1:/n6+1/DWPltRLWL/VKyUxg6tzsl5kHUCcraimt4vr60=
5054
github.com/avast/retry-go v3.0.0+incompatible h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0=
5155
github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY=

0 commit comments

Comments
 (0)