@darkwolf/qiwi.mjs
Version:
85 lines (74 loc) • 1.71 kB
JavaScript
import Helper from '@darkwolf/helper.mjs'
import Payment from './Payment.mjs'
export default class Update {
static fromParams(params = {}, context) {
const data = {
id: params.messageId,
hookId: params.hookId,
payment: params.payment,
test: params.test,
version: params.version
}
if (data.payment) {
data.payment = Payment.fromParams(data.payment, context)
}
return new Update(data, context)
}
static from(data, context) {
return new Update(data, context)
}
constructor(data = {}, context) {
this
.setContext(context)
.setId(data.id)
.setHookId(data.hookId)
.setPayment(data.payment)
.setTest(data.test)
.setVersion(data.version)
}
setContext(context = {}) {
this.context = context
return this
}
setId(id) {
this.id = id
return this
}
setHookId(id) {
this.hookId = id
return this
}
setPayment(payment) {
this.payment = payment ? (
payment instanceof Payment ? payment : new Payment(payment, this.context)
) : undefined
return this
}
setTest(boolean) {
this.test = boolean
return this
}
setVersion(version) {
this.version = version
return this
}
toJSON() {
const data = {}
if (this.id) {
data.id = this.id
}
if (this.hookId) {
data.hookId = this.hookId
}
if (this.payment) {
data.payment = this.payment.toJSON()
}
if (Helper.exists(this.test)) {
data.test = this.test
}
if (this.version) {
data.version = this.version
}
return data
}
}