# shellcheck shell=dash disable=SC2034,SC2154
# https://gitea.com/api/swagger#/repository/repoAddCollaborator
___x_cmd_fjo_repo_collaborator_add() {
    param:scope  ___x_cmd_fjo
    param:dsl '
options:
    #1                 "Username list separated by commas"                            <>
    --repo|-r          "Provide owner_name/repo_name list separated by commas."       <>:MultipleRepoName
    --permission|-p    "The permission to grant the collaborator."                    <>="push"     = pull triage push maintain admin
    --json|-j          "output json data"
'
    param:run

    [ "$#" -ne 0 ] || M='accepts arg(s) (username), received empty' arg:ret:64
    local _tmp_repo="$repo"
    local _avt_name=""
    while true; do
        repo="${_tmp_repo%%,*}"
        _tmp_repo="${_tmp_repo#*,}"
        ___x_cmd_fjo_param_init_owner_repo
        for _avt_name in "$@"; do
            ___x_cmd_fjo____transform_avt_name || return
            ___x_cmd_fjo_curl put  "/repos/$owner_repo/collaborators/${_avt_name##*/}" -- permission | ___x_cmd_fjo_collaborator_____ui_handler Add
        done
        [ "$repo" != "$_tmp_repo" ] || return 0
    done
}

