Merge branch 'master' of https://github.com/go-gitea/gitea into stop_watch_on_merging_pr

This commit is contained in:
Lanre Adelowo 2018-07-10 19:14:29 +01:00
commit dff2c69a36
12 changed files with 264 additions and 2 deletions

2
Gopkg.lock generated
View File

@ -11,7 +11,7 @@
branch = "master"
name = "code.gitea.io/sdk"
packages = ["gitea"]
revision = "b2308e3f700875a3642a78bd3f6e5db8ef6f974d"
revision = "ec80752c9512cf07fc62ddc42565118183743942"
[[projects]]
name = "github.com/PuerkitoBio/goquery"

View File

@ -90,6 +90,10 @@ Support this project by becoming a sponsor. Your logo will show up here with a l
Gitea is pronounced [/ɡɪti:/](https://youtu.be/EM71-2uDAoY) as in "gi-tea" with a hard g.
**Why is this not hosted on a Gitea instance?**
We're [working on it](https://github.com/go-gitea/gitea/issues/1029).
## License
This project is licensed under the MIT License.

View File

@ -0,0 +1,50 @@
// Copyright 2018 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package integrations
import (
"net/http"
"testing"
"code.gitea.io/gitea/models"
api "code.gitea.io/sdk/gitea"
)
// TestAPICreateAndDeleteToken tests that token that was just created can be deleted
func TestAPICreateAndDeleteToken(t *testing.T) {
prepareTestEnv(t)
user := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User)
req := NewRequestWithJSON(t, "POST", "/api/v1/users/user1/tokens", map[string]string{
"name": "test-key-1",
})
req = AddBasicAuthHeader(req, user.Name)
resp := MakeRequest(t, req, http.StatusCreated)
var newAccessToken api.AccessToken
DecodeJSON(t, resp, &newAccessToken)
models.AssertExistsAndLoadBean(t, &models.AccessToken{
ID: newAccessToken.ID,
Name: newAccessToken.Name,
Sha1: newAccessToken.Sha1,
UID: user.ID,
})
req = NewRequestf(t, "DELETE", "/api/v1/users/user1/tokens/%d", newAccessToken.ID)
req = AddBasicAuthHeader(req, user.Name)
MakeRequest(t, req, http.StatusNoContent)
models.AssertNotExistsBean(t, &models.AccessToken{ID: newAccessToken.ID})
}
// TestAPIDeleteMissingToken ensures that error is thrown when token not found
func TestAPIDeleteMissingToken(t *testing.T) {
prepareTestEnv(t)
user := models.AssertExistsAndLoadBean(t, &models.User{ID: 1}).(*models.User)
req := NewRequestf(t, "DELETE", "/api/v1/users/user1/tokens/%d", models.NonexistentID)
req = AddBasicAuthHeader(req, user.Name)
MakeRequest(t, req, http.StatusNotFound)
}

View File

@ -256,6 +256,11 @@ func NewRequestWithBody(t testing.TB, method, urlStr string, body io.Reader) *ht
return request
}
func AddBasicAuthHeader(request *http.Request, username string) *http.Request {
request.SetBasicAuth(username, userPassword)
return request
}
const NoExpectedStatus = -1
func MakeRequest(t testing.TB, req *http.Request, expectedStatus int) *httptest.ResponseRecorder {

View File

@ -669,7 +669,7 @@ issues.change_milestone_at=`hat den Meilenstein %[3]s von <b>%[1]s</b> zu <b>%[2
issues.remove_milestone_at=`hat diesen Issue %[2]s vom <b>%[1]s</b> Meilenstein entfernt`
issues.deleted_milestone=`(gelöscht)`
issues.self_assign_at=`hat sich das Issue %s selbst zugewiesen`
issues.add_assignee_at=`wurde %[1]s zugewiesen von <b>%[2]s</b>`
issues.add_assignee_at=`wurde von <b>%s</b> %s zugewiesen`
issues.remove_assignee_at=`hat seine Zuweisung %s entfernt`
issues.change_title_at=`Titel von <b>%s</b> nach <b>%s</b> %s geändert`
issues.delete_branch_at=`löschte die Branch <b>%s</b> %s`

View File

@ -84,6 +84,7 @@ err_empty_db_path=Het SQLite3 of TiDB database pad mag niet leeg zijn.
err_empty_admin_password=Het administrator-wachtwoord mag niet leeg zijn.
general_title=Algemene Instellingen
app_name=Naam site
repo_path=Repositories basis map
lfs_path=Git LFS root pad
app_url=Gitea base URL
@ -101,9 +102,11 @@ enable_captcha_popup=Vereis captcha validatie voor zelf-registratie van gebruike
admin_name=Admin gebruikersnaam
admin_password=Wachtwoord
confirm_password=Verifieer wachtwoord
admin_email=E-mail adres
install_btn_confirm=Installeer Gitea
test_git_failed=Git test niet gelukt: 'git' commando %v
save_config_failed=Kan de configuratie niet opslaan: %v
invalid_log_root_path=Ongeldig log-pad: %v
[home]
password_holder=Wachtwoord
@ -145,6 +148,7 @@ scratch_code=Eenmalige code
use_scratch_code=Gebruik een eenmalige code
twofa_scratch_used=Je hebt je eenmalige code gebruikt. Je wordt omgeleid naar de tweeledige-authenticatie instellingen pagina zodat je de inschrijving van het apparaat kan verwijderen of een nieuwe eenmalige code kan genereren.
twofa_scratch_token_incorrect=Je eenmalige code is onjuist.
login_userpass=Inloggen
login_openid=OpenID
openid_connect_submit=Verbinden
openid_connect_title=Verbind met een bestaand account
@ -160,6 +164,7 @@ register_notify=Welkom bij Gitea
[modal]
yes=Ja
no=Nee
modify=Update
[form]
UserName=Gebruikersnaam
@ -211,6 +216,7 @@ form.name_reserved=De gebruikersnaam '%s' is gereserveerd.
[settings]
profile=Profiel
account=Account
password=Wachtwoord
security=Beveiliging
avatar=Profielfoto
@ -219,6 +225,7 @@ social=Sociale netwerk-accounts
repos=Repositories
delete=Verwijder account
twofa=Twee factor authenticatie
organization=Orgranisaties
uid=uid
public_profile=Openbaar profiel
@ -230,18 +237,22 @@ update_profile_success=Je profiel is bijgewerkt.
change_username=Je gebruikersnaam is gewijzigd.
continue=Doorgaan
cancel=Annuleren
language=Taal
federated_avatar_lookup=Gefedereerde Avatars inschakelen
enable_custom_avatar=Aangepaste avatar inschakelen
choose_new_avatar=Kies een nieuwe avatar
update_avatar=Update Avatar
delete_current_avatar=Verwijder huidige avatar
change_password=Wachtwoord bijwerken
old_password=Huidige wachtwoord
new_password=Nieuw wachtwoord
emails=E-mailadressen
email_desc=Uw primaire e-mailadres zal worden gebruikt voor meldingen en andere administratieve taken.
primary=Primair
delete_email=Verwijder
add_openid=Voeg OpenID URL toe
manage_ssh_keys=Beheer SSH sleutels
@ -255,6 +266,7 @@ subkeys=Subkeys
key_id=Key-ID
key_name=Sleutel naam
key_content=Inhoud
delete_key=Verwijder
add_on=Toegevoegd op
valid_until=Geldig tot en met
valid_forever=Voor altijd geldig
@ -280,6 +292,7 @@ twofa_disabled=Two-factor authenticatie is uitgeschakeld.
scan_this_image=Scan deze afbeelding met je authenticatie applicatie:
or_enter_secret=Of voer deze geheime code in: %s
u2f_nickname=Gebruikersnaam
orgs_none=U bent geen lid van een organisatie.
@ -350,10 +363,17 @@ file_history=Geschiedenis
file_view_raw=Weergave ruw bestand
file_permalink=Permalink
stored_lfs=Opgeslagen met Git LFS
commit_graph=Commit grafiek
editor.new_file=Nieuw bestand
editor.upload_file=Upload bestand
editor.edit_file=Bewerk bestand
editor.preview_changes=Voorbeeld tonen
editor.edit_this_file=Bewerk bestand
editor.delete_this_file=Verwijder bestand
editor.name_your_file=Bestandsnaam…
editor.or=of
editor.cancel_lower=Annuleer
editor.commit_changes=Wijzigingen doorvoeren
editor.add_tmpl='%s/<filename>' toevoegen
editor.add='%s' toevoegen
@ -369,7 +389,9 @@ editor.fail_to_update_file=Update/maken van bestand '%s' is mislukt: %v
editor.upload_files_to_dir=Bestanden uploaden naar '%s'
commits.commits=Commits
commits.search=Zoek commits…
commits.find=Zoek
commits.search_all=Alle branches
commits.author=Auteur
commits.message=Bericht
commits.date=Datum
@ -390,9 +412,12 @@ issues.new.closed_milestone=Gesloten mijlpalen
issues.no_ref=Geen Branch/Tag gespecificeerd
issues.create=Maak probleem
issues.new_label=Nieuw Label
issues.new_label_placeholder=Labelnaam
issues.new_label_desc_placeholder=Beschrijving
issues.create_label=Maak label
issues.label_templates.title=Laad een vooraf gedefinieerde set labels
issues.label_templates.helper=Selecteer een labelset
issues.label_templates.use=Label Set gebruiken
issues.change_milestone_at='mijlpaal bewerkt van <b>%s</b> <b>%s</b> %s'
issues.remove_milestone_at=' %s is verwijderd uit de <b>%s</b> mijlpaal'
issues.deleted_milestone=` (verwijderd)`
@ -401,6 +426,7 @@ issues.change_title_at='titel aangepast van <b>%s</b> naar <b>%s</b> %s'
issues.open_tab=%d Open
issues.close_tab=%d gesloten
issues.filter_label=Label
issues.filter_label_no_select=Alle labels
issues.filter_milestone=Mijlpaal
issues.filter_assignee=Aangewezene
issues.filter_type=Type
@ -450,6 +476,8 @@ issues.label_count=%d labels
issues.label_open_issues=%d geopende problemen
issues.label_edit=Bewerken
issues.label_delete=Verwijder
issues.label_modify=Label bewerken
issues.label_deletion=Verwijder label
issues.label.filter_sort.alphabetically=Alfabetisch
issues.label.filter_sort.reverse_alphabetically=Omgekeerd alfabetisch
issues.label.filter_sort.by_size=Grootte
@ -464,6 +492,7 @@ issues.start_tracking_history=`%s is begonnen`
issues.tracking_already_started=Je houd al tijd bij voor dit <a href="%s">issue</a>!`
issues.stop_tracking=Stop
issues.stop_tracking_history=`gestopt met werken aan %s`
issues.add_time_short=Timer toevoegen
issues.add_time_cancel=Annuleren
issues.add_time_history=`heeft besteedde tijd toegevoegd: %s`
issues.add_time_hours=Uren
@ -479,6 +508,7 @@ pulls.title_desc=wil %[1]d commits van <code>%[2]s</code> samenvoegen met <code>
pulls.merged_title_desc=heeft %[1]d commits samengevoegd van <code>%[2]s</code> naar <code>%[3]s</code> %[4]s
pulls.tab_conversation=Discussie
pulls.tab_commits=Commits
pulls.tab_files=Bestanden gewijzigd
pulls.reopen_to_merge=Heropen dit pull request aub om een een merge actie uit te voeren.
pulls.merged=Samengevoegd
pulls.can_auto_merge_desc=Dit pull-request kan automatisch samengevoegd worden.
@ -509,6 +539,7 @@ milestones.filter_sort.least_issues=Minste problemen
wiki=Wiki
wiki.page=Pagina
wiki.filter_page=Filter pagina
wiki.new_page=Pagina
wiki.default_commit_message=Schrijf een notitie over deze aanpassing (optioneel).
wiki.save_page=Pagina opslaan
wiki.last_commit_info=%s heeft deze pagina aangepast %s
@ -557,6 +588,8 @@ search.search_repo=Zoek repository
search.results=Zoek resultaat voor "%s" in <a href="%s">%s</a>
settings=Instellingen
settings.options=Repository
settings.collaboration.admin=Beheerder
settings.collaboration.write=Schrijf
settings.collaboration.read=Lees
settings.collaboration.undefined=Ongedefinieerd
@ -564,6 +597,7 @@ settings.hooks=Webhooks
settings.githooks=Git-hooks
settings.basic_settings=Basis instellingen
settings.mirror_settings=Kopie Settings
settings.site=Website
settings.update_settings=Instellingen bewerken
settings.advanced_settings=Geavanceerde opties
settings.external_wiki_url=Externe wiki-URL
@ -576,24 +610,32 @@ settings.transfer=Eigendom overdragen
settings.delete=Verwijder deze repository
settings.delete_notices_1=- Deze bewerking kan <strong>NIET</strong> ongedaan gemaakt worden.
settings.transfer_owner=Nieuwe eigenaar
settings.confirm_delete=Verwijder repository
settings.delete_collaborator=Verwijder
settings.search_user_placeholder=Zoek gebruiker…
settings.add_webhook=Webhook toevoegen
settings.webhook.test_delivery=Test-bezorging
settings.webhook.request=Verzoek
settings.webhook.response=Antwoord
settings.webhook.headers=Headers
settings.webhook.payload=Inhoud
settings.webhook.body=Inhoud
settings.githook_edit_desc=Als haak niet actief is, zal monster inhoud worden gepresenteerd. Verlof inhoud leeg zal deze haak uitschakelen.
settings.githook_name=Haak naam
settings.githook_content=Haak inhoud
settings.update_githook=Haak bijwerken
settings.payload_url=Doel URL
settings.secret=Geheim
settings.slack_username=Gebruikersnaam
settings.slack_icon_url=Icoon URL
settings.discord_username=Gebruikersnaam
settings.discord_icon_url=Icoon URL
settings.slack_color=Kleur
settings.event_send_everything=Alle gebeurtenissen
settings.event_create=Creëer
settings.event_delete=Verwijder
settings.event_fork=Fork
settings.event_release=Release
settings.event_pull_request=Pull request
settings.event_push=Push
settings.event_repository=Repository
@ -611,6 +653,8 @@ settings.branches=Branches
settings.protected_branch=Branch bescherming
settings.protected_branch_can_push=Push toestaan?
settings.protected_branch_can_push_no=U mag niet pushen
settings.protect_whitelist_search_users=Zoek gebruiker…
settings.protect_whitelist_search_teams=Zoek teams…
settings.add_protected_branch=Bescherming aanzetten
settings.delete_protected_branch=Bescherming uitzetten
settings.choose_branch=Kies een branch…
@ -645,8 +689,10 @@ release.loading=Laden…
release.cancel=Annuleren
release.publish=Release publiceren
release.save_draft=Concept opslaan
release.deletion=Verwijder release
release.downloads=Downloads
branch.name=Branch naam
branch.search=Zoek branches
branch.delete_head=Verwijder
branch.delete_html=Verwijder branch
@ -654,6 +700,8 @@ branch.create_branch=Maak branch <strong>%s</strong>
branch.create_from=van '%s'
branch.deleted_by=Verwijderd door %s
topic.manage_topics=Beheer topics
topic.done=Klaar
[org]
org_name_holder=Organisatienaam
@ -669,9 +717,11 @@ create_team=Maak team
org_desc=Omschrijving
team_name=Teamnaam
team_desc=Omschrijving
team_permission_desc=Machtiging
settings=Instellingen
settings.options=Organisatie
settings.full_name=Volledige naam
settings.website=Website
settings.location=Locatie
@ -682,6 +732,9 @@ settings.delete_account=Verwijder deze organisatie
settings.confirm_delete_account=Bevestig verwijdering
members.membership_visibility=Zichtbaarheid lidmaatschap:
members.public=Zichtbaar
members.private=Verborgen
members.private_helper=maak zichtbaar
members.member_role=Rol van lid:
members.owner=Eigenaar
members.member=Lid
@ -698,7 +751,9 @@ teams.no_desc=Dit team heeft geen omschrijving
teams.settings=Instellingen
teams.members=Team leden
teams.update_settings=Instellingen bijwerken
teams.delete_team=Verwijder team
teams.add_team_member=Nieuwe team lid aanmaken
teams.delete_team_title=Verwijder team
teams.delete_team_success=Het team is verwijderd.
teams.repositories=Teamrepositories
teams.search_repo_placeholder=Repository zoeken…
@ -708,6 +763,7 @@ teams.add_nonexistent_repo=De opslagplaats die u probeert toe te voegen bestaat
[admin]
dashboard=Overzicht
users=Gebruikersacount
organizations=Organisaties
repositories=Repositories
config=Configuratie
@ -717,6 +773,8 @@ first_page=Eerste
last_page=Laatste
total=Totaal: %d
dashboard.statistic=Overzicht
dashboard.system_status=Systeemtatus
dashboard.operation_name=Bewerking naam
dashboard.operation_switch=Omschakelen
dashboard.operation_run=Uitvoeren
@ -754,6 +812,7 @@ users.activated=Geactiveerd
users.admin=Beheerder
users.repos=Repos
users.created=Aangemaakt
users.last_login=Laatste keer ingelogd
users.edit=Bewerken
users.auth_source=Authenticatiebron
users.local=Lokaal
@ -769,6 +828,7 @@ repos.name=Naam
repos.private=Prive
repos.watches=Volgers
repos.stars=Sterren
repos.forks=Forks
repos.issues=Kwesties
repos.size=Grootte
@ -784,6 +844,7 @@ auths.host=Host
auths.port=Poort
auths.bind_dn=Binden DN
auths.bind_password=Bind wachtwoord
auths.search_page_size=Paginagrootte
auths.filter=Gebruikersfilter
auths.admin_filter=Beheerdersfilter
auths.smtp_auth=SMTP-authenticatietype
@ -801,12 +862,16 @@ auths.enable_auto_register=Activeer automatische registratie
auths.tips=Tips
config.server_config=Serverconfiguratie
config.app_name=Naam site
config.app_ver=Gitea versie
config.app_url=Gitea basis URL
config.disable_router_log=Router-log uitschakelen
config.run_mode=Uitvoer modus
config.git_version=Git versie
config.repo_root_path=Repository basis pad
config.lfs_root_path=LFS rootpad
config.static_file_root_path=Statische bestanden basis pad
config.log_file_root_path=Log-pad
config.script_type=Script type
config.reverse_auth_user=Omgekeerde verificatie gebruiker
@ -825,6 +890,7 @@ config.db_type=Type
config.db_host=Host
config.db_name=Naam
config.db_user=Gebruikersnaam
config.db_ssl_mode=SSL
config.db_path=Pad
config.service_config=Serviceconfiguratie

View File

@ -105,17 +105,45 @@ domain=SSH-Serverdomän
domain_helper=Domän- eller hostadress för SSH-kloningslänkar.
ssh_port=SSH-serverport
ssh_port_helper=Portnumret som din SSH-server lyssnar på. Lämna tom för att inaktivera.
http_port=Gitea HTTP-lyssningsport
http_port_helper=Portnumret som Giteas webbserver kommer lyssna på.
app_url_helper=Basadressen för HTTP(S)-kloningslänkar och mejlnotifikationer.
log_root_path=Loggsökväg
log_root_path_helper=Loggfiler kommer skrivas till denna katalog.
optional_title=Övriga inställningar
email_title=Mejlinställningar
smtp_host=SMTP-server
smtp_from=Skicka Mejl Som
smtp_from_helper=Mejladress som Gitea kommer att använda. Anges i simpelt ('email@example.com') eller fullständigt ('Name <email@example.com>') format.
mailer_user=SMTP-Användarnamn
mailer_password=SMTP-Lösenord
register_confirm=Kräv Bekräftelse Via Mejl För Att Registrera
mail_notify=Aktivera Mejlnotifikationer
server_service_title=Inställningar för Server- och Tredjepartstjänster
offline_mode=Aktivera Lokalt Läge
offline_mode_popup=Inaktivera CDN från tredjepart och distribuera samtliga resurser lokalt istället.
disable_gravatar=Inaktivera Gravatar
disable_gravatar_popup=Inaktivera Gravatar- och avatarskällor från tredjepart. Om användaren inte laddar upp en avatar så kommer en standardavatar att användas.
federated_avatar_lookup_popup=Använd libravatar vid förenad uppslagning av avatarer.
disable_registration=Inaktivera Självregistrering
disable_registration_popup=Inaktivera självregistrering av användare. Endast administratörer kommer kunna skapa nya konton.
allow_only_external_registration_popup=Aktivera registrering enbart via externa tjänster.
openid_signin=Aktivera OpenID-inloggning
openid_signin_popup=Aktivera användarinloggning via OpenID.
openid_signup_popup=Aktivera OpenID-baserad självregistrering av användare.
enable_captcha=Aktivera CAPTCHA
enable_captcha_popup=Kräv captcha för användarregistrering.
require_sign_in_view=Kräv Inloggning För Att Visa Sidor
require_sign_in_view_popup=Begränsa åtkomst till inloggande användare. Besökare kommer bara kunna se inloggnings- och registreringssidorna.
admin_setting_desc=Skapandet av administratörskonto är frivilligt. Den första användaren som registreras blir automatiskt administratör.
admin_password=Lösenord
confirm_password=Bekräfta lösenord
admin_email=Mejladress
install_btn_confirm=Installera Gitea
test_git_failed=Misslyckades att testa 'git' kommando: %v
sqlite3_not_available=Denna version av Gitea stödjer ej SQLite3. Ladda ner den officiella binären från %s (inte 'gobuild' versionen).
invalid_db_setting=Databasinställningarna är ogiltiga: %v
invalid_repo_path=Utvecklingskatalogens rotsökväg är ogiltig: %v
run_user_not_match=Systemtjänstanvändaren är inte den nuvarande användaren: %s -> %s
save_config_failed=Misslyckades att spara konfigurationen: %v
@ -246,10 +274,26 @@ password_not_match=Lösenorden matchar inte.
username_been_taken=Användarnamnet är redan taget.
repo_name_been_taken=Namnet för utvecklingskatalogen är upptaget.
org_name_been_taken=Organisationsnamnet är redan taget.
team_name_been_taken=Teamnamnet är redan taget.
email_been_used=Mejladressen är upptagen.
openid_been_used=OpenID-adressen '%s' används redan.
username_password_incorrect=Användarnamnet eller lösenordet är felaktigt.
enterred_invalid_repo_name=Namnet för utvecklingskatalogen som angavs är felaktigt.
enterred_invalid_owner_name=Det nya namnet på ägaren är ogiltligt.
enterred_invalid_password=Det angivna lösenordet är felaktigt.
user_not_exist=Användaren finns inte.
last_org_owner=Du kan inte ta bort den sista användaren från 'ägare'-teamet. Varje organisation måste ha åtminstone en ägare.
cannot_add_org_to_team=En organisation kan inte läggas till som teammedlem.
invalid_ssh_key=Kunde inte verifiera din SSH-nyckel: %s
invalid_gpg_key=Kunde inte verifiera din GPG-nyckel: %s
unable_verify_ssh_key=Kunde inte verifiera SSH-nyckeln. Åtgärda eventuella fel.
auth_failed=Autentisering misslyckades: %v
still_own_repo=En eller flera utvecklingskataloger ägs utav ditt konto. Ta bort eller överför dessa till annan användare eller organisation först.
still_has_org=Ditt konto är medlem i en eller flera organisationer. Lämna dessa först.
org_still_own_repo=Denna organisation äger fortfarande en eller flera utvecklingskataloger. Ta bort eller för över dessa först.
target_branch_not_exist=Målgrenen finns inte.

View File

@ -75,6 +75,7 @@ cancel=取消
[install]
install=安装页面
title=初始配置
docker_helper=如果您正在使用 Docker 容器运行 Gitea请务必先仔细阅读 <a target="_blank" rel="noopener noreferrer" href="%s">官方文档</a> 后再对本页面进行填写。
requite_db_desc=Gitea 要求安装 MySQL、PostgreSQL、SQLite3 或 TiDB。
db_title=数据库设置
db_type=数据库类型
@ -491,8 +492,13 @@ owner=拥有者
repo_name=仓库名称
repo_name_helper=好的存储库名称使用简短、深刻和独特的关键字。
visibility=可见性
visibility_helper=将仓库设为私有
visibility_helper_forced=站点管理员强制要求新仓库为私有。
visibility_fork_helper=(修改该值将会影响到所有派生仓库)
clone_helper=不知道如何克隆?查看<a target="_blank" rel="noopener noreferrer" href="%s">帮助</a> 。
fork_repo=派生仓库
fork_from=派生自
fork_visibility_helper=无法更改派生仓库的可见性。
repo_desc=仓库描述
repo_lang=仓库语言
repo_gitignore_helper=选择 .gitignore 模板。
@ -607,6 +613,7 @@ editor.directory_is_a_file='%s' 已经作为文件名在此仓库中存在。
editor.file_is_a_symlink='%s' 是一个符号链接,无法在线编辑。
editor.filename_is_a_directory='%s' 已经作为目录名在此仓库中存在。
editor.file_editing_no_longer_exists=正在编辑的文件 '%s' 已不存在。
editor.file_changed_while_editing=文件内容在您进行编辑时已经发生变动。<a target="_blank" rel="noopener noreferrer" href="%s">单击此处</a> 查看变动的具体内容,或者 <strong>再次提交</strong> 覆盖已发生的变动。
editor.file_already_exists=此仓库已经存在名为 '%s' 的文件。
editor.no_changes_to_show=没有可以显示的变更。
editor.fail_to_update_file=更新/创建文件 '%s' 时发生错误:%v
@ -987,6 +994,7 @@ settings.search_user_placeholder=搜索用户...
settings.org_not_allowed_to_be_collaborator=组织不允许被添加为仓库协作者!
settings.user_is_org_member=被操作的用户是组织,因此无法添加为协作者!
settings.add_webhook=添加 Web 钩子
settings.hooks_desc=当Gitea事件发生时Web钩子自动发出HTTP POST请求。在 <a target="_blank" rel="noopener noreferrer" href="%s"> 指南</a> 中阅读更多内容。
settings.webhook_deletion=删除 Web 钩子
settings.webhook_deletion_desc=删除 web钩子 将删除其设置和历史记录。继续?
settings.webhook_deletion_success=Web 钩子删除成功!
@ -1003,6 +1011,7 @@ settings.githook_edit_desc=如果钩子未启动,则会显示样例文件中
settings.githook_name=钩子名称
settings.githook_content=钩子文本
settings.update_githook=更新钩子设置
settings.add_webhook_desc=Gitea 将向目标 URL 发送具有指定内容类型的 <code>POST</code> 请求。在 <a target="_blank" rel="noopener noreferrer" href="%s">webhooks 指南</a> 中阅读更多内容。
settings.payload_url=目标 URL
settings.content_type=POST Content Type
settings.secret=密钥文本
@ -1264,6 +1273,8 @@ dashboard.operation_switch=开关
dashboard.operation_run=执行
dashboard.clean_unbind_oauth=清理未绑定的 OAuth 连接
dashboard.clean_unbind_oauth_success=所有未绑定的 OAuth 连接已被删除。
dashboard.delete_inactivate_accounts=删除所有未激活的帐户
dashboard.delete_inactivate_accounts_success=所有未激活的帐户都已删除。
dashboard.delete_repo_archives=删除所有仓库存档
dashboard.delete_repo_archives_success=所有仓库存档清除成功!
dashboard.delete_missing_repos=删除所有丢失 Git 文件的仓库

View File

@ -5441,6 +5441,39 @@
}
}
},
"/users/{username}/tokens/{token}": {
"delete": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "delete an access token",
"operationId": "userDeleteAccessToken",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "token to be deleted",
"name": "token",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
}
},
"/version": {
"get": {
"produces": [
@ -7479,6 +7512,10 @@
"AccessToken": {
"description": "AccessToken represents a API access token.",
"headers": {
"id": {
"type": "integer",
"format": "int64"
},
"name": {
"type": "string"
},

View File

@ -302,6 +302,7 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Group("/tokens", func() {
m.Combo("").Get(user.ListAccessTokens).
Post(bind(api.CreateAccessTokenOption{}), user.CreateAccessToken)
m.Combo("/:id").Delete(user.DeleteAccessToken)
}, reqBasicAuth())
})
})

View File

@ -1,4 +1,5 @@
// Copyright 2014 The Gogs Authors. All rights reserved.
// Copyright 2018 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
@ -36,6 +37,7 @@ func ListAccessTokens(ctx *context.APIContext) {
apiTokens := make([]*api.AccessToken, len(tokens))
for i := range tokens {
apiTokens[i] = &api.AccessToken{
ID: tokens[i].ID,
Name: tokens[i].Name,
Sha1: tokens[i].Sha1,
}
@ -72,5 +74,40 @@ func CreateAccessToken(ctx *context.APIContext, form api.CreateAccessTokenOption
ctx.JSON(201, &api.AccessToken{
Name: t.Name,
Sha1: t.Sha1,
ID: t.ID,
})
}
// DeleteAccessToken delete access tokens
func DeleteAccessToken(ctx *context.APIContext) {
// swagger:operation DELETE /users/{username}/tokens/{token} user userDeleteAccessToken
// ---
// summary: delete an access token
// produces:
// - application/json
// parameters:
// - name: username
// in: path
// description: username of user
// type: string
// required: true
// - name: token
// in: path
// description: token to be deleted
// type: integer
// required: true
// responses:
// "204":
// "$ref": "#/responses/empty"
tokenID := ctx.ParamsInt64(":id")
if err := models.DeleteAccessTokenByID(tokenID, ctx.User.ID); err != nil {
if models.IsErrAccessTokenNotExist(err) {
ctx.Status(404)
} else {
ctx.Error(500, "DeleteAccessTokenByID", err)
}
return
}
ctx.Status(204)
}

View File

@ -20,6 +20,7 @@ func BasicAuthEncode(user, pass string) string {
// AccessToken represents a API access token.
// swagger:response AccessToken
type AccessToken struct {
ID int64 `json:"id"`
Name string `json:"name"`
Sha1 string `json:"sha1"`
}
@ -54,3 +55,9 @@ func (c *Client) CreateAccessToken(user, pass string, opt CreateAccessTokenOptio
"Authorization": []string{"Basic " + BasicAuthEncode(user, pass)}},
bytes.NewReader(body), t)
}
// DeleteAccessToken delete token with key id
func (c *Client) DeleteAccessToken(user string, keyID int64) error {
_, err := c.getResponse("DELETE", fmt.Sprintf("/user/%s/tokens/%d", user, keyID), nil, nil)
return err
}