application.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import WorkingGroupsCommandBase from '../../base/WorkingGroupsCommandBase'
  2. import { displayCollapsedRow, displayHeader, memberHandle } from '../../helpers/display'
  3. export default class WorkingGroupsApplication extends WorkingGroupsCommandBase {
  4. static description = 'Shows an overview of given application by Working Group Application ID'
  5. static args = [
  6. {
  7. name: 'wgApplicationId',
  8. required: true,
  9. description: 'Working Group Application ID',
  10. },
  11. ]
  12. static flags = {
  13. ...WorkingGroupsCommandBase.flags,
  14. }
  15. async run(): Promise<void> {
  16. const { args } = this.parse(WorkingGroupsApplication)
  17. const application = await this.getApi().groupApplication(this.group, parseInt(args.wgApplicationId))
  18. displayHeader(`Details`)
  19. const applicationRow = {
  20. 'Application ID': application.applicationId,
  21. 'Member handle': memberHandle(application.member),
  22. 'Role account': application.roleAccout.toString(),
  23. 'Reward account': application.rewardAccount.toString(),
  24. 'Staking account': application.stakingAccount.toString(),
  25. 'Description': application.descriptionHash.toString(),
  26. 'Opening ID': application.openingId.toString(),
  27. }
  28. displayCollapsedRow(applicationRow)
  29. }
  30. }