mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-11 02:29:09 +00:00
Ghost
This commit is contained in:
@@ -1,31 +1,37 @@
|
|||||||
import { Knex } from "knex";
|
import { Knex } from "knex";
|
||||||
|
|
||||||
import { TableName } from "../schemas";
|
import { ProjectVersion, TableName } from "../schemas";
|
||||||
|
|
||||||
export async function up(knex: Knex): Promise<void> {
|
export async function up(knex: Knex): Promise<void> {
|
||||||
if (!(await knex.schema.hasColumn(TableName.Users, "ghost"))) {
|
const hasGhostUserColumn = await knex.schema.hasColumn(TableName.Users, "ghost");
|
||||||
|
const hasProjectVersionColumn = await knex.schema.hasColumn(TableName.Project, "version");
|
||||||
|
|
||||||
|
if (!hasGhostUserColumn) {
|
||||||
await knex.schema.alterTable(TableName.Users, (t) => {
|
await knex.schema.alterTable(TableName.Users, (t) => {
|
||||||
t.boolean("ghost").defaultTo(false).notNullable();
|
t.boolean("ghost").defaultTo(false).notNullable();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(await knex.schema.hasColumn(TableName.Project, "e2ee"))) {
|
if (!hasProjectVersionColumn) {
|
||||||
await knex.schema.alterTable(TableName.Project, (t) => {
|
await knex.schema.alterTable(TableName.Project, (t) => {
|
||||||
t.boolean("e2ee").defaultTo(true).notNullable();
|
t.string("version").defaultTo(ProjectVersion.V1).notNullable();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function down(knex: Knex): Promise<void> {
|
export async function down(knex: Knex): Promise<void> {
|
||||||
if (await knex.schema.hasColumn(TableName.Users, "ghost")) {
|
const hasGhostUserColumn = await knex.schema.hasColumn(TableName.Users, "ghost");
|
||||||
|
const hasProjectVersionColumn = await knex.schema.hasColumn(TableName.Project, "version");
|
||||||
|
|
||||||
|
if (hasGhostUserColumn) {
|
||||||
await knex.schema.alterTable(TableName.Users, (t) => {
|
await knex.schema.alterTable(TableName.Users, (t) => {
|
||||||
t.dropColumn("ghost");
|
t.dropColumn("ghost");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await knex.schema.hasColumn(TableName.Project, "e2ee")) {
|
if (hasProjectVersionColumn) {
|
||||||
await knex.schema.alterTable(TableName.Project, (t) => {
|
await knex.schema.alterTable(TableName.Project, (t) => {
|
||||||
t.dropColumn("e2ee");
|
t.dropColumn("version");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,6 +112,11 @@ export enum SecretType {
|
|||||||
Personal = "personal"
|
Personal = "personal"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum ProjectVersion {
|
||||||
|
V1 = "v1",
|
||||||
|
V2 = "v2"
|
||||||
|
}
|
||||||
|
|
||||||
export enum IdentityAuthMethod {
|
export enum IdentityAuthMethod {
|
||||||
Univeral = "universal-auth"
|
Univeral = "universal-auth"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export const ProjectsSchema = z.object({
|
|||||||
orgId: z.string().uuid(),
|
orgId: z.string().uuid(),
|
||||||
createdAt: z.date(),
|
createdAt: z.date(),
|
||||||
updatedAt: z.date(),
|
updatedAt: z.date(),
|
||||||
e2ee: z.boolean().default(true)
|
version: z.string().default("v1")
|
||||||
});
|
});
|
||||||
|
|
||||||
export type TProjects = z.infer<typeof ProjectsSchema>;
|
export type TProjects = z.infer<typeof ProjectsSchema>;
|
||||||
|
|||||||
Reference in New Issue
Block a user