UNPKG

ee-ts-util

Version:

typescript utilities and functions

66 lines 3.01 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const googleapis_1 = require("googleapis"); const client_1 = require("./client"); exports.buildAccountCatalogAdapter = (gsuiteClient) => (listAccountOptions) => __awaiter(this, void 0, void 0, function* () { yield client_1.authorize(gsuiteClient); return listAccounts(gsuiteClient, listAccountOptions); }); exports.buildAccountCreatorAdapter = (gSuiteClient) => (accountParamsDto) => __awaiter(this, void 0, void 0, function* () { yield client_1.authorize(gSuiteClient); return createAccount(gSuiteClient, accountParamsDto); }); exports.buildAccountRemoverAdapter = (gSuiteClient) => (userEmail) => __awaiter(this, void 0, void 0, function* () { yield client_1.authorize(gSuiteClient); return removeAccount(gSuiteClient, userEmail); }); const createAccount = (gSuiteClient, resource) => { const admin = googleapis_1.google.admin("directory_v1"); return new Promise((resolve, reject) => { admin.users.insert({ auth: gSuiteClient, resource, }, (err, response) => { if (err) { return reject("GSuite Create Account Error -" + err + " " + JSON.stringify(err)); } return resolve(response.data); }); }); }; const removeAccount = (gSuiteClient, userEmail) => { const admin = googleapis_1.google.admin("directory_v1"); return new Promise((resolve, reject) => { admin.users.delete({ auth: gSuiteClient, userKey: userEmail, }, (err, response) => { if (err) { return reject("GSuite Remove Account Error -" + err + " " + JSON.stringify(err)); } return resolve(response.status === 204); }); }); }; const listAccounts = (gsuiteClient, listAccountsOptions) => { const admin = googleapis_1.google.admin("directory_v1"); return new Promise((resolve, reject) => { admin.users.list(Object.assign({ auth: gsuiteClient }, listAccountsOptions), (err, response) => { if (err) { return reject("GSuite List Account Error -" + err + " " + JSON.stringify(err)); } return resolve(response.data.users ? response.data.users.map((user) => user) : []); }); }); }; //# sourceMappingURL=accountAdapter.js.map