@hed-hog/billing 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/billing-gateway-registry.d.ts +8 -0
- package/dist/adapters/billing-gateway-registry.d.ts.map +1 -0
- package/dist/adapters/billing-gateway-registry.js +33 -0
- package/dist/adapters/billing-gateway-registry.js.map +1 -0
- package/dist/adapters/mercadopago.adapter.d.ts +44 -0
- package/dist/adapters/mercadopago.adapter.d.ts.map +1 -0
- package/dist/adapters/mercadopago.adapter.js +68 -0
- package/dist/adapters/mercadopago.adapter.js.map +1 -0
- package/dist/adapters/pagarme.adapter.d.ts +44 -0
- package/dist/adapters/pagarme.adapter.d.ts.map +1 -0
- package/dist/adapters/pagarme.adapter.js +68 -0
- package/dist/adapters/pagarme.adapter.js.map +1 -0
- package/dist/adapters/payment-gateway.adapter.d.ts +15 -0
- package/dist/adapters/payment-gateway.adapter.d.ts.map +1 -0
- package/dist/adapters/payment-gateway.adapter.js +3 -0
- package/dist/adapters/payment-gateway.adapter.js.map +1 -0
- package/dist/adapters/stripe.adapter.d.ts +44 -0
- package/dist/adapters/stripe.adapter.d.ts.map +1 -0
- package/dist/adapters/stripe.adapter.js +69 -0
- package/dist/adapters/stripe.adapter.js.map +1 -0
- package/dist/billing-contracts.controller.d.ts +22 -0
- package/dist/billing-contracts.controller.d.ts.map +1 -0
- package/dist/billing-contracts.controller.js +84 -0
- package/dist/billing-contracts.controller.js.map +1 -0
- package/dist/billing-coupons.controller.d.ts +22 -0
- package/dist/billing-coupons.controller.d.ts.map +1 -0
- package/dist/billing-coupons.controller.js +84 -0
- package/dist/billing-coupons.controller.js.map +1 -0
- package/dist/billing-dashboard.controller.d.ts +13 -0
- package/dist/billing-dashboard.controller.d.ts.map +1 -0
- package/dist/billing-dashboard.controller.js +36 -0
- package/dist/billing-dashboard.controller.js.map +1 -0
- package/dist/billing-entitlements.controller.d.ts +19 -0
- package/dist/billing-entitlements.controller.d.ts.map +1 -0
- package/dist/billing-entitlements.controller.js +62 -0
- package/dist/billing-entitlements.controller.js.map +1 -0
- package/dist/billing-gateways.controller.d.ts +8 -0
- package/dist/billing-gateways.controller.d.ts.map +1 -0
- package/dist/billing-gateways.controller.js +50 -0
- package/dist/billing-gateways.controller.js.map +1 -0
- package/dist/billing-invoices.controller.d.ts +18 -0
- package/dist/billing-invoices.controller.d.ts.map +1 -0
- package/dist/billing-invoices.controller.js +61 -0
- package/dist/billing-invoices.controller.js.map +1 -0
- package/dist/billing-offers.controller.d.ts +22 -0
- package/dist/billing-offers.controller.d.ts.map +1 -0
- package/dist/billing-offers.controller.js +84 -0
- package/dist/billing-offers.controller.js.map +1 -0
- package/dist/billing-orders.controller.d.ts +19 -0
- package/dist/billing-orders.controller.d.ts.map +1 -0
- package/dist/billing-orders.controller.js +62 -0
- package/dist/billing-orders.controller.js.map +1 -0
- package/dist/billing-payments.controller.d.ts +17 -0
- package/dist/billing-payments.controller.d.ts.map +1 -0
- package/dist/billing-payments.controller.js +51 -0
- package/dist/billing-payments.controller.js.map +1 -0
- package/dist/billing-prices.controller.d.ts +22 -0
- package/dist/billing-prices.controller.d.ts.map +1 -0
- package/dist/billing-prices.controller.js +84 -0
- package/dist/billing-prices.controller.js.map +1 -0
- package/dist/billing-products.controller.d.ts +22 -0
- package/dist/billing-products.controller.d.ts.map +1 -0
- package/dist/billing-products.controller.js +84 -0
- package/dist/billing-products.controller.js.map +1 -0
- package/dist/billing-refunds.controller.d.ts +16 -0
- package/dist/billing-refunds.controller.d.ts.map +1 -0
- package/dist/billing-refunds.controller.js +41 -0
- package/dist/billing-refunds.controller.js.map +1 -0
- package/dist/billing-subscriptions.controller.d.ts +22 -0
- package/dist/billing-subscriptions.controller.d.ts.map +1 -0
- package/dist/billing-subscriptions.controller.js +92 -0
- package/dist/billing-subscriptions.controller.js.map +1 -0
- package/dist/billing-webhooks.controller.d.ts +16 -0
- package/dist/billing-webhooks.controller.d.ts.map +1 -0
- package/dist/billing-webhooks.controller.js +41 -0
- package/dist/billing-webhooks.controller.js.map +1 -0
- package/dist/billing.module.d.ts +3 -0
- package/dist/billing.module.d.ts.map +1 -0
- package/dist/billing.module.js +61 -0
- package/dist/billing.module.js.map +1 -0
- package/dist/billing.service.d.ts +169 -0
- package/dist/billing.service.d.ts.map +1 -0
- package/dist/billing.service.js +290 -0
- package/dist/billing.service.js.map +1 -0
- package/dist/dto/create-contract.dto.d.ts +11 -0
- package/dist/dto/create-contract.dto.d.ts.map +1 -0
- package/dist/dto/create-contract.dto.js +52 -0
- package/dist/dto/create-contract.dto.js.map +1 -0
- package/dist/dto/create-coupon.dto.d.ts +12 -0
- package/dist/dto/create-coupon.dto.d.ts.map +1 -0
- package/dist/dto/create-coupon.dto.js +60 -0
- package/dist/dto/create-coupon.dto.js.map +1 -0
- package/dist/dto/create-entitlement.dto.d.ts +12 -0
- package/dist/dto/create-entitlement.dto.d.ts.map +1 -0
- package/dist/dto/create-entitlement.dto.js +54 -0
- package/dist/dto/create-entitlement.dto.js.map +1 -0
- package/dist/dto/create-offer.dto.d.ts +7 -0
- package/dist/dto/create-offer.dto.d.ts.map +1 -0
- package/dist/dto/create-offer.dto.js +35 -0
- package/dist/dto/create-offer.dto.js.map +1 -0
- package/dist/dto/create-order.dto.d.ts +12 -0
- package/dist/dto/create-order.dto.d.ts.map +1 -0
- package/dist/dto/create-order.dto.js +65 -0
- package/dist/dto/create-order.dto.js.map +1 -0
- package/dist/dto/create-price.dto.d.ts +15 -0
- package/dist/dto/create-price.dto.d.ts.map +1 -0
- package/dist/dto/create-price.dto.js +76 -0
- package/dist/dto/create-price.dto.js.map +1 -0
- package/dist/dto/create-product.dto.d.ts +9 -0
- package/dist/dto/create-product.dto.d.ts.map +1 -0
- package/dist/dto/create-product.dto.js +45 -0
- package/dist/dto/create-product.dto.js.map +1 -0
- package/dist/dto/create-subscription.dto.d.ts +14 -0
- package/dist/dto/create-subscription.dto.d.ts.map +1 -0
- package/dist/dto/create-subscription.dto.js +67 -0
- package/dist/dto/create-subscription.dto.js.map +1 -0
- package/dist/dto/update-contract.dto.d.ts +6 -0
- package/dist/dto/update-contract.dto.d.ts.map +1 -0
- package/dist/dto/update-contract.dto.js +9 -0
- package/dist/dto/update-contract.dto.js.map +1 -0
- package/dist/dto/update-coupon.dto.d.ts +6 -0
- package/dist/dto/update-coupon.dto.d.ts.map +1 -0
- package/dist/dto/update-coupon.dto.js +9 -0
- package/dist/dto/update-coupon.dto.js.map +1 -0
- package/dist/dto/update-offer.dto.d.ts +6 -0
- package/dist/dto/update-offer.dto.d.ts.map +1 -0
- package/dist/dto/update-offer.dto.js +9 -0
- package/dist/dto/update-offer.dto.js.map +1 -0
- package/dist/dto/update-order.dto.d.ts +6 -0
- package/dist/dto/update-order.dto.d.ts.map +1 -0
- package/dist/dto/update-order.dto.js +9 -0
- package/dist/dto/update-order.dto.js.map +1 -0
- package/dist/dto/update-price.dto.d.ts +6 -0
- package/dist/dto/update-price.dto.d.ts.map +1 -0
- package/dist/dto/update-price.dto.js +9 -0
- package/dist/dto/update-price.dto.js.map +1 -0
- package/dist/dto/update-product.dto.d.ts +6 -0
- package/dist/dto/update-product.dto.d.ts.map +1 -0
- package/dist/dto/update-product.dto.js +9 -0
- package/dist/dto/update-product.dto.js.map +1 -0
- package/dist/dto/update-subscription.dto.d.ts +6 -0
- package/dist/dto/update-subscription.dto.d.ts.map +1 -0
- package/dist/dto/update-subscription.dto.js +9 -0
- package/dist/dto/update-subscription.dto.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +48 -0
- package/dist/index.js.map +1 -0
- package/hedhog/data/menu.yaml +284 -0
- package/hedhog/data/role.yaml +7 -0
- package/hedhog/data/route.yaml +422 -0
- package/hedhog/frontend/app/_lib/billing-mocks.ts.ejs +270 -0
- package/hedhog/frontend/app/contracts/page.tsx.ejs +562 -0
- package/hedhog/frontend/app/coupons/page.tsx.ejs +669 -0
- package/hedhog/frontend/app/entitlements/page.tsx.ejs +526 -0
- package/hedhog/frontend/app/gateways/page.tsx.ejs +308 -0
- package/hedhog/frontend/app/invoices/page.tsx.ejs +179 -0
- package/hedhog/frontend/app/offers/page.tsx.ejs +483 -0
- package/hedhog/frontend/app/orders/page.tsx.ejs +424 -0
- package/hedhog/frontend/app/page.tsx.ejs +186 -0
- package/hedhog/frontend/app/payments/page.tsx.ejs +187 -0
- package/hedhog/frontend/app/prices/page.tsx.ejs +704 -0
- package/hedhog/frontend/app/products/page.tsx.ejs +568 -0
- package/hedhog/frontend/app/refunds/page.tsx.ejs +174 -0
- package/hedhog/frontend/app/reports/page.tsx.ejs +177 -0
- package/hedhog/frontend/app/subscriptions/page.tsx.ejs +283 -0
- package/hedhog/frontend/app/webhooks/page.tsx.ejs +172 -0
- package/hedhog/frontend/messages/en.json +551 -0
- package/hedhog/frontend/messages/pt.json +563 -0
- package/hedhog/table/billing_contract.yaml +37 -0
- package/hedhog/table/billing_contract_seat.yaml +28 -0
- package/hedhog/table/billing_coupon.yaml +42 -0
- package/hedhog/table/billing_entitlement.yaml +41 -0
- package/hedhog/table/billing_entitlement_event.yaml +20 -0
- package/hedhog/table/billing_invoice.yaml +60 -0
- package/hedhog/table/billing_invoice_item.yaml +25 -0
- package/hedhog/table/billing_offer.yaml +22 -0
- package/hedhog/table/billing_offer_price.yaml +23 -0
- package/hedhog/table/billing_order.yaml +50 -0
- package/hedhog/table/billing_order_item.yaml +35 -0
- package/hedhog/table/billing_payment.yaml +66 -0
- package/hedhog/table/billing_payment_method.yaml +49 -0
- package/hedhog/table/billing_payment_provider.yaml +21 -0
- package/hedhog/table/billing_price.yaml +53 -0
- package/hedhog/table/billing_product.yaml +31 -0
- package/hedhog/table/billing_product_item.yaml +24 -0
- package/hedhog/table/billing_provider_event.yaml +31 -0
- package/hedhog/table/billing_refund.yaml +41 -0
- package/hedhog/table/billing_seat_allocation.yaml +42 -0
- package/hedhog/table/billing_subscription.yaml +66 -0
- package/hedhog/table/billing_subscription_event.yaml +20 -0
- package/hedhog/table/billing_subscription_item.yaml +29 -0
- package/package.json +37 -0
- package/src/adapters/billing-gateway-registry.ts +23 -0
- package/src/adapters/mercadopago.adapter.ts +66 -0
- package/src/adapters/pagarme.adapter.ts +66 -0
- package/src/adapters/payment-gateway.adapter.ts +14 -0
- package/src/adapters/stripe.adapter.ts +67 -0
- package/src/billing-contracts.controller.ts +46 -0
- package/src/billing-coupons.controller.ts +46 -0
- package/src/billing-dashboard.controller.ts +14 -0
- package/src/billing-entitlements.controller.ts +34 -0
- package/src/billing-gateways.controller.ts +19 -0
- package/src/billing-invoices.controller.ts +32 -0
- package/src/billing-offers.controller.ts +46 -0
- package/src/billing-orders.controller.ts +33 -0
- package/src/billing-payments.controller.ts +20 -0
- package/src/billing-prices.controller.ts +46 -0
- package/src/billing-products.controller.ts +46 -0
- package/src/billing-refunds.controller.ts +15 -0
- package/src/billing-subscriptions.controller.ts +49 -0
- package/src/billing-webhooks.controller.ts +15 -0
- package/src/billing.module.ts +48 -0
- package/src/billing.service.ts +391 -0
- package/src/dto/create-contract.dto.ts +30 -0
- package/src/dto/create-coupon.dto.ts +37 -0
- package/src/dto/create-entitlement.dto.ts +31 -0
- package/src/dto/create-offer.dto.ts +17 -0
- package/src/dto/create-order.dto.ts +42 -0
- package/src/dto/create-price.dto.ts +50 -0
- package/src/dto/create-product.dto.ts +25 -0
- package/src/dto/create-subscription.dto.ts +42 -0
- package/src/dto/update-contract.dto.ts +4 -0
- package/src/dto/update-coupon.dto.ts +4 -0
- package/src/dto/update-offer.dto.ts +4 -0
- package/src/dto/update-order.dto.ts +4 -0
- package/src/dto/update-price.dto.ts +4 -0
- package/src/dto/update-product.dto.ts +4 -0
- package/src/dto/update-subscription.dto.ts +4 -0
- package/src/index.ts +32 -0
- package/src/language/en.json +8 -0
- package/src/language/pt.json +8 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: contact_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: person
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: source_type
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 64
|
|
13
|
+
- name: source_id
|
|
14
|
+
type: int
|
|
15
|
+
- name: target_type
|
|
16
|
+
type: varchar
|
|
17
|
+
length: 64
|
|
18
|
+
- name: target_id
|
|
19
|
+
type: int
|
|
20
|
+
- name: access_type
|
|
21
|
+
type: varchar
|
|
22
|
+
length: 120
|
|
23
|
+
- name: starts_at
|
|
24
|
+
type: datetime
|
|
25
|
+
isNullable: true
|
|
26
|
+
- name: ends_at
|
|
27
|
+
type: datetime
|
|
28
|
+
isNullable: true
|
|
29
|
+
- name: status
|
|
30
|
+
type: enum
|
|
31
|
+
values: [active, revoked, expired]
|
|
32
|
+
default: active
|
|
33
|
+
- type: created_at
|
|
34
|
+
- type: updated_at
|
|
35
|
+
|
|
36
|
+
indices:
|
|
37
|
+
- columns: [contact_id]
|
|
38
|
+
- columns: [source_type, source_id]
|
|
39
|
+
- columns: [target_type, target_id]
|
|
40
|
+
- columns: [status]
|
|
41
|
+
- columns: [ends_at]
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: entitlement_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_entitlement
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: event_type
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 120
|
|
13
|
+
- name: payload
|
|
14
|
+
type: text
|
|
15
|
+
isNullable: true
|
|
16
|
+
- type: created_at
|
|
17
|
+
|
|
18
|
+
indices:
|
|
19
|
+
- columns: [entitlement_id]
|
|
20
|
+
- columns: [event_type]
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: subscription_id
|
|
4
|
+
type: fk
|
|
5
|
+
isNullable: true
|
|
6
|
+
references:
|
|
7
|
+
table: billing_subscription
|
|
8
|
+
column: id
|
|
9
|
+
onDelete: SET NULL
|
|
10
|
+
onUpdate: CASCADE
|
|
11
|
+
- name: order_id
|
|
12
|
+
type: fk
|
|
13
|
+
isNullable: true
|
|
14
|
+
references:
|
|
15
|
+
table: billing_order
|
|
16
|
+
column: id
|
|
17
|
+
onDelete: SET NULL
|
|
18
|
+
onUpdate: CASCADE
|
|
19
|
+
- name: contact_id
|
|
20
|
+
type: fk
|
|
21
|
+
isNullable: true
|
|
22
|
+
references:
|
|
23
|
+
table: person
|
|
24
|
+
column: id
|
|
25
|
+
onDelete: SET NULL
|
|
26
|
+
onUpdate: CASCADE
|
|
27
|
+
- name: invoice_number
|
|
28
|
+
type: varchar
|
|
29
|
+
length: 64
|
|
30
|
+
isNullable: true
|
|
31
|
+
- name: status
|
|
32
|
+
type: enum
|
|
33
|
+
values: [draft, open, paid, void, uncollectible]
|
|
34
|
+
default: draft
|
|
35
|
+
- name: currency
|
|
36
|
+
type: char
|
|
37
|
+
length: 3
|
|
38
|
+
default: BRL
|
|
39
|
+
- name: subtotal_cents
|
|
40
|
+
type: int
|
|
41
|
+
default: 0
|
|
42
|
+
- name: total_cents
|
|
43
|
+
type: int
|
|
44
|
+
default: 0
|
|
45
|
+
- name: due_date
|
|
46
|
+
type: datetime
|
|
47
|
+
isNullable: true
|
|
48
|
+
- name: paid_at
|
|
49
|
+
type: datetime
|
|
50
|
+
isNullable: true
|
|
51
|
+
- type: created_at
|
|
52
|
+
- type: updated_at
|
|
53
|
+
|
|
54
|
+
indices:
|
|
55
|
+
- columns: [subscription_id]
|
|
56
|
+
- columns: [order_id]
|
|
57
|
+
- columns: [contact_id]
|
|
58
|
+
- columns: [invoice_number]
|
|
59
|
+
- columns: [status]
|
|
60
|
+
- columns: [due_date]
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: invoice_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_invoice
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: description
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 500
|
|
13
|
+
- name: quantity
|
|
14
|
+
type: int
|
|
15
|
+
default: 1
|
|
16
|
+
- name: unit_amount_cents
|
|
17
|
+
type: int
|
|
18
|
+
default: 0
|
|
19
|
+
- name: total_amount_cents
|
|
20
|
+
type: int
|
|
21
|
+
default: 0
|
|
22
|
+
- type: created_at
|
|
23
|
+
|
|
24
|
+
indices:
|
|
25
|
+
- columns: [invoice_id]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: code
|
|
4
|
+
type: varchar
|
|
5
|
+
length: 64
|
|
6
|
+
- name: name
|
|
7
|
+
type: varchar
|
|
8
|
+
length: 255
|
|
9
|
+
- name: description
|
|
10
|
+
type: text
|
|
11
|
+
isNullable: true
|
|
12
|
+
- name: status
|
|
13
|
+
type: enum
|
|
14
|
+
values: [draft, active, archived]
|
|
15
|
+
default: draft
|
|
16
|
+
- type: created_at
|
|
17
|
+
- type: updated_at
|
|
18
|
+
|
|
19
|
+
indices:
|
|
20
|
+
- columns: [code]
|
|
21
|
+
isUnique: true
|
|
22
|
+
- columns: [status]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: offer_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_offer
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: price_id
|
|
11
|
+
type: fk
|
|
12
|
+
references:
|
|
13
|
+
table: billing_price
|
|
14
|
+
column: id
|
|
15
|
+
onDelete: CASCADE
|
|
16
|
+
onUpdate: CASCADE
|
|
17
|
+
- type: created_at
|
|
18
|
+
|
|
19
|
+
indices:
|
|
20
|
+
- columns: [offer_id, price_id]
|
|
21
|
+
isUnique: true
|
|
22
|
+
- columns: [offer_id]
|
|
23
|
+
- columns: [price_id]
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: contact_id
|
|
4
|
+
type: fk
|
|
5
|
+
isNullable: true
|
|
6
|
+
references:
|
|
7
|
+
table: person
|
|
8
|
+
column: id
|
|
9
|
+
onDelete: SET NULL
|
|
10
|
+
onUpdate: CASCADE
|
|
11
|
+
- name: company_contact_id
|
|
12
|
+
type: fk
|
|
13
|
+
isNullable: true
|
|
14
|
+
references:
|
|
15
|
+
table: person
|
|
16
|
+
column: id
|
|
17
|
+
onDelete: SET NULL
|
|
18
|
+
onUpdate: CASCADE
|
|
19
|
+
- name: status
|
|
20
|
+
type: enum
|
|
21
|
+
values: [draft, pending, paid, canceled, refunded]
|
|
22
|
+
default: draft
|
|
23
|
+
- name: currency
|
|
24
|
+
type: char
|
|
25
|
+
length: 3
|
|
26
|
+
default: BRL
|
|
27
|
+
- name: subtotal_cents
|
|
28
|
+
type: int
|
|
29
|
+
default: 0
|
|
30
|
+
- name: discount_cents
|
|
31
|
+
type: int
|
|
32
|
+
default: 0
|
|
33
|
+
- name: total_cents
|
|
34
|
+
type: int
|
|
35
|
+
default: 0
|
|
36
|
+
- name: source
|
|
37
|
+
type: varchar
|
|
38
|
+
length: 120
|
|
39
|
+
isNullable: true
|
|
40
|
+
- name: notes
|
|
41
|
+
type: text
|
|
42
|
+
isNullable: true
|
|
43
|
+
- type: created_at
|
|
44
|
+
- type: updated_at
|
|
45
|
+
|
|
46
|
+
indices:
|
|
47
|
+
- columns: [contact_id]
|
|
48
|
+
- columns: [company_contact_id]
|
|
49
|
+
- columns: [status]
|
|
50
|
+
- columns: [created_at]
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: order_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_order
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: price_id
|
|
11
|
+
type: fk
|
|
12
|
+
isNullable: true
|
|
13
|
+
references:
|
|
14
|
+
table: billing_price
|
|
15
|
+
column: id
|
|
16
|
+
onDelete: RESTRICT
|
|
17
|
+
onUpdate: CASCADE
|
|
18
|
+
- name: quantity
|
|
19
|
+
type: int
|
|
20
|
+
default: 1
|
|
21
|
+
- name: unit_amount_cents
|
|
22
|
+
type: int
|
|
23
|
+
default: 0
|
|
24
|
+
- name: total_amount_cents
|
|
25
|
+
type: int
|
|
26
|
+
default: 0
|
|
27
|
+
- name: description
|
|
28
|
+
type: varchar
|
|
29
|
+
length: 500
|
|
30
|
+
isNullable: true
|
|
31
|
+
- type: created_at
|
|
32
|
+
|
|
33
|
+
indices:
|
|
34
|
+
- columns: [order_id]
|
|
35
|
+
- columns: [price_id]
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: invoice_id
|
|
4
|
+
type: fk
|
|
5
|
+
isNullable: true
|
|
6
|
+
references:
|
|
7
|
+
table: billing_invoice
|
|
8
|
+
column: id
|
|
9
|
+
onDelete: SET NULL
|
|
10
|
+
onUpdate: CASCADE
|
|
11
|
+
- name: order_id
|
|
12
|
+
type: fk
|
|
13
|
+
isNullable: true
|
|
14
|
+
references:
|
|
15
|
+
table: billing_order
|
|
16
|
+
column: id
|
|
17
|
+
onDelete: SET NULL
|
|
18
|
+
onUpdate: CASCADE
|
|
19
|
+
- name: contact_id
|
|
20
|
+
type: fk
|
|
21
|
+
isNullable: true
|
|
22
|
+
references:
|
|
23
|
+
table: person
|
|
24
|
+
column: id
|
|
25
|
+
onDelete: SET NULL
|
|
26
|
+
onUpdate: CASCADE
|
|
27
|
+
- name: provider
|
|
28
|
+
type: varchar
|
|
29
|
+
length: 64
|
|
30
|
+
isNullable: true
|
|
31
|
+
- name: method_type
|
|
32
|
+
type: enum
|
|
33
|
+
values: [card, pix, boleto, bank_transfer, wallet, other]
|
|
34
|
+
default: card
|
|
35
|
+
- name: status
|
|
36
|
+
type: enum
|
|
37
|
+
values: [pending, processing, paid, failed, canceled, refunded]
|
|
38
|
+
default: pending
|
|
39
|
+
- name: amount_cents
|
|
40
|
+
type: int
|
|
41
|
+
default: 0
|
|
42
|
+
- name: currency
|
|
43
|
+
type: char
|
|
44
|
+
length: 3
|
|
45
|
+
default: BRL
|
|
46
|
+
- name: external_transaction_id
|
|
47
|
+
type: varchar
|
|
48
|
+
length: 255
|
|
49
|
+
isNullable: true
|
|
50
|
+
- name: paid_at
|
|
51
|
+
type: datetime
|
|
52
|
+
isNullable: true
|
|
53
|
+
- name: raw_response
|
|
54
|
+
type: text
|
|
55
|
+
isNullable: true
|
|
56
|
+
- type: created_at
|
|
57
|
+
- type: updated_at
|
|
58
|
+
|
|
59
|
+
indices:
|
|
60
|
+
- columns: [invoice_id]
|
|
61
|
+
- columns: [order_id]
|
|
62
|
+
- columns: [contact_id]
|
|
63
|
+
- columns: [provider]
|
|
64
|
+
- columns: [status]
|
|
65
|
+
- columns: [external_transaction_id]
|
|
66
|
+
- columns: [paid_at]
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: contact_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: person
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: provider
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 64
|
|
13
|
+
- name: type
|
|
14
|
+
type: enum
|
|
15
|
+
values: [card, pix, bank_account]
|
|
16
|
+
default: card
|
|
17
|
+
- name: last_four
|
|
18
|
+
type: varchar
|
|
19
|
+
length: 4
|
|
20
|
+
isNullable: true
|
|
21
|
+
- name: brand
|
|
22
|
+
type: varchar
|
|
23
|
+
length: 64
|
|
24
|
+
isNullable: true
|
|
25
|
+
- name: expiry_month
|
|
26
|
+
type: int
|
|
27
|
+
isNullable: true
|
|
28
|
+
- name: expiry_year
|
|
29
|
+
type: int
|
|
30
|
+
isNullable: true
|
|
31
|
+
- name: is_default
|
|
32
|
+
type: boolean
|
|
33
|
+
default: false
|
|
34
|
+
- name: gateway_method_id
|
|
35
|
+
type: varchar
|
|
36
|
+
length: 255
|
|
37
|
+
isNullable: true
|
|
38
|
+
- name: status
|
|
39
|
+
type: enum
|
|
40
|
+
values: [active, expired, removed]
|
|
41
|
+
default: active
|
|
42
|
+
- type: created_at
|
|
43
|
+
- type: updated_at
|
|
44
|
+
|
|
45
|
+
indices:
|
|
46
|
+
- columns: [contact_id]
|
|
47
|
+
- columns: [provider]
|
|
48
|
+
- columns: [status]
|
|
49
|
+
- columns: [is_default]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: slug
|
|
4
|
+
type: varchar
|
|
5
|
+
length: 64
|
|
6
|
+
- name: name
|
|
7
|
+
type: varchar
|
|
8
|
+
length: 180
|
|
9
|
+
- name: is_active
|
|
10
|
+
type: boolean
|
|
11
|
+
default: true
|
|
12
|
+
- name: config_json
|
|
13
|
+
type: text
|
|
14
|
+
isNullable: true
|
|
15
|
+
- type: created_at
|
|
16
|
+
- type: updated_at
|
|
17
|
+
|
|
18
|
+
indices:
|
|
19
|
+
- columns: [slug]
|
|
20
|
+
isUnique: true
|
|
21
|
+
- columns: [is_active]
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: product_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_product
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: RESTRICT
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: name
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 255
|
|
13
|
+
- name: billing_type
|
|
14
|
+
type: enum
|
|
15
|
+
values: [one_time, recurring]
|
|
16
|
+
default: recurring
|
|
17
|
+
- name: currency
|
|
18
|
+
type: char
|
|
19
|
+
length: 3
|
|
20
|
+
default: BRL
|
|
21
|
+
- name: amount_cents
|
|
22
|
+
type: int
|
|
23
|
+
default: 0
|
|
24
|
+
- name: interval_unit
|
|
25
|
+
type: enum
|
|
26
|
+
values: [day, week, month, year]
|
|
27
|
+
isNullable: true
|
|
28
|
+
- name: interval_count
|
|
29
|
+
type: int
|
|
30
|
+
default: 1
|
|
31
|
+
- name: trial_days
|
|
32
|
+
type: int
|
|
33
|
+
default: 0
|
|
34
|
+
- name: setup_fee_cents
|
|
35
|
+
type: int
|
|
36
|
+
default: 0
|
|
37
|
+
- name: is_active
|
|
38
|
+
type: boolean
|
|
39
|
+
default: true
|
|
40
|
+
- name: starts_at
|
|
41
|
+
type: datetime
|
|
42
|
+
isNullable: true
|
|
43
|
+
- name: ends_at
|
|
44
|
+
type: datetime
|
|
45
|
+
isNullable: true
|
|
46
|
+
- type: created_at
|
|
47
|
+
- type: updated_at
|
|
48
|
+
|
|
49
|
+
indices:
|
|
50
|
+
- columns: [product_id]
|
|
51
|
+
- columns: [billing_type]
|
|
52
|
+
- columns: [is_active]
|
|
53
|
+
- columns: [currency]
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: code
|
|
4
|
+
type: varchar
|
|
5
|
+
length: 64
|
|
6
|
+
isNullable: true
|
|
7
|
+
- name: name
|
|
8
|
+
type: varchar
|
|
9
|
+
length: 255
|
|
10
|
+
- name: description
|
|
11
|
+
type: text
|
|
12
|
+
isNullable: true
|
|
13
|
+
- name: product_type
|
|
14
|
+
type: enum
|
|
15
|
+
values: [saas, physical, service, addon]
|
|
16
|
+
default: saas
|
|
17
|
+
- name: category
|
|
18
|
+
type: varchar
|
|
19
|
+
length: 120
|
|
20
|
+
isNullable: true
|
|
21
|
+
- name: is_active
|
|
22
|
+
type: boolean
|
|
23
|
+
default: true
|
|
24
|
+
- type: created_at
|
|
25
|
+
- type: updated_at
|
|
26
|
+
|
|
27
|
+
indices:
|
|
28
|
+
- columns: [code]
|
|
29
|
+
isUnique: true
|
|
30
|
+
- columns: [product_type]
|
|
31
|
+
- columns: [is_active]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: product_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_product
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: name
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 255
|
|
13
|
+
- name: description
|
|
14
|
+
type: text
|
|
15
|
+
isNullable: true
|
|
16
|
+
- name: is_active
|
|
17
|
+
type: boolean
|
|
18
|
+
default: true
|
|
19
|
+
- type: created_at
|
|
20
|
+
- type: updated_at
|
|
21
|
+
|
|
22
|
+
indices:
|
|
23
|
+
- columns: [product_id]
|
|
24
|
+
- columns: [is_active]
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: provider_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_payment_provider
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: event_type
|
|
11
|
+
type: varchar
|
|
12
|
+
length: 120
|
|
13
|
+
- name: external_event_id
|
|
14
|
+
type: varchar
|
|
15
|
+
length: 255
|
|
16
|
+
isNullable: true
|
|
17
|
+
- name: payload
|
|
18
|
+
type: text
|
|
19
|
+
- name: processed
|
|
20
|
+
type: boolean
|
|
21
|
+
default: false
|
|
22
|
+
- name: processed_at
|
|
23
|
+
type: datetime
|
|
24
|
+
isNullable: true
|
|
25
|
+
- type: created_at
|
|
26
|
+
|
|
27
|
+
indices:
|
|
28
|
+
- columns: [provider_id]
|
|
29
|
+
- columns: [event_type]
|
|
30
|
+
- columns: [processed]
|
|
31
|
+
- columns: [external_event_id]
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: payment_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_payment
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: contact_id
|
|
11
|
+
type: fk
|
|
12
|
+
isNullable: true
|
|
13
|
+
references:
|
|
14
|
+
table: person
|
|
15
|
+
column: id
|
|
16
|
+
onDelete: SET NULL
|
|
17
|
+
onUpdate: CASCADE
|
|
18
|
+
- name: amount_cents
|
|
19
|
+
type: int
|
|
20
|
+
default: 0
|
|
21
|
+
- name: reason
|
|
22
|
+
type: text
|
|
23
|
+
isNullable: true
|
|
24
|
+
- name: status
|
|
25
|
+
type: enum
|
|
26
|
+
values: [pending, completed, failed]
|
|
27
|
+
default: pending
|
|
28
|
+
- name: external_refund_id
|
|
29
|
+
type: varchar
|
|
30
|
+
length: 255
|
|
31
|
+
isNullable: true
|
|
32
|
+
- name: completed_at
|
|
33
|
+
type: datetime
|
|
34
|
+
isNullable: true
|
|
35
|
+
- type: created_at
|
|
36
|
+
- type: updated_at
|
|
37
|
+
|
|
38
|
+
indices:
|
|
39
|
+
- columns: [payment_id]
|
|
40
|
+
- columns: [contact_id]
|
|
41
|
+
- columns: [status]
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
columns:
|
|
2
|
+
- type: pk
|
|
3
|
+
- name: contract_id
|
|
4
|
+
type: fk
|
|
5
|
+
references:
|
|
6
|
+
table: billing_contract
|
|
7
|
+
column: id
|
|
8
|
+
onDelete: CASCADE
|
|
9
|
+
onUpdate: CASCADE
|
|
10
|
+
- name: seat_id
|
|
11
|
+
type: fk
|
|
12
|
+
references:
|
|
13
|
+
table: billing_contract_seat
|
|
14
|
+
column: id
|
|
15
|
+
onDelete: CASCADE
|
|
16
|
+
onUpdate: CASCADE
|
|
17
|
+
- name: person_id
|
|
18
|
+
type: fk
|
|
19
|
+
references:
|
|
20
|
+
table: person
|
|
21
|
+
column: id
|
|
22
|
+
onDelete: RESTRICT
|
|
23
|
+
onUpdate: CASCADE
|
|
24
|
+
- name: allocated_at
|
|
25
|
+
type: datetime
|
|
26
|
+
- name: released_at
|
|
27
|
+
type: datetime
|
|
28
|
+
isNullable: true
|
|
29
|
+
- name: status
|
|
30
|
+
type: enum
|
|
31
|
+
values: [active, released]
|
|
32
|
+
default: active
|
|
33
|
+
- type: created_at
|
|
34
|
+
- type: updated_at
|
|
35
|
+
|
|
36
|
+
indices:
|
|
37
|
+
- columns: [contract_id]
|
|
38
|
+
- columns: [seat_id]
|
|
39
|
+
- columns: [person_id]
|
|
40
|
+
- columns: [status]
|
|
41
|
+
- columns: [contract_id, person_id]
|
|
42
|
+
isUnique: true
|