@darkwolf/qiwi.mjs
Version:
96 lines (83 loc) • 2.34 kB
JavaScript
import QIWI from '../index.mjs'
export default class UserInfo {
static fromParams(params = {}, context) {
const data = {
operator: params.operator,
firstTransactionId: params.firstTxnId,
defaultPayCurrency: params.defaultPayCurrency,
defaultPaySource: params.defaultPaySource,
defaultPayAccountAlias: params.defaultPayAccountAlias,
language: params.language
}
if (data.defaultPayCurrency) {
data.defaultPayCurrency = QIWI.getCurrencyByCode(data.defaultPayCurrency)
}
return new UserInfo(data, context)
}
static from(data, context) {
return new UserInfo(data, context)
}
constructor(data = {}, context) {
this
.setContext(context)
.setOperator(data.operator)
.setFirstTransactionId(data.firstTransactionId)
.setDefaultPayCurrency(data.defaultPayCurrency)
.setDefaultPaySource(data.defaultPaySource)
.setDefaultAccountAlias(data.defaultPayAccountAlias)
.setLanguage(data.language)
}
setContext(context = {}) {
this.context = context
return this
}
setOperator(operator) {
this.operator = operator
return this
}
setFirstTransactionId(id) {
this.firstTransactionId = id
return this
}
setDefaultPayCurrency(currency) {
this.defaultPayCurrency = currency
return this
}
setDefaultPaySource(source) {
this.defaultPaySource = source
return this
}
setDefaultAccountAlias(alias) {
this.defaultPayAccountAlias = alias
return this
}
setLanguage(language) {
this.language = language
return this
}
get() {
return this.context.qiwi.getUserInfo()
}
toJSON() {
const data = {}
if (this.operator) {
data.operator = this.operator
}
if (this.firstTransactionId) {
data.firstTransactionId = this.firstTransactionId
}
if (this.defaultPayCurrency) {
data.defaultPayCurrency = this.defaultPayCurrency
}
if (this.defaultPaySource) {
data.defaultPaySource = this.defaultPaySource
}
if (this.defaultPayAccountAlias) {
data.defaultPayAccountAlias = this.defaultPayAccountAlias
}
if (this.language) {
data.language = this.language
}
return data
}
}