UNPKG

payme-integration

Version:

NestJS integration module for Payme payment system

50 lines (38 loc) 1.02 kB
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { TransactionCancellationReason, TransactionState, TransactionStatus, } from '../types/enums'; import { HydratedDocument } from 'mongoose'; export type PaymeTransactionDocument = HydratedDocument<PaymeTransaction>; @Schema() export class PaymeTransaction { @Prop() amount: number; @Prop({ type: Object }) account: object; @Prop() create_time: Date; @Prop() perform_time?: Date; @Prop() cancel_time?: Date; @Prop({ type: String, unique: true }) trans_id: string; @Prop({ type: Number, enum: TransactionState, default: TransactionState.Initial, }) state: TransactionState; @Prop({ type: String, enum: TransactionStatus, default: TransactionStatus.PENDING, }) status: TransactionStatus; @Prop({ type: Number, enum: TransactionCancellationReason }) reason?: TransactionCancellationReason; } export const PaymeTransactionSchema = SchemaFactory.createForClass(PaymeTransaction);