mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
Merge pull request #178 from Infisical/new-routing
Create route and controller v1/v2 folder structure separation
This commit is contained in:
@@ -14,27 +14,27 @@ import { apiLimiter } from './helpers/rateLimiter';
|
|||||||
import {
|
import {
|
||||||
workspace as eeWorkspaceRouter,
|
workspace as eeWorkspaceRouter,
|
||||||
secret as eeSecretRouter
|
secret as eeSecretRouter
|
||||||
} from './ee/routes';
|
} from './ee/routes/v1';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
signup as signupRouter,
|
signup as v1SignupRouter,
|
||||||
auth as authRouter,
|
auth as v1AuthRouter,
|
||||||
bot as botRouter,
|
bot as v1BotRouter,
|
||||||
organization as organizationRouter,
|
organization as v1OrganizationRouter,
|
||||||
workspace as workspaceRouter,
|
workspace as v1WorkspaceRouter,
|
||||||
membershipOrg as membershipOrgRouter,
|
membershipOrg as v1MembershipOrgRouter,
|
||||||
membership as membershipRouter,
|
membership as v1MembershipRouter,
|
||||||
key as keyRouter,
|
key as v1KeyRouter,
|
||||||
inviteOrg as inviteOrgRouter,
|
inviteOrg as v1InviteOrgRouter,
|
||||||
user as userRouter,
|
user as v1UserRouter,
|
||||||
userAction as userActionRouter,
|
userAction as v1UserActionRouter,
|
||||||
secret as secretRouter,
|
secret as v1SecretRouter,
|
||||||
serviceToken as serviceTokenRouter,
|
serviceToken as v1ServiceTokenRouter,
|
||||||
password as passwordRouter,
|
password as v1PasswordRouter,
|
||||||
stripe as stripeRouter,
|
stripe as v1StripeRouter,
|
||||||
integration as integrationRouter,
|
integration as v1IntegrationRouter,
|
||||||
integrationAuth as integrationAuthRouter
|
integrationAuth as v1IntegrationAuthRouter
|
||||||
} from './routes';
|
} from './routes/v1';
|
||||||
|
|
||||||
import { getLogger } from './utils/logger';
|
import { getLogger } from './utils/logger';
|
||||||
import { RouteNotFoundError } from './utils/errors';
|
import { RouteNotFoundError } from './utils/errors';
|
||||||
@@ -63,29 +63,28 @@ if (NODE_ENV === 'production') {
|
|||||||
app.use(helmet());
|
app.use(helmet());
|
||||||
}
|
}
|
||||||
|
|
||||||
// /ee routers
|
// (EE) routers
|
||||||
app.use('/api/v1/secret', eeSecretRouter);
|
app.use('/api/v1/secret', eeSecretRouter);
|
||||||
app.use('/api/v1/workspace', eeWorkspaceRouter);
|
app.use('/api/v1/workspace', eeWorkspaceRouter);
|
||||||
|
|
||||||
// routers
|
// v1 routes
|
||||||
app.use('/api/v1/signup', signupRouter);
|
app.use('/api/v1/signup', v1SignupRouter);
|
||||||
app.use('/api/v1/auth', authRouter);
|
app.use('/api/v1/auth', v1AuthRouter);
|
||||||
app.use('/api/v1/bot', botRouter);
|
app.use('/api/v1/bot', v1BotRouter);
|
||||||
app.use('/api/v1/user', userRouter);
|
app.use('/api/v1/user', v1UserRouter);
|
||||||
app.use('/api/v1/user-action', userActionRouter);
|
app.use('/api/v1/user-action', v1UserActionRouter);
|
||||||
app.use('/api/v1/organization', organizationRouter);
|
app.use('/api/v1/organization', v1OrganizationRouter);
|
||||||
app.use('/api/v1/workspace', workspaceRouter);
|
app.use('/api/v1/workspace', v1WorkspaceRouter);
|
||||||
app.use('/api/v1/membership-org', membershipOrgRouter);
|
app.use('/api/v1/membership-org', v1MembershipOrgRouter);
|
||||||
app.use('/api/v1/membership', membershipRouter);
|
app.use('/api/v1/membership', v1MembershipRouter);
|
||||||
app.use('/api/v1/key', keyRouter);
|
app.use('/api/v1/key', v1KeyRouter);
|
||||||
app.use('/api/v1/invite-org', inviteOrgRouter);
|
app.use('/api/v1/invite-org', v1InviteOrgRouter);
|
||||||
app.use('/api/v1/secret', secretRouter);
|
app.use('/api/v1/secret', v1SecretRouter);
|
||||||
app.use('/api/v1/service-token', serviceTokenRouter);
|
app.use('/api/v1/service-token', v1ServiceTokenRouter);
|
||||||
app.use('/api/v1/password', passwordRouter);
|
app.use('/api/v1/password', v1PasswordRouter);
|
||||||
app.use('/api/v1/stripe', stripeRouter);
|
app.use('/api/v1/stripe', v1StripeRouter);
|
||||||
app.use('/api/v1/integration', integrationRouter);
|
app.use('/api/v1/integration', v1IntegrationRouter);
|
||||||
app.use('/api/v1/integration-auth', integrationAuthRouter);
|
app.use('/api/v1/integration-auth', v1IntegrationAuthRouter);
|
||||||
|
|
||||||
|
|
||||||
//* Handle unrouted requests and respond with proper error message as well as status code
|
//* Handle unrouted requests and respond with proper error message as well as status code
|
||||||
app.use((req, res, next)=>{
|
app.use((req, res, next)=>{
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ import jwt from 'jsonwebtoken';
|
|||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import * as bigintConversion from 'bigint-conversion';
|
import * as bigintConversion from 'bigint-conversion';
|
||||||
const jsrp = require('jsrp');
|
const jsrp = require('jsrp');
|
||||||
import { User } from '../models';
|
import { User } from '../../models';
|
||||||
import { createToken, issueTokens, clearTokens } from '../helpers/auth';
|
import { createToken, issueTokens, clearTokens } from '../../helpers/auth';
|
||||||
import {
|
import {
|
||||||
NODE_ENV,
|
NODE_ENV,
|
||||||
JWT_AUTH_LIFETIME,
|
JWT_AUTH_LIFETIME,
|
||||||
JWT_AUTH_SECRET,
|
JWT_AUTH_SECRET,
|
||||||
JWT_REFRESH_SECRET
|
JWT_REFRESH_SECRET
|
||||||
} from '../config';
|
} from '../../config';
|
||||||
|
|
||||||
declare module 'jsonwebtoken' {
|
declare module 'jsonwebtoken' {
|
||||||
export interface UserIDJwtPayload extends jwt.JwtPayload {
|
export interface UserIDJwtPayload extends jwt.JwtPayload {
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { Bot, BotKey } from '../models';
|
import { Bot, BotKey } from '../../models';
|
||||||
import { createBot } from '../helpers/bot';
|
import { createBot } from '../../helpers/bot';
|
||||||
|
|
||||||
interface BotKey {
|
interface BotKey {
|
||||||
encryptedKey: string;
|
encryptedKey: string;
|
||||||
@@ -2,10 +2,10 @@ import { Request, Response } from 'express';
|
|||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { readFileSync } from 'fs';
|
import { readFileSync } from 'fs';
|
||||||
import { IntegrationAuth, Integration } from '../models';
|
import { IntegrationAuth, Integration } from '../../models';
|
||||||
import { INTEGRATION_SET, INTEGRATION_OPTIONS, ENV_DEV } from '../variables';
|
import { INTEGRATION_SET, INTEGRATION_OPTIONS, ENV_DEV } from '../../variables';
|
||||||
import { IntegrationService } from '../services';
|
import { IntegrationService } from '../../services';
|
||||||
import { getApps, revokeAccess } from '../integrations';
|
import { getApps, revokeAccess } from '../../integrations';
|
||||||
|
|
||||||
export const getIntegrationOptions = async (
|
export const getIntegrationOptions = async (
|
||||||
req: Request,
|
req: Request,
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import { readFileSync } from 'fs';
|
import { readFileSync } from 'fs';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { Integration, Bot, BotKey } from '../models';
|
import { Integration, Bot, BotKey } from '../../models';
|
||||||
import { EventService } from '../services';
|
import { EventService } from '../../services';
|
||||||
import { eventPushSecrets } from '../events';
|
import { eventPushSecrets } from '../../events';
|
||||||
|
|
||||||
interface Key {
|
interface Key {
|
||||||
encryptedKey: string;
|
encryptedKey: string;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { Key } from '../models';
|
import { Key } from '../../models';
|
||||||
import { findMembership } from '../helpers/membership';
|
import { findMembership } from '../../helpers/membership';
|
||||||
import { GRANTED } from '../variables';
|
import { GRANTED } from '../../variables';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add (encrypted) copy of workspace key for workspace with id [workspaceId] for user with
|
* Add (encrypted) copy of workspace key for workspace with id [workspaceId] for user with
|
||||||
@@ -1,13 +1,13 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { Membership, MembershipOrg, User, Key } from '../models';
|
import { Membership, MembershipOrg, User, Key } from '../../models';
|
||||||
import {
|
import {
|
||||||
findMembership,
|
findMembership,
|
||||||
deleteMembership as deleteMember
|
deleteMembership as deleteMember
|
||||||
} from '../helpers/membership';
|
} from '../../helpers/membership';
|
||||||
import { sendMail } from '../helpers/nodemailer';
|
import { sendMail } from '../../helpers/nodemailer';
|
||||||
import { SITE_URL } from '../config';
|
import { SITE_URL } from '../../config';
|
||||||
import { ADMIN, MEMBER, GRANTED, ACCEPTED } from '../variables';
|
import { ADMIN, MEMBER, GRANTED, ACCEPTED } from '../../variables';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check that user is a member of workspace with id [workspaceId]
|
* Check that user is a member of workspace with id [workspaceId]
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
import { SITE_URL, JWT_SIGNUP_LIFETIME, JWT_SIGNUP_SECRET } from '../config';
|
import { SITE_URL, JWT_SIGNUP_LIFETIME, JWT_SIGNUP_SECRET } from '../../config';
|
||||||
import { MembershipOrg, Organization, User, Token } from '../models';
|
import { MembershipOrg, Organization, User, Token } from '../../models';
|
||||||
import { deleteMembershipOrg as deleteMemberFromOrg } from '../helpers/membershipOrg';
|
import { deleteMembershipOrg as deleteMemberFromOrg } from '../../helpers/membershipOrg';
|
||||||
import { checkEmailVerification } from '../helpers/signup';
|
import { checkEmailVerification } from '../../helpers/signup';
|
||||||
import { createToken } from '../helpers/auth';
|
import { createToken } from '../../helpers/auth';
|
||||||
import { updateSubscriptionOrgQuantity } from '../helpers/organization';
|
import { updateSubscriptionOrgQuantity } from '../../helpers/organization';
|
||||||
import { sendMail } from '../helpers/nodemailer';
|
import { sendMail } from '../../helpers/nodemailer';
|
||||||
import { OWNER, ADMIN, MEMBER, ACCEPTED, INVITED } from '../variables';
|
import { OWNER, ADMIN, MEMBER, ACCEPTED, INVITED } from '../../variables';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete organization membership with id [membershipOrgId] from organization
|
* Delete organization membership with id [membershipOrgId] from organization
|
||||||
@@ -80,14 +80,14 @@ export const changeMembershipOrgRole = async (req: Request, res: Response) => {
|
|||||||
// TODO
|
// TODO
|
||||||
|
|
||||||
let membershipToChangeRole;
|
let membershipToChangeRole;
|
||||||
try {
|
// try {
|
||||||
} catch (err) {
|
// } catch (err) {
|
||||||
Sentry.setUser({ email: req.user.email });
|
// Sentry.setUser({ email: req.user.email });
|
||||||
Sentry.captureException(err);
|
// Sentry.captureException(err);
|
||||||
return res.status(400).send({
|
// return res.status(400).send({
|
||||||
message: 'Failed to change organization membership role'
|
// message: 'Failed to change organization membership role'
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
return res.status(200).send({
|
return res.status(200).send({
|
||||||
membershipOrg: membershipToChangeRole
|
membershipOrg: membershipToChangeRole
|
||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
STRIPE_PRODUCT_STARTER,
|
STRIPE_PRODUCT_STARTER,
|
||||||
STRIPE_PRODUCT_PRO,
|
STRIPE_PRODUCT_PRO,
|
||||||
STRIPE_PRODUCT_CARD_AUTH
|
STRIPE_PRODUCT_CARD_AUTH
|
||||||
} from '../config';
|
} from '../../config';
|
||||||
import Stripe from 'stripe';
|
import Stripe from 'stripe';
|
||||||
|
|
||||||
const stripe = new Stripe(STRIPE_SECRET_KEY, {
|
const stripe = new Stripe(STRIPE_SECRET_KEY, {
|
||||||
@@ -18,10 +18,10 @@ import {
|
|||||||
Organization,
|
Organization,
|
||||||
Workspace,
|
Workspace,
|
||||||
IncidentContactOrg
|
IncidentContactOrg
|
||||||
} from '../models';
|
} from '../../models';
|
||||||
import { createOrganization as create } from '../helpers/organization';
|
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 = {
|
const productToPriceMap = {
|
||||||
starter: STRIPE_PRODUCT_STARTER,
|
starter: STRIPE_PRODUCT_STARTER,
|
||||||
@@ -1,13 +1,14 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
const jsrp = require('jsrp');
|
const jsrp = require('jsrp');
|
||||||
import * as bigintConversion from 'bigint-conversion';
|
import * as bigintConversion from 'bigint-conversion';
|
||||||
import { User, Token, BackupPrivateKey } from '../models';
|
import { User, Token, BackupPrivateKey } from '../../models';
|
||||||
import { checkEmailVerification } from '../helpers/signup';
|
import { checkEmailVerification } from '../../helpers/signup';
|
||||||
import { createToken } from '../helpers/auth';
|
import { createToken } from '../../helpers/auth';
|
||||||
import { sendMail } from '../helpers/nodemailer';
|
import { sendMail } from '../../helpers/nodemailer';
|
||||||
import { JWT_SIGNUP_LIFETIME, JWT_SIGNUP_SECRET, SITE_URL } from '../config';
|
import { JWT_SIGNUP_LIFETIME, JWT_SIGNUP_SECRET, SITE_URL } from '../../config';
|
||||||
|
|
||||||
const clientPublicKeys: any = {};
|
const clientPublicKeys: any = {};
|
||||||
|
|
||||||
@@ -1,16 +1,16 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { Key, Secret } from '../models';
|
import { Key, Secret } from '../../models';
|
||||||
import {
|
import {
|
||||||
pushSecrets as push,
|
pushSecrets as push,
|
||||||
pullSecrets as pull,
|
pullSecrets as pull,
|
||||||
reformatPullSecrets
|
reformatPullSecrets
|
||||||
} from '../helpers/secret';
|
} from '../../helpers/secret';
|
||||||
import { pushKeys } from '../helpers/key';
|
import { pushKeys } from '../../helpers/key';
|
||||||
import { eventPushSecrets } from '../events';
|
import { eventPushSecrets } from '../../events';
|
||||||
import { EventService } from '../services';
|
import { EventService } from '../../services';
|
||||||
import { ENV_SET } from '../variables';
|
import { ENV_SET } from '../../variables';
|
||||||
import { postHogClient } from '../services';
|
import { postHogClient } from '../../services';
|
||||||
|
|
||||||
interface PushSecret {
|
interface PushSecret {
|
||||||
ciphertextKey: string;
|
ciphertextKey: string;
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import { ServiceToken } from '../models';
|
import { ServiceToken } from '../../models';
|
||||||
import { createToken } from '../helpers/auth';
|
import { createToken } from '../../helpers/auth';
|
||||||
import { ENV_SET } from '../variables';
|
import { ENV_SET } from '../../variables';
|
||||||
import { JWT_SERVICE_SECRET } from '../config';
|
import { JWT_SERVICE_SECRET } from '../../config';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return service token on request
|
* Return service token on request
|
||||||
@@ -1,15 +1,15 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { NODE_ENV, JWT_SIGNUP_LIFETIME, JWT_SIGNUP_SECRET } from '../config';
|
import { NODE_ENV, JWT_SIGNUP_LIFETIME, JWT_SIGNUP_SECRET } from '../../config';
|
||||||
import { User, MembershipOrg } from '../models';
|
import { User, MembershipOrg } from '../../models';
|
||||||
import { completeAccount } from '../helpers/user';
|
import { completeAccount } from '../../helpers/user';
|
||||||
import {
|
import {
|
||||||
sendEmailVerification,
|
sendEmailVerification,
|
||||||
checkEmailVerification,
|
checkEmailVerification,
|
||||||
initializeDefaultOrg
|
initializeDefaultOrg
|
||||||
} from '../helpers/signup';
|
} from '../../helpers/signup';
|
||||||
import { issueTokens, createToken } from '../helpers/auth';
|
import { issueTokens, createToken } from '../../helpers/auth';
|
||||||
import { INVITED, ACCEPTED } from '../variables';
|
import { INVITED, ACCEPTED } from '../../variables';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { UserAction } from '../models';
|
import { UserAction } from '../../models';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add user action [action]
|
* Add user action [action]
|
||||||
@@ -8,13 +8,13 @@ import {
|
|||||||
IntegrationAuth,
|
IntegrationAuth,
|
||||||
IUser,
|
IUser,
|
||||||
ServiceToken,
|
ServiceToken,
|
||||||
} from '../models';
|
} from '../../models';
|
||||||
import {
|
import {
|
||||||
createWorkspace as create,
|
createWorkspace as create,
|
||||||
deleteWorkspace as deleteWork
|
deleteWorkspace as deleteWork
|
||||||
} from '../helpers/workspace';
|
} from '../../helpers/workspace';
|
||||||
import { addMemberships } from '../helpers/membership';
|
import { addMemberships } from '../../helpers/membership';
|
||||||
import { ADMIN, COMPLETED, GRANTED } from '../variables';
|
import { ADMIN, COMPLETED, GRANTED } from '../../variables';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return public keys of members of workspace with id [workspaceId]
|
* Return public keys of members of workspace with id [workspaceId]
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { SecretVersion } from '../models';
|
import { SecretVersion } from '../../models';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return secret versions for secret with id [secretId]
|
* Return secret versions for secret with id [secretId]
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import Stripe from 'stripe';
|
import Stripe from 'stripe';
|
||||||
import { STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET } from '../config';
|
import { STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET } from '../../../config';
|
||||||
const stripe = new Stripe(STRIPE_SECRET_KEY, {
|
const stripe = new Stripe(STRIPE_SECRET_KEY, {
|
||||||
apiVersion: '2022-08-01'
|
apiVersion: '2022-08-01'
|
||||||
});
|
});
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import * as Sentry from '@sentry/node';
|
import * as Sentry from '@sentry/node';
|
||||||
import { SecretSnapshot } from '../models';
|
import { SecretSnapshot } from '../../models';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return secret snapshots for workspace with id [workspaceId]
|
* Return secret snapshots for workspace with id [workspaceId]
|
||||||
@@ -4,10 +4,10 @@ import {
|
|||||||
requireAuth,
|
requireAuth,
|
||||||
requireWorkspaceAuth,
|
requireWorkspaceAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../../middleware';
|
} from '../../../middleware';
|
||||||
import { body, query, param } from 'express-validator';
|
import { body, query, param } from 'express-validator';
|
||||||
import { secretController } from '../controllers';
|
import { secretController } from '../../controllers/v1';
|
||||||
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../../variables';
|
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../../../variables';
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
'/:secretId/secret-versions',
|
'/:secretId/secret-versions',
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { stripeController } from '../controllers';
|
import { stripeController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.post('/webhook', stripeController.handleWebhook);
|
router.post('/webhook', stripeController.handleWebhook);
|
||||||
|
|
||||||
@@ -4,10 +4,10 @@ import {
|
|||||||
requireAuth,
|
requireAuth,
|
||||||
requireWorkspaceAuth,
|
requireWorkspaceAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../../middleware';
|
} from '../../../middleware';
|
||||||
import { param, query } from 'express-validator';
|
import { param, query } from 'express-validator';
|
||||||
import { ADMIN, MEMBER, GRANTED } from '../../variables';
|
import { ADMIN, MEMBER, GRANTED } from '../../../variables';
|
||||||
import { workspaceController } from '../controllers';
|
import { workspaceController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
'/:workspaceId/secret-snapshots',
|
'/:workspaceId/secret-snapshots',
|
||||||
@@ -21,7 +21,6 @@ import {
|
|||||||
CLIENT_SECRET_NETLIFY,
|
CLIENT_SECRET_NETLIFY,
|
||||||
CLIENT_SECRET_GITHUB
|
CLIENT_SECRET_GITHUB
|
||||||
} from '../config';
|
} from '../config';
|
||||||
import { user } from '../routes';
|
|
||||||
|
|
||||||
interface ExchangeCodeHerokuResponse {
|
interface ExchangeCodeHerokuResponse {
|
||||||
token_type: string;
|
token_type: string;
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { body } from 'express-validator';
|
import { body } from 'express-validator';
|
||||||
import { requireAuth, validateRequest } from '../middleware';
|
import { requireAuth, validateRequest } from '../../middleware';
|
||||||
import { authController } from '../controllers';
|
import { authController } from '../../controllers/v1';
|
||||||
import { loginLimiter } from '../helpers/rateLimiter';
|
import { loginLimiter } from '../../helpers/rateLimiter';
|
||||||
|
|
||||||
router.post('/token', validateRequest, authController.getNewToken);
|
router.post('/token', validateRequest, authController.getNewToken);
|
||||||
|
|
||||||
@@ -6,9 +6,9 @@ import {
|
|||||||
requireBotAuth,
|
requireBotAuth,
|
||||||
requireWorkspaceAuth,
|
requireWorkspaceAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../middleware';
|
} from '../../middleware';
|
||||||
import { botController } from '../controllers';
|
import { botController } from '../../controllers/v1';
|
||||||
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../variables';
|
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../../variables';
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
'/:workspaceId',
|
'/:workspaceId',
|
||||||
@@ -4,10 +4,10 @@ import {
|
|||||||
requireAuth,
|
requireAuth,
|
||||||
requireIntegrationAuth,
|
requireIntegrationAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../middleware';
|
} from '../../middleware';
|
||||||
import { ADMIN, MEMBER, GRANTED } from '../variables';
|
import { ADMIN, MEMBER, GRANTED } from '../../variables';
|
||||||
import { body, param } from 'express-validator';
|
import { body, param } from 'express-validator';
|
||||||
import { integrationController } from '../controllers';
|
import { integrationController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.patch(
|
router.patch(
|
||||||
'/:integrationId',
|
'/:integrationId',
|
||||||
@@ -6,9 +6,9 @@ import {
|
|||||||
requireWorkspaceAuth,
|
requireWorkspaceAuth,
|
||||||
requireIntegrationAuthorizationAuth,
|
requireIntegrationAuthorizationAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../middleware';
|
} from '../../middleware';
|
||||||
import { ADMIN, MEMBER, GRANTED } from '../variables';
|
import { ADMIN, MEMBER, GRANTED } from '../../variables';
|
||||||
import { integrationAuthController } from '../controllers';
|
import { integrationAuthController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
'/integration-options',
|
'/integration-options',
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { body } from 'express-validator';
|
import { body } from 'express-validator';
|
||||||
import { requireAuth, validateRequest } from '../middleware';
|
import { requireAuth, validateRequest } from '../../middleware';
|
||||||
import { membershipOrgController } from '../controllers';
|
import { membershipOrgController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
'/signup',
|
'/signup',
|
||||||
@@ -4,10 +4,10 @@ import {
|
|||||||
requireAuth,
|
requireAuth,
|
||||||
requireWorkspaceAuth,
|
requireWorkspaceAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../middleware';
|
} from '../../middleware';
|
||||||
import { body, param } from 'express-validator';
|
import { body, param } from 'express-validator';
|
||||||
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../variables';
|
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../../variables';
|
||||||
import { keyController } from '../controllers';
|
import { keyController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
'/:workspaceId',
|
'/:workspaceId',
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { body, param } from 'express-validator';
|
import { body, param } from 'express-validator';
|
||||||
import { requireAuth, validateRequest } from '../middleware';
|
import { requireAuth, validateRequest } from '../../middleware';
|
||||||
import { membershipController } from '../controllers';
|
import { membershipController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.get( // used for CLI (deprecate)
|
router.get( // used for CLI (deprecate)
|
||||||
'/:workspaceId/connect',
|
'/:workspaceId/connect',
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { param } from 'express-validator';
|
import { param } from 'express-validator';
|
||||||
import { requireAuth, validateRequest } from '../middleware';
|
import { requireAuth, validateRequest } from '../../middleware';
|
||||||
import { membershipOrgController } from '../controllers';
|
import { membershipOrgController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
// TODO
|
// TODO
|
||||||
@@ -5,9 +5,9 @@ import {
|
|||||||
requireAuth,
|
requireAuth,
|
||||||
requireOrganizationAuth,
|
requireOrganizationAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../middleware';
|
} from '../../middleware';
|
||||||
import { OWNER, ADMIN, MEMBER, ACCEPTED } from '../variables';
|
import { OWNER, ADMIN, MEMBER, ACCEPTED } from '../../variables';
|
||||||
import { organizationController } from '../controllers';
|
import { organizationController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
'/',
|
'/',
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { body } from 'express-validator';
|
import { body } from 'express-validator';
|
||||||
import { requireAuth, requireSignupAuth, validateRequest } from '../middleware';
|
import { requireAuth, requireSignupAuth, validateRequest } from '../../middleware';
|
||||||
import { passwordController } from '../controllers';
|
import { passwordController } from '../../controllers/v1';
|
||||||
import { passwordLimiter } from '../helpers/rateLimiter';
|
import { passwordLimiter } from '../../helpers/rateLimiter';
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
'/srp1',
|
'/srp1',
|
||||||
@@ -5,10 +5,10 @@ import {
|
|||||||
requireWorkspaceAuth,
|
requireWorkspaceAuth,
|
||||||
requireServiceTokenAuth,
|
requireServiceTokenAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../middleware';
|
} from '../../middleware';
|
||||||
import { body, query, param } from 'express-validator';
|
import { body, query, param } from 'express-validator';
|
||||||
import { secretController } from '../controllers';
|
import { secretController } from '../../controllers/v1';
|
||||||
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../variables';
|
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../../variables';
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
'/:workspaceId',
|
'/:workspaceId',
|
||||||
@@ -5,10 +5,10 @@ import {
|
|||||||
requireWorkspaceAuth,
|
requireWorkspaceAuth,
|
||||||
requireServiceTokenAuth,
|
requireServiceTokenAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../middleware';
|
} from '../../middleware';
|
||||||
import { body } from 'express-validator';
|
import { body } from 'express-validator';
|
||||||
import { ADMIN, MEMBER, GRANTED } from '../variables';
|
import { ADMIN, MEMBER, GRANTED } from '../../variables';
|
||||||
import { serviceTokenController } from '../controllers';
|
import { serviceTokenController } from '../../controllers/v1';
|
||||||
|
|
||||||
// TODO: revoke service token
|
// TODO: revoke service token
|
||||||
|
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { body } from 'express-validator';
|
import { body } from 'express-validator';
|
||||||
import { requireSignupAuth, validateRequest } from '../middleware';
|
import { requireSignupAuth, validateRequest } from '../../middleware';
|
||||||
import { signupController } from '../controllers';
|
import { signupController } from '../../controllers/v1';
|
||||||
import { signupLimiter } from '../helpers/rateLimiter';
|
import { signupLimiter } from '../../helpers/rateLimiter';
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
'/email/signup',
|
'/email/signup',
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { stripeController } from '../controllers';
|
import { stripeController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.post('/webhook', stripeController.handleWebhook);
|
router.post('/webhook', stripeController.handleWebhook);
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { requireAuth } from '../middleware';
|
import { requireAuth } from '../../middleware';
|
||||||
import { userController } from '../controllers';
|
import { userController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.get('/', requireAuth, userController.getUser);
|
router.get('/', requireAuth, userController.getUser);
|
||||||
|
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
import express from 'express';
|
import express from 'express';
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
import { requireAuth, validateRequest } from '../middleware';
|
import { requireAuth, validateRequest } from '../../middleware';
|
||||||
import { body, query } from 'express-validator';
|
import { body, query } from 'express-validator';
|
||||||
import { userActionController } from '../controllers';
|
import { userActionController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.post(
|
router.post(
|
||||||
'/',
|
'/',
|
||||||
@@ -5,9 +5,9 @@ import {
|
|||||||
requireAuth,
|
requireAuth,
|
||||||
requireWorkspaceAuth,
|
requireWorkspaceAuth,
|
||||||
validateRequest
|
validateRequest
|
||||||
} from '../middleware';
|
} from '../../middleware';
|
||||||
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../variables';
|
import { ADMIN, MEMBER, COMPLETED, GRANTED } from '../../variables';
|
||||||
import { workspaceController, membershipController } from '../controllers';
|
import { workspaceController, membershipController } from '../../controllers/v1';
|
||||||
|
|
||||||
router.get(
|
router.get(
|
||||||
'/:workspaceId/keys',
|
'/:workspaceId/keys',
|
||||||
Reference in New Issue
Block a user