# shellcheck shell=bash disable=SC2034,SC2154
# shellcheck disable=SC2039,3043

# author:       Li Junhao           edwin.jh.lee@gmail.com    edwinjhlee.github.io
# maintainer:   Li Junhao

# Define in param
param_type      ___x_cmd_fjo     Bool                  =       true   false
param_type      ___x_cmd_fjo     RepoPerm              =       pull    push     admin
param_type      ___x_cmd_fjo     RepoAllAccess         =       all     private  public
param_type      ___x_cmd_fjo     RepoAccess            =       private public
param_type      ___x_cmd_fjo     RepoAccess            =       private public
param_type      ___x_cmd_fjo     ExtraAccess           =       private public   innerSource
param_type      ___x_cmd_fjo     UserRole              =       all member admin
param_type      ___x_cmd_fjo     NatureNumber          "=~"    "[0-9]+"
param_type      ___x_cmd_fjo     UserName              "=~"    "[A-Za-z0-9][A-Za-z0-9_]+[A-Za-z0-9]"
param_type      ___x_cmd_fjo     RepoName              "=~"    "[-A-Za-z0-9_/.]+"
param_type      ___x_cmd_fjo     RepoPath              "=~"    "[-A-Za-z0-9_/]+"      # TODO: make it fit it gitee definition
param_type      ___x_cmd_fjo     OrgSpaceName          "=~"    "[-A-Za-z0-9_]+"
param_type      ___x_cmd_fjo     Per_page             "=~"     "([0-9]|(([1-9][0-9]))|100)"
param_type      ___x_cmd_fjo     EnterpriseSpaceName   "=~"    "[-A-Za-z0-9_]+"
param_type      ___x_cmd_fjo     Address               "=~"    "[-A-Za-z0-9_]+|https?://.+"
param_type      ___x_cmd_fjo    Ignore                -   <<A
$(xrc cat fjo/lib/_type/ignore.txt)
A
param_type      ___x_cmd_fjo     License              -   <<A
$(xrc cat fjo/lib/_type/license.txt)
A

# TODO: wait param
# param_type      ___x_cmd_fjo     Numbers           "=~"      "[0-9]+|(\\s&&[^\\f\\n\\r\\t\\v])*"
# param_type      ___x_cmd_fjo     ISOTime           "=~"      "/^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)?(Z|[+-](?:2[0-3]|[01][0-9]):[0-5][0-9])?$/|(\\s&&[^\\f\\n\\r\\t\\v])*"
# param_type      ___x_cmd_fjo     URL               "=~"      "https?://.+|(\\s&&[^\\f\\n\\r\\t\\v])*"