@fleetbase/pallet-engine
Version:
Inventory & Warehouse Management Extension for Fleetbase
88 lines (75 loc) • 2.54 kB
JavaScript
import Model, { attr, belongsTo } from '@ember-data/model';
import { computed } from '@ember/object';
import { format as formatDate, isValid as isValidDate, formatDistanceToNow } from 'date-fns';
export default class SalesOrderModel extends Model {
/** @ids */
uuid;
public_id;
company_uuid;
supplier_uuid;
created_by_uuid;
transaction_uuid;
assigned_to_uuid;
point_of_contact_uuid;
/** @relationships */
company;
createdBy;
transaction;
assignedTo;
supplier;
pointOfContact;
/** @attributes */
status;
customer_reference_code;
reference_code;
reference_url;
description;
comments;
order_date_at;
expected_delivery_at;
created_at;
updated_at;
/** @computed */
get createdAgo() {
if (!isValidDate(this.created_at)) {
return null;
}
return formatDistanceToNow(this.created_at);
}
get createdAt() {
if (!isValidDate(this.created_at)) {
return null;
}
return formatDate(this.created_at, 'PPP p');
}
get createdAtShort() {
if (!isValidDate(this.created_at)) {
return null;
}
return formatDate(this.created_at, 'PP');
}
get updatedAgo() {
if (!isValidDate(this.updated_at)) {
return null;
}
return formatDistanceToNow(this.updated_at);
}
get updatedAt() {
if (!isValidDate(this.updated_at)) {
return null;
}
return formatDate(this.updated_at, 'PPP p');
}
get updatedAtShort() {
if (!isValidDate(this.updated_at)) {
return null;
}
return formatDate(this.updated_at, 'PP');
}
get expectedDeliveryDate() {
if (!isValidDate(this.expected_delivery_at)) {
return null;
}
return formatDate(this.expected_delivery_at, 'yyyy-MM-dd');
}
}