Skip to content

Commit 9a0d46d

Browse files
committed
develop merge
2 parents 992823e + 4dfe4f8 commit 9a0d46d

File tree

14 files changed

+421
-83
lines changed

14 files changed

+421
-83
lines changed

.nojekyll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

api/restHandler/TelemetryRestHandler.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,14 @@ func (handler TelemetryRestHandlerImpl) SendTelemetryData(w http.ResponseWriter,
8181
// common.WriteJsonResp(w, errors.New("unauthorized"), nil, http.StatusForbidden)
8282
// return
8383
//}
84-
84+
var eventTypeString string
8585
eventType := payload["eventType"]
86-
eventTypeString := eventType.(string)
86+
if eventType != nil {
87+
eventTypeStr, ok := eventType.(string)
88+
if ok {
89+
eventTypeString = eventTypeStr
90+
}
91+
}
8792
err = handler.telemetryEventClient.SendGenericTelemetryEvent(eventTypeString, payload)
8893

8994
if err != nil {

api/restHandler/UserAttributesRestHandler.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package restHandler
1919
import (
2020
"encoding/json"
2121
"errors"
22+
"github.com/devtron-labs/devtron/pkg/attributes/bean"
2223
"net/http"
2324

2425
"github.com/devtron-labs/devtron/api/restHandler/common"
@@ -108,15 +109,15 @@ func (handler *UserAttributesRestHandlerImpl) PatchUserAttributes(w http.Respons
108109
common.WriteJsonResp(w, nil, resp, http.StatusOK)
109110
}
110111

111-
func (handler *UserAttributesRestHandlerImpl) validateUserAttributesRequest(w http.ResponseWriter, r *http.Request, operation string) (*attributes.UserAttributesDto, bool) {
112+
func (handler *UserAttributesRestHandlerImpl) validateUserAttributesRequest(w http.ResponseWriter, r *http.Request, operation string) (*bean.UserAttributesDto, bool) {
112113
userId, err := handler.userService.GetLoggedInUser(r)
113114
if userId == 0 || err != nil {
114115
common.WriteJsonResp(w, err, "Unauthorized User", http.StatusUnauthorized)
115116
return nil, false
116117
}
117118

118119
decoder := json.NewDecoder(r.Body)
119-
var dto attributes.UserAttributesDto
120+
var dto bean.UserAttributesDto
120121
err = decoder.Decode(&dto)
121122
if err != nil {
122123
handler.logger.Errorw("request err, "+operation, "err", err, "payload", dto)
@@ -158,7 +159,7 @@ func (handler *UserAttributesRestHandlerImpl) GetUserAttribute(w http.ResponseWr
158159
return
159160
}
160161

161-
dto := attributes.UserAttributesDto{}
162+
dto := bean.UserAttributesDto{}
162163

163164
emailId, err := handler.userService.GetActiveEmailById(userId)
164165
if err != nil {

cmd/external-app/wire_gen.go

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

env_gen.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

env_gen.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@
206206
| GRAFANA_PORT | string |8090 | Port for grafana micro-service | | false |
207207
| GRAFANA_URL | string | | Host URL for the grafana dashboard | | false |
208208
| GRAFANA_USERNAME | string |admin | Username for grafana | | false |
209+
| HIDE_API_TOKENS | bool |false | Boolean flag for should the api tokens generated be hidden from the UI | | false |
209210
| HIDE_IMAGE_TAGGING_HARD_DELETE | bool |false | Flag to hide the hard delete option in the image tagging service | | false |
210211
| IGNORE_AUTOCOMPLETE_AUTH_CHECK | bool |false | flag for ignoring auth check in autocomplete apis. | | false |
211212
| INSTALLED_MODULES | | | List of installed modules given in helm values/yaml are written in cm and used by devtron to know which modules are given | security.trivy,security.clair | false |

index.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta http-equiv="refresh" content="0; url=specs/swagger/openapi.html">
5+
<title>Redirecting...</title>
6+
</head>
7+
<body>
8+
<p>If you are not redirected automatically, <a href="specs/swagger/openapi.html">click here</a>.</p>
9+
</body>
10+
</html>

pkg/apiToken/ApiTokenService.go

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package apiToken
1919
import (
2020
"errors"
2121
"fmt"
22+
"github.com/caarlos0/env"
2223
userBean "github.com/devtron-labs/devtron/pkg/auth/user/bean"
2324
"regexp"
2425
"strconv"
@@ -48,17 +49,41 @@ type ApiTokenServiceImpl struct {
4849
userService user2.UserService
4950
userAuditService user2.UserAuditService
5051
apiTokenRepository ApiTokenRepository
52+
TokenVariableConfig *TokenVariableConfig
5153
}
5254

53-
func NewApiTokenServiceImpl(logger *zap.SugaredLogger, apiTokenSecretService ApiTokenSecretService, userService user2.UserService, userAuditService user2.UserAuditService,
54-
apiTokenRepository ApiTokenRepository) *ApiTokenServiceImpl {
55-
return &ApiTokenServiceImpl{
55+
func NewApiTokenServiceImpl(logger *zap.SugaredLogger,
56+
apiTokenSecretService ApiTokenSecretService,
57+
userService user2.UserService,
58+
userAuditService user2.UserAuditService,
59+
apiTokenRepository ApiTokenRepository,
60+
) (*ApiTokenServiceImpl, error) {
61+
apiTokenService := &ApiTokenServiceImpl{
5662
logger: logger,
5763
apiTokenSecretService: apiTokenSecretService,
5864
userService: userService,
5965
userAuditService: userAuditService,
6066
apiTokenRepository: apiTokenRepository,
6167
}
68+
69+
cfg, err := GetTokenConfig()
70+
if err != nil {
71+
apiTokenService.logger.Errorw("error while getting token config ", "error", err)
72+
return nil, err
73+
}
74+
apiTokenService.TokenVariableConfig = cfg
75+
76+
return apiTokenService, nil
77+
}
78+
79+
func GetTokenConfig() (*TokenVariableConfig, error) {
80+
cfg := &TokenVariableConfig{}
81+
err := env.Parse(cfg)
82+
return cfg, err
83+
}
84+
85+
type TokenVariableConfig struct {
86+
HideApiTokens bool `env:"HIDE_API_TOKENS" envDefault:"false" description:"Boolean flag for should the api tokens generated be hidden from the UI"`
6287
}
6388

6489
var invalidCharsInApiTokenName = regexp.MustCompile("[,\\s]")
@@ -104,9 +129,11 @@ func (impl ApiTokenServiceImpl) GetAllApiTokensForWebhook(projectName string, en
104129
Name: &apiTokenFromDb.Name,
105130
Description: &apiTokenFromDb.Description,
106131
ExpireAtInMs: &apiTokenFromDb.ExpireAtInMs,
107-
Token: &apiTokenFromDb.Token,
108132
UpdatedAt: &updatedAtStr,
109133
}
134+
if !impl.TokenVariableConfig.HideApiTokens {
135+
apiToken.Token = &apiTokenFromDb.Token
136+
}
110137
apiTokens = append(apiTokens, apiToken)
111138
}
112139
}
@@ -140,9 +167,11 @@ func (impl ApiTokenServiceImpl) GetAllActiveApiTokens() ([]*openapi.ApiToken, er
140167
Name: &apiTokenFromDb.Name,
141168
Description: &apiTokenFromDb.Description,
142169
ExpireAtInMs: &apiTokenFromDb.ExpireAtInMs,
143-
Token: &apiTokenFromDb.Token,
144170
UpdatedAt: &updatedAtStr,
145171
}
172+
if !impl.TokenVariableConfig.HideApiTokens {
173+
apiToken.Token = &apiTokenFromDb.Token
174+
}
146175
if latestAuditLog != nil {
147176
lastUsedAtStr := latestAuditLog.CreatedOn.String()
148177
apiToken.LastUsedAt = &lastUsedAtStr

0 commit comments

Comments
 (0)