Skip to content

Commit 58deb41

Browse files
fix: app-group page breaking for inactive users (#4315)
* added logger and removed return statement * handled for inactive users * added comment for string concatenation * updated logger
1 parent eefded8 commit 58deb41

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

internal/sql/repository/AppListingRepository.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,13 @@ func (impl AppListingRepositoryImpl) FetchOverviewAppsByEnvironment(envId, limit
147147

148148
func (impl AppListingRepositoryImpl) FetchLastDeployedImage(appId, envId int) (*LastDeployed, error) {
149149
var lastDeployed []*LastDeployed
150-
query := `select ca.image as last_deployed_image, u.email_id as last_deployed_by from pipeline p
150+
// we are adding a case in the query to concatenate the string "(inactive)" to the users' email id when user is inactive
151+
query := `select ca.image as last_deployed_image,
152+
case
153+
when u.active = false then u.email_id || ' (inactive)'
154+
else u.email_id
155+
end as last_deployed_by
156+
from pipeline p
151157
join cd_workflow cw on cw.pipeline_id = p.id
152158
join cd_workflow_runner cwr on cwr.cd_workflow_id = cw.id
153159
join ci_artifact ca on ca.id = cw.ci_artifact_id

pkg/app/AppListingService.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ func (impl AppListingServiceImpl) FetchOverviewAppsByEnvironment(envId, limit, o
228228
resp := &OverviewAppsByEnvironmentBean{}
229229
env, err := impl.environmentRepository.FindById(envId)
230230
if err != nil {
231+
impl.Logger.Errorw("failed to fetch env", "err", err, "envId", envId)
231232
return resp, err
232233
}
233234
resp.EnvironmentId = envId
@@ -242,18 +243,27 @@ func (impl AppListingServiceImpl) FetchOverviewAppsByEnvironment(envId, limit, o
242243
resp.Type = NonProduction
243244
}
244245
resp.Description = env.Description
245-
createdBy, err := impl.userRepository.GetById(env.CreatedBy)
246-
if err != nil {
247-
return resp, err
246+
createdBy, err := impl.userRepository.GetByIdIncludeDeleted(env.CreatedBy)
247+
if err != nil && err != pg.ErrNoRows {
248+
impl.Logger.Errorw("error in fetching user for app meta info", "error", err, "env.CreatedBy", env.CreatedBy)
249+
return nil, err
250+
}
251+
if createdBy != nil && createdBy.Id > 0 {
252+
if createdBy.Active {
253+
resp.CreatedBy = fmt.Sprintf(createdBy.EmailId)
254+
} else {
255+
resp.CreatedBy = fmt.Sprintf("%s (inactive)", createdBy.EmailId)
256+
}
248257
}
249-
resp.CreatedBy = createdBy.EmailId
250258
envContainers, err := impl.appListingRepository.FetchOverviewAppsByEnvironment(envId, limit, offset)
251259
if err != nil {
260+
impl.Logger.Errorw("failed to fetch environment containers", "err", err, "envId", envId)
252261
return resp, err
253262
}
254263
for _, envContainer := range envContainers {
255264
lastDeployed, err := impl.appListingRepository.FetchLastDeployedImage(envContainer.AppId, envId)
256265
if err != nil {
266+
impl.Logger.Errorw("failed to fetch last deployed image", "err", err, "appId", envContainer.AppId, "envId", envId)
257267
return resp, err
258268
}
259269
if lastDeployed != nil {

wire_gen.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)