@lomray/microservice-payment-stripe
Version:
Stripe payment microservice based on NodeJS & inverted json.
71 lines (67 loc) • 2.5 kB
JavaScript
;
var tslib = require('tslib');
var microserviceHelpers = require('@lomray/microservice-helpers');
var classTransformer = require('class-transformer');
var classValidator = require('class-validator');
var classValidatorJsonschema = require('class-validator-jsonschema');
var typeorm = require('typeorm');
var cartProductPrice = require('./cart-product-price.js');
let Cart = class Cart {
};
tslib.__decorate([
typeorm.PrimaryGeneratedColumn('uuid'),
classValidator.Allow(),
tslib.__metadata("design:type", String)
], Cart.prototype, "id", void 0);
tslib.__decorate([
classValidatorJsonschema.JSONSchema({
description: 'User id of the user who created the cart.',
}),
typeorm.Column({ type: 'varchar', length: 36, default: null }),
microserviceHelpers.IsUndefinable(),
microserviceHelpers.IsNullable(),
tslib.__metadata("design:type", Object)
], Cart.prototype, "userId", void 0);
tslib.__decorate([
classValidatorJsonschema.JSONSchema({
description: 'Using this field allows to store any additional data with the cart.',
}),
typeorm.Column({ type: 'jsonb', default: {} }),
microserviceHelpers.IsUndefinable(),
tslib.__metadata("design:type", Object)
], Cart.prototype, "params", void 0);
tslib.__decorate([
microserviceHelpers.IsTypeormDate(),
typeorm.CreateDateColumn(),
tslib.__metadata("design:type", Date)
], Cart.prototype, "createdAt", void 0);
tslib.__decorate([
microserviceHelpers.IsTypeormDate(),
typeorm.UpdateDateColumn(),
tslib.__metadata("design:type", Date)
], Cart.prototype, "updatedAt", void 0);
tslib.__decorate([
classValidatorJsonschema.JSONSchema({
examples: [
{ priceId: 'price_1O554EEHwJl6pnAbKY23V8LO', quantity: 1 },
{ priceId: 'price_1O554EEHwJl6pnAb8wOcES6i', quantity: 3 },
],
}),
classValidator.ValidateNested(),
classTransformer.Type(() => cartProductPrice),
classValidator.IsObject({ each: true }),
microserviceHelpers.IsUndefinable(),
typeorm.OneToMany('CartProductPrice', 'cart', { cascade: true }),
typeorm.JoinColumn({ name: 'cartId' }),
tslib.__metadata("design:type", Array)
], Cart.prototype, "items", void 0);
Cart = tslib.__decorate([
classValidatorJsonschema.JSONSchema({
properties: {
items: { $ref: '#/definitions/CartProductPrice', type: 'array' },
},
}),
typeorm.Entity()
], Cart);
var Cart$1 = Cart;
module.exports = Cart$1;