mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	| @@ -333,6 +333,7 @@ | |||||||
|   repo_admin_change_team_access: false |   repo_admin_change_team_access: false | ||||||
|   theme: "" |   theme: "" | ||||||
|   keep_activity_private: false |   keep_activity_private: false | ||||||
|  |   created_unix: 1730468968 | ||||||
|  |  | ||||||
| - | - | ||||||
|   id: 10 |   id: 10 | ||||||
|   | |||||||
| @@ -48,19 +48,19 @@ const ( | |||||||
| 	UserTypeIndividual UserType = iota // Historic reason to make it starts at 0. | 	UserTypeIndividual UserType = iota // Historic reason to make it starts at 0. | ||||||
|  |  | ||||||
| 	// UserTypeOrganization defines an organization | 	// UserTypeOrganization defines an organization | ||||||
| 	UserTypeOrganization | 	UserTypeOrganization // 1 | ||||||
|  |  | ||||||
| 	// UserTypeUserReserved reserves a (non-existing) user, i.e. to prevent a spam user from re-registering after being deleted, or to reserve the name until the user is actually created later on | 	// UserTypeUserReserved reserves a (non-existing) user, i.e. to prevent a spam user from re-registering after being deleted, or to reserve the name until the user is actually created later on | ||||||
| 	UserTypeUserReserved | 	UserTypeUserReserved // 2 | ||||||
|  |  | ||||||
| 	// UserTypeOrganizationReserved reserves a (non-existing) organization, to be used in combination with UserTypeUserReserved | 	// UserTypeOrganizationReserved reserves a (non-existing) organization, to be used in combination with UserTypeUserReserved | ||||||
| 	UserTypeOrganizationReserved | 	UserTypeOrganizationReserved // 3 | ||||||
|  |  | ||||||
| 	// UserTypeBot defines a bot user | 	// UserTypeBot defines a bot user | ||||||
| 	UserTypeBot | 	UserTypeBot // 4 | ||||||
|  |  | ||||||
| 	// UserTypeRemoteUser defines a remote user for federated users | 	// UserTypeRemoteUser defines a remote user for federated users | ||||||
| 	UserTypeRemoteUser | 	UserTypeRemoteUser // 5 | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const ( | const ( | ||||||
| @@ -884,7 +884,13 @@ func UpdateUserCols(ctx context.Context, u *User, cols ...string) error { | |||||||
|  |  | ||||||
| // GetInactiveUsers gets all inactive users | // GetInactiveUsers gets all inactive users | ||||||
| func GetInactiveUsers(ctx context.Context, olderThan time.Duration) ([]*User, error) { | func GetInactiveUsers(ctx context.Context, olderThan time.Duration) ([]*User, error) { | ||||||
| 	var cond builder.Cond = builder.Eq{"is_active": false} | 	cond := builder.And( | ||||||
|  | 		builder.Eq{"is_active": false}, | ||||||
|  | 		builder.Or( // only plain user | ||||||
|  | 			builder.Eq{"`type`": UserTypeIndividual}, | ||||||
|  | 			builder.Eq{"`type`": UserTypeUserReserved}, | ||||||
|  | 		), | ||||||
|  | 	) | ||||||
|  |  | ||||||
| 	if olderThan > 0 { | 	if olderThan > 0 { | ||||||
| 		cond = cond.And(builder.Lt{"created_unix": time.Now().Add(-olderThan).Unix()}) | 		cond = cond.And(builder.Lt{"created_unix": time.Now().Add(-olderThan).Unix()}) | ||||||
|   | |||||||
| @@ -588,3 +588,17 @@ func TestDisabledUserFeatures(t *testing.T) { | |||||||
| 		assert.True(t, user_model.IsFeatureDisabledWithLoginType(user, f)) | 		assert.True(t, user_model.IsFeatureDisabledWithLoginType(user, f)) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func TestGetInactiveUsers(t *testing.T) { | ||||||
|  | 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||||
|  |  | ||||||
|  | 	// all inactive users | ||||||
|  | 	// user1's createdunix is 1730468968 | ||||||
|  | 	users, err := user_model.GetInactiveUsers(db.DefaultContext, 0) | ||||||
|  | 	assert.NoError(t, err) | ||||||
|  | 	assert.Len(t, users, 1) | ||||||
|  | 	interval := time.Now().Unix() - 1730468968 + 3600*24 | ||||||
|  | 	users, err = user_model.GetInactiveUsers(db.DefaultContext, time.Duration(interval*int64(time.Second))) | ||||||
|  | 	assert.NoError(t, err) | ||||||
|  | 	assert.Len(t, users, 0) | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user