mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-10 22:28:47 +00:00
Merge pull request #4837 from Infisical/ENG-4111
fix reviewed time & lint
This commit is contained in:
Vendored
+1
-1
@@ -32,6 +32,7 @@ import { TPamResourceServiceFactory } from "@app/ee/services/pam-resource/pam-re
|
|||||||
import { TPamSessionServiceFactory } from "@app/ee/services/pam-session/pam-session-service";
|
import { TPamSessionServiceFactory } from "@app/ee/services/pam-session/pam-session-service";
|
||||||
import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service-types";
|
import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service-types";
|
||||||
import { TPitServiceFactory } from "@app/ee/services/pit/pit-service";
|
import { TPitServiceFactory } from "@app/ee/services/pit/pit-service";
|
||||||
|
import { TPkiAcmeServiceFactory } from "@app/ee/services/pki-acme/pki-acme-types";
|
||||||
import { TProjectTemplateServiceFactory } from "@app/ee/services/project-template/project-template-types";
|
import { TProjectTemplateServiceFactory } from "@app/ee/services/project-template/project-template-types";
|
||||||
import { RateLimitConfiguration, TRateLimitServiceFactory } from "@app/ee/services/rate-limit/rate-limit-types";
|
import { RateLimitConfiguration, TRateLimitServiceFactory } from "@app/ee/services/rate-limit/rate-limit-types";
|
||||||
import { TRelayServiceFactory } from "@app/ee/services/relay/relay-service";
|
import { TRelayServiceFactory } from "@app/ee/services/relay/relay-service";
|
||||||
@@ -106,7 +107,6 @@ import { TPkiCollectionServiceFactory } from "@app/services/pki-collection/pki-c
|
|||||||
import { TPkiSubscriberServiceFactory } from "@app/services/pki-subscriber/pki-subscriber-service";
|
import { TPkiSubscriberServiceFactory } from "@app/services/pki-subscriber/pki-subscriber-service";
|
||||||
import { TPkiSyncServiceFactory } from "@app/services/pki-sync/pki-sync-service";
|
import { TPkiSyncServiceFactory } from "@app/services/pki-sync/pki-sync-service";
|
||||||
import { TPkiTemplatesServiceFactory } from "@app/services/pki-templates/pki-templates-service";
|
import { TPkiTemplatesServiceFactory } from "@app/services/pki-templates/pki-templates-service";
|
||||||
import { TPkiAcmeServiceFactory } from "@app/ee/services/pki-acme/pki-acme-types";
|
|
||||||
import { TProjectServiceFactory } from "@app/services/project/project-service";
|
import { TProjectServiceFactory } from "@app/services/project/project-service";
|
||||||
import { TProjectBotServiceFactory } from "@app/services/project-bot/project-bot-service";
|
import { TProjectBotServiceFactory } from "@app/services/project-bot/project-bot-service";
|
||||||
import { TProjectEnvServiceFactory } from "@app/services/project-env/project-env-service";
|
import { TProjectEnvServiceFactory } from "@app/services/project-env/project-env-service";
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import { Knex } from "knex";
|
import { Knex } from "knex";
|
||||||
|
|
||||||
|
import { dropConstraintIfExists } from "@app/db/migrations/utils/dropConstraintIfExists";
|
||||||
|
|
||||||
import { TableName } from "../schemas";
|
import { TableName } from "../schemas";
|
||||||
import { createOnUpdateTrigger, dropOnUpdateTrigger } from "../utils";
|
import { createOnUpdateTrigger, dropOnUpdateTrigger } from "../utils";
|
||||||
import { dropConstraintIfExists } from "@app/db/migrations/utils/dropConstraintIfExists";
|
|
||||||
|
|
||||||
// Notice: the old constraint name is "enrollmentType_check" instead of "enrollment_type_check"
|
// Notice: the old constraint name is "enrollmentType_check" instead of "enrollment_type_check"
|
||||||
// with psql, if there's no quote around an identifier, it will be lowercased.
|
// with psql, if there's no quote around an identifier, it will be lowercased.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { registerProjectTemplateRouter } from "@app/ee/routes/v1/project-template-router";
|
import { registerProjectTemplateRouter } from "@app/ee/routes/v1/project-template-router";
|
||||||
|
|
||||||
import { getConfig } from "@app/lib/config/env";
|
import { getConfig } from "@app/lib/config/env";
|
||||||
|
|
||||||
import { registerAccessApprovalPolicyRouter } from "./access-approval-policy-router";
|
import { registerAccessApprovalPolicyRouter } from "./access-approval-policy-router";
|
||||||
import { registerAccessApprovalRequestRouter } from "./access-approval-request-router";
|
import { registerAccessApprovalRequestRouter } from "./access-approval-request-router";
|
||||||
import { registerAssumePrivilegeRouter } from "./assume-privilege-router";
|
import { registerAssumePrivilegeRouter } from "./assume-privilege-router";
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
/* eslint-disable @typescript-eslint/no-floating-promises */
|
/* eslint-disable @typescript-eslint/no-floating-promises */
|
||||||
import type { TAcmeResponse, TAuthenciatedJwsPayload, TRawJwsPayload } from "@app/ee/services/pki-acme/pki-acme-types";
|
|
||||||
import { FastifyReply, FastifyRequest } from "fastify";
|
import { FastifyReply, FastifyRequest } from "fastify";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
@@ -19,6 +18,7 @@ import {
|
|||||||
RespondToAcmeChallengeBodySchema,
|
RespondToAcmeChallengeBodySchema,
|
||||||
RespondToAcmeChallengeResponseSchema
|
RespondToAcmeChallengeResponseSchema
|
||||||
} from "@app/ee/services/pki-acme/pki-acme-schemas";
|
} from "@app/ee/services/pki-acme/pki-acme-schemas";
|
||||||
|
import type { TAcmeResponse, TAuthenciatedJwsPayload, TRawJwsPayload } from "@app/ee/services/pki-acme/pki-acme-types";
|
||||||
import { ApiDocsTags } from "@app/lib/api-docs";
|
import { ApiDocsTags } from "@app/lib/api-docs";
|
||||||
import { readLimit, writeLimit } from "@app/server/config/rateLimiter";
|
import { readLimit, writeLimit } from "@app/server/config/rateLimiter";
|
||||||
|
|
||||||
|
|||||||
@@ -315,6 +315,7 @@ export const registerSecretApprovalRequestRouter = async (server: FastifyZodProv
|
|||||||
.extend({
|
.extend({
|
||||||
status: z.string(),
|
status: z.string(),
|
||||||
comment: z.string().optional(),
|
comment: z.string().optional(),
|
||||||
|
createdAt: z.date(),
|
||||||
isOrgMembershipActive: z.boolean().nullable().optional()
|
isOrgMembershipActive: z.boolean().nullable().optional()
|
||||||
})
|
})
|
||||||
.array(),
|
.array(),
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
|
import { Knex } from "knex";
|
||||||
|
|
||||||
import { TDbClient } from "@app/db";
|
import { TDbClient } from "@app/db";
|
||||||
import { TableName, TPkiAcmeChallenges } from "@app/db/schemas";
|
import { TableName, TPkiAcmeChallenges } from "@app/db/schemas";
|
||||||
import { DatabaseError } from "@app/lib/errors";
|
import { DatabaseError } from "@app/lib/errors";
|
||||||
import { ormify, selectAllTableCols } from "@app/lib/knex";
|
import { ormify, selectAllTableCols } from "@app/lib/knex";
|
||||||
import { Knex } from "knex";
|
|
||||||
import { AcmeAuthStatus, AcmeChallengeStatus, AcmeOrderStatus } from "./pki-acme-schemas";
|
import { AcmeAuthStatus, AcmeChallengeStatus, AcmeOrderStatus } from "./pki-acme-schemas";
|
||||||
|
|
||||||
export type TPkiAcmeChallengeDALFactory = ReturnType<typeof pkiAcmeChallengeDALFactory>;
|
export type TPkiAcmeChallengeDALFactory = ReturnType<typeof pkiAcmeChallengeDALFactory>;
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { getConfig } from "@app/lib/config/env";
|
|||||||
import { BadRequestError, NotFoundError } from "@app/lib/errors";
|
import { BadRequestError, NotFoundError } from "@app/lib/errors";
|
||||||
import { isPrivateIp } from "@app/lib/ip/ipRange";
|
import { isPrivateIp } from "@app/lib/ip/ipRange";
|
||||||
import { logger } from "@app/lib/logger";
|
import { logger } from "@app/lib/logger";
|
||||||
|
|
||||||
import { TPkiAcmeChallengeDALFactory } from "./pki-acme-challenge-dal";
|
import { TPkiAcmeChallengeDALFactory } from "./pki-acme-challenge-dal";
|
||||||
import {
|
import {
|
||||||
AcmeConnectionError,
|
AcmeConnectionError,
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
import { getConfig } from "@app/lib/config/env";
|
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
|
import { getConfig } from "@app/lib/config/env";
|
||||||
|
|
||||||
import { AcmeMalformedError } from "./pki-acme-errors";
|
import { AcmeMalformedError } from "./pki-acme-errors";
|
||||||
|
|
||||||
export const buildUrl = (profileId: string, path: string): string => {
|
export const buildUrl = (profileId: string, path: string): string => {
|
||||||
|
|||||||
@@ -1,23 +1,4 @@
|
|||||||
import { TPkiAcmeAccounts } from "@app/db/schemas/pki-acme-accounts";
|
|
||||||
import { TPkiAcmeAuths } from "@app/db/schemas/pki-acme-auths";
|
|
||||||
import { crypto } from "@app/lib/crypto/cryptography";
|
|
||||||
import { BadRequestError, NotFoundError, UnauthorizedError } from "@app/lib/errors";
|
|
||||||
import { logger } from "@app/lib/logger";
|
|
||||||
import { TCertificateProfileDALFactory } from "@app/services/certificate-profile/certificate-profile-dal";
|
|
||||||
import * as x509 from "@peculiar/x509";
|
import * as x509 from "@peculiar/x509";
|
||||||
|
|
||||||
import { KeyStorePrefixes, TKeyStoreFactory } from "@app/keystore/keystore";
|
|
||||||
import { isPrivateIp } from "@app/lib/ip/ipRange";
|
|
||||||
import { ActorType } from "@app/services/auth/auth-type";
|
|
||||||
import {
|
|
||||||
EnrollmentType,
|
|
||||||
TCertificateProfileWithConfigs
|
|
||||||
} from "@app/services/certificate-profile/certificate-profile-types";
|
|
||||||
import { TCertificateV3ServiceFactory } from "@app/services/certificate-v3/certificate-v3-service";
|
|
||||||
import { TCertificateBodyDALFactory } from "@app/services/certificate/certificate-body-dal";
|
|
||||||
import { TKmsServiceFactory } from "@app/services/kms/kms-service";
|
|
||||||
import { TProjectDALFactory } from "@app/services/project/project-dal";
|
|
||||||
import { getProjectKmsCertificateKeyId } from "@app/services/project/project-fns";
|
|
||||||
import {
|
import {
|
||||||
calculateJwkThumbprint,
|
calculateJwkThumbprint,
|
||||||
errors,
|
errors,
|
||||||
@@ -27,6 +8,26 @@ import {
|
|||||||
JWSHeaderParameters
|
JWSHeaderParameters
|
||||||
} from "jose";
|
} from "jose";
|
||||||
import { z, ZodError } from "zod";
|
import { z, ZodError } from "zod";
|
||||||
|
|
||||||
|
import { TPkiAcmeAccounts } from "@app/db/schemas/pki-acme-accounts";
|
||||||
|
import { TPkiAcmeAuths } from "@app/db/schemas/pki-acme-auths";
|
||||||
|
import { KeyStorePrefixes, TKeyStoreFactory } from "@app/keystore/keystore";
|
||||||
|
import { crypto } from "@app/lib/crypto/cryptography";
|
||||||
|
import { BadRequestError, NotFoundError, UnauthorizedError } from "@app/lib/errors";
|
||||||
|
import { isPrivateIp } from "@app/lib/ip/ipRange";
|
||||||
|
import { logger } from "@app/lib/logger";
|
||||||
|
import { ActorType } from "@app/services/auth/auth-type";
|
||||||
|
import { TCertificateBodyDALFactory } from "@app/services/certificate/certificate-body-dal";
|
||||||
|
import { TCertificateProfileDALFactory } from "@app/services/certificate-profile/certificate-profile-dal";
|
||||||
|
import {
|
||||||
|
EnrollmentType,
|
||||||
|
TCertificateProfileWithConfigs
|
||||||
|
} from "@app/services/certificate-profile/certificate-profile-types";
|
||||||
|
import { TCertificateV3ServiceFactory } from "@app/services/certificate-v3/certificate-v3-service";
|
||||||
|
import { TKmsServiceFactory } from "@app/services/kms/kms-service";
|
||||||
|
import { TProjectDALFactory } from "@app/services/project/project-dal";
|
||||||
|
import { getProjectKmsCertificateKeyId } from "@app/services/project/project-fns";
|
||||||
|
|
||||||
import { TPkiAcmeAccountDALFactory } from "./pki-acme-account-dal";
|
import { TPkiAcmeAccountDALFactory } from "./pki-acme-account-dal";
|
||||||
import { TPkiAcmeAuthDALFactory } from "./pki-acme-auth-dal";
|
import { TPkiAcmeAuthDALFactory } from "./pki-acme-auth-dal";
|
||||||
import { TPkiAcmeChallengeDALFactory } from "./pki-acme-challenge-dal";
|
import { TPkiAcmeChallengeDALFactory } from "./pki-acme-challenge-dal";
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
|
import { JWSHeaderParameters } from "jose";
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
import { JWSHeaderParameters } from "jose";
|
|
||||||
import {
|
import {
|
||||||
AcmeOrderResourceSchema,
|
AcmeOrderResourceSchema,
|
||||||
CreateAcmeAccountBodySchema,
|
CreateAcmeAccountBodySchema,
|
||||||
|
|||||||
@@ -166,6 +166,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => {
|
|||||||
tx.ref("reviewerUserId").withSchema(TableName.SecretApprovalRequestReviewer),
|
tx.ref("reviewerUserId").withSchema(TableName.SecretApprovalRequestReviewer),
|
||||||
tx.ref("status").withSchema(TableName.SecretApprovalRequestReviewer).as("reviewerStatus"),
|
tx.ref("status").withSchema(TableName.SecretApprovalRequestReviewer).as("reviewerStatus"),
|
||||||
tx.ref("comment").withSchema(TableName.SecretApprovalRequestReviewer).as("reviewerComment"),
|
tx.ref("comment").withSchema(TableName.SecretApprovalRequestReviewer).as("reviewerComment"),
|
||||||
|
tx.ref("createdAt").withSchema(TableName.SecretApprovalRequestReviewer).as("reviewerCreatedAt"),
|
||||||
tx.ref("email").withSchema("secretApprovalReviewerUser").as("reviewerEmail"),
|
tx.ref("email").withSchema("secretApprovalReviewerUser").as("reviewerEmail"),
|
||||||
tx.ref("username").withSchema("secretApprovalReviewerUser").as("reviewerUsername"),
|
tx.ref("username").withSchema("secretApprovalReviewerUser").as("reviewerUsername"),
|
||||||
tx.ref("firstName").withSchema("secretApprovalReviewerUser").as("reviewerFirstName"),
|
tx.ref("firstName").withSchema("secretApprovalReviewerUser").as("reviewerFirstName"),
|
||||||
@@ -240,6 +241,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => {
|
|||||||
reviewerUsername: username,
|
reviewerUsername: username,
|
||||||
reviewerFirstName: firstName,
|
reviewerFirstName: firstName,
|
||||||
reviewerComment: comment,
|
reviewerComment: comment,
|
||||||
|
reviewerCreatedAt: createdAt,
|
||||||
reviewerIsOrgMembershipActive: isOrgMembershipActive
|
reviewerIsOrgMembershipActive: isOrgMembershipActive
|
||||||
}) =>
|
}) =>
|
||||||
userId
|
userId
|
||||||
@@ -251,6 +253,7 @@ export const secretApprovalRequestDALFactory = (db: TDbClient) => {
|
|||||||
lastName,
|
lastName,
|
||||||
username,
|
username,
|
||||||
comment: comment ?? "",
|
comment: comment ?? "",
|
||||||
|
createdAt,
|
||||||
isOrgMembershipActive
|
isOrgMembershipActive
|
||||||
}
|
}
|
||||||
: undefined
|
: undefined
|
||||||
|
|||||||
@@ -6,6 +6,12 @@ import { ms } from "@app/lib/ms";
|
|||||||
import { writeLimit } from "@app/server/config/rateLimiter";
|
import { writeLimit } from "@app/server/config/rateLimiter";
|
||||||
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
|
import { verifyAuth } from "@app/server/plugins/auth/verify-auth";
|
||||||
import { AuthMode } from "@app/services/auth/auth-type";
|
import { AuthMode } from "@app/services/auth/auth-type";
|
||||||
|
import {
|
||||||
|
ACMESANType,
|
||||||
|
CertificateOrderStatus,
|
||||||
|
CertKeyAlgorithm,
|
||||||
|
CertSignatureAlgorithm
|
||||||
|
} from "@app/services/certificate/certificate-types";
|
||||||
import { validateCaDateField } from "@app/services/certificate-authority/certificate-authority-validators";
|
import { validateCaDateField } from "@app/services/certificate-authority/certificate-authority-validators";
|
||||||
import {
|
import {
|
||||||
CertExtendedKeyUsageType,
|
CertExtendedKeyUsageType,
|
||||||
@@ -16,12 +22,6 @@ import { extractCertificateRequestFromCSR } from "@app/services/certificate-comm
|
|||||||
import { mapEnumsForValidation } from "@app/services/certificate-common/certificate-utils";
|
import { mapEnumsForValidation } from "@app/services/certificate-common/certificate-utils";
|
||||||
import { EnrollmentType } from "@app/services/certificate-profile/certificate-profile-types";
|
import { EnrollmentType } from "@app/services/certificate-profile/certificate-profile-types";
|
||||||
import { validateTemplateRegexField } from "@app/services/certificate-template/certificate-template-validators";
|
import { validateTemplateRegexField } from "@app/services/certificate-template/certificate-template-validators";
|
||||||
import {
|
|
||||||
ACMESANType,
|
|
||||||
CertificateOrderStatus,
|
|
||||||
CertKeyAlgorithm,
|
|
||||||
CertSignatureAlgorithm
|
|
||||||
} from "@app/services/certificate/certificate-types";
|
|
||||||
|
|
||||||
interface CertificateRequestForService {
|
interface CertificateRequestForService {
|
||||||
commonName?: string;
|
commonName?: string;
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import { ForbiddenError } from "@casl/ability";
|
|||||||
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
||||||
|
|
||||||
import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service-types";
|
import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service-types";
|
||||||
|
import { TPkiAcmeAccountDALFactory } from "@app/ee/services/pki-acme/pki-acme-account-dal";
|
||||||
import { BadRequestError, ForbiddenRequestError, NotFoundError } from "@app/lib/errors";
|
import { BadRequestError, ForbiddenRequestError, NotFoundError } from "@app/lib/errors";
|
||||||
import { TCertificateDALFactory } from "@app/services/certificate/certificate-dal";
|
import { TCertificateDALFactory } from "@app/services/certificate/certificate-dal";
|
||||||
import { TCertificateSecretDALFactory } from "@app/services/certificate/certificate-secret-dal";
|
import { TCertificateSecretDALFactory } from "@app/services/certificate/certificate-secret-dal";
|
||||||
@@ -30,7 +31,6 @@ import {
|
|||||||
extractCertificateRequestFromCSR
|
extractCertificateRequestFromCSR
|
||||||
} from "../certificate-common/certificate-csr-utils";
|
} from "../certificate-common/certificate-csr-utils";
|
||||||
import { certificateV3ServiceFactory, TCertificateV3ServiceFactory } from "./certificate-v3-service";
|
import { certificateV3ServiceFactory, TCertificateV3ServiceFactory } from "./certificate-v3-service";
|
||||||
import { TPkiAcmeAccountDALFactory } from "@app/ee/services/pki-acme/pki-acme-account-dal";
|
|
||||||
|
|
||||||
vi.mock("../certificate-common/certificate-csr-utils", () => ({
|
vi.mock("../certificate-common/certificate-csr-utils", () => ({
|
||||||
extractCertificateRequestFromCSR: vi.fn(),
|
extractCertificateRequestFromCSR: vi.fn(),
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import {
|
|||||||
ProjectPermissionCertificateProfileActions,
|
ProjectPermissionCertificateProfileActions,
|
||||||
ProjectPermissionSub
|
ProjectPermissionSub
|
||||||
} from "@app/ee/services/permission/project-permission";
|
} from "@app/ee/services/permission/project-permission";
|
||||||
|
import { TPkiAcmeAccountDALFactory } from "@app/ee/services/pki-acme/pki-acme-account-dal";
|
||||||
import { BadRequestError, ForbiddenRequestError, NotFoundError } from "@app/lib/errors";
|
import { BadRequestError, ForbiddenRequestError, NotFoundError } from "@app/lib/errors";
|
||||||
import { ActorAuthMethod, ActorType } from "@app/services/auth/auth-type";
|
import { ActorAuthMethod, ActorType } from "@app/services/auth/auth-type";
|
||||||
import { TCertificateDALFactory } from "@app/services/certificate/certificate-dal";
|
import { TCertificateDALFactory } from "@app/services/certificate/certificate-dal";
|
||||||
@@ -64,7 +65,6 @@ import {
|
|||||||
TSignCertificateFromProfileDTO,
|
TSignCertificateFromProfileDTO,
|
||||||
TUpdateRenewalConfigDTO
|
TUpdateRenewalConfigDTO
|
||||||
} from "./certificate-v3-types";
|
} from "./certificate-v3-types";
|
||||||
import { TPkiAcmeAccountDALFactory } from "@app/ee/services/pki-acme/pki-acme-account-dal";
|
|
||||||
|
|
||||||
type TCertificateV3ServiceFactoryDep = {
|
type TCertificateV3ServiceFactoryDep = {
|
||||||
certificateDAL: Pick<TCertificateDALFactory, "findOne" | "findById" | "updateById" | "transaction">;
|
certificateDAL: Pick<TCertificateDALFactory, "findOne" | "findById" | "updateById" | "transaction">;
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
import { TProjectPermission } from "@app/lib/types";
|
import { TProjectPermission } from "@app/lib/types";
|
||||||
|
|
||||||
|
import { ACMESANType, CertificateOrderStatus } from "../certificate/certificate-types";
|
||||||
import {
|
import {
|
||||||
CertExtendedKeyUsageType,
|
CertExtendedKeyUsageType,
|
||||||
CertKeyUsageType,
|
CertKeyUsageType,
|
||||||
CertSubjectAlternativeNameType
|
CertSubjectAlternativeNameType
|
||||||
} from "../certificate-common/certificate-constants";
|
} from "../certificate-common/certificate-constants";
|
||||||
import { EnrollmentType } from "../certificate-profile/certificate-profile-types";
|
import { EnrollmentType } from "../certificate-profile/certificate-profile-types";
|
||||||
import { ACMESANType, CertificateOrderStatus } from "../certificate/certificate-types";
|
|
||||||
|
|
||||||
export type TIssueCertificateFromProfileDTO = {
|
export type TIssueCertificateFromProfileDTO = {
|
||||||
profileId: string;
|
profileId: string;
|
||||||
|
|||||||
@@ -1,3 +1,8 @@
|
|||||||
|
import {
|
||||||
|
TPkiAcmeEnrollmentConfigs,
|
||||||
|
TPkiAcmeEnrollmentConfigsInsert,
|
||||||
|
TPkiAcmeEnrollmentConfigsUpdate
|
||||||
|
} from "@app/db/schemas/pki-acme-enrollment-configs";
|
||||||
import {
|
import {
|
||||||
TPkiApiEnrollmentConfigs,
|
TPkiApiEnrollmentConfigs,
|
||||||
TPkiApiEnrollmentConfigsInsert,
|
TPkiApiEnrollmentConfigsInsert,
|
||||||
@@ -8,11 +13,6 @@ import {
|
|||||||
TPkiEstEnrollmentConfigsInsert,
|
TPkiEstEnrollmentConfigsInsert,
|
||||||
TPkiEstEnrollmentConfigsUpdate
|
TPkiEstEnrollmentConfigsUpdate
|
||||||
} from "@app/db/schemas/pki-est-enrollment-configs";
|
} from "@app/db/schemas/pki-est-enrollment-configs";
|
||||||
import {
|
|
||||||
TPkiAcmeEnrollmentConfigs,
|
|
||||||
TPkiAcmeEnrollmentConfigsInsert,
|
|
||||||
TPkiAcmeEnrollmentConfigsUpdate
|
|
||||||
} from "@app/db/schemas/pki-acme-enrollment-configs";
|
|
||||||
|
|
||||||
export type TEstEnrollmentConfig = TPkiEstEnrollmentConfigs;
|
export type TEstEnrollmentConfig = TPkiEstEnrollmentConfigs;
|
||||||
export type TEstEnrollmentConfigInsert = TPkiEstEnrollmentConfigsInsert;
|
export type TEstEnrollmentConfigInsert = TPkiEstEnrollmentConfigsInsert;
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ export type TSecretApprovalRequest = {
|
|||||||
lastName: string;
|
lastName: string;
|
||||||
username: string;
|
username: string;
|
||||||
isOrgMembershipActive: boolean;
|
isOrgMembershipActive: boolean;
|
||||||
|
createdAt: Date;
|
||||||
}[];
|
}[];
|
||||||
project: string;
|
project: string;
|
||||||
environment: string;
|
environment: string;
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
|
import { useState } from "react";
|
||||||
import { faPlus } from "@fortawesome/free-solid-svg-icons";
|
import { faPlus } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { useState } from "react";
|
|
||||||
|
|
||||||
import { createNotification } from "@app/components/notifications";
|
import { createNotification } from "@app/components/notifications";
|
||||||
import { Button, DeleteActionModal } from "@app/components/v2";
|
import { Button, DeleteActionModal } from "@app/components/v2";
|
||||||
|
|||||||
+2
-2
@@ -1,8 +1,8 @@
|
|||||||
|
import { useEffect } from "react";
|
||||||
|
import { Controller, useForm } from "react-hook-form";
|
||||||
import { faQuestionCircle } from "@fortawesome/free-solid-svg-icons";
|
import { faQuestionCircle } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
import { useEffect } from "react";
|
|
||||||
import { Controller, useForm } from "react-hook-form";
|
|
||||||
import { z } from "zod";
|
import { z } from "zod";
|
||||||
|
|
||||||
import { createNotification } from "@app/components/notifications";
|
import { createNotification } from "@app/components/notifications";
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,4 @@
|
|||||||
|
import { useCallback } from "react";
|
||||||
import {
|
import {
|
||||||
faCheck,
|
faCheck,
|
||||||
faCircleInfo,
|
faCircleInfo,
|
||||||
@@ -9,7 +10,6 @@ import {
|
|||||||
faTrash
|
faTrash
|
||||||
} from "@fortawesome/free-solid-svg-icons";
|
} from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { useCallback } from "react";
|
|
||||||
|
|
||||||
import { createNotification } from "@app/components/notifications";
|
import { createNotification } from "@app/components/notifications";
|
||||||
import {
|
import {
|
||||||
|
|||||||
+3
-2
@@ -1,3 +1,6 @@
|
|||||||
|
import { faCheck, faCopy } from "@fortawesome/free-solid-svg-icons";
|
||||||
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
Alert,
|
Alert,
|
||||||
AlertDescription,
|
AlertDescription,
|
||||||
@@ -11,8 +14,6 @@ import {
|
|||||||
import { useToggle } from "@app/hooks";
|
import { useToggle } from "@app/hooks";
|
||||||
import { TCertificateProfileWithDetails } from "@app/hooks/api/certificateProfiles";
|
import { TCertificateProfileWithDetails } from "@app/hooks/api/certificateProfiles";
|
||||||
import { useRevealAcmeEabSecret } from "@app/hooks/api/certificateProfiles/queries";
|
import { useRevealAcmeEabSecret } from "@app/hooks/api/certificateProfiles/queries";
|
||||||
import { faCheck, faCopy } from "@fortawesome/free-solid-svg-icons";
|
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
||||||
|
|
||||||
const RESET_COPIED_DELAY = 1 * 1000;
|
const RESET_COPIED_DELAY = 1 * 1000;
|
||||||
|
|
||||||
|
|||||||
+7
-3
@@ -160,14 +160,18 @@ export const SecretApprovalRequestChanges = ({ approvalRequestId, onGoBack }: Pr
|
|||||||
secretApprovalRequestDetails.policy.bypassers.some(({ userId }) => userId === userSession.id);
|
secretApprovalRequestDetails.policy.bypassers.some(({ userId }) => userId === userSession.id);
|
||||||
|
|
||||||
const reviewedUsers = secretApprovalRequestDetails?.reviewers?.reduce<
|
const reviewedUsers = secretApprovalRequestDetails?.reviewers?.reduce<
|
||||||
Record<string, { status: ApprovalStatus; comment: string; isOrgMembershipActive: boolean }>
|
Record<
|
||||||
|
string,
|
||||||
|
{ status: ApprovalStatus; comment: string; isOrgMembershipActive: boolean; createdAt: Date }
|
||||||
|
>
|
||||||
>(
|
>(
|
||||||
(prev, curr) => ({
|
(prev, curr) => ({
|
||||||
...prev,
|
...prev,
|
||||||
[curr.userId]: {
|
[curr.userId]: {
|
||||||
status: curr.status,
|
status: curr.status,
|
||||||
comment: curr.comment,
|
comment: curr.comment,
|
||||||
isOrgMembershipActive: curr.isOrgMembershipActive
|
isOrgMembershipActive: curr.isOrgMembershipActive,
|
||||||
|
createdAt: curr.createdAt
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
{}
|
{}
|
||||||
@@ -488,7 +492,7 @@ export const SecretApprovalRequestChanges = ({ approvalRequestId, onGoBack }: Pr
|
|||||||
</span>{" "}
|
</span>{" "}
|
||||||
the request on{" "}
|
the request on{" "}
|
||||||
{format(
|
{format(
|
||||||
new Date(secretApprovalRequestDetails.createdAt),
|
new Date(reviewer ? reviewer.createdAt : new Date()),
|
||||||
"MM/dd/yyyy h:mm:ss aa"
|
"MM/dd/yyyy h:mm:ss aa"
|
||||||
)}
|
)}
|
||||||
.
|
.
|
||||||
|
|||||||
Reference in New Issue
Block a user