"use strict";
const baseResource_1 = require("./baseResource");
/**
* Represents a session client for the Jira Connector
*
* @constructor Session
* @param settings The information needed to setup the resource
* @param {string} settings.name The name of jira model.
* @param {*} settings.request The request function to use.
* @param {jiraApi} settings.jiraApi The jiraApi library to use.
*/
class session extends baseResource_1.baseResource {
constructor(connector, definition) {
super(connector, definition);
/**
* login to jira and create a new session
* @param {string} username The username to login with
* @param {string} password The password of the username
* @return {Promise} Resolved with user session or rejected with error
*/
this.login = (username, password) => {
return new Promise((resolve, reject) => {
this.jiraApi.auth.login({ username, password }).then((result) => {
result.data.session.token = Buffer.from(`${username}:${password}`, 'utf8').toString('base64');
return resolve(result);
}).catch((e) => {
return reject(e.message);
});
});
};
}
}
exports.session = session;