@@ -17,13 +17,15 @@ import (
1717 repo_model "code.gitea.io/gitea/models/repo"
1818 user_model "code.gitea.io/gitea/models/user"
1919 "code.gitea.io/gitea/models/webhook"
20+ "code.gitea.io/gitea/modules/optional"
2021 "code.gitea.io/gitea/modules/setting"
2122)
2223
2324// Statistic contains the database statistics
2425type Statistic struct {
2526 Counter struct {
26- User , Org , PublicKey ,
27+ UsersActive , UsersNotActive ,
28+ Org , PublicKey ,
2729 Repo , Watch , Star , Access ,
2830 Issue , IssueClosed , IssueOpen ,
2931 Comment , Oauth , Follow ,
@@ -53,7 +55,19 @@ type IssueByRepositoryCount struct {
5355// GetStatistic returns the database statistics
5456func GetStatistic (ctx context.Context ) (stats Statistic ) {
5557 e := db .GetEngine (ctx )
56- stats .Counter .User = user_model .CountUsers (ctx , nil )
58+
59+ // Number of active users
60+ usersActiveOpts := user_model.CountUserFilter {
61+ IsActive : optional .Some (true ),
62+ }
63+ stats .Counter .UsersActive = user_model .CountUsers (ctx , & usersActiveOpts )
64+
65+ // Number of inactive users
66+ usersNotActiveOpts := user_model.CountUserFilter {
67+ IsActive : optional .Some (false ),
68+ }
69+ stats .Counter .UsersNotActive = user_model .CountUsers (ctx , & usersNotActiveOpts )
70+
5771 stats .Counter .Org , _ = db .Count [organization.Organization ](ctx , organization.FindOrgOptions {IncludePrivate : true })
5872 stats .Counter .PublicKey , _ = e .Count (new (asymkey_model.PublicKey ))
5973 stats .Counter .Repo , _ = repo_model .CountRepositories (ctx , repo_model.CountRepositoryOptions {})
0 commit comments