@vendasta/store
Version:
Components and data for Store
33 lines • 4.18 kB
JavaScript
import { Sellable } from '../shared/sellable';
export class Package extends Sellable {
static fromApi(data) {
const newPackage = new Package();
if (!data.pricing && data.selling_price) {
data.pricing = {
currency: data.currency,
prices: [
{
price: data.selling_price * 100,
frequency: data.billingFrequency,
isStartingPrice: false,
},
],
};
}
Object.assign(newPackage, data);
if (!newPackage.name) {
newPackage.name = 'Untitled';
}
if (data.created) {
newPackage.createdDate = new Date(data.created);
}
if (data.updated) {
newPackage.updatedDate = new Date(data.updated);
}
return newPackage;
}
get isPackageFree() {
return this.isFree;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc3RvcmUvc3JjL2xpYi9wYWNrYWdlLWRldGFpbHMvcGFja2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHOUMsTUFBTSxPQUFPLE9BQVEsU0FBUSxRQUFRO0lBa0JuQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVM7UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUc7Z0JBQ2IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixNQUFNLEVBQUU7b0JBQ047d0JBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRzt3QkFDL0IsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0I7d0JBQ2hDLGVBQWUsRUFBRSxLQUFLO3FCQUN2QjtpQkFDRjthQUNGLENBQUM7U0FDSDtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3BCLFVBQVUsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLFVBQVUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLFVBQVUsQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ2pEO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxsYWJsZSB9IGZyb20gJy4uL3NoYXJlZC9zZWxsYWJsZSc7XG5pbXBvcnQgeyBBZGRvbktleSB9IGZyb20gJ0B2ZW5kYXN0YS9tYXJrZXRwbGFjZS1wYWNrYWdlcyc7XG5cbmV4cG9ydCBjbGFzcyBQYWNrYWdlIGV4dGVuZHMgU2VsbGFibGUge1xuICBzb2x1dGlvbl9pZDogc3RyaW5nO1xuICBwYXJ0bmVyX2lkOiBzdHJpbmc7XG4gIG1hcmtldF9pZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHRhZ2xpbmU6IHN0cmluZztcbiAgaGVhZGVyX2ltYWdlX3VybDogc3RyaW5nO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIHByb2R1Y3RzOiBzdHJpbmdbXTtcbiAgYWRkb25fa2V5czogQWRkb25LZXlbXTtcbiAgaGlkZV9wcm9kdWN0X2ljb25zX2FuZF9uYW1lczogYm9vbGVhbjtcbiAgaGlkZV9wcm9kdWN0X2RldGFpbHM6IGJvb2xlYW47XG4gIGNyZWF0ZWREYXRlOiBEYXRlO1xuICB1cGRhdGVkRGF0ZTogRGF0ZTtcbiAgcHJvZHVjdE9yZGVyOiBzdHJpbmdbXTsgLy8gdGhlIG9yZGVyIHRoZSBwcm9kdWN0IC8gYWRkb25zIGluIHRoZSBwYWNrYWdlXG5cbiAgc3RhdGljIGZyb21BcGkoZGF0YTogYW55KTogUGFja2FnZSB7XG4gICAgY29uc3QgbmV3UGFja2FnZSA9IG5ldyBQYWNrYWdlKCk7XG4gICAgaWYgKCFkYXRhLnByaWNpbmcgJiYgZGF0YS5zZWxsaW5nX3ByaWNlKSB7XG4gICAgICBkYXRhLnByaWNpbmcgPSB7XG4gICAgICAgIGN1cnJlbmN5OiBkYXRhLmN1cnJlbmN5LFxuICAgICAgICBwcmljZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcmljZTogZGF0YS5zZWxsaW5nX3ByaWNlICogMTAwLFxuICAgICAgICAgICAgZnJlcXVlbmN5OiBkYXRhLmJpbGxpbmdGcmVxdWVuY3ksXG4gICAgICAgICAgICBpc1N0YXJ0aW5nUHJpY2U6IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIH1cbiAgICBPYmplY3QuYXNzaWduKG5ld1BhY2thZ2UsIGRhdGEpO1xuICAgIGlmICghbmV3UGFja2FnZS5uYW1lKSB7XG4gICAgICBuZXdQYWNrYWdlLm5hbWUgPSAnVW50aXRsZWQnO1xuICAgIH1cbiAgICBpZiAoZGF0YS5jcmVhdGVkKSB7XG4gICAgICBuZXdQYWNrYWdlLmNyZWF0ZWREYXRlID0gbmV3IERhdGUoZGF0YS5jcmVhdGVkKTtcbiAgICB9XG4gICAgaWYgKGRhdGEudXBkYXRlZCkge1xuICAgICAgbmV3UGFja2FnZS51cGRhdGVkRGF0ZSA9IG5ldyBEYXRlKGRhdGEudXBkYXRlZCk7XG4gICAgfVxuICAgIHJldHVybiBuZXdQYWNrYWdlO1xuICB9XG5cbiAgZ2V0IGlzUGFja2FnZUZyZWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNGcmVlO1xuICB9XG59XG4iXX0=