Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
sysadmin
mattermost
mattermost-server
Commits
7636650a
Commit
7636650a
authored
Sep 25, 2018
by
Jesús Espino
Committed by
Joram Wilander
Sep 25, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Migrate to idiomatic error handling app/a*.go and app/b*.go (#9455)
parent
3785ad48
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
91 additions
and
84 deletions
+91
-84
app/admin.go
app/admin.go
+8
-7
app/analytics.go
app/analytics.go
+71
-69
app/audit.go
app/audit.go
+6
-6
app/authorization.go
app/authorization.go
+3
-1
app/brand.go
app/brand.go
+3
-1
No files found.
app/admin.go
View file @
7636650a
...
...
@@ -238,14 +238,15 @@ func (a *App) TestEmail(userId string, cfg *model.Config) *model.AppError {
return
model
.
NewAppError
(
"testEmail"
,
"api.admin.test_email.reenter_password"
,
nil
,
""
,
http
.
StatusBadRequest
)
}
}
if
user
,
err
:=
a
.
GetUser
(
userId
);
err
!=
nil
{
user
,
err
:=
a
.
GetUser
(
userId
)
if
err
!=
nil
{
return
err
}
else
{
T
:=
utils
.
GetUserTranslations
(
user
.
Locale
)
license
:=
a
.
License
(
)
if
err
:=
mailservice
.
SendMailUsingConfig
(
user
.
Email
,
T
(
"api.admin.test_email.subject"
),
T
(
"api.admin.test_email.body"
),
cfg
,
license
!=
nil
&&
*
license
.
Features
.
Compliance
);
err
!=
nil
{
return
model
.
NewAppError
(
"test
Email
"
,
"ap
p
.admin.test_email.
failure"
,
map
[
string
]
inte
rface
{}{
"Error"
:
err
.
Error
()},
""
,
http
.
StatusInternalServerError
)
}
}
T
:=
utils
.
GetUserTranslations
(
user
.
Locale
)
license
:=
a
.
License
()
if
err
:=
mailservice
.
SendMailUsingConfig
(
user
.
Email
,
T
(
"ap
i
.admin.test_email.
subject"
),
T
(
"api.adm
in
.
te
st_email.body"
),
cfg
,
license
!=
nil
&&
*
license
.
Features
.
Compliance
);
err
!=
nil
{
return
model
.
NewAppError
(
"testEmail"
,
"app.admin.test_email.failure"
,
map
[
string
]
interface
{}{
"Error"
:
err
.
Error
()},
""
,
http
.
StatusInternalServerError
)
}
return
nil
...
...
app/analytics.go
View file @
7636650a
...
...
@@ -19,14 +19,15 @@ const (
func
(
a
*
App
)
GetAnalytics
(
name
string
,
teamId
string
)
(
model
.
AnalyticsRows
,
*
model
.
AppError
)
{
skipIntensiveQueries
:=
false
var
systemUserCount
int64
if
r
:=
<-
a
.
Srv
.
Store
.
User
()
.
AnalyticsUniqueUserCount
(
""
);
r
.
Err
!=
nil
{
r
:=
<-
a
.
Srv
.
Store
.
User
()
.
AnalyticsUniqueUserCount
(
""
)
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
systemUserCount
=
r
.
Data
.
(
int64
)
if
systemUserCount
>
int64
(
*
a
.
Config
()
.
AnalyticsSettings
.
MaxUsersForStatistics
)
{
mlog
.
Debug
(
fmt
.
Sprintf
(
"More than %v users on the system, intensive queries skipped"
,
*
a
.
Config
()
.
AnalyticsSettings
.
MaxUsersForStatistics
)
)
skipI
ntensive
Q
ueries
=
true
}
}
systemUserCount
=
r
.
Data
.
(
int64
)
if
systemUserCount
>
int64
(
*
a
.
Config
()
.
AnalyticsSettings
.
MaxUsersForStatistics
)
{
mlog
.
Debug
(
fmt
.
Sprintf
(
"More than %v users on the system, i
ntensive
q
ueries
skipped"
,
*
a
.
Config
()
.
AnalyticsSettings
.
MaxUsersForStatistics
))
skipIntensiveQueries
=
true
}
if
name
==
"standard"
{
...
...
@@ -63,53 +64,53 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
dailyActiveChan
:=
a
.
Srv
.
Store
.
User
()
.
AnalyticsActiveCount
(
DAY_MILLISECONDS
)
monthlyActiveChan
:=
a
.
Srv
.
Store
.
User
()
.
AnalyticsActiveCount
(
MONTH_MILLISECONDS
)
if
r
:=
<-
openChan
;
r
.
Err
!=
nil
{
r
:=
<-
openChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
0
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
0
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
if
r
:=
<-
privateChan
;
r
.
Err
!=
nil
{
r
=
<-
privateChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
1
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
1
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
if
postChan
==
nil
{
rows
[
2
]
.
Value
=
-
1
}
else
{
if
r
:=
<-
postChan
;
r
.
Err
!=
nil
{
r
:=
<-
postChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
2
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
2
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
if
userChan
==
nil
{
rows
[
3
]
.
Value
=
float64
(
systemUserCount
)
}
else
{
if
r
:=
<-
userChan
;
r
.
Err
!=
nil
{
r
:=
<-
userChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
3
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
3
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
if
userInactiveChan
==
nil
{
rows
[
10
]
.
Value
=
-
1
}
else
{
if
r
:=
<-
userInactiveChan
;
r
.
Err
!=
nil
{
r
:=
<-
userInactiveChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
10
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
10
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
if
r
:=
<-
teamChan
;
r
.
Err
!=
nil
{
r
=
<-
teamChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
4
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
4
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
// If in HA mode then aggregrate all the stats
if
a
.
Cluster
!=
nil
&&
*
a
.
Config
()
.
ClusterSettings
.
Enable
{
...
...
@@ -138,17 +139,17 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
rows
[
7
]
.
Value
=
float64
(
a
.
Srv
.
Store
.
TotalReadDbConnections
())
}
if
r
:=
<-
dailyActiveChan
;
r
.
Err
!=
nil
{
r
=
<-
dailyActiveChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
8
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
8
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
if
r
:=
<-
monthlyActiveChan
;
r
.
Err
!=
nil
{
r
=
<-
monthlyActiveChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
9
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
9
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
return
rows
,
nil
}
else
if
name
==
"post_counts_day"
{
...
...
@@ -157,22 +158,22 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
return
rows
,
nil
}
if
r
:=
<-
a
.
Srv
.
Store
.
Post
()
.
AnalyticsPostCountsByDay
(
teamId
);
r
.
Err
!=
nil
{
r
:=
<-
a
.
Srv
.
Store
.
Post
()
.
AnalyticsPostCountsByDay
(
teamId
)
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
return
r
.
Data
.
(
model
.
AnalyticsRows
),
nil
}
return
r
.
Data
.
(
model
.
AnalyticsRows
),
nil
}
else
if
name
==
"user_counts_with_posts_day"
{
if
skipIntensiveQueries
{
rows
:=
model
.
AnalyticsRows
{
&
model
.
AnalyticsRow
{
Name
:
""
,
Value
:
-
1
}}
return
rows
,
nil
}
if
r
:=
<-
a
.
Srv
.
Store
.
Post
()
.
AnalyticsUserCountsWithPostsByDay
(
teamId
);
r
.
Err
!=
nil
{
r
:=
<-
a
.
Srv
.
Store
.
Post
()
.
AnalyticsUserCountsWithPostsByDay
(
teamId
)
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
return
r
.
Data
.
(
model
.
AnalyticsRows
),
nil
}
return
r
.
Data
.
(
model
.
AnalyticsRows
),
nil
}
else
if
name
==
"extra_counts"
{
var
rows
model
.
AnalyticsRows
=
make
([]
*
model
.
AnalyticsRow
,
6
)
rows
[
0
]
=
&
model
.
AnalyticsRow
{
Name
:
"file_post_count"
,
Value
:
0
}
...
...
@@ -197,46 +198,46 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
if
fileChan
==
nil
{
rows
[
0
]
.
Value
=
-
1
}
else
{
if
r
:=
<-
fileChan
;
r
.
Err
!=
nil
{
r
:=
<-
fileChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
0
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
0
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
if
hashtagChan
==
nil
{
rows
[
1
]
.
Value
=
-
1
}
else
{
if
r
:=
<-
hashtagChan
;
r
.
Err
!=
nil
{
r
:=
<-
hashtagChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
1
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
1
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
if
r
:=
<-
iHookChan
;
r
.
Err
!=
nil
{
r
:=
<-
iHookChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
2
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
2
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
if
r
:=
<-
oHookChan
;
r
.
Err
!=
nil
{
r
=
<-
oHookChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
3
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
3
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
if
r
:=
<-
commandChan
;
r
.
Err
!=
nil
{
r
=
<-
commandChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
4
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
4
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
if
r
:=
<-
sessionChan
;
r
.
Err
!=
nil
{
r
=
<-
sessionChan
if
r
.
Err
!=
nil
{
return
nil
,
r
.
Err
}
else
{
rows
[
5
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
}
rows
[
5
]
.
Value
=
float64
(
r
.
Data
.
(
int64
))
return
rows
,
nil
}
...
...
@@ -245,38 +246,39 @@ func (a *App) GetAnalytics(name string, teamId string) (model.AnalyticsRows, *mo
}
func
(
a
*
App
)
GetRecentlyActiveUsersForTeam
(
teamId
string
)
(
map
[
string
]
*
model
.
User
,
*
model
.
AppError
)
{
if
result
:=
<-
a
.
Srv
.
Store
.
User
()
.
GetRecentlyActiveUsersForTeam
(
teamId
,
0
,
100
);
result
.
Err
!=
nil
{
result
:=
<-
a
.
Srv
.
Store
.
User
()
.
GetRecentlyActiveUsersForTeam
(
teamId
,
0
,
100
)
if
result
.
Err
!=
nil
{
return
nil
,
result
.
Err
}
else
{
users
:=
result
.
Data
.
([]
*
model
.
User
)
userMap
:=
make
(
map
[
string
]
*
model
.
User
)
}
for
_
,
user
:=
range
users
{
userMap
[
user
.
Id
]
=
user
}
users
:=
result
.
Data
.
([]
*
model
.
User
)
userMap
:=
make
(
map
[
string
]
*
model
.
User
)
return
userMap
,
nil
for
_
,
user
:=
range
users
{
userMap
[
user
.
Id
]
=
user
}
return
userMap
,
nil
}
func
(
a
*
App
)
GetRecentlyActiveUsersForTeamPage
(
teamId
string
,
page
,
perPage
int
,
asAdmin
bool
)
([]
*
model
.
User
,
*
model
.
AppError
)
{
var
users
[]
*
model
.
User
if
result
:=
<-
a
.
Srv
.
Store
.
User
()
.
GetRecentlyActiveUsersForTeam
(
teamId
,
page
*
perPage
,
perPage
);
result
.
Err
!=
nil
{
result
:=
<-
a
.
Srv
.
Store
.
User
()
.
GetRecentlyActiveUsersForTeam
(
teamId
,
page
*
perPage
,
perPage
)
if
result
.
Err
!=
nil
{
return
nil
,
result
.
Err
}
else
{
users
=
result
.
Data
.
([]
*
model
.
User
)
}
users
=
result
.
Data
.
([]
*
model
.
User
)
return
a
.
sanitizeProfiles
(
users
,
asAdmin
),
nil
}
func
(
a
*
App
)
GetNewUsersForTeamPage
(
teamId
string
,
page
,
perPage
int
,
asAdmin
bool
)
([]
*
model
.
User
,
*
model
.
AppError
)
{
var
users
[]
*
model
.
User
if
result
:=
<-
a
.
Srv
.
Store
.
User
()
.
GetNewUsersForTeam
(
teamId
,
page
*
perPage
,
perPage
);
result
.
Err
!=
nil
{
result
:=
<-
a
.
Srv
.
Store
.
User
()
.
GetNewUsersForTeam
(
teamId
,
page
*
perPage
,
perPage
)
if
result
.
Err
!=
nil
{
return
nil
,
result
.
Err
}
else
{
users
=
result
.
Data
.
([]
*
model
.
User
)
}
users
=
result
.
Data
.
([]
*
model
.
User
)
return
a
.
sanitizeProfiles
(
users
,
asAdmin
),
nil
}
app/audit.go
View file @
7636650a
...
...
@@ -8,17 +8,17 @@ import (
)
func
(
a
*
App
)
GetAudits
(
userId
string
,
limit
int
)
(
model
.
Audits
,
*
model
.
AppError
)
{
if
result
:=
<-
a
.
Srv
.
Store
.
Audit
()
.
Get
(
userId
,
0
,
limit
);
result
.
Err
!=
nil
{
result
:=
<-
a
.
Srv
.
Store
.
Audit
()
.
Get
(
userId
,
0
,
limit
)
if
result
.
Err
!=
nil
{
return
nil
,
result
.
Err
}
else
{
return
result
.
Data
.
(
model
.
Audits
),
nil
}
return
result
.
Data
.
(
model
.
Audits
),
nil
}
func
(
a
*
App
)
GetAuditsPage
(
userId
string
,
page
int
,
perPage
int
)
(
model
.
Audits
,
*
model
.
AppError
)
{
if
result
:=
<-
a
.
Srv
.
Store
.
Audit
()
.
Get
(
userId
,
page
*
perPage
,
perPage
);
result
.
Err
!=
nil
{
result
:=
<-
a
.
Srv
.
Store
.
Audit
()
.
Get
(
userId
,
page
*
perPage
,
perPage
)
if
result
.
Err
!=
nil
{
return
nil
,
result
.
Err
}
else
{
return
result
.
Data
.
(
model
.
Audits
),
nil
}
return
result
.
Data
.
(
model
.
Audits
),
nil
}
app/authorization.go
View file @
7636650a
...
...
@@ -53,7 +53,9 @@ func (a *App) SessionHasPermissionToChannel(session model.Session, channelId str
channel
,
err
:=
a
.
GetChannel
(
channelId
)
if
err
==
nil
&&
channel
.
TeamId
!=
""
{
return
a
.
SessionHasPermissionToTeam
(
session
,
channel
.
TeamId
,
permission
)
}
else
if
err
!=
nil
&&
err
.
StatusCode
==
http
.
StatusNotFound
{
}
if
err
!=
nil
&&
err
.
StatusCode
==
http
.
StatusNotFound
{
return
false
}
...
...
app/brand.go
View file @
7636650a
...
...
@@ -36,7 +36,9 @@ func (a *App) SaveBrandImage(imageData *multipart.FileHeader) *model.AppError {
config
,
_
,
err
:=
image
.
DecodeConfig
(
file
)
if
err
!=
nil
{
return
model
.
NewAppError
(
"SaveBrandImage"
,
"brand.save_brand_image.decode_config.app_error"
,
nil
,
err
.
Error
(),
http
.
StatusBadRequest
)
}
else
if
config
.
Width
*
config
.
Height
>
model
.
MaxImageSize
{
}
if
config
.
Width
*
config
.
Height
>
model
.
MaxImageSize
{
return
model
.
NewAppError
(
"SaveBrandImage"
,
"brand.save_brand_image.too_large.app_error"
,
nil
,
err
.
Error
(),
http
.
StatusBadRequest
)
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment