mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 15:27:27 +00:00
feat(infisical-pg): fixed plan going undefined and resolved project missing on env delete
This commit is contained in:
@@ -32,17 +32,17 @@ export const registerLicenseRouter = async (server: FastifyZodProvider) => {
|
|||||||
schema: {
|
schema: {
|
||||||
params: z.object({ organizationId: z.string().trim() }),
|
params: z.object({ organizationId: z.string().trim() }),
|
||||||
response: {
|
response: {
|
||||||
200: z.any()
|
200: z.object({ plan: z.any() })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onRequest: verifyAuth([AuthMode.JWT]),
|
onRequest: verifyAuth([AuthMode.JWT]),
|
||||||
handler: async (req) => {
|
handler: async (req) => {
|
||||||
const data = await server.services.license.getOrgPlan({
|
const plan = await server.services.license.getOrgPlan({
|
||||||
actorId: req.permission.id,
|
actorId: req.permission.id,
|
||||||
actor: req.permission.type,
|
actor: req.permission.type,
|
||||||
orgId: req.params.organizationId
|
orgId: req.params.organizationId
|
||||||
});
|
});
|
||||||
return data;
|
return { plan };
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -288,7 +288,8 @@ export const registerRoutes = async (
|
|||||||
permissionService,
|
permissionService,
|
||||||
projectEnvDal,
|
projectEnvDal,
|
||||||
licenseService,
|
licenseService,
|
||||||
projectDal
|
projectDal,
|
||||||
|
folderDal
|
||||||
});
|
});
|
||||||
const projectKeyService = projectKeyServiceFactory({
|
const projectKeyService = projectKeyServiceFactory({
|
||||||
permissionService,
|
permissionService,
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ export const registerPasswordRouter = async (server: FastifyZodProvider) => {
|
|||||||
|
|
||||||
server.route({
|
server.route({
|
||||||
method: "POST",
|
method: "POST",
|
||||||
url: "/password-reset",
|
url: "/email/password-reset",
|
||||||
onRequest: verifyAuth([AuthMode.JWT]),
|
onRequest: verifyAuth([AuthMode.JWT]),
|
||||||
schema: {
|
schema: {
|
||||||
body: z.object({
|
body: z.object({
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ import { BadRequestError } from "@app/lib/errors";
|
|||||||
import { TProjectDalFactory } from "../project/project-dal";
|
import { TProjectDalFactory } from "../project/project-dal";
|
||||||
import { TProjectEnvDalFactory } from "./project-env-dal";
|
import { TProjectEnvDalFactory } from "./project-env-dal";
|
||||||
import { TCreateEnvDTO, TDeleteEnvDTO, TUpdateEnvDTO } from "./project-env-types";
|
import { TCreateEnvDTO, TDeleteEnvDTO, TUpdateEnvDTO } from "./project-env-types";
|
||||||
|
import { TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal";
|
||||||
|
|
||||||
type TProjectEnvServiceFactoryDep = {
|
type TProjectEnvServiceFactoryDep = {
|
||||||
projectEnvDal: TProjectEnvDalFactory;
|
projectEnvDal: TProjectEnvDalFactory;
|
||||||
|
folderDal: Pick<TSecretFolderDalFactory, "create">;
|
||||||
projectDal: Pick<TProjectDalFactory, "findById">;
|
projectDal: Pick<TProjectDalFactory, "findById">;
|
||||||
permissionService: Pick<TPermissionServiceFactory, "getProjectPermission">;
|
permissionService: Pick<TPermissionServiceFactory, "getProjectPermission">;
|
||||||
licenseService: Pick<TLicenseServiceFactory, "getPlan">;
|
licenseService: Pick<TLicenseServiceFactory, "getPlan">;
|
||||||
@@ -25,7 +27,8 @@ export const projectEnvServiceFactory = ({
|
|||||||
projectEnvDal,
|
projectEnvDal,
|
||||||
permissionService,
|
permissionService,
|
||||||
licenseService,
|
licenseService,
|
||||||
projectDal
|
projectDal,
|
||||||
|
folderDal
|
||||||
}: TProjectEnvServiceFactoryDep) => {
|
}: TProjectEnvServiceFactoryDep) => {
|
||||||
const createEnvironment = async ({ projectId, actorId, actor, name, slug }: TCreateEnvDTO) => {
|
const createEnvironment = async ({ projectId, actorId, actor, name, slug }: TCreateEnvDTO) => {
|
||||||
const { permission } = await permissionService.getProjectPermission(actor, actorId, projectId);
|
const { permission } = await permissionService.getProjectPermission(actor, actorId, projectId);
|
||||||
@@ -56,6 +59,7 @@ export const projectEnvServiceFactory = ({
|
|||||||
const env = await projectEnvDal.transaction(async (tx) => {
|
const env = await projectEnvDal.transaction(async (tx) => {
|
||||||
const lastPos = await projectEnvDal.findLastEnvPosition(projectId, tx);
|
const lastPos = await projectEnvDal.findLastEnvPosition(projectId, tx);
|
||||||
const doc = await projectEnvDal.create({ slug, name, projectId, position: lastPos + 1 }, tx);
|
const doc = await projectEnvDal.create({ slug, name, projectId, position: lastPos + 1 }, tx);
|
||||||
|
await folderDal.create({ name: "root", parentId: null, envId: doc.id, version: 1 }, tx);
|
||||||
return doc;
|
return doc;
|
||||||
});
|
});
|
||||||
return env;
|
return env;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ export const projectDalFactory = (db: TDbClient) => {
|
|||||||
`${TableName.ProjectMembership}.projectId`,
|
`${TableName.ProjectMembership}.projectId`,
|
||||||
`${TableName.Project}.id`
|
`${TableName.Project}.id`
|
||||||
)
|
)
|
||||||
.join(
|
.leftJoin(
|
||||||
TableName.Environment,
|
TableName.Environment,
|
||||||
`${TableName.Environment}.projectId`,
|
`${TableName.Environment}.projectId`,
|
||||||
`${TableName.Project}.id`
|
`${TableName.Project}.id`
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ export const fetchUserAction = async (action: string) => {
|
|||||||
action
|
action
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return data.userAction;
|
return data.userAction || "";
|
||||||
};
|
};
|
||||||
|
|
||||||
export const useRenameUser = () => {
|
export const useRenameUser = () => {
|
||||||
|
|||||||
@@ -294,7 +294,7 @@ export const SecretDetailSidebar = ({
|
|||||||
a={ProjectPermissionSub.Tags}
|
a={ProjectPermissionSub.Tags}
|
||||||
>
|
>
|
||||||
{(isAllowed) => (
|
{(isAllowed) => (
|
||||||
<DropdownMenuItem>
|
<DropdownMenuItem asChild>
|
||||||
<Button
|
<Button
|
||||||
size="xs"
|
size="xs"
|
||||||
className="w-full"
|
className="w-full"
|
||||||
|
|||||||
Reference in New Issue
Block a user