import { Message } from 'eris';
import { apply as Apply } from '.';
import { Client, Command } from '../class';

import SSS_Create_Account from './sss_create_account';
import SSS_Password_Reset from './sss_password_reset';


export default class StaffAccountSelfServ extends Command {
  public applyCommand: Apply;

  constructor(client: Client) {
    super(client);
    this.name = 'staff-self-serv';
    this.description = 'Staff IAM Account Self Services System.';
    this.usage = `${this.client.config.prefix}staff-self-serv <command> [arguments]`;
    this.aliases = ['sss'];
    this.permissions = 1;
    this.guildOnly = true;
    this.enabled = true;
    this.subcmds = [SSS_Create_Account, SSS_Password_Reset];
  }

  public async run(message: Message) {
    try {
      return this.client.commands.get('help').run(message, [this.name]);
    } catch (err) {
      return this.client.util.handleError(err, message, this);
    }
  }
}
