diff --git a/app/models/user.rb b/app/models/user.rb index 5e21212ab..1818bccb1 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -449,6 +449,19 @@ class User < Owner self.status = STATUS_EDIT_INFO end + def fresh_gitea_token + result = $gitea_client.get_users_tokens_by_username(self.login, {query: {sudo: self.login}}) + if result[:data].present? + result[:data].map{ |e| + $gitea_client.delete_users_tokens_by_username_token(self.login, e["name"], {query: {sudo: self.login} }) + } + end + new_result = $gitea_client.post_users_tokens_by_username(self.login, { query: {sudo: self.login}, body:{ name: self.login} }) + if new_result["sha1"].present? + update(gitea_token: new_result["sha1"]) + end + end + def activate! update_attribute(:status, STATUS_ACTIVE) prohibit_gitea_user_login!(false)