ecoledirecte.js
Version:
Good-looking client for EcoleDirecte's private API.
40 lines (39 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Staff = void 0;
const Account_1 = require("./Account");
const v3_1 = require("ecoledirecte-api-types/v3");
const util_1 = require("../util");
class Staff extends Account_1.Account {
constructor(session) {
super(session);
this.session = session;
this.type = "staff";
const mainAccount = (0, util_1.getMainAccount)(session.loginRes.data.accounts);
if (!(0, v3_1.isStaffAccount)(mainAccount))
throw new Error("Staff class's main account is wrong");
if (!session.token)
throw new Error("Account class MUST have token");
this.account = mainAccount;
this.token = session.token;
}
async getPhoto() {
const r = await (0, util_1.fetchPhoto)(this);
if (!r)
return;
const [buf, str] = r;
this._photo = buf;
this._photoUri = str;
return buf;
}
get photo() {
return {
buffer: this._photo,
uri: this._photoUri,
};
}
get _raw() {
return this.account;
}
}
exports.Staff = Staff;