import fogbugz from "../../fogbugz.app.mjs";
export default {
key: "fogbugz-update-person",
name: "Update Person",
description: "Edits an existing person in FogBugz. [See the documentation](https://support.fogbugz.com/hc/en-us/articles/360011330733-FogBugz-XML-API-Editing-a-Person)",
version: "0.0.1",
type: "action",
props: {
fogbugz,
ixPersonId: {
propDefinition: [
fogbugz,
"ixPersonId",
],
},
sEmail: {
type: "string",
label: "Email",
description: "The email of the user to update.",
optional: true,
},
sFullName: {
type: "string",
label: "Full Name",
description: "The full name of the user to update.",
optional: true,
},
nType: {
type: "string",
label: "Type",
description: "default 0. Set to 0 for a normal user, 1 for an administrator, 2 for a community user, and 3 for a virtual user.",
options: [
"0",
"1",
"2",
"3",
],
optional: true,
},
sPassword: {
type: "string",
label: "Password",
description: "Set a new password to the user.",
secret: true,
optional: true,
},
sPhone: {
type: "string",
label: "Phone",
description: "Set a new phone to the user.",
optional: true,
},
fDeleted: {
type: "boolean",
label: "Deleted",
description: "Set fDeleted to True to mark a user as Inactive (does not delete the user, or their history).",
optional: true,
},
},
methods: {
async editPerson({
data, ...opts
}) {
return await this.fogbugz.post({
data: {
cmd: "editPerson",
...data,
},
...opts,
});
},
},
async run({ $ }) {
const response = await this.editPerson({
$,
data: {
ixPerson: this.ixPersonId,
sEmail: this.sEmail,
sFullName: this.sFullName,
nType: this.nType,
sPassword: this.sPassword,
sPhone: this.sPhone,
fDeleted: this.fDeleted,
},
});
$.export("$summary", `Successfully updated user with ID ${this.ixPersonId}`);
return response;
},
};