Add another checkout table
This commit is contained in:
parent
379910081a
commit
39a34bd53b
@ -30,6 +30,8 @@ impl MigrationTrait for Migration {
|
|||||||
.await?;
|
.await?;
|
||||||
self.drop_table(m, PaymentCollectionPayment::PaymentCollectionPayments)
|
self.drop_table(m, PaymentCollectionPayment::PaymentCollectionPayments)
|
||||||
.await?;
|
.await?;
|
||||||
|
self.drop_table(m, PaymentSession::PaymentSessions).await?;
|
||||||
|
self.drop_table(m, Payment::Payments).await?;
|
||||||
self.drop_table(m, OrderItemChange::OrderItemChanges)
|
self.drop_table(m, OrderItemChange::OrderItemChanges)
|
||||||
.await?;
|
.await?;
|
||||||
self.drop_table(m, PaymentProvider::PaymentProviders)
|
self.drop_table(m, PaymentProvider::PaymentProviders)
|
||||||
@ -43,6 +45,7 @@ impl MigrationTrait for Migration {
|
|||||||
drop_type!(m, crate::types::OrderStatus);
|
drop_type!(m, crate::types::OrderStatus);
|
||||||
drop_type!(m, crate::types::OrderPaymentStatus);
|
drop_type!(m, crate::types::OrderPaymentStatus);
|
||||||
drop_type!(m, crate::types::OrderItemChangeType);
|
drop_type!(m, crate::types::OrderItemChangeType);
|
||||||
|
drop_type!(m, crate::types::PaymentSessionStatus);
|
||||||
drop_type!(m, crate::types::PaymentCollectionType);
|
drop_type!(m, crate::types::PaymentCollectionType);
|
||||||
drop_type!(m, crate::types::OrderFulfillmentStatus);
|
drop_type!(m, crate::types::OrderFulfillmentStatus);
|
||||||
drop_type!(m, crate::types::PaymentCollectionStatus);
|
drop_type!(m, crate::types::PaymentCollectionStatus);
|
||||||
@ -55,6 +58,7 @@ impl Migration {
|
|||||||
create_type!(m, crate::types::OrderStatus);
|
create_type!(m, crate::types::OrderStatus);
|
||||||
create_type!(m, crate::types::OrderPaymentStatus);
|
create_type!(m, crate::types::OrderPaymentStatus);
|
||||||
create_type!(m, crate::types::OrderItemChangeType);
|
create_type!(m, crate::types::OrderItemChangeType);
|
||||||
|
create_type!(m, crate::types::PaymentSessionStatus);
|
||||||
create_type!(m, crate::types::PaymentCollectionType);
|
create_type!(m, crate::types::PaymentCollectionType);
|
||||||
create_type!(m, crate::types::OrderFulfillmentStatus);
|
create_type!(m, crate::types::OrderFulfillmentStatus);
|
||||||
create_type!(m, crate::types::PaymentCollectionStatus);
|
create_type!(m, crate::types::PaymentCollectionStatus);
|
||||||
@ -272,23 +276,57 @@ impl Migration {
|
|||||||
/// CREATE TABLE payments
|
/// CREATE TABLE payments
|
||||||
/// (
|
/// (
|
||||||
/// id uuid NOT NULL,
|
/// id uuid NOT NULL,
|
||||||
|
///
|
||||||
/// swap_id uuid,
|
/// swap_id uuid,
|
||||||
/// cart_id uuid,
|
/// cart_id uuid,
|
||||||
|
///
|
||||||
/// order_id uuid,
|
/// order_id uuid,
|
||||||
/// amount integer NOT NULL,
|
/// amount integer NOT NULL,
|
||||||
|
///
|
||||||
/// currency_code character varying NOT NULL,
|
/// currency_code character varying NOT NULL,
|
||||||
/// amount_refunded integer DEFAULT 0 NOT NULL,
|
/// amount_refunded integer DEFAULT 0 NOT NULL,
|
||||||
|
///
|
||||||
/// provider_id uuid NOT NULL,
|
/// provider_id uuid NOT NULL,
|
||||||
/// data jsonb NOT NULL,
|
/// data jsonb NOT NULL,
|
||||||
|
///
|
||||||
/// captured_at timestamp with time zone,
|
/// captured_at timestamp with time zone,
|
||||||
/// canceled_at timestamp with time zone,
|
/// canceled_at timestamp with time zone,
|
||||||
|
///
|
||||||
/// created_at timestamp with time zone DEFAULT now() NOT NULL,
|
/// created_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||||
/// updated_at timestamp with time zone DEFAULT now() NOT NULL,
|
/// updated_at timestamp with time zone DEFAULT now() NOT NULL,
|
||||||
|
///
|
||||||
/// metadata jsonb,
|
/// metadata jsonb,
|
||||||
/// idempotency_key character varying
|
/// idempotency_key character varying
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
async fn create_payments(m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
async fn create_payments(m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
||||||
|
m.create_table(
|
||||||
|
Table::create()
|
||||||
|
.table(Payment::Payments)
|
||||||
|
.col(auto_uuid_not_null!(Payment::Id))
|
||||||
|
.col(Payment::SwapId.col().uuid())
|
||||||
|
.col(Payment::CartId.col().uuid())
|
||||||
|
.col(Payment::OrderId.col().uuid())
|
||||||
|
.col(Payment::Amount.col().integer().not_null())
|
||||||
|
.col(Payment::CurrencyCode.col().string().not_null())
|
||||||
|
.col(
|
||||||
|
Payment::AmountRefunded
|
||||||
|
.col()
|
||||||
|
.integer()
|
||||||
|
.default(0)
|
||||||
|
.not_null(),
|
||||||
|
)
|
||||||
|
.col(Payment::ProviderId.col().uuid().not_null())
|
||||||
|
.col(Payment::Data.col().json_binary().not_null())
|
||||||
|
.col(Payment::CapturedAt.col().timestamp())
|
||||||
|
.col(Payment::CanceledAt.col().timestamp())
|
||||||
|
.col(ts_def_now_not_null!(Payment::CreatedAt))
|
||||||
|
.col(ts_def_now_not_null!(Payment::UpdatedAt))
|
||||||
|
.col(Payment::Metadata.col().json_binary())
|
||||||
|
.col(Payment::IdempotencyKey.col().uuid())
|
||||||
|
.to_owned(),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -440,6 +478,38 @@ impl Migration {
|
|||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
async fn create_payment_sessions(m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
async fn create_payment_sessions(m: &SchemaManager<'_>) -> Result<(), DbErr> {
|
||||||
|
m.create_table(
|
||||||
|
Table::create()
|
||||||
|
.table(PaymentSession::PaymentSessions)
|
||||||
|
.col(auto_uuid_not_null!(PaymentSession::Id))
|
||||||
|
.col(PaymentSession::CartId.col().uuid())
|
||||||
|
.col(PaymentSession::ProviderId.col().uuid().not_null())
|
||||||
|
.col(PaymentSession::IsSelected.col().boolean())
|
||||||
|
.col(
|
||||||
|
PaymentSession::PaymentSessionStatus
|
||||||
|
.col()
|
||||||
|
.enumeration(
|
||||||
|
crate::types::PaymentSessionStatus::PaymentSessionStatuses,
|
||||||
|
crate::types::PaymentCollectionStatus::iter().skip(1),
|
||||||
|
)
|
||||||
|
.not_null(),
|
||||||
|
)
|
||||||
|
.col(PaymentSession::Data.col().json_binary().not_null())
|
||||||
|
.col(ts_def_now_not_null!(PaymentSession::CreatedAt))
|
||||||
|
.col(ts_def_now_not_null!(PaymentSession::UpdatedAt))
|
||||||
|
.col(PaymentSession::IdempotencyKey.col().uuid())
|
||||||
|
.col(PaymentSession::PaymentAuthorizedAt.col().timestamp())
|
||||||
|
.col(PaymentSession::Amount.col().integer())
|
||||||
|
.col(
|
||||||
|
PaymentSession::IsInitiated
|
||||||
|
.col()
|
||||||
|
.boolean()
|
||||||
|
.default(false)
|
||||||
|
.not_null(),
|
||||||
|
)
|
||||||
|
.to_owned(),
|
||||||
|
)
|
||||||
|
.await?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -585,7 +655,7 @@ pub enum PaymentSession {
|
|||||||
CartId,
|
CartId,
|
||||||
ProviderId,
|
ProviderId,
|
||||||
IsSelected,
|
IsSelected,
|
||||||
Status,
|
PaymentSessionStatus,
|
||||||
Data,
|
Data,
|
||||||
CreatedAt,
|
CreatedAt,
|
||||||
UpdatedAt,
|
UpdatedAt,
|
||||||
|
Loading…
Reference in New Issue
Block a user