sms-activate-org
Version:
A full NodeJS API for sms-activate.org
44 lines (41 loc) • 1.53 kB
text/typescript
import { EApiActions } from '../../../../ressources/comon';
import { IGetStatusOptions } from '../../../../ressources/options';
import {
EActivationGetStatusAnswer,
IStatusResponse,
} from '../../../../ressources/status';
import { Query } from '../../../query/query.module';
export class getStatus {
public query?: Query;
async getStatus(options: IGetStatusOptions | string | number) {
return new Promise<IStatusResponse>((resolve, reject) => {
if (typeof options == 'string' || typeof options == 'number')
options = { id: options };
this.query
?.makeCall(EApiActions.getStatus, options)
.then((res) => {
if (typeof res == 'string') {
if (res.includes(':')) {
const index = res.indexOf(':');
const code = res.slice(0, index);
const data = res.slice(index + 1);
return resolve({
message: EActivationGetStatusAnswer[code]
? EActivationGetStatusAnswer[code]
: EActivationGetStatusAnswer.STATUS_UNEXPECTED,
code,
data: EActivationGetStatusAnswer[code] ? data : res,
});
}
if (EActivationGetStatusAnswer[res])
return resolve({
message: EActivationGetStatusAnswer[res],
code: res,
});
}
reject(res);
})
.catch((err) => reject(err));
});
}
}