UNPKG

aspect-api-js

Version:

Package for aspect SaaS platform for JS

82 lines (66 loc) 2.37 kB
import {AuthModule} from "./modules/AuthModule.js"; import {KeysModule} from "./modules/KeysModule.js"; import {PeriodsModule} from "./modules/PeriodsModule.js"; import {AuthenticatedBaseModule} from "./modules/AuthenticatedBaseModule.js"; import {CompaniesModule} from "./modules/CompaniesModule.js"; import {SoftwareModule} from "./modules/SoftwareModule.js"; import {GroupsModule} from "./modules/GroupsModule.js"; import {CustomRequestModule} from "./modules/CustomRequestModule.js"; import {LicenseModule} from "./modules/LicenseModule.js"; export class AspectApi { constructor( baseUrl, version = '/api', debug = false, token = null ) { this.baseUrl = baseUrl; this.version = version; this.url = this.baseUrl + this.version; this.debug = debug; this.token = token; } getToken() { return this.token; } async authenticate(login, password) { const auth = new AuthModule(this.url, this.debug); const data = await auth.login(login, password); if(!data.failed) { this.token = data.response.data.token; } return data.response; } async register(login, email, password) { const auth = new AuthModule(this.url, this.debug); const data = await auth.register(login, email, password); if(!data.failed) { this.token = data.response.data.token; } return data.response; } async me() { return await (new AuthenticatedBaseModule(this.token, this.url, this.debug)).me(); } keys() { return new KeysModule(this.token, this.url, this.debug); } groups() { return new GroupsModule(this.token, this.url, this.debug); } periods() { return new PeriodsModule(this.token, this.url, this.debug); } companies() { return new CompaniesModule(this.token, this.url, this.debug); } software() { return new SoftwareModule(this.token, this.url, this.debug); } request() { return new CustomRequestModule(this.url, this.debug); } license(nodeUrl, secret_one, secret_two) { return new LicenseModule(secret_one, secret_two, this.token, nodeUrl, this.debug); } }