Skip to content

Commit 5095e78

Browse files
committed
Resolved the lint failure error
1 parent bd1a54a commit 5095e78

2 files changed

Lines changed: 160 additions & 17 deletions

File tree

microsoft365/table_microsoft365_organization.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,10 @@ func organizationColumns() []*plugin.Column {
2323
{Name: "preferred_language", Type: proto.ColumnType_STRING, Description: "The preferred language for the organization.", Transform: transform.FromMethod("GetPreferredLanguage")},
2424

2525
// JSON Fields for complex settings with hydrate functions
26-
{Name: "sharepoint_settings", Type: proto.ColumnType_JSON, Description: "SharePoint tenant settings", Hydrate: getSharePointSettings, Transform: transform.FromMethod("SharePointSettingsDetails")},
27-
{Name: "authentication_settings", Type: proto.ColumnType_JSON, Description: "Authentication methods policy settings", Hydrate: getAuthenticationSettings, Transform: transform.FromMethod("AuthenticationSettingsDetails")},
28-
{Name: "security_settings", Type: proto.ColumnType_JSON, Description: "Microsoft Security organization settings including alerts, secure scores, and data governance", Hydrate: getSecuritySettings, Transform: transform.FromMethod("SecuritySettingsDetails")},
26+
{Name: "sharepoint_settings", Type: proto.ColumnType_JSON, Description: "SharePoint tenant settings.", Hydrate: getSharePointSettings, Transform: transform.FromMethod("SharePointSettingsDetails")},
27+
{Name: "authentication_settings", Type: proto.ColumnType_JSON, Description: "Authentication methods policy settings.", Hydrate: getAuthenticationSettings, Transform: transform.FromMethod("AuthenticationSettingsDetails")},
28+
{Name: "security_default_enforcement_policy", Type: proto.ColumnType_JSON, Description: "Identity security defaults enforcement policy.", Hydrate: getSecurityDefaultEnforcementPolicy, Transform: transform.FromMethod("SecurityDefaultsEnforcementPolicyDetails")},
29+
{Name: "security_settings", Type: proto.ColumnType_JSON, Description: "Microsoft Security organization settings including alerts, secure scores, and data governance.", Hydrate: getSecuritySettings, Transform: transform.FromMethod("SecuritySettingsDetails")},
2930

3031
// Organization complex fields
3132
{Name: "assigned_plans", Type: proto.ColumnType_JSON, Description: "The collection of service plans associated with the tenant.", Transform: transform.FromMethod("OrganizationAssignedPlans")},
@@ -48,7 +49,7 @@ func organizationColumns() []*plugin.Column {
4849
func tableMicrosoft365Organization(_ context.Context) *plugin.Table {
4950
return &plugin.Table{
5051
Name: "microsoft365_organization",
51-
Description: "Microsoft 365 organization information including SharePoint, authentication, and security settings.",
52+
Description: "Microsoft 365 organization information including SharePoint, authentication, security defaults, and security settings.",
5253
List: &plugin.ListConfig{
5354
Hydrate: listMicrosoft365Organization,
5455
IgnoreConfig: &plugin.IgnoreConfig{
@@ -148,21 +149,21 @@ func getAuthenticationSettings(ctx context.Context, d *plugin.QueryData, h *plug
148149
return authInfo, nil
149150
}
150151

151-
// getSecurityDefaultsSettings retrieves security defaults policy settings
152-
func getSecurityDefaultsSettings(ctx context.Context, d *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
152+
// getSecurityDefaultEnforcementPolicy retrieves security defaults policy settings
153+
func getSecurityDefaultEnforcementPolicy(ctx context.Context, d *plugin.QueryData, h *plugin.HydrateData) (interface{}, error) {
153154
logger := plugin.Logger(ctx)
154155

155156
// Create client
156157
client, _, err := GetGraphClient(ctx, d)
157158
if err != nil {
158-
logger.Error("microsoft365_organization.getSecurityDefaultsSettings", "connection_error", err)
159+
logger.Error("microsoft365_organization.getSecurityDefaultEnforcementPolicy", "connection_error", err)
159160
return nil, err
160161
}
161162

162163
// Get security defaults policy
163164
policy, err := client.Policies().IdentitySecurityDefaultsEnforcementPolicy().Get(ctx, nil)
164165
if err != nil {
165-
logger.Error("microsoft365_organization.getSecurityDefaultsSettings", "get_security_defaults_error", err)
166+
logger.Error("microsoft365_organization.getSecurityDefaultEnforcementPolicy", "get_security_defaults_error", err)
166167
return nil, nil
167168
}
168169

microsoft365/transforms.go

Lines changed: 151 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3950,7 +3950,7 @@ func (auth *Microsoft365AuthenticationSettingsInfo) AuthenticationSettingsDetail
39503950
}
39513951

39523952
// Security Defaults Settings transform methods
3953-
func (sec *Microsoft365SecurityDefaultsSettingsInfo) SecurityDefaultsSettingsDetails() map[string]interface{} {
3953+
func (sec *Microsoft365SecurityDefaultsSettingsInfo) SecurityDefaultsEnforcementPolicyDetails() map[string]interface{} {
39543954
result := map[string]interface{}{}
39553955

39563956
if sec.GetId() != nil {
@@ -4078,31 +4078,173 @@ func (teamwork *Microsoft365TeamworkSettingsInfo) TeamworkSettingsDetails() map[
40784078
func (security *Microsoft365SecurityInfo) SecuritySettingsDetails() map[string]interface{} {
40794079
result := map[string]interface{}{}
40804080

4081-
// Get alerts count
4081+
// Get alerts data
40824082
if security.GetAlerts() != nil {
4083-
result["alerts_count"] = len(security.GetAlerts())
4083+
var alerts []map[string]interface{}
4084+
for _, alert := range security.GetAlerts() {
4085+
alertData := map[string]interface{}{}
4086+
if alert.GetId() != nil {
4087+
alertData["id"] = *alert.GetId()
4088+
}
4089+
if alert.GetTitle() != nil {
4090+
alertData["title"] = *alert.GetTitle()
4091+
}
4092+
if alert.GetDescription() != nil {
4093+
alertData["description"] = *alert.GetDescription()
4094+
}
4095+
if alert.GetCategory() != nil {
4096+
alertData["category"] = *alert.GetCategory()
4097+
}
4098+
if alert.GetSeverity() != nil {
4099+
alertData["severity"] = alert.GetSeverity().String()
4100+
}
4101+
if alert.GetStatus() != nil {
4102+
alertData["status"] = alert.GetStatus().String()
4103+
}
4104+
if alert.GetCreatedDateTime() != nil {
4105+
alertData["created_date_time"] = alert.GetCreatedDateTime()
4106+
}
4107+
if alert.GetEventDateTime() != nil {
4108+
alertData["event_date_time"] = alert.GetEventDateTime()
4109+
}
4110+
if alert.GetAssignedTo() != nil {
4111+
alertData["assigned_to"] = *alert.GetAssignedTo()
4112+
}
4113+
alerts = append(alerts, alertData)
4114+
}
4115+
result["alerts"] = alerts
4116+
result["alerts_count"] = len(alerts)
40844117
} else {
4118+
result["alerts"] = []map[string]interface{}{}
40854119
result["alerts_count"] = 0
40864120
}
40874121

4088-
// Get secure scores count
4122+
// Get secure scores data
40894123
if security.GetSecureScores() != nil {
4090-
result["secure_scores_count"] = len(security.GetSecureScores())
4124+
var secureScores []map[string]interface{}
4125+
for _, score := range security.GetSecureScores() {
4126+
scoreData := map[string]interface{}{}
4127+
if score.GetId() != nil {
4128+
scoreData["id"] = *score.GetId()
4129+
}
4130+
if score.GetCurrentScore() != nil {
4131+
scoreData["current_score"] = *score.GetCurrentScore()
4132+
}
4133+
if score.GetMaxScore() != nil {
4134+
scoreData["max_score"] = *score.GetMaxScore()
4135+
}
4136+
if score.GetActiveUserCount() != nil {
4137+
scoreData["active_user_count"] = *score.GetActiveUserCount()
4138+
}
4139+
if score.GetLicensedUserCount() != nil {
4140+
scoreData["licensed_user_count"] = *score.GetLicensedUserCount()
4141+
}
4142+
if score.GetCreatedDateTime() != nil {
4143+
scoreData["created_date_time"] = score.GetCreatedDateTime()
4144+
}
4145+
if score.GetAzureTenantId() != nil {
4146+
scoreData["azure_tenant_id"] = *score.GetAzureTenantId()
4147+
}
4148+
secureScores = append(secureScores, scoreData)
4149+
}
4150+
result["secure_scores"] = secureScores
4151+
result["secure_scores_count"] = len(secureScores)
40914152
} else {
4153+
result["secure_scores"] = []map[string]interface{}{}
40924154
result["secure_scores_count"] = 0
40934155
}
40944156

4095-
// Get secure score control profiles count
4157+
// Get secure score control profiles data
40964158
if security.GetSecureScoreControlProfiles() != nil {
4097-
result["secure_score_control_profiles_count"] = len(security.GetSecureScoreControlProfiles())
4159+
var profiles []map[string]interface{}
4160+
for _, profile := range security.GetSecureScoreControlProfiles() {
4161+
profileData := map[string]interface{}{}
4162+
if profile.GetId() != nil {
4163+
profileData["id"] = *profile.GetId()
4164+
}
4165+
if profile.GetTitle() != nil {
4166+
profileData["title"] = *profile.GetTitle()
4167+
}
4168+
if profile.GetUserImpact() != nil {
4169+
profileData["user_impact"] = *profile.GetUserImpact()
4170+
}
4171+
if profile.GetImplementationCost() != nil {
4172+
profileData["implementation_cost"] = *profile.GetImplementationCost()
4173+
}
4174+
if profile.GetControlCategory() != nil {
4175+
profileData["control_category"] = *profile.GetControlCategory()
4176+
}
4177+
if profile.GetService() != nil {
4178+
profileData["service"] = *profile.GetService()
4179+
}
4180+
if profile.GetMaxScore() != nil {
4181+
profileData["max_score"] = *profile.GetMaxScore()
4182+
}
4183+
if profile.GetRank() != nil {
4184+
profileData["rank"] = *profile.GetRank()
4185+
}
4186+
if profile.GetTier() != nil {
4187+
profileData["tier"] = *profile.GetTier()
4188+
}
4189+
if profile.GetActionType() != nil {
4190+
profileData["action_type"] = *profile.GetActionType()
4191+
}
4192+
if profile.GetActionUrl() != nil {
4193+
profileData["action_url"] = *profile.GetActionUrl()
4194+
}
4195+
if profile.GetRemediation() != nil {
4196+
profileData["remediation"] = *profile.GetRemediation()
4197+
}
4198+
if profile.GetRemediationImpact() != nil {
4199+
profileData["remediation_impact"] = *profile.GetRemediationImpact()
4200+
}
4201+
if profile.GetDeprecated() != nil {
4202+
profileData["deprecated"] = *profile.GetDeprecated()
4203+
}
4204+
if profile.GetLastModifiedDateTime() != nil {
4205+
profileData["last_modified_date_time"] = profile.GetLastModifiedDateTime()
4206+
}
4207+
if profile.GetThreats() != nil {
4208+
profileData["threats"] = profile.GetThreats()
4209+
}
4210+
profiles = append(profiles, profileData)
4211+
}
4212+
result["secure_score_control_profiles"] = profiles
4213+
result["secure_score_control_profiles_count"] = len(profiles)
40984214
} else {
4215+
result["secure_score_control_profiles"] = []map[string]interface{}{}
40994216
result["secure_score_control_profiles_count"] = 0
41004217
}
41014218

4102-
// Get subject rights requests count
4219+
// Get subject rights requests data
41034220
if security.GetSubjectRightsRequests() != nil {
4104-
result["subject_rights_requests_count"] = len(security.GetSubjectRightsRequests())
4221+
var requests []map[string]interface{}
4222+
for _, request := range security.GetSubjectRightsRequests() {
4223+
requestData := map[string]interface{}{}
4224+
if request.GetId() != nil {
4225+
requestData["id"] = *request.GetId()
4226+
}
4227+
if request.GetDisplayName() != nil {
4228+
requestData["display_name"] = *request.GetDisplayName()
4229+
}
4230+
if request.GetDescription() != nil {
4231+
requestData["description"] = *request.GetDescription()
4232+
}
4233+
if request.GetStatus() != nil {
4234+
requestData["status"] = request.GetStatus().String()
4235+
}
4236+
if request.GetCreatedDateTime() != nil {
4237+
requestData["created_date_time"] = request.GetCreatedDateTime()
4238+
}
4239+
if request.GetLastModifiedDateTime() != nil {
4240+
requestData["last_modified_date_time"] = request.GetLastModifiedDateTime()
4241+
}
4242+
requests = append(requests, requestData)
4243+
}
4244+
result["subject_rights_requests"] = requests
4245+
result["subject_rights_requests_count"] = len(requests)
41054246
} else {
4247+
result["subject_rights_requests"] = []map[string]interface{}{}
41064248
result["subject_rights_requests_count"] = 0
41074249
}
41084250

0 commit comments

Comments
 (0)