@grouparoo/core
Version:
The Grouparoo Core
49 lines (48 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AccountEdit = exports.AccountView = void 0;
const authenticatedAction_1 = require("../classes/actions/authenticatedAction");
class AccountView extends authenticatedAction_1.AuthenticatedAction {
constructor() {
super(...arguments);
this.name = "account:view";
this.description = "view your account details";
this.permission = { topic: "*", mode: "read" };
this.outputExample = {};
}
async runWithinTransaction({ session: { teamMember }, }) {
if (!teamMember)
throw new Error("team member not found");
return {
teamMember: await teamMember.apiData(),
team: await teamMember.team.apiData(),
};
}
}
exports.AccountView = AccountView;
class AccountEdit extends authenticatedAction_1.AuthenticatedAction {
constructor() {
super(...arguments);
this.name = "account:edit";
this.description = "edit your account details";
this.permission = { topic: "*", mode: "write" };
this.outputExample = {};
this.inputs = {
firstName: { required: false },
lastName: { required: false },
password: { required: false },
email: { required: false },
};
}
async runWithinTransaction({ params, session: { teamMember }, }) {
await teamMember.update(params);
if (params.password) {
await teamMember.updatePassword(params.password);
}
return {
teamMember: await teamMember.apiData(),
team: await teamMember.team.apiData(),
};
}
}
exports.AccountEdit = AccountEdit;