mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 05:27:52 +00:00
Add more db schema
This commit is contained in:
@@ -34,15 +34,107 @@ export async function up(knex: Knex): Promise<void> {
|
|||||||
|
|
||||||
await createOnUpdateTrigger(knex, TableName.PkiAcmeAccount);
|
await createOnUpdateTrigger(knex, TableName.PkiAcmeAccount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create PkiAcmeOrder table
|
||||||
|
if (!(await knex.schema.hasTable(TableName.PkiAcmeOrder))) {
|
||||||
|
await knex.schema.createTable(TableName.PkiAcmeOrder, (t) => {
|
||||||
|
t.uuid("id", { primaryKey: true }).defaultTo(knex.fn.uuid());
|
||||||
|
|
||||||
|
// Foreign key to PkiAcmeAccount
|
||||||
|
t.uuid("accountId").notNullable();
|
||||||
|
t.foreign("accountId").references("id").inTable(TableName.PkiAcmeAccount).onDelete("CASCADE");
|
||||||
|
|
||||||
|
// Order status
|
||||||
|
t.string("status").notNullable(); // pending, ready, processing, valid, invalid
|
||||||
|
|
||||||
|
t.timestamps(true, true, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
await createOnUpdateTrigger(knex, TableName.PkiAcmeOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create PkiAcmeAuth table
|
||||||
|
if (!(await knex.schema.hasTable(TableName.PkiAcmeAuth))) {
|
||||||
|
await knex.schema.createTable(TableName.PkiAcmeAuth, (t) => {
|
||||||
|
t.uuid("id", { primaryKey: true }).defaultTo(knex.fn.uuid());
|
||||||
|
|
||||||
|
// Foreign key to PkiAcmeAccount
|
||||||
|
t.uuid("accountId").notNullable();
|
||||||
|
t.foreign("accountId").references("id").inTable(TableName.PkiAcmeAccount).onDelete("CASCADE");
|
||||||
|
|
||||||
|
// Authorization status
|
||||||
|
t.string("status").notNullable(); // pending, valid, invalid, deactivated, expired, revoked
|
||||||
|
|
||||||
|
// Identifier type and value
|
||||||
|
t.string("identifierType").notNullable(); // dns
|
||||||
|
t.string("identifierValue").notNullable(); // domain name
|
||||||
|
|
||||||
|
// Expiration timestamp
|
||||||
|
t.timestamp("expiresAt").notNullable();
|
||||||
|
|
||||||
|
// Optional link to issued certificate
|
||||||
|
t.uuid("certificateId").nullable();
|
||||||
|
t.foreign("certificateId").references("id").inTable(TableName.Certificate).onDelete("SET NULL");
|
||||||
|
|
||||||
|
t.timestamps(true, true, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
await createOnUpdateTrigger(knex, TableName.PkiAcmeAuth);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create PkiAcmeChallenge table
|
||||||
|
if (!(await knex.schema.hasTable(TableName.PkiAcmeChallenge))) {
|
||||||
|
await knex.schema.createTable(TableName.PkiAcmeChallenge, (t) => {
|
||||||
|
t.uuid("id", { primaryKey: true }).defaultTo(knex.fn.uuid());
|
||||||
|
|
||||||
|
// Foreign key to PkiAcmeAuth
|
||||||
|
t.uuid("authId").notNullable();
|
||||||
|
t.foreign("authId").references("id").inTable(TableName.PkiAcmeAuth).onDelete("CASCADE");
|
||||||
|
|
||||||
|
// Challenge type
|
||||||
|
t.string("type").notNullable(); // http-01, dns-01, tls-alpn-01
|
||||||
|
|
||||||
|
// Challenge status
|
||||||
|
t.string("status").notNullable(); // pending, processing, valid, invalid
|
||||||
|
|
||||||
|
// Validation timestamp
|
||||||
|
t.timestamp("validatedAt").nullable();
|
||||||
|
|
||||||
|
t.timestamps(true, true, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
await createOnUpdateTrigger(knex, TableName.PkiAcmeChallenge);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function down(knex: Knex): Promise<void> {
|
export async function down(knex: Knex): Promise<void> {
|
||||||
// Drop PkiAcmeAccount table first (depends on PkiAcmeEnrollmentConfig)
|
// Drop tables in reverse dependency order
|
||||||
|
|
||||||
|
// Drop PkiAcmeChallenge first (depends on PkiAcmeAuth)
|
||||||
|
if (await knex.schema.hasTable(TableName.PkiAcmeChallenge)) {
|
||||||
|
await knex.schema.dropTable(TableName.PkiAcmeChallenge);
|
||||||
|
await dropOnUpdateTrigger(knex, TableName.PkiAcmeChallenge);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Drop PkiAcmeAuth (depends on PkiAcmeAccount and Certificate)
|
||||||
|
if (await knex.schema.hasTable(TableName.PkiAcmeAuth)) {
|
||||||
|
await knex.schema.dropTable(TableName.PkiAcmeAuth);
|
||||||
|
await dropOnUpdateTrigger(knex, TableName.PkiAcmeAuth);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Drop PkiAcmeOrder (depends on PkiAcmeAccount)
|
||||||
|
if (await knex.schema.hasTable(TableName.PkiAcmeOrder)) {
|
||||||
|
await knex.schema.dropTable(TableName.PkiAcmeOrder);
|
||||||
|
await dropOnUpdateTrigger(knex, TableName.PkiAcmeOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Drop PkiAcmeAccount (depends on PkiCertificateProfile)
|
||||||
if (await knex.schema.hasTable(TableName.PkiAcmeAccount)) {
|
if (await knex.schema.hasTable(TableName.PkiAcmeAccount)) {
|
||||||
await knex.schema.dropTable(TableName.PkiAcmeAccount);
|
await knex.schema.dropTable(TableName.PkiAcmeAccount);
|
||||||
await dropOnUpdateTrigger(knex, TableName.PkiAcmeAccount);
|
await dropOnUpdateTrigger(knex, TableName.PkiAcmeAccount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Drop PkiAcmeEnrollmentConfig
|
||||||
if (await knex.schema.hasTable(TableName.PkiAcmeEnrollmentConfig)) {
|
if (await knex.schema.hasTable(TableName.PkiAcmeEnrollmentConfig)) {
|
||||||
await knex.schema.dropTable(TableName.PkiAcmeEnrollmentConfig);
|
await knex.schema.dropTable(TableName.PkiAcmeEnrollmentConfig);
|
||||||
await dropOnUpdateTrigger(knex, TableName.PkiAcmeEnrollmentConfig);
|
await dropOnUpdateTrigger(knex, TableName.PkiAcmeEnrollmentConfig);
|
||||||
|
|||||||
@@ -93,7 +93,10 @@ export * from "./pam-folders";
|
|||||||
export * from "./pam-resources";
|
export * from "./pam-resources";
|
||||||
export * from "./pam-sessions";
|
export * from "./pam-sessions";
|
||||||
export * from "./pki-acme-accounts";
|
export * from "./pki-acme-accounts";
|
||||||
|
export * from "./pki-acme-auths";
|
||||||
|
export * from "./pki-acme-challenges";
|
||||||
export * from "./pki-acme-enrollment-configs";
|
export * from "./pki-acme-enrollment-configs";
|
||||||
|
export * from "./pki-acme-orders";
|
||||||
export * from "./pki-alerts";
|
export * from "./pki-alerts";
|
||||||
export * from "./pki-api-enrollment-configs";
|
export * from "./pki-api-enrollment-configs";
|
||||||
export * from "./pki-certificate-profiles";
|
export * from "./pki-certificate-profiles";
|
||||||
|
|||||||
@@ -29,6 +29,9 @@ export enum TableName {
|
|||||||
PkiApiEnrollmentConfig = "pki_api_enrollment_configs",
|
PkiApiEnrollmentConfig = "pki_api_enrollment_configs",
|
||||||
PkiAcmeEnrollmentConfig = "pki_acme_enrollment_configs",
|
PkiAcmeEnrollmentConfig = "pki_acme_enrollment_configs",
|
||||||
PkiAcmeAccount = "pki_acme_accounts",
|
PkiAcmeAccount = "pki_acme_accounts",
|
||||||
|
PkiAcmeOrder = "pki_acme_orders",
|
||||||
|
PkiAcmeAuth = "pki_acme_auths",
|
||||||
|
PkiAcmeChallenge = "pki_acme_challenges",
|
||||||
PkiSubscriber = "pki_subscribers",
|
PkiSubscriber = "pki_subscribers",
|
||||||
PkiAlert = "pki_alerts",
|
PkiAlert = "pki_alerts",
|
||||||
PkiCollection = "pki_collections",
|
PkiCollection = "pki_collections",
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
// Code generated by automation script, DO NOT EDIT.
|
||||||
|
// Automated by pulling database and generating zod schema
|
||||||
|
// To update. Just run npm run generate:schema
|
||||||
|
// Written by akhilmhdh.
|
||||||
|
|
||||||
|
import { z } from "zod";
|
||||||
|
|
||||||
|
import { TImmutableDBKeys } from "./models";
|
||||||
|
|
||||||
|
export const PkiAcmeAuthsSchema = z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
accountId: z.string().uuid(),
|
||||||
|
status: z.string(),
|
||||||
|
identifierType: z.string(),
|
||||||
|
identifierValue: z.string(),
|
||||||
|
expiresAt: z.date(),
|
||||||
|
certificateId: z.string().uuid().nullable().optional(),
|
||||||
|
createdAt: z.date(),
|
||||||
|
updatedAt: z.date()
|
||||||
|
});
|
||||||
|
|
||||||
|
export type TPkiAcmeAuths = z.infer<typeof PkiAcmeAuthsSchema>;
|
||||||
|
export type TPkiAcmeAuthsInsert = Omit<z.input<typeof PkiAcmeAuthsSchema>, TImmutableDBKeys>;
|
||||||
|
export type TPkiAcmeAuthsUpdate = Partial<Omit<z.input<typeof PkiAcmeAuthsSchema>, TImmutableDBKeys>>;
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
// Code generated by automation script, DO NOT EDIT.
|
||||||
|
// Automated by pulling database and generating zod schema
|
||||||
|
// To update. Just run npm run generate:schema
|
||||||
|
// Written by akhilmhdh.
|
||||||
|
|
||||||
|
import { z } from "zod";
|
||||||
|
|
||||||
|
import { TImmutableDBKeys } from "./models";
|
||||||
|
|
||||||
|
export const PkiAcmeChallengesSchema = z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
authId: z.string().uuid(),
|
||||||
|
type: z.string(),
|
||||||
|
status: z.string(),
|
||||||
|
validatedAt: z.date().nullable().optional(),
|
||||||
|
createdAt: z.date(),
|
||||||
|
updatedAt: z.date()
|
||||||
|
});
|
||||||
|
|
||||||
|
export type TPkiAcmeChallenges = z.infer<typeof PkiAcmeChallengesSchema>;
|
||||||
|
export type TPkiAcmeChallengesInsert = Omit<z.input<typeof PkiAcmeChallengesSchema>, TImmutableDBKeys>;
|
||||||
|
export type TPkiAcmeChallengesUpdate = Partial<Omit<z.input<typeof PkiAcmeChallengesSchema>, TImmutableDBKeys>>;
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
// Code generated by automation script, DO NOT EDIT.
|
||||||
|
// Automated by pulling database and generating zod schema
|
||||||
|
// To update. Just run npm run generate:schema
|
||||||
|
// Written by akhilmhdh.
|
||||||
|
|
||||||
|
import { z } from "zod";
|
||||||
|
|
||||||
|
import { TImmutableDBKeys } from "./models";
|
||||||
|
|
||||||
|
export const PkiAcmeOrdersSchema = z.object({
|
||||||
|
id: z.string().uuid(),
|
||||||
|
accountId: z.string().uuid(),
|
||||||
|
status: z.string(),
|
||||||
|
createdAt: z.date(),
|
||||||
|
updatedAt: z.date()
|
||||||
|
});
|
||||||
|
|
||||||
|
export type TPkiAcmeOrders = z.infer<typeof PkiAcmeOrdersSchema>;
|
||||||
|
export type TPkiAcmeOrdersInsert = Omit<z.input<typeof PkiAcmeOrdersSchema>, TImmutableDBKeys>;
|
||||||
|
export type TPkiAcmeOrdersUpdate = Partial<Omit<z.input<typeof PkiAcmeOrdersSchema>, TImmutableDBKeys>>;
|
||||||
Reference in New Issue
Block a user