lib/eco/cli/config/default/options.rb in eco-helpers-1.5.1 vs lib/eco/cli/config/default/options.rb in eco-helpers-1.5.2

- old
+ new

@@ -1,100 +1,135 @@ ASSETS.cli.config do |cnf| cnf.options_set do |options_set, options| + options_set.add("--help", "offers a help") do |options, sesssion| + conf = ASSETS.cli.config + puts conf.people_filters.help if hpf = SCR.get_arg("-filters") + puts conf.input_filters.help if hif = SCR.get_arg("-input-filters") + puts conf.options_set.help if ho = SCR.get_arg("-options") + puts conf.usecases.help if huc = SCR.get_arg("-usecases") + puts [ + "Please specify one of the below:", + " -filters to display available filters on people", + " -input-filters to display available filters on input data", + " -options to dislpay available options", + " -usecases to display available usecases" + ].join("\n") unless hpf || hif || ho || huc + exit + end - options_set.add("-schema-id") do |options, session| + desc = "fix the current session to work with this schema" + options_set.add("-schema-id", desc) do |options, session| sch_name = SCR.get_arg("-schema-id", with_param: true) sch_id = session.schemas.to_id(sch_name) unless sch_id - msg = "You need to specify a schema id or name. '#{sch_id}' does not exist" + msg = "You need to specify a correct schema id or name. '#{sch_name}' does not exist" session.logger.error(msg) exit(1) end options.deep_merge!(people: {filter: {details: {schema_id: sch_id}}}) session.logger.info("Setting schema #{session.schemas.to_name(sch_id)}") session.schema = sch_id end - options_set.add("-entries-from") do |options, session| + desc = "deprecated: used to be used to specify the input file when using -get-partial" + options_set.add("-entries-from", desc) do |options, session| options.deep_merge!(input: {entries_from: true}) end - options_set.add("-get-people") do |options, session| + desc = "locally cache all the people manager by retrieving from the server" + options_set.add("-get-people", desc) do |options, session| options.deep_merge!(people: { get: {from: :remote, type: :full} }) end - options_set.add(["-dry-run", "-simulate"]) do |options, session| + options_set.add(["-dry-run", "-simulate"], "runs in dry-run (no requests sent to server)") do |options, session| options[:dry_run] = true options[:simulate] = true session.config.dry_run! end - options_set.add("-skip-batch-policy") do |options| + desc = "ignores threshold limitations on requests for this session (skip batch belt)" + options_set.add("-skip-batch-policy", desc) do |options| options.deep_merge!(skip: {batch_policy: true}) end - options_set.add("-skip-api-policies") do |options| + desc = "will not run the api policies defined for the enviro" + options_set.add("-skip-api-policies", desc) do |options| options.deep_merge!(skip: {api_policies: true}) end - options_set.add("-feed-only-stats") do |options| + options_set.add("-feed-only-stats", "shows only stats when giving feedback") do |options| options.deep_merge!(feedback: {only_stats: true}) end + desc = "deprecated: used to be used to avoid reloading people after launch" options[:end_get] = true - options_set.add("-no-get") do |options| + options_set.add("-no-get", desc) do |options| options[:end_get] = false end - options_set.add("-search-strict") do |options| + desc = "force search mode to 'strict' when pairing input entries with existing people." + desc += " Besides id and external_id it will not try to find by email unless external_id is not specified" + options_set.add("-search-strict", desc) do |options| options.deep_merge!(search: {strict: true}) end - options_set.add("-search-soft") do |options| - options.deep_merge!(search: {strict: false}) + + desc = "search mode that will try to find people using email when id and external_id have failed" + desc += " This option could identify existing people by their email addresses" + desc += " (it should not be used in orgs where multiple people usually have the same email address)" + options_set.add("-search-soft", desc) do |options| + options.deep_merge!(search: {soft: true, strict: false}) end - options_set.add(["-no-invites", "-exclude-invites"]) do |options| + desc = "silence notifications on account creation or invites" + options_set.add(["-no-invites", "-exclude-invites"], desc) do |options| options.merge!(send_invites: false) end - options_set.add("-send-invites") do |options| + desc = "people with account will be reinvited if they haven't accepted the invitation" + options_set.add("-send-invites", desc) do |options| options.merge!(send_invites: true) end - options_set.add("-exclude-core") do |options| + options_set.add("-exclude-core", "core input data is not used on the update") do |options| options.deep_merge!(exclude: {core: true}) end - options_set.add("-exclude-filter-tags") do |options| + options_set.add("-exclude-filter-tags", "filter_tags is not set with the input data") do |options| options.deep_merge!(exclude: {filter_tags: true}) end - options_set.add("-exclude-external-id") do |options| + options_set.add("-exclude-external-id", "external_id is not set with the input data") do |options| options.deep_merge!(exclude: {external_id: true}) end - options_set.add("-exclude-supervisor") do |options| + options_set.add("-exclude-supervisor", "supervisor_id is not set with the input data") do |options| options.deep_merge!(exclude: {supervisor: true}) end - options_set.add("-exclude-email") do |options| + options_set.add("-exclude-email", "email is not set with the input data") do |options| options.deep_merge!(exclude: {email: true}) end - options_set.add("-exclude-name") do |options| + options_set.add("-exclude-name", "name is not set with the input data") do |options| options.deep_merge!(exclude: {name: true}) end - options_set.add("-exclude-details") do |options| + options_set.add("-exclude-details", "details are not set with the input data") do |options| options.deep_merge!(exclude: {details: true}) end - options_set.add("-exclude-account") do |options| + options_set.add("-exclude-account", "account is not set with the input data") do |options| options.deep_merge!(exclude: {account: true}) end - options_set.add("-exclude-policy-groups") do |options| + options_set.add("-exclude-policy-groups", "policy_group_ids is not set with the input data") do |options| options.deep_merge!(exclude: {policy_groups: true}) end - options_set.add("-exclude-abilities") do |options| + options_set.add("-default-tag", "default_tag is not set with the input data") do |options| + options.deep_merge!(exclude: {default_tag: true}) + end + options_set.add("-exclude-abilities", "permissions_custom is not set with the input data") do |options| options.deep_merge!(exclude: {abilities: true}) + end + options_set.add("-exclude-login-providers", "login_provider_ids is not set with the input data") do |options| + options.deep_merge!(exclude: {login_providers: true}) end end end