début implémentation edit

This commit is contained in:
Jephté Clain 2019-10-08 23:07:55 +04:00
parent ef1c8f2996
commit 8daf4ec6a1
1 changed files with 17 additions and 13 deletions

30
repoctl
View File

@ -23,10 +23,9 @@ ACTIONS
delete URL delete URL
Supprimer le dépôt spécifié" Supprimer le dépôt spécifié"
# pas encore possible d'implémenter pour le moment: # pas encore implémenté pour le moment:
#move URL ORG[/NAME] #edit URL var=value...
# Déplacer le dépôt spécifié dans l'organisation spécifiée. Le cas # Modifier les propriétés du dépôt.
# échéant, le dépôt est renommé
} }
function json_build() { function json_build() {
@ -191,26 +190,31 @@ result: $result"
} }
################################################################################ ################################################################################
#XXX à implémenter. ça ne semble pas encore possible pour le moment. peut-être #XXX à implémenter
# uniquement le renommage?!
function move_action() { function edit_action() {
case "$rtype" in case "$rtype" in
#gitolite) ;; #gitolite) ;;
gogs|gitea) gogs|gitea)
gogs_setvars gogs_setvars
gogs_move_action "$@" gogs_edit_action "$@"
;; ;;
*) die "$rtype: type de dépôt non supporté";; *) die "$rtype: type de dépôt non supporté";;
esac esac
} }
function gogs_move_action() { function gogs_edit_action() {
local url payload result local url payload result
local -a vars local -a vars
setx payload=json_build name="$new_name"
url="$gogs_url/api/v1/repos/$user/$path" url="$gogs_url/api/v1/repos/$user/$path"
local HTTP_METHOD=PATCH vars=(owner="$user" repo="$path")
while [[ "$1" == *=* ]]; do
vars+=("body.$1")
shift
done
setx payload=json_build "${vars[@]}"
[ $# -gt 0 ] && vars=("$@") || vars=("") [ $# -gt 0 ] && vars=("$@") || vars=("")
local HTTP_METHOD=PATCH
setx result=curlto "$url" "$payload" "" \ setx result=curlto "$url" "$payload" "" \
-H 'Content-Type: application/json' \ -H 'Content-Type: application/json' \
-H "Authorization: token $gogs_key" || \ -H "Authorization: token $gogs_key" || \
@ -257,7 +261,7 @@ args=(
--help '$exit_with display_help' --help '$exit_with display_help'
-c,--create action=create -c,--create action=create
-l,--list action=list -l,--list action=list
#-m,--move action=move #-e,--edit action=edit
-d,--delete action=delete -d,--delete action=delete
) )
parse_args "$@"; set -- "${args[@]}" parse_args "$@"; set -- "${args[@]}"
@ -273,6 +277,6 @@ repoctl_init "$1"; shift
case "$action" in case "$action" in
c|create) create_action "$@";; c|create) create_action "$@";;
l|list) list_action "$@";; l|list) list_action "$@";;
#m|move) move_action "$@";; e|edit) edit_action "$@";;
d|del|delete|rm|remove) delete_action "$@";; d|del|delete|rm|remove) delete_action "$@";;
esac esac