2022-03-10 02:23:17 +01:00
|
|
|
const { getId } = require('../../utils/index')
|
|
|
|
|
2022-03-09 02:31:44 +01:00
|
|
|
class Series {
|
|
|
|
constructor(series) {
|
|
|
|
this.id = null
|
|
|
|
this.name = null
|
2022-03-13 12:42:43 +01:00
|
|
|
this.description = null
|
2022-03-09 02:31:44 +01:00
|
|
|
this.addedAt = null
|
|
|
|
this.updatedAt = null
|
|
|
|
|
|
|
|
if (series) {
|
|
|
|
this.construct(series)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
construct(series) {
|
|
|
|
this.id = series.id
|
|
|
|
this.name = series.name
|
2022-03-13 12:42:43 +01:00
|
|
|
this.description = series.description || null
|
2022-03-09 02:31:44 +01:00
|
|
|
this.addedAt = series.addedAt
|
|
|
|
this.updatedAt = series.updatedAt
|
|
|
|
}
|
|
|
|
|
|
|
|
toJSON() {
|
|
|
|
return {
|
|
|
|
id: this.id,
|
|
|
|
name: this.name,
|
2022-03-13 12:42:43 +01:00
|
|
|
description: this.description,
|
2022-03-09 02:31:44 +01:00
|
|
|
addedAt: this.addedAt,
|
|
|
|
updatedAt: this.updatedAt
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-03-10 02:23:17 +01:00
|
|
|
toJSONMinimal(sequence) {
|
2022-03-09 02:31:44 +01:00
|
|
|
return {
|
|
|
|
id: this.id,
|
|
|
|
name: this.name,
|
2022-03-10 02:23:17 +01:00
|
|
|
sequence
|
2022-03-09 02:31:44 +01:00
|
|
|
}
|
|
|
|
}
|
2022-03-10 02:23:17 +01:00
|
|
|
|
|
|
|
setData(data) {
|
|
|
|
this.id = getId('ser')
|
|
|
|
this.name = data.name
|
2022-03-13 12:42:43 +01:00
|
|
|
this.description = data.description || null
|
2022-03-10 02:23:17 +01:00
|
|
|
this.addedAt = Date.now()
|
|
|
|
this.updatedAt = Date.now()
|
|
|
|
}
|
2022-03-13 00:45:32 +01:00
|
|
|
|
2022-09-28 00:48:45 +02:00
|
|
|
update(series) {
|
|
|
|
if (!series) return false
|
2022-09-29 00:12:27 +02:00
|
|
|
const keysToUpdate = ['name', 'description']
|
2022-12-26 23:08:53 +01:00
|
|
|
let hasUpdated = false
|
2022-09-28 00:48:45 +02:00
|
|
|
for (const key of keysToUpdate) {
|
|
|
|
if (series[key] !== undefined && series[key] !== this[key]) {
|
|
|
|
this[key] = series[key]
|
|
|
|
hasUpdated = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return hasUpdated
|
|
|
|
}
|
|
|
|
|
2022-03-13 00:45:32 +01:00
|
|
|
checkNameEquals(name) {
|
2022-05-23 04:56:51 +02:00
|
|
|
if (!name || !this.name) return false
|
2022-03-13 00:45:32 +01:00
|
|
|
return this.name.toLowerCase() == name.toLowerCase().trim()
|
|
|
|
}
|
2022-03-09 02:31:44 +01:00
|
|
|
}
|
|
|
|
module.exports = Series
|