# @zoom/cli

> Zoom Developer CLI Tool

Latest version **0.0.1** (published 2022-12-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install @zoom/cli
pnpm add @zoom/cli
yarn add @zoom/cli
bun add @zoom/cli
```

Provides the command `zoom`.

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.1 |
| Published | 2022-12-12 |
| First published | 2022-12-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Node | >= 16.3.0 |
| Dependencies | 17 |
| Unpacked size | 71.7 KB |
| Known vulnerabilities | 0 (+3 in 2 direct dependencies) |
| Install scripts | no |
| Author | zoom |
| Maintainers | kellyjandrews |
| Keywords | oclif |

## Links

- npm: https://www.npmjs.com/package/@zoom/cli
- Repository: https://github.com/oclif/zoom
- Homepage: https://github.com/zoom/cli-tool
- Issues: https://github.com/zoom/cli-tool/issues/new
- npm.io page: https://npm.io/package/@zoom/cli

## Dependencies (17)

- [tmp](https://npm.io/package/tmp.md) ^0.0.33
- [chalk](https://npm.io/package/chalk.md) ^2.4.2
- [tslib](https://npm.io/package/tslib.md) ^1
- [dotenv](https://npm.io/package/dotenv.md) ^9.0.2
- [moment](https://npm.io/package/moment.md) ^2.29.1
- [express](https://npm.io/package/express.md) ^4.17.1
- [request](https://npm.io/package/request.md) ^2.88.2
- [shelljs](https://npm.io/package/shelljs.md) ^0.8.5
- [inquirer](https://npm.io/package/inquirer.md) ^9.1.4
- [node-cmd](https://npm.io/package/node-cmd.md) ^4.0.0
- [clipboard](https://npm.io/package/clipboard.md) ^2.0.8
- [crypto-js](https://npm.io/package/crypto-js.md) ^4.0.0
- [node-fetch](https://npm.io/package/node-fetch.md) ^2.6.1
- [@oclif/core](https://npm.io/package/@oclif/core.md) ^1.16.3
- [@types/chalk](https://npm.io/package/@types/chalk.md) ^2.2.0
- [@types/through](https://npm.io/package/@types/through.md) ^0.0.30
- [@oclif/plugin-version](https://npm.io/package/@oclif/plugin-version.md) ^1

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 0.0.1 (latest) — 2022-12-12

## README

- [zoom-cli](#zoom-cli)
  - [:rocket: Commands](#rocket-commands)
    - [Config](#config)
    - [Logout](#logout)
    - [Auth](#auth)
    - [Meetings](#meetings)
    - [Reports](#reports)
  - [:hammer: Development](#hammer-development)
    - [Get started](#get-started)
    - [Setup Server](#setup-server)
    - [Linking Commands](#linking-commands)
  - [:file_folder: Tests](#file_folder-tests)
  - [:ribbon: Linter & Prettier](#ribbon-linter--prettier)
  - [:closed_book: References](#closed_book-references)

# zoom-cli

This is a beta for a cli that allows users to make calls to the Zoom API

## :hammer: Development

### Get started

Run `npm install` in the root dir to install all the dependencies

### Linking Commands

You can run `zoom config` instead of `./bin/run config` by running `npm link`

## :file_folder: Tests

Tests are written using [Mocha](https://mochajs.org/). You can run test by running `npm test` or `npm t` in the root dir. \

**Note: Running the tests will override your credentials. Please back up your credentials file somewhere if you do not want to go through the configuration process again**

This repo uses Gitlab's CI/CD and a [specific Gitlab runner](https://docs.gitlab.com/ee/ci/runners/). If we want to move this repo out of Gitlab, we could use [CircleCI](https://circleci.com/) (it is free for open source projects). \
Oclif has some examples of using CircleCI:

- [Kaomoji](https://github.com/oclif/kaomoji)
- [Sample Multi CLI](https://github.com/oclif/example-multi-ts)

## :rocket: Commands

The first thing you'll need to do is create a [Server-To-Server](https://marketplace.zoom.us/docs/guides/build/server-to-server-oauth-app/#create-a-server-to-server-oauth-app) application in order to get the credentials needed to log into the CLI.

Onces you've created the app and take note of your Account ID, Client ID, and Client Secret, you can start using the CLI is and add your credentials by running `zoom config`. \
After setting up your account, you can commands by using `zoom <COMMAND>`. \
If you ever run a command without being logged in, you should recieve `[Error]: Please log in first`. \
You can add `--help` to any command to see more details

### Config

```sh
zoom config
Please input your account_id
Please input your client_id: ***********
Please input your client_secret: ***********
Validating credentials... done
Success! Welcome
```

### Logout

```sh
$ ./bin/run logout
Are you sure you want to logout? (Y/n): Y
You have successfully logged out
```

### Auth

The auth topic handles granting you a new access token. See a list of all commands [here](docs/auth.md)

```sh
USAGE
  $ zoom auth:COMMAND

COMMANDS
  auth:refresh  Refresh your access token
```

### Meetings

The snippet below provides an overview of all sub commands under the meetings topic. See a list of all commands [here](docs/meetings.md)

```sh
USAGE
  $ zoom meetings:COMMAND

COMMANDS
  meetings:create            Create a meeting
  meetings:delete            Delete a Meeting
  meetings:get               Get information about a meeting
  meetings:get-details       Get details about a past meeting
  meetings:join              Join a meeting
  meetings:list              List all meetings for a user
  meetings:list-registrants  List all meetings registrants
  meetings:start             Start a meeting
  meetings:update            Update a Meeting
  meetings:update-status     Update a Meeting Statusut a meeting

```

### Reports

The snippet below provides an overview of all sub commands under the reports topic. See a list of all commands [here](docs/reports.md)

```sh
$ zoom reports --help
USAGE
  $ zoom reports:COMMAND

COMMANDS
  reports:activity              Retrieve activity logs of users under a Zoom account
  reports:daily                 Access the account-wide usage of Zoom services for each day in a given month
  reports:host                  Retrieve an active or inactive host report for a specified period
  reports:meeting               Retrieve reports on past meetings and webinars for a specified time period
  reports:meeting-detail        Get a detailed report for a past meeting
  reports:meeting-participants  Get participant report for a past meeting
  reports:meeting-poll          Retrieve a report of poll results for a past meeting
  reports:operation-logs        Retrieve operation logs report for a specified period of time.
  reports:recording             Retrieve cloud recording usage report for a specified period
  reports:telephone             Get telephone report for a specified period of time
  reports:webinar               Retrieve a report containing past webinar details
  reports:webinar-participants  Get participant report for a past webinar
  reports:webinar-poll          Retrieve a report of poll results for a past webinar
  reports:webinar-qa            Retrieves a report on question and answers from a past webinar

```

## :ribbon: Linter & Prettier

[ESLint](https://eslint.org/) was used to lint the code. \
Everytime something is pushed to this repo, Gitlab's CI/CD automatically lints the code. \
To lint locally, run `yarn lint --fix`

[Prettier](https://prettier.io/docs/en/install.html) was used for code formatting. \
You can install prettier with `npm install --save-dev --save-exact prettier` and then run the following:

```
npx prettier --write src/*
npx prettier --write server/*
npx prettier --write test/*
```

## :closed_book: References

This cli was made with [oclif](https://oclif.io/).

---
_Source: https://npm.io/package/@zoom/cli · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
