28 lines
464 B
JavaScript
28 lines
464 B
JavaScript
import { List, Record } from 'immutable';
|
|
|
|
export default class TicketClass extends Record({
|
|
available: 0,
|
|
capacity: 0,
|
|
endSale: null,
|
|
id: null,
|
|
itemId: null,
|
|
name: null,
|
|
price: 0,
|
|
startSale: null,
|
|
}) {
|
|
get isAlmostGone() {
|
|
return this.available < (this.capacity * 0.20);
|
|
}
|
|
|
|
get isSoldOut() {
|
|
return this.available === 0;
|
|
}
|
|
}
|
|
|
|
TicketClass.fromJS = (data = {}) => {
|
|
return new TicketClass({
|
|
id: data._id,
|
|
...data,
|
|
});
|
|
};
|