mirror of
https://github.com/Dokploy/dokploy.git
synced 2026-02-25 20:35:10 +00:00
refactor: simplify product ID handling and refine validation logic in Stripe router
- Updated the product ID array construction to directly include Hobby and Startup product IDs. - Streamlined the refinement logic for server quantity validation, improving readability without altering functionality. - Ensured consistent validation messages for the Startup plan requirements.
This commit is contained in:
@@ -40,8 +40,8 @@ export const stripeRouter = createTRPCRouter({
|
||||
const productIds = [
|
||||
PRODUCT_MONTHLY_ID,
|
||||
PRODUCT_ANNUAL_ID,
|
||||
...(HOBBY_PRODUCT_ID ? [HOBBY_PRODUCT_ID] : []),
|
||||
...(STARTUP_PRODUCT_ID ? [STARTUP_PRODUCT_ID] : []),
|
||||
HOBBY_PRODUCT_ID,
|
||||
STARTUP_PRODUCT_ID,
|
||||
].filter(Boolean);
|
||||
const filteredProducts = products.data.filter((product) =>
|
||||
productIds.includes(product.id),
|
||||
@@ -85,8 +85,7 @@ export const stripeRouter = createTRPCRouter({
|
||||
currentPlan = "startup";
|
||||
} else if (
|
||||
priceIds.some(
|
||||
(id) =>
|
||||
id === HOBBY_PRICE_MONTHLY_ID || id === HOBBY_PRICE_ANNUAL_ID,
|
||||
(id) => id === HOBBY_PRICE_MONTHLY_ID || id === HOBBY_PRICE_ANNUAL_ID,
|
||||
)
|
||||
) {
|
||||
currentPlan = "hobby";
|
||||
@@ -126,14 +125,10 @@ export const stripeRouter = createTRPCRouter({
|
||||
serverQuantity: z.number().min(1),
|
||||
isAnnual: z.boolean(),
|
||||
})
|
||||
.refine(
|
||||
(data) =>
|
||||
data.tier !== "startup" || data.serverQuantity >= 3,
|
||||
{
|
||||
message: "Startup plan requires at least 3 servers",
|
||||
path: ["serverQuantity"],
|
||||
},
|
||||
),
|
||||
.refine((data) => data.tier !== "startup" || data.serverQuantity >= 3, {
|
||||
message: "Startup plan requires at least 3 servers",
|
||||
path: ["serverQuantity"],
|
||||
}),
|
||||
)
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
|
||||
@@ -216,14 +211,10 @@ export const stripeRouter = createTRPCRouter({
|
||||
serverQuantity: z.number().min(1),
|
||||
isAnnual: z.boolean(),
|
||||
})
|
||||
.refine(
|
||||
(data) =>
|
||||
data.tier !== "startup" || data.serverQuantity >= 3,
|
||||
{
|
||||
message: "Startup plan requires at least 3 servers",
|
||||
path: ["serverQuantity"],
|
||||
},
|
||||
),
|
||||
.refine((data) => data.tier !== "startup" || data.serverQuantity >= 3, {
|
||||
message: "Startup plan requires at least 3 servers",
|
||||
path: ["serverQuantity"],
|
||||
}),
|
||||
)
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!, {
|
||||
|
||||
Reference in New Issue
Block a user