Merge branch 'feat/payment-module-models' into feat/payment-module-interfaces

# Conflicts:
#	packages/payment/src/models/payment.ts
This commit is contained in:
fPolic committed 2024-01-16 12:20:07 +01:00
commit 67acdcdc92
10 files changed
+83 -104

No files matched your search

+2 -2
View File
@@ -11,7 +11,7 @@ import {
import { generateEntityId } from "@medusajs/utils" import { generateEntityId } from "@medusajs/utils"
import Payment from "./payment" import Payment from "./payment"
type OptionalCaptureProps = "created_by" | "created_at" | "completed_at" type OptionalCaptureProps = "created_at"
@Entity({ tableName: "capture" }) @Entity({ tableName: "capture" })
export default class Capture { export default class Capture {
@@ -41,7 +41,7 @@ export default class Capture {
created_at: Date created_at: Date
@Property({ columnType: "text", nullable: true }) @Property({ columnType: "text", nullable: true })
created_by: string | null created_by?: string | null
@BeforeCreate() @BeforeCreate()
onCreate() { onCreate() {
@@ -14,45 +14,17 @@ import {
} from "@mikro-orm/core" } from "@mikro-orm/core"
import { DAL } from "@medusajs/types" import { DAL } from "@medusajs/types"
import { DALUtils, generateEntityId } from "@medusajs/utils" import {
DALUtils,
generateEntityId,
optionalNumericSerializer,
PaymentCollectionStatus,
} from "@medusajs/utils"
import PaymentProvider from "./payment-provider" import PaymentProvider from "./payment-provider"
import PaymentSession from "./payment-session" import PaymentSession from "./payment-session"
import Payment from "./payment" import Payment from "./payment"
/** type OptionalPaymentCollectionProps = "status" | DAL.EntityDateColumns
* @enum
*
* The payment collection's status.
*/
export enum PaymentCollectionStatus {
/**
* The payment collection isn't paid.
*/
NOT_PAID = "not_paid",
/**
* The payment collection is awaiting payment.
*/
AWAITING = "awaiting",
/**
* The payment collection is authorized.
*/
AUTHORIZED = "authorized",
/**
* Some of the payments in the payment collection are authorized.
*/
PARTIALLY_AUTHORIZED = "partially_authorized",
/**
* The payment collection is canceled.
*/
CANCELED = "canceled",
}
type OptionalPaymentCollectionProps =
| "authorized_amount"
| "refunded_amount"
| "region_id"
| "completed_at"
| DAL.SoftDeletableEntityDateColumns
@Entity({ tableName: "payment_collection" }) @Entity({ tableName: "payment_collection" })
@Filter(DALUtils.mikroOrmSoftDeletableFilterOptions) @Filter(DALUtils.mikroOrmSoftDeletableFilterOptions)
@@ -74,16 +46,16 @@ export default class PaymentCollection {
@Property({ @Property({
columnType: "numeric", columnType: "numeric",
nullable: true, nullable: true,
serializer: Number, serializer: optionalNumericSerializer,
}) })
authorized_amount: number | null authorized_amount?: number | null
@Property({ @Property({
columnType: "numeric", columnType: "numeric",
nullable: true, nullable: true,
serializer: Number, serializer: optionalNumericSerializer,
}) })
refunded_amount: number | null refunded_amount?: number | null
@Property({ columnType: "text", nullable: true }) @Property({ columnType: "text", nullable: true })
region_id?: string | null region_id?: string | null
@@ -108,13 +80,13 @@ export default class PaymentCollection {
nullable: true, nullable: true,
index: "IDX_payment_collection_deleted_at", index: "IDX_payment_collection_deleted_at",
}) })
deleted_at: Date | null deleted_at?: Date | null
@Property({ @Property({
columnType: "timestamptz", columnType: "timestamptz",
nullable: true, nullable: true,
}) })
completed_at: Date | null completed_at?: Date | null
@Enum({ @Enum({
items: () => PaymentCollectionStatus, items: () => PaymentCollectionStatus,
@@ -2,23 +2,14 @@ import {
BeforeCreate, BeforeCreate,
Entity, Entity,
OnInit, OnInit,
OptionalProps,
PrimaryKey, PrimaryKey,
Property, Property,
} from "@mikro-orm/core" } from "@mikro-orm/core"
import { generateEntityId } from "@medusajs/utils" import { generateEntityId } from "@medusajs/utils"
type OptionalPaymentMethodTokenProps =
| "data"
| "type_detail"
| "description_detail"
| "metadata"
@Entity({ tableName: "payment_method_token" }) @Entity({ tableName: "payment_method_token" })
export default class PaymentMethodToken { export default class PaymentMethodToken {
[OptionalProps]?: OptionalPaymentMethodTokenProps
@PrimaryKey({ columnType: "text" }) @PrimaryKey({ columnType: "text" })
id: string id: string
@@ -32,21 +23,21 @@ export default class PaymentMethodToken {
name: string name: string
@Property({ columnType: "text", nullable: true }) @Property({ columnType: "text", nullable: true })
type_detail: string | null type_detail?: string | null
@Property({ columnType: "text", nullable: true }) @Property({ columnType: "text", nullable: true })
description_detail: string | null description_detail?: string | null
@Property({ columnType: "jsonb", nullable: true }) @Property({ columnType: "jsonb", nullable: true })
metadata?: Record<string, unknown> | null metadata?: Record<string, unknown> | null
@BeforeCreate() @BeforeCreate()
onCreate() { onCreate() {
this.id = generateEntityId(this.id, "paymt") this.id = generateEntityId(this.id, "paymttok")
} }
@OnInit() @OnInit()
onInit() { onInit() {
this.id = generateEntityId(this.id, "paymt") this.id = generateEntityId(this.id, "paymttok")
} }
} }
@@ -1,7 +1,9 @@
import { Entity, PrimaryKey, Property } from "@mikro-orm/core" import { Entity, OptionalProps, PrimaryKey, Property } from "@mikro-orm/core"
@Entity({ tableName: "payment_provider" }) @Entity({ tableName: "payment_provider" })
export default class PaymentProvider { export default class PaymentProvider {
[OptionalProps]?: "is_enabled"
@PrimaryKey({ columnType: "text" }) @PrimaryKey({ columnType: "text" })
id: string id: string
+3 -41
View File
@@ -5,54 +5,16 @@ import {
ManyToOne, ManyToOne,
OneToOne, OneToOne,
OnInit, OnInit,
OptionalProps,
PrimaryKey, PrimaryKey,
Property, Property,
} from "@mikro-orm/core" } from "@mikro-orm/core"
import { DAL } from "@medusajs/types" import { generateEntityId, PaymentSessionStatus } from "@medusajs/utils"
import { generateEntityId } from "@medusajs/utils"
import PaymentCollection from "./payment-collection" import PaymentCollection from "./payment-collection"
import Payment from "./payment" import Payment from "./payment"
/**
* @enum
*
* The status of a payment session.
*/
export enum PaymentSessionStatus {
/**
* The payment is authorized.
*/
AUTHORIZED = "authorized",
/**
* The payment is pending.
*/
PENDING = "pending",
/**
* The payment requires an action.
*/
REQUIRES_MORE = "requires_more",
/**
* An error occurred while processing the payment.
*/
ERROR = "error",
/**
* The payment is canceled.
*/
CANCELED = "canceled",
}
type OptionalPaymentSessionProps =
| "data"
| "is_selected"
| "authorized_at"
| DAL.EntityDateColumns
@Entity({ tableName: "payment_session" }) @Entity({ tableName: "payment_session" })
export default class PaymentSession { export default class PaymentSession {
[OptionalProps]?: OptionalPaymentSessionProps
@PrimaryKey({ columnType: "text" }) @PrimaryKey({ columnType: "text" })
id: string id: string
@@ -77,13 +39,13 @@ export default class PaymentSession {
status: PaymentSessionStatus status: PaymentSessionStatus
@Property({ columnType: "boolean", nullable: true }) @Property({ columnType: "boolean", nullable: true })
is_selected: boolean | null is_selected?: boolean | null
@Property({ @Property({
columnType: "timestamptz", columnType: "timestamptz",
nullable: true, nullable: true,
}) })
authorized_at: Date | null authorized_at?: Date | null
@ManyToOne({ @ManyToOne({
index: "IDX_payment_session_payment_collection_id", index: "IDX_payment_session_payment_collection_id",
+1 -6
View File
@@ -3,7 +3,6 @@ import {
Entity, Entity,
ManyToOne, ManyToOne,
OnInit, OnInit,
OptionalProps,
PrimaryKey, PrimaryKey,
Property, Property,
} from "@mikro-orm/core" } from "@mikro-orm/core"
@@ -11,12 +10,8 @@ import {
import { generateEntityId } from "@medusajs/utils" import { generateEntityId } from "@medusajs/utils"
import Payment from "./payment" import Payment from "./payment"
type OptionalRefundProps = "created_by" | "completed_at"
@Entity({ tableName: "refund" }) @Entity({ tableName: "refund" })
export default class Refund { export default class Refund {
[OptionalProps]?: OptionalRefundProps
@PrimaryKey({ columnType: "text" }) @PrimaryKey({ columnType: "text" })
id: string id: string
@@ -41,7 +36,7 @@ export default class Refund {
created_at: Date created_at: Date
@Property({ columnType: "text", nullable: true }) @Property({ columnType: "text", nullable: true })
created_by: string | null created_by?: string | null
@BeforeCreate() @BeforeCreate()
onCreate() { onCreate() {
+1
View File
@@ -5,6 +5,7 @@ export * from "./decorators"
export * from "./event-bus" export * from "./event-bus"
export * from "./feature-flags" export * from "./feature-flags"
export * from "./modules-sdk" export * from "./modules-sdk"
export * from "./payment"
export * from "./pricing" export * from "./pricing"
export * from "./product" export * from "./product"
export * from "./promotion" export * from "./promotion"
+2
View File
@@ -0,0 +1,2 @@
export * from "./payment-collection"
export * from "./payment-session"
@@ -0,0 +1,27 @@
/**
* @enum
*
* The payment collection's status.
*/
export enum PaymentCollectionStatus {
/**
* The payment collection isn't paid.
*/
NOT_PAID = "not_paid",
/**
* The payment collection is awaiting payment.
*/
AWAITING = "awaiting",
/**
* The payment collection is authorized.
*/
AUTHORIZED = "authorized",
/**
* Some of the payments in the payment collection are authorized.
*/
PARTIALLY_AUTHORIZED = "partially_authorized",
/**
* The payment collection is canceled.
*/
CANCELED = "canceled",
}
@@ -0,0 +1,27 @@
/**
* @enum
*
* The status of a payment session.
*/
export enum PaymentSessionStatus {
/**
* The payment is authorized.
*/
AUTHORIZED = "authorized",
/**
* The payment is pending.
*/
PENDING = "pending",
/**
* The payment requires an action.
*/
REQUIRES_MORE = "requires_more",
/**
* An error occurred while processing the payment.
*/
ERROR = "error",
/**
* The payment is canceled.
*/
CANCELED = "canceled",
}