UNPKG

cli-stash

Version:

CLI application to manage and work with Atlassian Stash. Work with your Stash project and repositories from Command lines.

58 lines (57 loc) 2.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const stash_connector_1 = require("stash-connector"); const baseCommand_1 = require("../../../../libs/core/baseCommand"); const stashResponse_1 = require("../../../../libs/core/stashResponse"); const ux_1 = require("../../../../libs/core/ux"); class Add extends baseCommand_1.BaseCommand { async run() { const response = new stashResponse_1.StashCLIResponse(); const connector = new stash_connector_1.StashConnector(this.localConfig.getConnectorOptions(this.flags.alias)); try { const dataToCreate = this.hasInputData() ? this.getJSONInputData() : { group: this.flags.group, users: this.flags.users }; const message = 'Users added to the group successfully'; await connector.admin.groups().addUsers(dataToCreate); response.status = 0; response.message = message; this.ux.log(response.message); } catch (error) { this.processError(response, error); } return response; } } exports.default = Add; Add.description = 'Add multiple users to a group. ' + ux_1.UX.processDocumentation('<doc:User>'); Add.examples = [ `$ stash admin:groups:members:add -a MyStashAlias --data "{ 'group': 'GroupName', 'users': [ 'user1', 'user2', 'user3' ] }"`, `$ stash admin:groups:members:add -a MyStashAlias --file "path/to/json/data/file"`, `$ stash admin:groups:members:add -a MyStashAlias --group "GroupName" --users "user1, user2, user3"`, ]; Add.flags = { ...baseCommand_1.BaseCommand.flags, alias: baseCommand_1.BuildFlags.alias, data: baseCommand_1.BuildFlags.input.jsonData('<doc:AddUserInput>', false, ['group', 'users']), file: baseCommand_1.BuildFlags.input.jsonFile('<doc:AddUserInput>', false, ['group', 'users']), //keyvalue: BuildFlags.input.keyvalue('<doc:AddUserInput>', false, ['group', 'users']), group: core_1.Flags.string({ description: 'The group name to add new members. ' + ux_1.UX.cannotUseWith(['data', 'file', 'keyvalue']) + '. ' + ux_1.UX.dependsOn(['users']), char: 'g', name: 'Group', dependsOn: ['users'], }), users: core_1.Flags.string({ description: 'Comma separated user names to add to the group. ' + ux_1.UX.dependsOn(['group']), char: 'u', name: 'Users', dependsOn: ['group'], parse: (input) => { return baseCommand_1.BuildFlags.parseArray(input); } }), };