mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 03:26:46 +00:00
Update backend envars types and add STRIPE_PRODUCT_TEAM envar
This commit is contained in:
+2
-2
@@ -64,7 +64,7 @@ POSTHOG_PROJECT_API_KEY=
|
|||||||
STRIPE_SECRET_KEY=
|
STRIPE_SECRET_KEY=
|
||||||
STRIPE_PUBLISHABLE_KEY=
|
STRIPE_PUBLISHABLE_KEY=
|
||||||
STRIPE_WEBHOOK_SECRET=
|
STRIPE_WEBHOOK_SECRET=
|
||||||
STRIPE_PRODUCT_CARD_AUTH=
|
|
||||||
STRIPE_PRODUCT_PRO=
|
|
||||||
STRIPE_PRODUCT_STARTER=
|
STRIPE_PRODUCT_STARTER=
|
||||||
|
STRIPE_PRODUCT_TEAM=
|
||||||
|
STRIPE_PRODUCT_PRO=
|
||||||
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
|
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
|
||||||
Vendored
+14
-4
@@ -3,8 +3,10 @@ export {};
|
|||||||
declare global {
|
declare global {
|
||||||
namespace NodeJS {
|
namespace NodeJS {
|
||||||
interface ProcessEnv {
|
interface ProcessEnv {
|
||||||
|
PORT: string;
|
||||||
EMAIL_TOKEN_LIFETIME: string;
|
EMAIL_TOKEN_LIFETIME: string;
|
||||||
ENCRYPTION_KEY: string;
|
ENCRYPTION_KEY: string;
|
||||||
|
SALT_ROUNDS: string;
|
||||||
JWT_AUTH_LIFETIME: string;
|
JWT_AUTH_LIFETIME: string;
|
||||||
JWT_AUTH_SECRET: string;
|
JWT_AUTH_SECRET: string;
|
||||||
JWT_REFRESH_LIFETIME: string;
|
JWT_REFRESH_LIFETIME: string;
|
||||||
@@ -19,23 +21,31 @@ declare global {
|
|||||||
CLIENT_ID_HEROKU: string;
|
CLIENT_ID_HEROKU: string;
|
||||||
CLIENT_ID_VERCEL: string;
|
CLIENT_ID_VERCEL: string;
|
||||||
CLIENT_ID_NETLIFY: string;
|
CLIENT_ID_NETLIFY: string;
|
||||||
|
CLIENT_ID_GITHUB: string;
|
||||||
CLIENT_SECRET_HEROKU: string;
|
CLIENT_SECRET_HEROKU: string;
|
||||||
CLIENT_SECRET_VERCEL: string;
|
CLIENT_SECRET_VERCEL: string;
|
||||||
CLIENT_SECRET_NETLIFY: string;
|
CLIENT_SECRET_NETLIFY: string;
|
||||||
|
CLIENT_SECRET_GITHUB: string;
|
||||||
|
CLIENT_SLUG_VERCEL: string;
|
||||||
POSTHOG_HOST: string;
|
POSTHOG_HOST: string;
|
||||||
POSTHOG_PROJECT_API_KEY: string;
|
POSTHOG_PROJECT_API_KEY: string;
|
||||||
SENTRY_DSN: string;
|
SENTRY_DSN: string;
|
||||||
SITE_URL: string;
|
SITE_URL: string;
|
||||||
SMTP_HOST: string;
|
SMTP_HOST: string;
|
||||||
SMTP_NAME: string;
|
SMTP_SECURE: string;
|
||||||
SMTP_PASSWORD: string;
|
SMTP_PORT: string;
|
||||||
SMTP_USERNAME: string;
|
SMTP_USERNAME: string;
|
||||||
STRIPE_PRODUCT_CARD_AUTH: string;
|
SMTP_PASSWORD: string;
|
||||||
STRIPE_PRODUCT_PRO: string;
|
SMTP_FROM_ADDRESS: string;
|
||||||
|
SMTP_FROM_NAME: string;
|
||||||
STRIPE_PRODUCT_STARTER: string;
|
STRIPE_PRODUCT_STARTER: string;
|
||||||
|
STRIPE_PRODUCT_TEAM: string;
|
||||||
|
STRIPE_PRODUCT_PRO: string;
|
||||||
STRIPE_PUBLISHABLE_KEY: string;
|
STRIPE_PUBLISHABLE_KEY: string;
|
||||||
STRIPE_SECRET_KEY: string;
|
STRIPE_SECRET_KEY: string;
|
||||||
STRIPE_WEBHOOK_SECRET: string;
|
STRIPE_WEBHOOK_SECRET: string;
|
||||||
|
TELEMETRY_ENABLED: string;
|
||||||
|
LICENSE_KEY: string;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,11 +13,11 @@ const MONGO_URL = process.env.MONGO_URL!;
|
|||||||
const NODE_ENV = process.env.NODE_ENV! || 'production';
|
const NODE_ENV = process.env.NODE_ENV! || 'production';
|
||||||
const VERBOSE_ERROR_OUTPUT = process.env.VERBOSE_ERROR_OUTPUT! === 'true' && true;
|
const VERBOSE_ERROR_OUTPUT = process.env.VERBOSE_ERROR_OUTPUT! === 'true' && true;
|
||||||
const LOKI_HOST = process.env.LOKI_HOST || undefined;
|
const LOKI_HOST = process.env.LOKI_HOST || undefined;
|
||||||
const CLIENT_SECRET_HEROKU = process.env.CLIENT_SECRET_HEROKU!;
|
|
||||||
const CLIENT_ID_HEROKU = process.env.CLIENT_ID_HEROKU!;
|
const CLIENT_ID_HEROKU = process.env.CLIENT_ID_HEROKU!;
|
||||||
const CLIENT_ID_VERCEL = process.env.CLIENT_ID_VERCEL!;
|
const CLIENT_ID_VERCEL = process.env.CLIENT_ID_VERCEL!;
|
||||||
const CLIENT_ID_NETLIFY = process.env.CLIENT_ID_NETLIFY!;
|
const CLIENT_ID_NETLIFY = process.env.CLIENT_ID_NETLIFY!;
|
||||||
const CLIENT_ID_GITHUB = process.env.CLIENT_ID_GITHUB!;
|
const CLIENT_ID_GITHUB = process.env.CLIENT_ID_GITHUB!;
|
||||||
|
const CLIENT_SECRET_HEROKU = process.env.CLIENT_SECRET_HEROKU!;
|
||||||
const CLIENT_SECRET_VERCEL = process.env.CLIENT_SECRET_VERCEL!;
|
const CLIENT_SECRET_VERCEL = process.env.CLIENT_SECRET_VERCEL!;
|
||||||
const CLIENT_SECRET_NETLIFY = process.env.CLIENT_SECRET_NETLIFY!;
|
const CLIENT_SECRET_NETLIFY = process.env.CLIENT_SECRET_NETLIFY!;
|
||||||
const CLIENT_SECRET_GITHUB = process.env.CLIENT_SECRET_GITHUB!;
|
const CLIENT_SECRET_GITHUB = process.env.CLIENT_SECRET_GITHUB!;
|
||||||
@@ -35,9 +35,9 @@ const SMTP_USERNAME = process.env.SMTP_USERNAME!;
|
|||||||
const SMTP_PASSWORD = process.env.SMTP_PASSWORD!;
|
const SMTP_PASSWORD = process.env.SMTP_PASSWORD!;
|
||||||
const SMTP_FROM_ADDRESS = process.env.SMTP_FROM_ADDRESS!;
|
const SMTP_FROM_ADDRESS = process.env.SMTP_FROM_ADDRESS!;
|
||||||
const SMTP_FROM_NAME = process.env.SMTP_FROM_NAME! || 'Infisical';
|
const SMTP_FROM_NAME = process.env.SMTP_FROM_NAME! || 'Infisical';
|
||||||
const STRIPE_PRODUCT_CARD_AUTH = process.env.STRIPE_PRODUCT_CARD_AUTH!;
|
|
||||||
const STRIPE_PRODUCT_PRO = process.env.STRIPE_PRODUCT_PRO!;
|
|
||||||
const STRIPE_PRODUCT_STARTER = process.env.STRIPE_PRODUCT_STARTER!;
|
const STRIPE_PRODUCT_STARTER = process.env.STRIPE_PRODUCT_STARTER!;
|
||||||
|
const STRIPE_PRODUCT_PRO = process.env.STRIPE_PRODUCT_PRO!;
|
||||||
|
const STRIPE_PRODUCT_TEAM = process.env.STRIPE_PRODUCT_TEAM!;
|
||||||
const STRIPE_PUBLISHABLE_KEY = process.env.STRIPE_PUBLISHABLE_KEY!;
|
const STRIPE_PUBLISHABLE_KEY = process.env.STRIPE_PUBLISHABLE_KEY!;
|
||||||
const STRIPE_SECRET_KEY = process.env.STRIPE_SECRET_KEY!;
|
const STRIPE_SECRET_KEY = process.env.STRIPE_SECRET_KEY!;
|
||||||
const STRIPE_WEBHOOK_SECRET = process.env.STRIPE_WEBHOOK_SECRET!;
|
const STRIPE_WEBHOOK_SECRET = process.env.STRIPE_WEBHOOK_SECRET!;
|
||||||
@@ -80,9 +80,9 @@ export {
|
|||||||
SMTP_PASSWORD,
|
SMTP_PASSWORD,
|
||||||
SMTP_FROM_ADDRESS,
|
SMTP_FROM_ADDRESS,
|
||||||
SMTP_FROM_NAME,
|
SMTP_FROM_NAME,
|
||||||
STRIPE_PRODUCT_CARD_AUTH,
|
|
||||||
STRIPE_PRODUCT_PRO,
|
|
||||||
STRIPE_PRODUCT_STARTER,
|
STRIPE_PRODUCT_STARTER,
|
||||||
|
STRIPE_PRODUCT_TEAM,
|
||||||
|
STRIPE_PRODUCT_PRO,
|
||||||
STRIPE_PUBLISHABLE_KEY,
|
STRIPE_PUBLISHABLE_KEY,
|
||||||
STRIPE_SECRET_KEY,
|
STRIPE_SECRET_KEY,
|
||||||
STRIPE_WEBHOOK_SECRET,
|
STRIPE_WEBHOOK_SECRET,
|
||||||
|
|||||||
@@ -2,10 +2,7 @@ import { Request, Response } from 'express';
|
|||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import {
|
import {
|
||||||
SITE_URL,
|
SITE_URL,
|
||||||
STRIPE_SECRET_KEY,
|
STRIPE_SECRET_KEY
|
||||||
STRIPE_PRODUCT_STARTER,
|
|
||||||
STRIPE_PRODUCT_PRO,
|
|
||||||
STRIPE_PRODUCT_CARD_AUTH
|
|
||||||
} from '../../config';
|
} from '../../config';
|
||||||
import Stripe from 'stripe';
|
import Stripe from 'stripe';
|
||||||
|
|
||||||
@@ -23,12 +20,6 @@ import { createOrganization as create } from '../../helpers/organization';
|
|||||||
import { addMembershipsOrg } from '../../helpers/membershipOrg';
|
import { addMembershipsOrg } from '../../helpers/membershipOrg';
|
||||||
import { OWNER, ACCEPTED } from '../../variables';
|
import { OWNER, ACCEPTED } from '../../variables';
|
||||||
|
|
||||||
const productToPriceMap = {
|
|
||||||
starter: STRIPE_PRODUCT_STARTER,
|
|
||||||
pro: STRIPE_PRODUCT_PRO,
|
|
||||||
cardAuth: STRIPE_PRODUCT_CARD_AUTH
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getOrganizations = async (req: Request, res: Response) => {
|
export const getOrganizations = async (req: Request, res: Response) => {
|
||||||
let organizations;
|
let organizations;
|
||||||
try {
|
try {
|
||||||
@@ -340,7 +331,6 @@ export const createOrganizationPortalSession = async (
|
|||||||
|
|
||||||
if (paymentMethods.data.length < 1) {
|
if (paymentMethods.data.length < 1) {
|
||||||
// case: no payment method on file
|
// case: no payment method on file
|
||||||
productToPriceMap['cardAuth'];
|
|
||||||
session = await stripe.checkout.sessions.create({
|
session = await stripe.checkout.sessions.create({
|
||||||
customer: req.membershipOrg.organization.customerId,
|
customer: req.membershipOrg.organization.customerId,
|
||||||
mode: 'setup',
|
mode: 'setup',
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import Stripe from 'stripe';
|
|||||||
import {
|
import {
|
||||||
STRIPE_SECRET_KEY,
|
STRIPE_SECRET_KEY,
|
||||||
STRIPE_PRODUCT_STARTER,
|
STRIPE_PRODUCT_STARTER,
|
||||||
|
STRIPE_PRODUCT_TEAM,
|
||||||
STRIPE_PRODUCT_PRO
|
STRIPE_PRODUCT_PRO
|
||||||
} from '../config';
|
} from '../config';
|
||||||
const stripe = new Stripe(STRIPE_SECRET_KEY, {
|
const stripe = new Stripe(STRIPE_SECRET_KEY, {
|
||||||
@@ -14,6 +15,7 @@ import { Organization, MembershipOrg } from '../models';
|
|||||||
|
|
||||||
const productToPriceMap = {
|
const productToPriceMap = {
|
||||||
starter: STRIPE_PRODUCT_STARTER,
|
starter: STRIPE_PRODUCT_STARTER,
|
||||||
|
team: STRIPE_PRODUCT_TEAM,
|
||||||
pro: STRIPE_PRODUCT_PRO
|
pro: STRIPE_PRODUCT_PRO
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ services:
|
|||||||
- NEXT_PUBLIC_ENV=development
|
- NEXT_PUBLIC_ENV=development
|
||||||
- INFISICAL_TELEMETRY_ENABLED=${TELEMETRY_ENABLED}
|
- INFISICAL_TELEMETRY_ENABLED=${TELEMETRY_ENABLED}
|
||||||
- NEXT_PUBLIC_STRIPE_PRODUCT_PRO=${STRIPE_PRODUCT_PRO}
|
- NEXT_PUBLIC_STRIPE_PRODUCT_PRO=${STRIPE_PRODUCT_PRO}
|
||||||
|
- NEXT_PUBLIC_STRIPE_PRODUCT_TEAM=${STRIPE_PRODUCT_TEAM}
|
||||||
- NEXT_PUBLIC_STRIPE_PRODUCT_STARTER=${STRIPE_PRODUCT_STARTER}
|
- NEXT_PUBLIC_STRIPE_PRODUCT_STARTER=${STRIPE_PRODUCT_STARTER}
|
||||||
networks:
|
networks:
|
||||||
- infisical-dev
|
- infisical-dev
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ services:
|
|||||||
# - NEXT_PUBLIC_POSTHOG_API_KEY=${POSTHOG_PROJECT_API_KEY}
|
# - NEXT_PUBLIC_POSTHOG_API_KEY=${POSTHOG_PROJECT_API_KEY}
|
||||||
- INFISICAL_TELEMETRY_ENABLED=${TELEMETRY_ENABLED}
|
- INFISICAL_TELEMETRY_ENABLED=${TELEMETRY_ENABLED}
|
||||||
- NEXT_PUBLIC_STRIPE_PRODUCT_PRO=${STRIPE_PRODUCT_PRO}
|
- NEXT_PUBLIC_STRIPE_PRODUCT_PRO=${STRIPE_PRODUCT_PRO}
|
||||||
|
- NEXT_PUBLIC_STRIPE_PRODUCT_TEAM=${STRIPE_PRODUCT_TEAM}
|
||||||
- NEXT_PUBLIC_STRIPE_PRODUCT_STARTER=${STRIPE_PRODUCT_STARTER}
|
- NEXT_PUBLIC_STRIPE_PRODUCT_STARTER=${STRIPE_PRODUCT_STARTER}
|
||||||
networks:
|
networks:
|
||||||
- infisical
|
- infisical
|
||||||
|
|||||||
Reference in New Issue
Block a user