mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-15 23:47:06 +00:00
misc: addressed first set of review comments
This commit is contained in:
@@ -14,25 +14,25 @@ export type TCertificateAuthorityWithAssociatedCa = Awaited<
|
||||
export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
const caOrm = ormify(db, TableName.CertificateAuthority);
|
||||
|
||||
const findByIdWithAssociatedCa = async (caId: string, tx?: Knex) => {
|
||||
const findByNameAndProjectIdWithAssociatedCa = async (caName: string, projectId: string, tx?: Knex) => {
|
||||
const result = await (tx || db.replicaNode())(TableName.CertificateAuthority)
|
||||
.leftJoin(
|
||||
TableName.InternalCertificateAuthority,
|
||||
`${TableName.CertificateAuthority}.id`,
|
||||
`${TableName.InternalCertificateAuthority}.certificateAuthorityId`
|
||||
`${TableName.InternalCertificateAuthority}.caId`
|
||||
)
|
||||
.leftJoin(
|
||||
TableName.ExternalCertificateAuthority,
|
||||
`${TableName.CertificateAuthority}.id`,
|
||||
`${TableName.ExternalCertificateAuthority}.certificateAuthorityId`
|
||||
`${TableName.ExternalCertificateAuthority}.caId`
|
||||
)
|
||||
.where(`${TableName.CertificateAuthority}.id`, caId)
|
||||
.where(`${TableName.CertificateAuthority}.name`, caName)
|
||||
.where(`${TableName.CertificateAuthority}.projectId`, projectId)
|
||||
.select(selectAllTableCols(TableName.CertificateAuthority))
|
||||
.select(
|
||||
db.ref("id").withSchema(TableName.InternalCertificateAuthority).as("internalCaId"),
|
||||
db.ref("parentCaId").withSchema(TableName.InternalCertificateAuthority).as("internalParentCaId"),
|
||||
db.ref("type").withSchema(TableName.InternalCertificateAuthority).as("internalType"),
|
||||
db.ref("status").withSchema(TableName.InternalCertificateAuthority).as("internalStatus"),
|
||||
db.ref("friendlyName").withSchema(TableName.InternalCertificateAuthority).as("internalFriendlyName"),
|
||||
db.ref("organization").withSchema(TableName.InternalCertificateAuthority).as("internalOrganization"),
|
||||
db.ref("ou").withSchema(TableName.InternalCertificateAuthority).as("internalOu"),
|
||||
@@ -46,17 +46,11 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
db.ref("keyAlgorithm").withSchema(TableName.InternalCertificateAuthority).as("internalKeyAlgorithm"),
|
||||
db.ref("notBefore").withSchema(TableName.InternalCertificateAuthority).as("internalNotBefore"),
|
||||
db.ref("notAfter").withSchema(TableName.InternalCertificateAuthority).as("internalNotAfter"),
|
||||
db.ref("activeCaCertId").withSchema(TableName.InternalCertificateAuthority).as("internalActiveCaCertId"),
|
||||
db
|
||||
.ref("certificateAuthorityId")
|
||||
.withSchema(TableName.InternalCertificateAuthority)
|
||||
.as("internalCertificateAuthorityId")
|
||||
db.ref("activeCaCertId").withSchema(TableName.InternalCertificateAuthority).as("internalActiveCaCertId")
|
||||
)
|
||||
.select(
|
||||
db.ref("id").withSchema(TableName.ExternalCertificateAuthority).as("externalCaId"),
|
||||
db.ref("name").withSchema(TableName.ExternalCertificateAuthority).as("externalName"),
|
||||
db.ref("type").withSchema(TableName.ExternalCertificateAuthority).as("externalType"),
|
||||
db.ref("status").withSchema(TableName.ExternalCertificateAuthority).as("externalStatus"),
|
||||
db.ref("configuration").withSchema(TableName.ExternalCertificateAuthority).as("externalConfiguration"),
|
||||
db.ref("credentials").withSchema(TableName.ExternalCertificateAuthority).as("externalCredentials"),
|
||||
db
|
||||
@@ -74,7 +68,6 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
id: result.internalCaId,
|
||||
parentCaId: result.internalParentCaId,
|
||||
type: result.internalType,
|
||||
status: result.internalStatus,
|
||||
friendlyName: result.internalFriendlyName,
|
||||
organization: result.internalOrganization,
|
||||
ou: result.internalOu,
|
||||
@@ -88,16 +81,97 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
keyAlgorithm: result.internalKeyAlgorithm,
|
||||
notBefore: result.internalNotBefore?.toISOString(),
|
||||
notAfter: result.internalNotAfter?.toISOString(),
|
||||
activeCaCertId: result.internalActiveCaCertId,
|
||||
certificateAuthorityId: result.internalCertificateAuthorityId
|
||||
activeCaCertId: result.internalActiveCaCertId
|
||||
}
|
||||
: undefined,
|
||||
externalCa: result
|
||||
? {
|
||||
id: result.externalCaId,
|
||||
type: result.externalType,
|
||||
configuration: result.externalConfiguration,
|
||||
dnsAppConnectionId: result.externalDnsAppConnectionId,
|
||||
appConnectionId: result.externalAppConnectionId,
|
||||
credentials: result.externalCredentials
|
||||
}
|
||||
: undefined
|
||||
};
|
||||
|
||||
return data;
|
||||
};
|
||||
|
||||
const findByIdWithAssociatedCa = async (caId: string, tx?: Knex) => {
|
||||
const result = await (tx || db.replicaNode())(TableName.CertificateAuthority)
|
||||
.leftJoin(
|
||||
TableName.InternalCertificateAuthority,
|
||||
`${TableName.CertificateAuthority}.id`,
|
||||
`${TableName.InternalCertificateAuthority}.caId`
|
||||
)
|
||||
.leftJoin(
|
||||
TableName.ExternalCertificateAuthority,
|
||||
`${TableName.CertificateAuthority}.id`,
|
||||
`${TableName.ExternalCertificateAuthority}.caId`
|
||||
)
|
||||
.where(`${TableName.CertificateAuthority}.id`, caId)
|
||||
.select(selectAllTableCols(TableName.CertificateAuthority))
|
||||
.select(
|
||||
db.ref("id").withSchema(TableName.InternalCertificateAuthority).as("internalCaId"),
|
||||
db.ref("parentCaId").withSchema(TableName.InternalCertificateAuthority).as("internalParentCaId"),
|
||||
db.ref("type").withSchema(TableName.InternalCertificateAuthority).as("internalType"),
|
||||
db.ref("friendlyName").withSchema(TableName.InternalCertificateAuthority).as("internalFriendlyName"),
|
||||
db.ref("organization").withSchema(TableName.InternalCertificateAuthority).as("internalOrganization"),
|
||||
db.ref("ou").withSchema(TableName.InternalCertificateAuthority).as("internalOu"),
|
||||
db.ref("country").withSchema(TableName.InternalCertificateAuthority).as("internalCountry"),
|
||||
db.ref("province").withSchema(TableName.InternalCertificateAuthority).as("internalProvince"),
|
||||
db.ref("locality").withSchema(TableName.InternalCertificateAuthority).as("internalLocality"),
|
||||
db.ref("commonName").withSchema(TableName.InternalCertificateAuthority).as("internalCommonName"),
|
||||
db.ref("dn").withSchema(TableName.InternalCertificateAuthority).as("internalDn"),
|
||||
db.ref("serialNumber").withSchema(TableName.InternalCertificateAuthority).as("internalSerialNumber"),
|
||||
db.ref("maxPathLength").withSchema(TableName.InternalCertificateAuthority).as("internalMaxPathLength"),
|
||||
db.ref("keyAlgorithm").withSchema(TableName.InternalCertificateAuthority).as("internalKeyAlgorithm"),
|
||||
db.ref("notBefore").withSchema(TableName.InternalCertificateAuthority).as("internalNotBefore"),
|
||||
db.ref("notAfter").withSchema(TableName.InternalCertificateAuthority).as("internalNotAfter"),
|
||||
db.ref("activeCaCertId").withSchema(TableName.InternalCertificateAuthority).as("internalActiveCaCertId")
|
||||
)
|
||||
.select(
|
||||
db.ref("id").withSchema(TableName.ExternalCertificateAuthority).as("externalCaId"),
|
||||
db.ref("type").withSchema(TableName.ExternalCertificateAuthority).as("externalType"),
|
||||
db.ref("configuration").withSchema(TableName.ExternalCertificateAuthority).as("externalConfiguration"),
|
||||
db.ref("credentials").withSchema(TableName.ExternalCertificateAuthority).as("externalCredentials"),
|
||||
db
|
||||
.ref("dnsAppConnectionId")
|
||||
.withSchema(TableName.ExternalCertificateAuthority)
|
||||
.as("externalDnsAppConnectionId"),
|
||||
db.ref("appConnectionId").withSchema(TableName.ExternalCertificateAuthority).as("externalAppConnectionId")
|
||||
)
|
||||
.first();
|
||||
|
||||
const data = {
|
||||
...CertificateAuthoritiesSchema.parse(result),
|
||||
internalCa: result
|
||||
? {
|
||||
id: result.internalCaId,
|
||||
parentCaId: result.internalParentCaId,
|
||||
type: result.internalType,
|
||||
friendlyName: result.internalFriendlyName,
|
||||
organization: result.internalOrganization,
|
||||
ou: result.internalOu,
|
||||
country: result.internalCountry,
|
||||
province: result.internalProvince,
|
||||
locality: result.internalLocality,
|
||||
commonName: result.internalCommonName,
|
||||
dn: result.internalDn,
|
||||
serialNumber: result.internalSerialNumber,
|
||||
maxPathLength: result.internalMaxPathLength,
|
||||
keyAlgorithm: result.internalKeyAlgorithm,
|
||||
notBefore: result.internalNotBefore?.toISOString(),
|
||||
notAfter: result.internalNotAfter?.toISOString(),
|
||||
activeCaCertId: result.internalActiveCaCertId
|
||||
}
|
||||
: undefined,
|
||||
externalCa: result
|
||||
? {
|
||||
id: result.externalCaId,
|
||||
name: result.externalName,
|
||||
type: result.externalType,
|
||||
status: result.externalStatus,
|
||||
configuration: result.externalConfiguration,
|
||||
dnsAppConnectionId: result.externalDnsAppConnectionId,
|
||||
appConnectionId: result.externalAppConnectionId,
|
||||
@@ -153,12 +227,12 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
.leftJoin(
|
||||
TableName.InternalCertificateAuthority,
|
||||
`${TableName.CertificateAuthority}.id`,
|
||||
`${TableName.InternalCertificateAuthority}.certificateAuthorityId`
|
||||
`${TableName.InternalCertificateAuthority}.caId`
|
||||
)
|
||||
.leftJoin(
|
||||
TableName.ExternalCertificateAuthority,
|
||||
`${TableName.CertificateAuthority}.id`,
|
||||
`${TableName.ExternalCertificateAuthority}.certificateAuthorityId`
|
||||
`${TableName.ExternalCertificateAuthority}.caId`
|
||||
)
|
||||
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
||||
.where(buildFindFilter(filter))
|
||||
@@ -167,7 +241,6 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
db.ref("id").withSchema(TableName.InternalCertificateAuthority).as("internalCaId"),
|
||||
db.ref("parentCaId").withSchema(TableName.InternalCertificateAuthority).as("internalParentCaId"),
|
||||
db.ref("type").withSchema(TableName.InternalCertificateAuthority).as("internalType"),
|
||||
db.ref("status").withSchema(TableName.InternalCertificateAuthority).as("internalStatus"),
|
||||
db.ref("friendlyName").withSchema(TableName.InternalCertificateAuthority).as("internalFriendlyName"),
|
||||
db.ref("organization").withSchema(TableName.InternalCertificateAuthority).as("internalOrganization"),
|
||||
db.ref("ou").withSchema(TableName.InternalCertificateAuthority).as("internalOu"),
|
||||
@@ -181,17 +254,11 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
db.ref("keyAlgorithm").withSchema(TableName.InternalCertificateAuthority).as("internalKeyAlgorithm"),
|
||||
db.ref("notBefore").withSchema(TableName.InternalCertificateAuthority).as("internalNotBefore"),
|
||||
db.ref("notAfter").withSchema(TableName.InternalCertificateAuthority).as("internalNotAfter"),
|
||||
db.ref("activeCaCertId").withSchema(TableName.InternalCertificateAuthority).as("internalActiveCaCertId"),
|
||||
db
|
||||
.ref("certificateAuthorityId")
|
||||
.withSchema(TableName.InternalCertificateAuthority)
|
||||
.as("internalCertificateAuthorityId")
|
||||
db.ref("activeCaCertId").withSchema(TableName.InternalCertificateAuthority).as("internalActiveCaCertId")
|
||||
)
|
||||
.select(
|
||||
db.ref("id").withSchema(TableName.ExternalCertificateAuthority).as("externalCaId"),
|
||||
db.ref("name").withSchema(TableName.ExternalCertificateAuthority).as("externalName"),
|
||||
db.ref("type").withSchema(TableName.ExternalCertificateAuthority).as("externalType"),
|
||||
db.ref("status").withSchema(TableName.ExternalCertificateAuthority).as("externalStatus"),
|
||||
db.ref("configuration").withSchema(TableName.ExternalCertificateAuthority).as("externalConfiguration"),
|
||||
db
|
||||
.ref("dnsAppConnectionId")
|
||||
@@ -220,7 +287,6 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
id: ca.internalCaId,
|
||||
parentCaId: ca.internalParentCaId,
|
||||
type: ca.internalType,
|
||||
status: ca.internalStatus,
|
||||
friendlyName: ca.internalFriendlyName,
|
||||
organization: ca.internalOrganization,
|
||||
ou: ca.internalOu,
|
||||
@@ -234,16 +300,13 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
keyAlgorithm: ca.internalKeyAlgorithm,
|
||||
notBefore: ca.internalNotBefore?.toISOString(),
|
||||
notAfter: ca.internalNotAfter?.toISOString(),
|
||||
activeCaCertId: ca.internalActiveCaCertId,
|
||||
certificateAuthorityId: ca.internalCertificateAuthorityId
|
||||
activeCaCertId: ca.internalActiveCaCertId
|
||||
}
|
||||
: undefined,
|
||||
externalCa: ca
|
||||
? {
|
||||
id: ca.externalCaId,
|
||||
name: ca.externalName,
|
||||
type: ca.externalType,
|
||||
status: ca.externalStatus,
|
||||
configuration: ca.externalConfiguration,
|
||||
dnsAppConnectionId: ca.externalDnsAppConnectionId,
|
||||
appConnectionId: ca.externalAppConnectionId,
|
||||
@@ -260,6 +323,7 @@ export const certificateAuthorityDALFactory = (db: TDbClient) => {
|
||||
...caOrm,
|
||||
findWithAssociatedCa,
|
||||
buildCertificateChain,
|
||||
findByIdWithAssociatedCa
|
||||
findByIdWithAssociatedCa,
|
||||
findByNameAndProjectIdWithAssociatedCa
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user