diff --git a/backend-pg/src/@types/fastify.d.ts b/backend-pg/src/@types/fastify.d.ts index 5d8d32700..c3c75db72 100644 --- a/backend-pg/src/@types/fastify.d.ts +++ b/backend-pg/src/@types/fastify.d.ts @@ -39,7 +39,7 @@ import { TSecretImportServiceFactory } from "@app/services/secret-import/secret- import { TSecretTagServiceFactory } from "@app/services/secret-tag/secret-tag-service"; import { TServiceTokenServiceFactory } from "@app/services/service-token/service-token-service"; import { TSuperAdminServiceFactory } from "@app/services/super-admin/super-admin-service"; -import { TUserDalFactory } from "@app/services/user/user-dal"; +import { TUserDALFactory } from "@app/services/user/user-dal"; import { TUserServiceFactory } from "@app/services/user/user-service"; import { TWebhookServiceFactory } from "@app/services/webhook/webhook-service"; @@ -109,7 +109,7 @@ declare module "fastify" { // this is exclusive use for middlewares in which we need to inject data // everywhere else access using service layer store: { - user: Pick; + user: Pick; }; } } diff --git a/backend-pg/src/ee/services/audit-log/audit-log-dal.ts b/backend-pg/src/ee/services/audit-log/audit-log-dal.ts index ee7716e65..ec5f6ab3d 100644 --- a/backend-pg/src/ee/services/audit-log/audit-log-dal.ts +++ b/backend-pg/src/ee/services/audit-log/audit-log-dal.ts @@ -4,7 +4,7 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify, stripUndefinedInWhere } from "@app/lib/knex"; -export type TAuditLogDalFactory = ReturnType; +export type TAuditLogDALFactory = ReturnType; type TFindQuery = { actor?: string; @@ -18,7 +18,7 @@ type TFindQuery = { offset?: number; }; -export const auditLogDalFactory = (db: TDbClient) => { +export const auditLogDALFactory = (db: TDbClient) => { const auditLogOrm = ormify(db, TableName.AuditLog); const find = async ( diff --git a/backend-pg/src/ee/services/audit-log/audit-log-queue.ts b/backend-pg/src/ee/services/audit-log/audit-log-queue.ts index a101c5b6b..bcdf92920 100644 --- a/backend-pg/src/ee/services/audit-log/audit-log-queue.ts +++ b/backend-pg/src/ee/services/audit-log/audit-log-queue.ts @@ -1,23 +1,23 @@ import { QueueJobs, QueueName, TQueueServiceFactory } from "@app/queue"; -import { TProjectDalFactory } from "@app/services/project/project-dal"; +import { TProjectDALFactory } from "@app/services/project/project-dal"; import { TLicenseServiceFactory } from "../license/license-service"; -import { TAuditLogDalFactory } from "./audit-log-dal"; +import { TAuditLogDALFactory } from "./audit-log-dal"; import { TCreateAuditLogDTO } from "./audit-log-types"; type TAuditLogQueueServiceFactoryDep = { - auditLogDal: TAuditLogDalFactory; + auditLogDAL: TAuditLogDALFactory; queueService: TQueueServiceFactory; - projectDal: Pick; + projectDAL: Pick; licenseService: Pick; }; export type TAuditLogQueueServiceFactory = ReturnType; export const auditLogQueueServiceFactory = ({ - auditLogDal, + auditLogDAL, queueService, - projectDal, + projectDAL, licenseService }: TAuditLogQueueServiceFactoryDep) => { const pushToLog = async (data: TCreateAuditLogDTO) => { @@ -37,13 +37,13 @@ export const auditLogQueueServiceFactory = ({ if (!orgId) { // it will never be undefined for both org and project id // TODO(akhilmhdh): use caching here in dal to avoid db calls - const project = await projectDal.findById(projectId as string); + const project = await projectDAL.findById(projectId as string); orgId = project.orgId; } const plan = await licenseService.getPlan(orgId); const ttl = plan.auditLogsRetentionDays * MS_IN_DAY; - await auditLogDal.create({ + await auditLogDAL.create({ actor: actor.type, actorMetadata: actor.metadata, userAgent, diff --git a/backend-pg/src/ee/services/audit-log/audit-log-service.ts b/backend-pg/src/ee/services/audit-log/audit-log-service.ts index 796f0f8e7..7f5d0007f 100644 --- a/backend-pg/src/ee/services/audit-log/audit-log-service.ts +++ b/backend-pg/src/ee/services/audit-log/audit-log-service.ts @@ -4,12 +4,12 @@ import { BadRequestError } from "@app/lib/errors"; import { TPermissionServiceFactory } from "../permission/permission-service"; import { ProjectPermissionActions, ProjectPermissionSub } from "../permission/project-permission"; -import { TAuditLogDalFactory } from "./audit-log-dal"; +import { TAuditLogDALFactory } from "./audit-log-dal"; import { TAuditLogQueueServiceFactory } from "./audit-log-queue"; import { EventType, TCreateAuditLogDTO, TListProjectAuditLogDTO } from "./audit-log-types"; type TAuditLogServiceFactoryDep = { - auditLogDal: TAuditLogDalFactory; + auditLogDAL: TAuditLogDALFactory; permissionService: Pick; auditLogQueue: TAuditLogQueueServiceFactory; }; @@ -17,7 +17,7 @@ type TAuditLogServiceFactoryDep = { export type TAuditLogServiceFactory = ReturnType; export const auditLogServiceFactory = ({ - auditLogDal, + auditLogDAL, auditLogQueue, permissionService }: TAuditLogServiceFactoryDep) => { @@ -38,7 +38,7 @@ export const auditLogServiceFactory = ({ ProjectPermissionActions.Read, ProjectPermissionSub.AuditLogs ); - const auditLogs = await auditLogDal.find({ + const auditLogs = await auditLogDAL.find({ startDate, endDate, limit, diff --git a/backend-pg/src/ee/services/license/license-dal.ts b/backend-pg/src/ee/services/license/license-dal.ts index cdeaa053b..208cb6f9b 100644 --- a/backend-pg/src/ee/services/license/license-dal.ts +++ b/backend-pg/src/ee/services/license/license-dal.ts @@ -4,9 +4,9 @@ import { TDbClient } from "@app/db"; import { OrgMembershipStatus, TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; -export type TLicenseDalFactory = ReturnType; +export type TLicenseDALFactory = ReturnType; -export const licenseDalFactory = (db: TDbClient) => { +export const licenseDALFactory = (db: TDbClient) => { const countOfOrgMembers = async (orgId: string | null, tx?: Knex) => { try { const doc = await (tx || db)(TableName.OrgMembership) diff --git a/backend-pg/src/ee/services/license/license-service.ts b/backend-pg/src/ee/services/license/license-service.ts index c8115832a..2670763a0 100644 --- a/backend-pg/src/ee/services/license/license-service.ts +++ b/backend-pg/src/ee/services/license/license-service.ts @@ -4,12 +4,12 @@ import NodeCache from "node-cache"; import { getConfig } from "@app/lib/config/env"; import { BadRequestError } from "@app/lib/errors"; import { logger } from "@app/lib/logger"; -import { TOrgDalFactory } from "@app/services/org/org-dal"; +import { TOrgDALFactory } from "@app/services/org/org-dal"; import { OrgPermissionActions, OrgPermissionSubjects } from "../permission/org-permission"; import { TPermissionServiceFactory } from "../permission/permission-service"; import { getDefaultOnPremFeatures, setupLicenceRequestWithStore } from "./licence-fns"; -import { TLicenseDalFactory } from "./license-dal"; +import { TLicenseDALFactory } from "./license-dal"; import { InstanceType, TAddOrgPmtMethodDTO, @@ -29,9 +29,9 @@ import { } from "./license-types"; type TLicenseServiceFactoryDep = { - orgDal: Pick; + orgDAL: Pick; permissionService: Pick; - licenseDal: TLicenseDalFactory; + licenseDAL: TLicenseDALFactory; }; export type TLicenseServiceFactory = ReturnType; @@ -41,9 +41,9 @@ const LICENSE_SERVER_ON_PREM_LOGIN = "/api/auth/v1/licence-login"; const FEATURE_CACHE_KEY = (orgId: string, projectId?: string) => `${orgId}-${projectId || ""}`; export const licenseServiceFactory = ({ - orgDal, + orgDAL, permissionService, - licenseDal + licenseDAL }: TLicenseServiceFactoryDep) => { let isValidLicense = false; let instanceType = InstanceType.OnPrem; @@ -101,7 +101,7 @@ export const licenseServiceFactory = ({ const cachedPlan = featureStore.get(FEATURE_CACHE_KEY(orgId, projectId)); if (cachedPlan) return cachedPlan; - const org = await orgDal.findOrgById(orgId); + const org = await orgDAL.findOrgById(orgId); if (!org) throw new BadRequestError({ message: "Org not found" }); const { data: { currentPlan } @@ -152,10 +152,10 @@ export const licenseServiceFactory = ({ const updateSubscriptionOrgMemberCount = async (orgId: string) => { if (instanceType === InstanceType.Cloud) { - const org = await orgDal.findOrgById(orgId); + const org = await orgDAL.findOrgById(orgId); if (!org) throw new BadRequestError({ message: "Org not found" }); - const count = await licenseDal.countOfOrgMembers(orgId); + const count = await licenseDAL.countOfOrgMembers(orgId); if (org?.customerId) { await licenseServerCloudApi.request.patch( `/api/license-server/v1/customers/${org.customerId}/cloud-plan`, @@ -166,7 +166,7 @@ export const licenseServiceFactory = ({ } featureStore.del(orgId); } else if (instanceType === InstanceType.EnterpriseOnPrem) { - const usedSeats = await licenseDal.countOfOrgMembers(null); + const usedSeats = await licenseDAL.countOfOrgMembers(null); await licenseServerOnPremApi.request.patch(`/api/license/v1/license`, { usedSeats }); } await refreshPlan(orgId); @@ -211,7 +211,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -235,7 +235,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -255,7 +255,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -274,7 +274,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -300,7 +300,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -323,7 +323,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -351,7 +351,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -376,7 +376,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -396,7 +396,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -417,7 +417,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -441,7 +441,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -461,7 +461,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" @@ -483,7 +483,7 @@ export const licenseServiceFactory = ({ OrgPermissionSubjects.Billing ); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) { throw new BadRequestError({ message: "Failed to find organization" diff --git a/backend-pg/src/ee/services/permission/permission-dal.ts b/backend-pg/src/ee/services/permission/permission-dal.ts index 9c742176f..d2529f18b 100644 --- a/backend-pg/src/ee/services/permission/permission-dal.ts +++ b/backend-pg/src/ee/services/permission/permission-dal.ts @@ -3,9 +3,9 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { selectAllTableCols } from "@app/lib/knex"; -export type TPermissionDalFactory = ReturnType; +export type TPermissionDALFactory = ReturnType; -export const permissionDalFactory = (db: TDbClient) => { +export const permissionDALFactory = (db: TDbClient) => { const getOrgPermission = async (userId: string, orgId: string) => { try { const membership = await db(TableName.OrgMembership) diff --git a/backend-pg/src/ee/services/permission/permission-service.ts b/backend-pg/src/ee/services/permission/permission-service.ts index 14a276cad..bc9f0bc3b 100644 --- a/backend-pg/src/ee/services/permission/permission-service.ts +++ b/backend-pg/src/ee/services/permission/permission-service.ts @@ -12,9 +12,9 @@ import { import { conditionsMatcher } from "@app/lib/casl"; import { BadRequestError, UnauthorizedError } from "@app/lib/errors"; import { ActorType } from "@app/services/auth/auth-type"; -import { TOrgRoleDalFactory } from "@app/services/org/org-role-dal"; -import { TProjectRoleDalFactory } from "@app/services/project-role/project-role-dal"; -import { TServiceTokenDalFactory } from "@app/services/service-token/service-token-dal"; +import { TOrgRoleDALFactory } from "@app/services/org/org-role-dal"; +import { TProjectRoleDALFactory } from "@app/services/project-role/project-role-dal"; +import { TServiceTokenDALFactory } from "@app/services/service-token/service-token-dal"; import { orgAdminPermissions, @@ -22,7 +22,7 @@ import { orgNoAccessPermissions, OrgPermissionSet } from "./org-permission"; -import { TPermissionDalFactory } from "./permission-dal"; +import { TPermissionDALFactory } from "./permission-dal"; import { buildServiceTokenProjectPermission, projectAdminPermissions, @@ -33,19 +33,19 @@ import { } from "./project-permission"; type TPermissionServiceFactoryDep = { - orgRoleDal: Pick; - projectRoleDal: Pick; - serviceTokenDal: Pick; - permissionDal: TPermissionDalFactory; + orgRoleDAL: Pick; + projectRoleDAL: Pick; + serviceTokenDAL: Pick; + permissionDAL: TPermissionDALFactory; }; export type TPermissionServiceFactory = ReturnType; export const permissionServiceFactory = ({ - permissionDal, - orgRoleDal, - projectRoleDal, - serviceTokenDal + permissionDAL, + orgRoleDAL, + projectRoleDAL, + serviceTokenDAL }: TPermissionServiceFactoryDep) => { const buildOrgPermission = (role: string, permission?: unknown) => { switch (role) { @@ -100,7 +100,7 @@ export const permissionServiceFactory = ({ * Get user permission in an organization * */ const getUserOrgPermission = async (userId: string, orgId: string) => { - const membership = await permissionDal.getOrgPermission(userId, orgId); + const membership = await permissionDAL.getOrgPermission(userId, orgId); if (!membership) throw new UnauthorizedError({ name: "User not in org" }); if (membership.role === OrgMembershipRole.Custom && !membership.permissions) { throw new BadRequestError({ name: "Custom permission not found" }); @@ -109,7 +109,7 @@ export const permissionServiceFactory = ({ }; const getIdentityOrgPermission = async (identityId: string, orgId: string) => { - const membership = await permissionDal.getOrgIdentityPermission(identityId, orgId); + const membership = await permissionDAL.getOrgIdentityPermission(identityId, orgId); if (!membership) throw new UnauthorizedError({ name: "Identity not in org" }); if (membership.role === OrgMembershipRole.Custom && !membership.permissions) { throw new BadRequestError({ name: "Custom permission not found" }); @@ -136,7 +136,7 @@ export const permissionServiceFactory = ({ const getOrgPermissionByRole = async (role: string, orgId: string) => { const isCustomRole = !Object.values(OrgMembershipRole).includes(role as OrgMembershipRole); if (isCustomRole) { - const orgRole = await orgRoleDal.findOne({ slug: role, orgId }); + const orgRole = await orgRoleDAL.findOne({ slug: role, orgId }); if (!orgRole) throw new BadRequestError({ message: "Role not found" }); return { permission: buildOrgPermission(OrgMembershipRole.Custom, orgRole.permissions), @@ -148,7 +148,7 @@ export const permissionServiceFactory = ({ // user permission for a project in an organization const getUserProjectPermission = async (userId: string, projectId: string) => { - const membership = await permissionDal.getProjectPermission(userId, projectId); + const membership = await permissionDAL.getProjectPermission(userId, projectId); if (!membership) throw new UnauthorizedError({ name: "User not in org" }); if (membership.role === ProjectMembershipRole.Custom && !membership.permissions) { throw new BadRequestError({ name: "Custom permission not found" }); @@ -160,7 +160,7 @@ export const permissionServiceFactory = ({ }; const getIdentityProjectPermission = async (identityId: string, projectId: string) => { - const membership = await permissionDal.getProjectIdentityPermission(identityId, projectId); + const membership = await permissionDAL.getProjectIdentityPermission(identityId, projectId); if (!membership) throw new UnauthorizedError({ name: "Identity not in org" }); if (membership.role === ProjectMembershipRole.Custom && !membership.permissions) { throw new BadRequestError({ name: "Custom permission not found" }); @@ -172,7 +172,7 @@ export const permissionServiceFactory = ({ }; const getServiceTokenProjectPermission = async (serviceTokenId: string, projectId: string) => { - const serviceToken = await serviceTokenDal.findById(serviceTokenId); + const serviceToken = await serviceTokenDAL.findById(serviceTokenId); if (serviceToken.projectId !== projectId) throw new UnauthorizedError({ message: "Failed to find service authorization for given project" @@ -218,7 +218,7 @@ export const permissionServiceFactory = ({ role as ProjectMembershipRole ); if (isCustomRole) { - const projectRole = await projectRoleDal.findOne({ slug: role, projectId }); + const projectRole = await projectRoleDAL.findOne({ slug: role, projectId }); if (!projectRole) throw new BadRequestError({ message: "Role not found" }); return { permission: buildProjectPermission(ProjectMembershipRole.Custom, projectRole.permissions), diff --git a/backend-pg/src/ee/services/saml-config/saml-config-dal.ts b/backend-pg/src/ee/services/saml-config/saml-config-dal.ts index 1fa414afe..95f6828bc 100644 --- a/backend-pg/src/ee/services/saml-config/saml-config-dal.ts +++ b/backend-pg/src/ee/services/saml-config/saml-config-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TSamlConfigDalFactory = ReturnType; +export type TSamlConfigDALFactory = ReturnType; -export const samlConfigDalFactory = (db: TDbClient) => { +export const samlConfigDALFactory = (db: TDbClient) => { const samlCfgOrm = ormify(db, TableName.SamlConfig); return samlCfgOrm; }; diff --git a/backend-pg/src/ee/services/saml-config/saml-config-service.ts b/backend-pg/src/ee/services/saml-config/saml-config-service.ts index ee0efb9ac..22297a4d6 100644 --- a/backend-pg/src/ee/services/saml-config/saml-config-service.ts +++ b/backend-pg/src/ee/services/saml-config/saml-config-service.ts @@ -16,14 +16,14 @@ import { } from "@app/lib/crypto/encryption"; import { BadRequestError } from "@app/lib/errors"; import { AuthTokenType } from "@app/services/auth/auth-type"; -import { TOrgBotDalFactory } from "@app/services/org/org-bot-dal"; -import { TOrgDalFactory } from "@app/services/org/org-dal"; -import { TUserDalFactory } from "@app/services/user/user-dal"; +import { TOrgBotDALFactory } from "@app/services/org/org-bot-dal"; +import { TOrgDALFactory } from "@app/services/org/org-dal"; +import { TUserDALFactory } from "@app/services/user/user-dal"; import { TLicenseServiceFactory } from "../license/license-service"; import { OrgPermissionActions, OrgPermissionSubjects } from "../permission/org-permission"; import { TPermissionServiceFactory } from "../permission/permission-service"; -import { TSamlConfigDalFactory } from "./saml-config-dal"; +import { TSamlConfigDALFactory } from "./saml-config-dal"; import { SamlProviders, TCreateSamlCfgDTO, @@ -33,13 +33,13 @@ import { } from "./saml-config-types"; type TSamlConfigServiceFactoryDep = { - samlConfigDal: TSamlConfigDalFactory; - userDal: Pick; - orgDal: Pick< - TOrgDalFactory, + samlConfigDAL: TSamlConfigDALFactory; + userDAL: Pick; + orgDAL: Pick< + TOrgDALFactory, "createMembership" | "updateMembershipById" | "findMembership" | "findOrgById" >; - orgBotDal: Pick; + orgBotDAL: Pick; permissionService: Pick; licenseService: Pick; }; @@ -47,10 +47,10 @@ type TSamlConfigServiceFactoryDep = { export type TSamlConfigServiceFactory = ReturnType; export const samlConfigServiceFactory = ({ - samlConfigDal, - orgBotDal, - orgDal, - userDal, + samlConfigDAL, + orgBotDAL, + orgDAL, + userDAL, permissionService, licenseService }: TSamlConfigServiceFactoryDep) => { @@ -77,7 +77,7 @@ export const samlConfigServiceFactory = ({ "Failed to update SAML SSO configuration due to plan restriction. Upgrade plan to update SSO configuration." }); - const orgBot = await orgBotDal.findOne({ orgId }); + const orgBot = await orgBotDAL.findOne({ orgId }); if (!orgBot) throw new BadRequestError({ message: "Org bot not found", name: "OrgBotNotFound" }); const key = infisicalSymmetricDecrypt({ @@ -99,7 +99,7 @@ export const samlConfigServiceFactory = ({ } = encryptSymmetric(issuer, key); const { ciphertext: encryptedCert, iv: certIV, tag: certTag } = encryptSymmetric(cert, key); - const samlConfig = await samlConfigDal.create({ + const samlConfig = await samlConfigDAL.create({ orgId, authProvider, isActive, @@ -139,7 +139,7 @@ export const samlConfigServiceFactory = ({ }); const updateQuery: TSamlConfigsUpdate = { authProvider, isActive }; - const orgBot = await orgBotDal.findOne({ orgId }); + const orgBot = await orgBotDAL.findOne({ orgId }); if (!orgBot) throw new BadRequestError({ message: "Org bot not found", name: "OrgBotNotFound" }); const key = infisicalSymmetricDecrypt({ @@ -175,17 +175,17 @@ export const samlConfigServiceFactory = ({ updateQuery.certIV = certIV; updateQuery.certTag = certTag; } - const [ssoConfig] = await samlConfigDal.update({ orgId }, updateQuery); + const [ssoConfig] = await samlConfigDAL.update({ orgId }, updateQuery); return ssoConfig; }; const getSaml = async (dto: TGetSamlCfgDTO) => { let ssoConfig: TSamlConfigs | undefined; if (dto.type === "org") { - ssoConfig = await samlConfigDal.findOne({ orgId: dto.orgId }); + ssoConfig = await samlConfigDAL.findOne({ orgId: dto.orgId }); if (!ssoConfig) return; } else if (dto.type === "ssoId") { - ssoConfig = await samlConfigDal.findById(dto.id); + ssoConfig = await samlConfigDAL.findById(dto.id); } if (!ssoConfig) throw new BadRequestError({ message: "Failed to find organization SSO data" }); @@ -213,7 +213,7 @@ export const samlConfigServiceFactory = ({ encryptedIssuer } = ssoConfig; - const orgBot = await orgBotDal.findOne({ orgId: ssoConfig.orgId }); + const orgBot = await orgBotDAL.findOne({ orgId: ssoConfig.orgId }); if (!orgBot) throw new BadRequestError({ message: "Org bot not found", name: "OrgBotNotFound" }); const key = infisicalSymmetricDecrypt({ @@ -270,25 +270,25 @@ export const samlConfigServiceFactory = ({ isSignupAllowed }: TSamlLoginDTO) => { const appCfg = getConfig(); - let user = await userDal.findUserByEmail(email); + let user = await userDAL.findUserByEmail(email); const isSamlSignUpDisabled = !isSignupAllowed && !user; if (isSamlSignUpDisabled) throw new BadRequestError({ message: "User signup disabled", name: "Saml SSO login" }); - const organization = await orgDal.findOrgById(orgId); + const organization = await orgDAL.findOrgById(orgId); if (!organization) throw new BadRequestError({ message: "Org not found" }); if (user) { const hasSamlEnabled = (user.authMethods || []).some((method) => Object.values(SamlProviders).includes(method as SamlProviders) ); - await userDal.transaction(async (tx) => { + await userDAL.transaction(async (tx) => { if (!hasSamlEnabled) { - await userDal.updateById(user.id, { authMethods: [authProvider] }, tx); + await userDAL.updateById(user.id, { authMethods: [authProvider] }, tx); } - const [orgMembership] = await orgDal.findMembership({ userId: user.id, orgId }, { tx }); + const [orgMembership] = await orgDAL.findMembership({ userId: user.id, orgId }, { tx }); if (!orgMembership) { - await orgDal.createMembership( + await orgDAL.createMembership( { userId: user.id, orgId, @@ -299,7 +299,7 @@ export const samlConfigServiceFactory = ({ tx ); } else if (orgMembership.status === OrgMembershipStatus.Invited) { - await orgDal.updateMembershipById( + await orgDAL.updateMembershipById( orgMembership.id, { status: OrgMembershipStatus.Accepted @@ -309,8 +309,8 @@ export const samlConfigServiceFactory = ({ } }); } else { - user = await userDal.transaction(async (tx) => { - const newUser = await userDal.create( + user = await userDAL.transaction(async (tx) => { + const newUser = await userDAL.create( { email, firstName, @@ -319,7 +319,7 @@ export const samlConfigServiceFactory = ({ }, tx ); - await orgDal.createMembership({ + await orgDAL.createMembership({ inviteEmail: email, orgId, role: OrgMembershipRole.Member, diff --git a/backend-pg/src/ee/services/secret-approval-policy/sap-approver-dal.ts b/backend-pg/src/ee/services/secret-approval-policy/sap-approver-dal.ts index 7996321d1..78651f6ea 100644 --- a/backend-pg/src/ee/services/secret-approval-policy/sap-approver-dal.ts +++ b/backend-pg/src/ee/services/secret-approval-policy/sap-approver-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TSapApproverDalFactory = ReturnType; +export type TSapApproverDALFactory = ReturnType; -export const sapApproverDalFactory = (db: TDbClient) => { +export const sapApproverDALFactory = (db: TDbClient) => { const sapApproverOrm = ormify(db, TableName.SapApprover); return sapApproverOrm; }; diff --git a/backend-pg/src/ee/services/secret-approval-policy/secret-approval-policy-dal.ts b/backend-pg/src/ee/services/secret-approval-policy/secret-approval-policy-dal.ts index 75c0d7909..be7e50442 100644 --- a/backend-pg/src/ee/services/secret-approval-policy/secret-approval-policy-dal.ts +++ b/backend-pg/src/ee/services/secret-approval-policy/secret-approval-policy-dal.ts @@ -10,9 +10,9 @@ import { selectAllTableCols, TFindFilter} from "@app/lib/knex"; -export type TSecretApprovalPolicyDalFactory = ReturnType; +export type TSecretApprovalPolicyDALFactory = ReturnType; -export const secretApprovalPolicyDalFactory = (db: TDbClient) => { +export const secretApprovalPolicyDALFactory = (db: TDbClient) => { const secretApprovalPolicyOrm = ormify(db, TableName.SecretApprovalPolicy); const sapFindQuery = (tx: Knex, filter: TFindFilter) => diff --git a/backend-pg/src/ee/services/secret-approval-policy/secret-approval-policy-service.ts b/backend-pg/src/ee/services/secret-approval-policy/secret-approval-policy-service.ts index d44e9ea0b..f1edaf29d 100644 --- a/backend-pg/src/ee/services/secret-approval-policy/secret-approval-policy-service.ts +++ b/backend-pg/src/ee/services/secret-approval-policy/secret-approval-policy-service.ts @@ -8,11 +8,11 @@ import { } from "@app/ee/services/permission/project-permission"; import { BadRequestError } from "@app/lib/errors"; import { containsGlobPatterns } from "@app/lib/picomatch"; -import { TProjectEnvDalFactory } from "@app/services/project-env/project-env-dal"; -import { TProjectMembershipDalFactory } from "@app/services/project-membership/project-membership-dal"; +import { TProjectEnvDALFactory } from "@app/services/project-env/project-env-dal"; +import { TProjectMembershipDALFactory } from "@app/services/project-membership/project-membership-dal"; -import { TSapApproverDalFactory } from "./sap-approver-dal"; -import { TSecretApprovalPolicyDalFactory } from "./secret-approval-policy-dal"; +import { TSapApproverDALFactory } from "./sap-approver-dal"; +import { TSecretApprovalPolicyDALFactory } from "./secret-approval-policy-dal"; import { TCreateSapDTO, TDeleteSapDTO, @@ -28,10 +28,10 @@ const getPolicyScore = (policy: { secretPath?: string | null }) => type TSecretApprovalPolicyServiceFactoryDep = { permissionService: Pick; - secretApprovalPolicyDal: TSecretApprovalPolicyDalFactory; - projectEnvDal: Pick; - sapApproverDal: TSapApproverDalFactory; - projectMembershipDal: Pick; + secretApprovalPolicyDAL: TSecretApprovalPolicyDALFactory; + projectEnvDAL: Pick; + sapApproverDAL: TSapApproverDALFactory; + projectMembershipDAL: Pick; }; export type TSecretApprovalPolicyServiceFactory = ReturnType< @@ -39,11 +39,11 @@ export type TSecretApprovalPolicyServiceFactory = ReturnType< >; export const secretApprovalPolicyServiceFactory = ({ - secretApprovalPolicyDal, + secretApprovalPolicyDAL, permissionService, - sapApproverDal, - projectEnvDal, - projectMembershipDal + sapApproverDAL, + projectEnvDAL, + projectMembershipDAL }: TSecretApprovalPolicyServiceFactoryDep) => { const createSap = async ({ name, @@ -63,18 +63,18 @@ export const secretApprovalPolicyServiceFactory = ({ ProjectPermissionActions.Create, ProjectPermissionSub.SecretApproval ); - const env = await projectEnvDal.findOne({ slug: environment, projectId }); + const env = await projectEnvDAL.findOne({ slug: environment, projectId }); if (!env) throw new BadRequestError({ message: "Environment not found" }); - const secretApprovers = await projectMembershipDal.find({ + const secretApprovers = await projectMembershipDAL.find({ projectId, $in: { id: approvers } }); if (secretApprovers.length !== approvers.length) throw new BadRequestError({ message: "Approver not found in project" }); - const secretApproval = await secretApprovalPolicyDal.transaction(async (tx) => { - const doc = await secretApprovalPolicyDal.create( + const secretApproval = await secretApprovalPolicyDAL.transaction(async (tx) => { + const doc = await secretApprovalPolicyDAL.create( { envId: env.id, approvals, @@ -83,7 +83,7 @@ export const secretApprovalPolicyServiceFactory = ({ }, tx ); - await sapApproverDal.insertMany( + await sapApproverDAL.insertMany( secretApprovers.map(({ id }) => ({ approverId: id, policyId: doc.id @@ -104,7 +104,7 @@ export const secretApprovalPolicyServiceFactory = ({ approvals, secretPolicyId }: TUpdateSapDTO) => { - const secretApprovalPolicy = await secretApprovalPolicyDal.findById(secretPolicyId); + const secretApprovalPolicy = await secretApprovalPolicyDAL.findById(secretPolicyId); if (!secretApprovalPolicy) throw new BadRequestError({ message: "Secret approval policy not found" }); @@ -118,8 +118,8 @@ export const secretApprovalPolicyServiceFactory = ({ ProjectPermissionSub.SecretApproval ); - const updatedSap = await secretApprovalPolicyDal.transaction(async (tx) => { - const doc = await secretApprovalPolicyDal.updateById( + const updatedSap = await secretApprovalPolicyDAL.transaction(async (tx) => { + const doc = await secretApprovalPolicyDAL.updateById( secretApprovalPolicy.id, { approvals, @@ -129,7 +129,7 @@ export const secretApprovalPolicyServiceFactory = ({ tx ); if (approvers) { - const secretApprovers = await projectMembershipDal.find( + const secretApprovers = await projectMembershipDAL.find( { projectId: secretApprovalPolicy.projectId, $in: { id: approvers } @@ -140,8 +140,8 @@ export const secretApprovalPolicyServiceFactory = ({ throw new BadRequestError({ message: "Approver not found in project" }); if (doc.approvals > secretApprovers.length) throw new BadRequestError({ message: "Approvals cannot be greater than approvers" }); - await sapApproverDal.delete({ policyId: doc.id }, tx); - await sapApproverDal.insertMany( + await sapApproverDAL.delete({ policyId: doc.id }, tx); + await sapApproverDAL.insertMany( secretApprovers.map(({ id }) => ({ approverId: id, policyId: doc.id @@ -159,7 +159,7 @@ export const secretApprovalPolicyServiceFactory = ({ }; const deleteSap = async ({ secretPolicyId, actor, actorId }: TDeleteSapDTO) => { - const sapPolicy = await secretApprovalPolicyDal.findById(secretPolicyId); + const sapPolicy = await secretApprovalPolicyDAL.findById(secretPolicyId); if (!sapPolicy) throw new BadRequestError({ message: "Secret approval policy not found" }); const { permission } = await permissionService.getProjectPermission( @@ -172,7 +172,7 @@ export const secretApprovalPolicyServiceFactory = ({ ProjectPermissionSub.SecretApproval ); - await secretApprovalPolicyDal.deleteById(secretPolicyId); + await secretApprovalPolicyDAL.deleteById(secretPolicyId); return sapPolicy; }; @@ -183,15 +183,15 @@ export const secretApprovalPolicyServiceFactory = ({ ProjectPermissionSub.SecretApproval ); - const sapPolicies = await secretApprovalPolicyDal.find({ projectId }); + const sapPolicies = await secretApprovalPolicyDAL.find({ projectId }); return sapPolicies; }; const getSapPolicy = async (projectId: string, environment: string, secretPath: string) => { - const env = await projectEnvDal.findOne({ slug: environment, projectId }); + const env = await projectEnvDAL.findOne({ slug: environment, projectId }); if (!env) throw new BadRequestError({ message: "Environment not found" }); - const policies = await secretApprovalPolicyDal.find({ envId: env.id }); + const policies = await secretApprovalPolicyDAL.find({ envId: env.id }); if (!policies.length) return; // this will filter policies either without scoped to secret path or the one that matches with secret path const policiesFilteredByPath = policies.filter( diff --git a/backend-pg/src/ee/services/secret-approval-request/sar-reviewer-dal.ts b/backend-pg/src/ee/services/secret-approval-request/sar-reviewer-dal.ts index 3d967e52a..e1d27de50 100644 --- a/backend-pg/src/ee/services/secret-approval-request/sar-reviewer-dal.ts +++ b/backend-pg/src/ee/services/secret-approval-request/sar-reviewer-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TSarReviewerDalFactory = ReturnType; +export type TSarReviewerDALFactory = ReturnType; -export const sarReviewerDalFactory = (db: TDbClient) => { +export const sarReviewerDALFactory = (db: TDbClient) => { const sarReviewerOrm = ormify(db, TableName.SarReviewer); return sarReviewerOrm; }; diff --git a/backend-pg/src/ee/services/secret-approval-request/sar-secret-dal.ts b/backend-pg/src/ee/services/secret-approval-request/sar-secret-dal.ts index 141472170..939a7671c 100644 --- a/backend-pg/src/ee/services/secret-approval-request/sar-secret-dal.ts +++ b/backend-pg/src/ee/services/secret-approval-request/sar-secret-dal.ts @@ -5,9 +5,9 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TSarSecretDalFactory = ReturnType; +export type TSarSecretDALFactory = ReturnType; -export const sarSecretDalFactory = (db: TDbClient) => { +export const sarSecretDALFactory = (db: TDbClient) => { const sarSecretOrm = ormify(db, TableName.SarSecret); const findByRequestId = async (requestId: string, tx?: Knex) => { diff --git a/backend-pg/src/ee/services/secret-approval-request/secret-approval-request-dal.ts b/backend-pg/src/ee/services/secret-approval-request/secret-approval-request-dal.ts index 50b73ff25..1969c2c0d 100644 --- a/backend-pg/src/ee/services/secret-approval-request/secret-approval-request-dal.ts +++ b/backend-pg/src/ee/services/secret-approval-request/secret-approval-request-dal.ts @@ -13,7 +13,7 @@ import { import { RequestState } from "./secret-approval-request-types"; -export type TSecretApprovalRequestDalFactory = ReturnType; +export type TSecretApprovalRequestDALFactory = ReturnType; type TFindQueryFilter = { projectId: string; @@ -25,7 +25,7 @@ type TFindQueryFilter = { offset?: number; }; -export const secretApprovalRequestDalFactory = (db: TDbClient) => { +export const secretApprovalRequestDALFactory = (db: TDbClient) => { const secretApprovalRequestOrm = ormify(db, TableName.SecretApprovalRequest); const findQuery = (filter: TFindFilter, tx: Knex) => diff --git a/backend-pg/src/ee/services/secret-approval-request/secret-approval-request-service.ts b/backend-pg/src/ee/services/secret-approval-request/secret-approval-request-service.ts index d2ff4078b..71bb75702 100644 --- a/backend-pg/src/ee/services/secret-approval-request/secret-approval-request-service.ts +++ b/backend-pg/src/ee/services/secret-approval-request/secret-approval-request-service.ts @@ -11,18 +11,18 @@ import { BadRequestError, UnauthorizedError } from "@app/lib/errors"; import { groupBy, pick } from "@app/lib/fn"; import { alphaNumericNanoId } from "@app/lib/nanoid"; import { ActorType } from "@app/services/auth/auth-type"; -import { TSecretBlindIndexDalFactory } from "@app/services/secret/secret-blind-index-dal"; +import { TSecretBlindIndexDALFactory } from "@app/services/secret/secret-blind-index-dal"; import { TSecretQueueFactory } from "@app/services/secret/secret-queue"; import { TSecretServiceFactory } from "@app/services/secret/secret-service"; -import { TSecretVersionDalFactory } from "@app/services/secret/secret-version-dal"; -import { TSecretFolderDalFactory } from "@app/services/secret-folder/secret-folder-dal"; +import { TSecretVersionDALFactory } from "@app/services/secret/secret-version-dal"; +import { TSecretFolderDALFactory } from "@app/services/secret-folder/secret-folder-dal"; import { TPermissionServiceFactory } from "../permission/permission-service"; import { ProjectPermissionActions, ProjectPermissionSub } from "../permission/project-permission"; import { TSecretSnapshotServiceFactory } from "../secret-snapshot/secret-snapshot-service"; -import { TSarReviewerDalFactory } from "./sar-reviewer-dal"; -import { TSarSecretDalFactory } from "./sar-secret-dal"; -import { TSecretApprovalRequestDalFactory } from "./secret-approval-request-dal"; +import { TSarReviewerDALFactory } from "./sar-reviewer-dal"; +import { TSarSecretDALFactory } from "./sar-secret-dal"; +import { TSecretApprovalRequestDALFactory } from "./secret-approval-request-dal"; import { ApprovalStatus, CommitType, @@ -38,16 +38,16 @@ import { type TSecretApprovalRequestServiceFactoryDep = { permissionService: Pick; - secretApprovalRequestDal: TSecretApprovalRequestDalFactory; - sarSecretDal: TSarSecretDalFactory; - sarReviewerDal: TSarReviewerDalFactory; - folderDal: Pick< - TSecretFolderDalFactory, + secretApprovalRequestDAL: TSecretApprovalRequestDALFactory; + sarSecretDAL: TSarSecretDALFactory; + sarReviewerDAL: TSarReviewerDALFactory; + folderDAL: Pick< + TSecretFolderDALFactory, "findBySecretPath" | "findById" | "findSecretPathByFolderIds" >; - secretBlindIndexDal: Pick; + secretBlindIndexDAL: Pick; snapshotService: Pick; - secretVersionDal: Pick; + secretVersionDAL: Pick; secretService: Pick< TSecretServiceFactory, | "fnSecretBulkInsert" @@ -64,15 +64,15 @@ export type TSecretApprovalRequestServiceFactory = ReturnType< >; export const secretApprovalRequestServiceFactory = ({ - secretApprovalRequestDal, - folderDal, - sarReviewerDal, - sarSecretDal, - secretBlindIndexDal, + secretApprovalRequestDAL, + folderDAL, + sarReviewerDAL, + sarSecretDAL, + secretBlindIndexDAL, permissionService, snapshotService, secretService, - secretVersionDal, + secretVersionDAL, secretQueueService }: TSecretApprovalRequestServiceFactoryDep) => { const requestCount = async ({ projectId, actor, actorId }: TApprovalRequestCountDTO) => { @@ -85,7 +85,7 @@ export const secretApprovalRequestServiceFactory = ({ projectId ); - const count = await secretApprovalRequestDal.findProjectRequestCount(projectId, membership.id); + const count = await secretApprovalRequestDAL.findProjectRequestCount(projectId, membership.id); return count; }; @@ -103,7 +103,7 @@ export const secretApprovalRequestServiceFactory = ({ throw new BadRequestError({ message: "Cannot use service token" }); const { membership } = await permissionService.getProjectPermission(actor, actorId, projectId); - const approvals = await secretApprovalRequestDal.findByProjectId({ + const approvals = await secretApprovalRequestDAL.findByProjectId({ projectId, committer, environment, @@ -119,7 +119,7 @@ export const secretApprovalRequestServiceFactory = ({ if (actor === ActorType.SERVICE) throw new BadRequestError({ message: "Cannot use service token" }); - const secretApprovalRequest = await secretApprovalRequestDal.findById(id); + const secretApprovalRequest = await secretApprovalRequestDAL.findById(id); if (!secretApprovalRequest) throw new BadRequestError({ message: "Secret approval request not found" }); @@ -137,15 +137,15 @@ export const secretApprovalRequestServiceFactory = ({ throw new UnauthorizedError({ message: "User has no access" }); } - const secrets = await sarSecretDal.findByRequestId(secretApprovalRequest.id); - const secretPath = await folderDal.findSecretPathByFolderIds(secretApprovalRequest.projectId, [ + const secrets = await sarSecretDAL.findByRequestId(secretApprovalRequest.id); + const secretPath = await folderDAL.findSecretPathByFolderIds(secretApprovalRequest.projectId, [ secretApprovalRequest.folderId ]); return { ...secretApprovalRequest, secretPath: secretPath?.[0]?.path || "/", commits: secrets }; }; const reviewApproval = async ({ approvalId, actor, status, actorId }: TReviewRequestDTO) => { - const secretApprovalRequest = await secretApprovalRequestDal.findById(approvalId); + const secretApprovalRequest = await secretApprovalRequestDAL.findById(approvalId); if (!secretApprovalRequest) throw new BadRequestError({ message: "Secret approval request not found" }); if (actor !== ActorType.USER) throw new BadRequestError({ message: "Must be a user" }); @@ -163,8 +163,8 @@ export const secretApprovalRequestServiceFactory = ({ ) { throw new UnauthorizedError({ message: "User has no access" }); } - const reviewStatus = await sarReviewerDal.transaction(async (tx) => { - const review = await sarReviewerDal.findOne( + const reviewStatus = await sarReviewerDAL.transaction(async (tx) => { + const review = await sarReviewerDAL.findOne( { requestId: secretApprovalRequest.id, member: membership.id @@ -172,7 +172,7 @@ export const secretApprovalRequestServiceFactory = ({ tx ); if (!review) { - return sarReviewerDal.create( + return sarReviewerDAL.create( { status, requestId: secretApprovalRequest.id, @@ -181,13 +181,13 @@ export const secretApprovalRequestServiceFactory = ({ tx ); } - return sarReviewerDal.updateById(review.id, { status }, tx); + return sarReviewerDAL.updateById(review.id, { status }, tx); }); return reviewStatus; }; const updateApprovalStatus = async ({ actorId, status, approvalId, actor }: TStatusChangeDTO) => { - const secretApprovalRequest = await secretApprovalRequestDal.findById(approvalId); + const secretApprovalRequest = await secretApprovalRequestDAL.findById(approvalId); if (!secretApprovalRequest) throw new BadRequestError({ message: "Secret approval request not found" }); if (actor !== ActorType.USER) throw new BadRequestError({ message: "Must be a user" }); @@ -213,7 +213,7 @@ export const secretApprovalRequestServiceFactory = ({ if (secretApprovalRequest.status === RequestState.Open && status === RequestState.Open) throw new BadRequestError({ message: "Approval request is already open" }); - const updatedRequest = await secretApprovalRequestDal.updateById(secretApprovalRequest.id, { + const updatedRequest = await secretApprovalRequestDAL.updateById(secretApprovalRequest.id, { status, statusChangeBy: membership.id }); @@ -225,7 +225,7 @@ export const secretApprovalRequestServiceFactory = ({ actor, actorId }: TMergeSecretApprovalRequestDTO) => { - const secretApprovalRequest = await secretApprovalRequestDal.findById(approvalId); + const secretApprovalRequest = await secretApprovalRequestDAL.findById(approvalId); if (!secretApprovalRequest) throw new BadRequestError({ message: "Secret approval request not found" }); if (actor !== ActorType.USER) throw new BadRequestError({ message: "Must be a user" }); @@ -255,7 +255,7 @@ export const secretApprovalRequestServiceFactory = ({ if (!hasMinApproval) throw new BadRequestError({ message: "Doesn't have minimum approvals needed" }); - const secretApprovalSecrets = await sarSecretDal.findByRequestId(secretApprovalRequest.id); + const secretApprovalSecrets = await sarSecretDAL.findByRequestId(secretApprovalRequest.id); if (!secretApprovalSecrets) throw new BadRequestError({ message: "No secrets found" }); const conflicts: Array<{ secretId: string; op: CommitType }> = []; @@ -308,7 +308,7 @@ export const secretApprovalRequestServiceFactory = ({ ({ op }) => op === CommitType.Delete ); - const mergeStatus = await secretApprovalRequestDal.transaction(async (tx) => { + const mergeStatus = await secretApprovalRequestDAL.transaction(async (tx) => { const newSecrets = secretCreationCommits.length ? await secretService.fnSecretBulkInsert({ tx, @@ -378,7 +378,7 @@ export const secretApprovalRequestServiceFactory = ({ })) }) : []; - const updatedSecretApproval = await secretApprovalRequestDal.updateById( + const updatedSecretApproval = await secretApprovalRequestDAL.updateById( secretApprovalRequest.id, { conflicts: JSON.stringify(conflicts), @@ -394,7 +394,7 @@ export const secretApprovalRequestServiceFactory = ({ }; }); await snapshotService.performSnapshot(folderId); - const folder = await folderDal.findById(folderId); + const folder = await folderDAL.findById(folderId); // TODO(akhilmhdh-pg): change query to do secret path from folder await secretQueueService.syncSecrets({ projectId, @@ -428,12 +428,12 @@ export const secretApprovalRequestServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, secretPath); + const folder = await folderDAL.findBySecretPath(projectId, environment, secretPath); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "GenSecretApproval" }); const folderId = folder.id; - const blindIndexCfg = await secretBlindIndexDal.findOne({ projectId }); + const blindIndexCfg = await secretBlindIndexDAL.findOne({ projectId }); if (!blindIndexCfg) throw new BadRequestError({ message: "Blind index not found", name: "Update secret" }); @@ -490,7 +490,7 @@ export const secretApprovalRequestServiceFactory = ({ const updatedSecretIds = updatedSecrets.map( (el) => secsGroupedByBlindIndex[keyName2BlindIndex[el.secretName]][0].id ); - const latestSecretVersions = await secretVersionDal.findLatestVersionMany( + const latestSecretVersions = await secretVersionDAL.findLatestVersionMany( folderId, updatedSecretIds ); @@ -528,7 +528,7 @@ export const secretApprovalRequestServiceFactory = ({ const deletedSecretIds = deletedSecrets.map( (el) => secretsGroupedByBlindIndex[keyName2BlindIndex[el.secretName]][0].id ); - const latestSecretVersions = await secretVersionDal.findLatestVersionMany( + const latestSecretVersions = await secretVersionDAL.findLatestVersionMany( folderId, deletedSecretIds ); @@ -546,8 +546,8 @@ export const secretApprovalRequestServiceFactory = ({ } if (!commits.length) throw new BadRequestError({ message: "Empty commits" }); - const secretApprovalRequest = await secretApprovalRequestDal.transaction(async (tx) => { - const doc = await secretApprovalRequestDal.create( + const secretApprovalRequest = await secretApprovalRequestDAL.transaction(async (tx) => { + const doc = await secretApprovalRequestDAL.create( { folderId, slug: alphaNumericNanoId(), @@ -558,7 +558,7 @@ export const secretApprovalRequestServiceFactory = ({ }, tx ); - const approvalCommits = await sarSecretDal.insertMany( + const approvalCommits = await sarSecretDAL.insertMany( commits.map( ({ version, diff --git a/backend-pg/src/ee/services/secret-rotation/secret-rotation-dal.ts b/backend-pg/src/ee/services/secret-rotation/secret-rotation-dal.ts index fa5b87a57..d1504e3d7 100644 --- a/backend-pg/src/ee/services/secret-rotation/secret-rotation-dal.ts +++ b/backend-pg/src/ee/services/secret-rotation/secret-rotation-dal.ts @@ -5,9 +5,9 @@ import { SecretRotationsSchema, TableName, TSecretRotations } from "@app/db/sche import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols, sqlNestRelationships, TFindFilter } from "@app/lib/knex"; -export type TSecretRotationDalFactory = ReturnType; +export type TSecretRotationDALFactory = ReturnType; -export const secretRotationDalFactory = (db: TDbClient) => { +export const secretRotationDALFactory = (db: TDbClient) => { const secretRotationOrm = ormify(db, TableName.SecretRotation); const secretRotationOutputOrm = ormify(db, TableName.SecretRotationOutput); diff --git a/backend-pg/src/ee/services/secret-rotation/secret-rotation-queue/secret-rotation-queue.ts b/backend-pg/src/ee/services/secret-rotation/secret-rotation-queue/secret-rotation-queue.ts index e2dc0742b..469a94b3c 100644 --- a/backend-pg/src/ee/services/secret-rotation/secret-rotation-queue/secret-rotation-queue.ts +++ b/backend-pg/src/ee/services/secret-rotation/secret-rotation-queue/secret-rotation-queue.ts @@ -10,10 +10,10 @@ import { logger } from "@app/lib/logger"; import { alphaNumericNanoId } from "@app/lib/nanoid"; import { QueueJobs, QueueName, TQueueServiceFactory } from "@app/queue"; import { TProjectBotServiceFactory } from "@app/services/project-bot/project-bot-service"; -import { TSecretDalFactory } from "@app/services/secret/secret-dal"; -import { TSecretVersionDalFactory } from "@app/services/secret/secret-version-dal"; +import { TSecretDALFactory } from "@app/services/secret/secret-dal"; +import { TSecretVersionDALFactory } from "@app/services/secret/secret-version-dal"; -import { TSecretRotationDalFactory } from "../secret-rotation-dal"; +import { TSecretRotationDALFactory } from "../secret-rotation-dal"; import { rotationTemplates } from "../templates"; import { TDbProviderClients, @@ -37,10 +37,10 @@ export type TSecretRotationQueueFactory = ReturnType; - secretDal: Pick; - secretVersionDal: Pick; + secretDAL: Pick; + secretVersionDAL: Pick; }; // These error should stop the repeatable job and ask user to reconfigure rotation @@ -58,10 +58,10 @@ export class DisableRotationErrors extends Error { export const secretRotationQueueFactory = ({ queue, - secretRotationDal, + secretRotationDAL, projectBotService, - secretDal, - secretVersionDal + secretDAL, + secretVersionDAL }: TSecretRotationQueueFactoryDep) => { const addToQueue = async (rotationId: string, interval: number) => { const appCfg = getConfig(); @@ -102,7 +102,7 @@ export const secretRotationQueueFactory = ({ queue.start(QueueName.SecretRotation, async (job) => { const { rotationId } = job.data; logger.info(`secretRotationQueue.process: [rotationDocument=${rotationId}]`); - const secretRotation = await secretRotationDal.findById(rotationId); + const secretRotation = await secretRotationDAL.findById(rotationId); const rotationProvider = rotationTemplates.find( ({ name }) => name === secretRotation?.provider ); @@ -111,7 +111,7 @@ export const secretRotationQueueFactory = ({ if (!rotationProvider || !secretRotation) throw new DisableRotationErrors({ message: "Provider not found" }); - const rotationOutputs = await secretRotationDal.findRotationOutputsByRotationId(rotationId); + const rotationOutputs = await secretRotationDAL.findRotationOutputsByRotationId(rotationId); if (!rotationOutputs.length) throw new DisableRotationErrors({ message: "Secrets not found" }); @@ -227,8 +227,8 @@ export const secretRotationQueueFactory = ({ key ) })); - await secretRotationDal.transaction(async (tx) => { - await secretRotationDal.updateById( + await secretRotationDAL.transaction(async (tx) => { + await secretRotationDAL.updateById( rotationId, { encryptedData: encVarData.ciphertext, @@ -242,7 +242,7 @@ export const secretRotationQueueFactory = ({ }, tx ); - const updatedSecrets = await secretDal.bulkUpdate( + const updatedSecrets = await secretDAL.bulkUpdate( encryptedSecrets.map(({ secretId, value }) => ({ // this secret id is validated when user is inserted filter: { id: secretId, type: SecretType.Shared }, @@ -254,7 +254,7 @@ export const secretRotationQueueFactory = ({ })), tx ); - await secretVersionDal.insertMany( + await secretVersionDAL.insertMany( updatedSecrets.map(({ id, updatedAt, createdAt, ...el }) => ({ ...el, secretId: id @@ -271,7 +271,7 @@ export const secretRotationQueueFactory = ({ } } - await secretRotationDal.updateById(rotationId, { + await secretRotationDAL.updateById(rotationId, { status: "failed", statusMessage: (error as Error).message.slice(0, 500), lastRotatedAt: new Date() diff --git a/backend-pg/src/ee/services/secret-rotation/secret-rotation-service.ts b/backend-pg/src/ee/services/secret-rotation/secret-rotation-service.ts index 79706755b..88f555d94 100644 --- a/backend-pg/src/ee/services/secret-rotation/secret-rotation-service.ts +++ b/backend-pg/src/ee/services/secret-rotation/secret-rotation-service.ts @@ -4,14 +4,14 @@ import Ajv from "ajv"; import { infisicalSymmetricEncypt } from "@app/lib/crypto/encryption"; import { BadRequestError } from "@app/lib/errors"; import { TProjectPermission } from "@app/lib/types"; -import { TProjectDalFactory } from "@app/services/project/project-dal"; -import { TSecretDalFactory } from "@app/services/secret/secret-dal"; -import { TSecretFolderDalFactory } from "@app/services/secret-folder/secret-folder-dal"; +import { TProjectDALFactory } from "@app/services/project/project-dal"; +import { TSecretDALFactory } from "@app/services/secret/secret-dal"; +import { TSecretFolderDALFactory } from "@app/services/secret-folder/secret-folder-dal"; import { TLicenseServiceFactory } from "../license/license-service"; import { TPermissionServiceFactory } from "../permission/permission-service"; import { ProjectPermissionActions, ProjectPermissionSub } from "../permission/project-permission"; -import { TSecretRotationDalFactory } from "./secret-rotation-dal"; +import { TSecretRotationDALFactory } from "./secret-rotation-dal"; import { TSecretRotationQueueFactory } from "./secret-rotation-queue"; import { TSecretRotationEncData } from "./secret-rotation-queue/secret-rotation-queue-types"; import { @@ -24,10 +24,10 @@ import { import { rotationTemplates } from "./templates"; type TSecretRotationServiceFactoryDep = { - secretRotationDal: TSecretRotationDalFactory; - projectDal: Pick; - folderDal: Pick; - secretDal: Pick; + secretRotationDAL: TSecretRotationDALFactory; + projectDAL: Pick; + folderDAL: Pick; + secretDAL: Pick; licenseService: Pick; permissionService: Pick; secretRotationQueue: TSecretRotationQueueFactory; @@ -37,13 +37,13 @@ export type TSecretRotationServiceFactory = ReturnType { const getProviderTemplates = async ({ actor, actorId, projectId }: TProjectPermission) => { const { permission } = await permissionService.getProjectPermission(actor, actorId, projectId); @@ -75,21 +75,21 @@ export const secretRotationServiceFactory = ({ ProjectPermissionSub.SecretRotation ); - const folder = await folderDal.findBySecretPath(projectId, environment, secretPath); + const folder = await folderDAL.findBySecretPath(projectId, environment, secretPath); if (!folder) throw new BadRequestError({ message: "Secret path not found" }); ForbiddenError.from(permission).throwUnlessCan( ProjectPermissionActions.Edit, subject(ProjectPermissionSub.Secrets, { environment, secretPath }) ); - const selectedSecrets = await secretDal.find({ + const selectedSecrets = await secretDAL.find({ folderId: folder.id, $in: { id: Object.values(outputs) } }); if (selectedSecrets.length !== Object.values(outputs).length) throw new BadRequestError({ message: "Secrets not found" }); - const project = await projectDal.findById(projectId); + const project = await projectDAL.findById(projectId); const plan = await licenseService.getPlan(project.orgId); if (!plan.secretRotation) throw new BadRequestError({ @@ -123,8 +123,8 @@ export const secretRotationServiceFactory = ({ creds: [] }; const encData = infisicalSymmetricEncypt(JSON.stringify(unencryptedData)); - const secretRotation = secretRotationDal.transaction(async (tx) => { - const doc = await secretRotationDal.create( + const secretRotation = secretRotationDAL.transaction(async (tx) => { + const doc = await secretRotationDAL.create( { provider, secretPath, @@ -139,7 +139,7 @@ export const secretRotationServiceFactory = ({ tx ); await secretRotationQueue.addToQueue(doc.id, doc.interval); - const outputSecretMapping = await secretRotationDal.secretOutputInsertMany( + const outputSecretMapping = await secretRotationDAL.secretOutputInsertMany( Object.entries(outputs).map(([key, secretId]) => ({ key, secretId, rotationId: doc.id })), tx ); @@ -149,7 +149,7 @@ export const secretRotationServiceFactory = ({ }; const getById = async ({ rotationId, actor, actorId }: TGetByIdDTO) => { - const [doc] = await secretRotationDal.find({ id: rotationId }); + const [doc] = await secretRotationDAL.find({ id: rotationId }); if (!doc) throw new BadRequestError({ message: "Rotation not found" }); const { permission } = await permissionService.getProjectPermission( @@ -170,15 +170,15 @@ export const secretRotationServiceFactory = ({ ProjectPermissionActions.Read, ProjectPermissionSub.SecretRotation ); - const doc = await secretRotationDal.find({ projectId }); + const doc = await secretRotationDAL.find({ projectId }); return doc; }; const restartById = async ({ actor, actorId, rotationId }: TRestartDTO) => { - const doc = await secretRotationDal.findById(rotationId); + const doc = await secretRotationDAL.findById(rotationId); if (!doc) throw new BadRequestError({ message: "Rotation not found" }); - const project = await projectDal.findById(doc.projectId); + const project = await projectDAL.findById(doc.projectId); const plan = await licenseService.getPlan(project.orgId); if (!plan.secretRotation) throw new BadRequestError({ @@ -201,7 +201,7 @@ export const secretRotationServiceFactory = ({ }; const deleteById = async ({ actor, actorId, rotationId }: TDeleteDTO) => { - const doc = await secretRotationDal.findById(rotationId); + const doc = await secretRotationDAL.findById(rotationId); if (!doc) throw new BadRequestError({ message: "Rotation not found" }); const { permission } = await permissionService.getProjectPermission( @@ -213,8 +213,8 @@ export const secretRotationServiceFactory = ({ ProjectPermissionActions.Delete, ProjectPermissionSub.SecretRotation ); - const deletedDoc = await secretRotationDal.transaction(async (tx) => { - const strat = await secretRotationDal.deleteById(rotationId, tx); + const deletedDoc = await secretRotationDAL.transaction(async (tx) => { + const strat = await secretRotationDAL.deleteById(rotationId, tx); await secretRotationQueue.removeFromQueue(strat.id, strat.interval); return strat; }); diff --git a/backend-pg/src/ee/services/secret-scanning/git-app-dal.ts b/backend-pg/src/ee/services/secret-scanning/git-app-dal.ts index a5d0df5e7..8a3ec706e 100644 --- a/backend-pg/src/ee/services/secret-scanning/git-app-dal.ts +++ b/backend-pg/src/ee/services/secret-scanning/git-app-dal.ts @@ -5,9 +5,9 @@ import { TableName,TGitAppOrgInsert } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TGitAppDalFactory = ReturnType; +export type TGitAppDALFactory = ReturnType; -export const gitAppDalFactory = (db: TDbClient) => { +export const gitAppDALFactory = (db: TDbClient) => { const gitAppOrm = ormify(db, TableName.GitAppOrg); const upsert = async (data: TGitAppOrgInsert, tx?: Knex) => { diff --git a/backend-pg/src/ee/services/secret-scanning/git-app-install-session-dal.ts b/backend-pg/src/ee/services/secret-scanning/git-app-install-session-dal.ts index ca3486999..9956d88ec 100644 --- a/backend-pg/src/ee/services/secret-scanning/git-app-install-session-dal.ts +++ b/backend-pg/src/ee/services/secret-scanning/git-app-install-session-dal.ts @@ -5,9 +5,9 @@ import { TableName,TGitAppInstallSessionsInsert } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TGitAppInstallSessionDalFactory = ReturnType; +export type TGitAppInstallSessionDALFactory = ReturnType; -export const gitAppInstallSessionDalFactory = (db: TDbClient) => { +export const gitAppInstallSessionDALFactory = (db: TDbClient) => { const gitAppInstallSessionOrm = ormify(db, TableName.GitAppInstallSession); const upsert = async (data: TGitAppInstallSessionsInsert, tx?: Knex) => { diff --git a/backend-pg/src/ee/services/secret-scanning/secret-scanning-dal.ts b/backend-pg/src/ee/services/secret-scanning/secret-scanning-dal.ts index e44639e3a..4b5dcb378 100644 --- a/backend-pg/src/ee/services/secret-scanning/secret-scanning-dal.ts +++ b/backend-pg/src/ee/services/secret-scanning/secret-scanning-dal.ts @@ -5,9 +5,9 @@ import { TableName,TSecretScanningGitRisksInsert } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TSecretScanningDalFactory = ReturnType; +export type TSecretScanningDALFactory = ReturnType; -export const secretScanningDalFactory = (db: TDbClient) => { +export const secretScanningDALFactory = (db: TDbClient) => { const gitRiskOrm = ormify(db, TableName.SecretScanningGitRisk); const upsert = async (data: TSecretScanningGitRisksInsert[], tx?: Knex) => { diff --git a/backend-pg/src/ee/services/secret-scanning/secret-scanning-queue/secret-scanning-queue.ts b/backend-pg/src/ee/services/secret-scanning/secret-scanning-queue/secret-scanning-queue.ts index 70dd6ada4..c33e1b732 100644 --- a/backend-pg/src/ee/services/secret-scanning/secret-scanning-queue/secret-scanning-queue.ts +++ b/backend-pg/src/ee/services/secret-scanning/secret-scanning-queue/secret-scanning-queue.ts @@ -4,10 +4,10 @@ import { OrgMembershipRole } from "@app/db/schemas"; import { getConfig } from "@app/lib/config/env"; import { logger } from "@app/lib/logger"; import { QueueJobs, QueueName, TQueueServiceFactory } from "@app/queue"; -import { TOrgDalFactory } from "@app/services/org/org-dal"; +import { TOrgDALFactory } from "@app/services/org/org-dal"; import { SmtpTemplates, TSmtpService } from "@app/services/smtp/smtp-service"; -import { TSecretScanningDalFactory } from "../secret-scanning-dal"; +import { TSecretScanningDALFactory } from "../secret-scanning-dal"; import { scanContentAndGetFindings, scanFullRepoContentAndGetFindings @@ -20,18 +20,18 @@ import { type TSecretScanningQueueFactoryDep = { queueService: TQueueServiceFactory; - secretScanningDal: TSecretScanningDalFactory; + secretScanningDAL: TSecretScanningDALFactory; smtpService: Pick; - orgMembershipDal: Pick; + orgMembershipDAL: Pick; }; export type TSecretScanningQueueFactory = ReturnType; export const secretScanningQueueFactory = ({ queueService, - secretScanningDal, + secretScanningDAL, smtpService, - orgMembershipDal: orgMemberDal, + orgMembershipDAL: orgMemberDAL, }: TSecretScanningQueueFactoryDep) => { const startFullRepoScan = async (payload: TScanFullRepoEventPayload) => { await queueService.queue(QueueName.SecretFullRepoScan, QueueJobs.SecretScan, payload, { @@ -63,7 +63,7 @@ export const secretScanningQueueFactory = ({ const getOrgAdminEmails = async (organizationId: string) => { // get emails of admins - const adminsOfWork = await orgMemberDal.findMembership({ + const adminsOfWork = await orgMemberDAL.findMembership({ orgId: organizationId, role: OrgMembershipRole.Admin }); @@ -112,9 +112,9 @@ export const secretScanningQueueFactory = ({ } } } - await secretScanningDal.transaction(async (tx) => { + await secretScanningDAL.transaction(async (tx) => { if (!Object.keys(allFindingsByFingerprint).length) return; - secretScanningDal.upsert( + secretScanningDAL.upsert( Object.keys(allFindingsByFingerprint).map((key) => ({ installationId, email: allFindingsByFingerprint[key].Email, @@ -178,10 +178,10 @@ export const secretScanningQueueFactory = ({ installationId, repository.fullName ); - await secretScanningDal.transaction(async (tx) => { + await secretScanningDAL.transaction(async (tx) => { if (!findings.length) return; // eslint-disable-next-line - await secretScanningDal.upsert( + await secretScanningDAL.upsert( findings.map((finding) => ({ installationId, email: finding.Email, diff --git a/backend-pg/src/ee/services/secret-scanning/secret-scanning-service.ts b/backend-pg/src/ee/services/secret-scanning/secret-scanning-service.ts index c293c9dd7..63aae869f 100644 --- a/backend-pg/src/ee/services/secret-scanning/secret-scanning-service.ts +++ b/backend-pg/src/ee/services/secret-scanning/secret-scanning-service.ts @@ -12,9 +12,9 @@ import { TPermissionServiceFactory } from "@app/ee/services/permission/permissio import { getConfig } from "@app/lib/config/env"; import { UnauthorizedError } from "@app/lib/errors"; -import { TGitAppDalFactory } from "./git-app-dal"; -import { TGitAppInstallSessionDalFactory } from "./git-app-install-session-dal"; -import { TSecretScanningDalFactory } from "./secret-scanning-dal"; +import { TGitAppDALFactory } from "./git-app-dal"; +import { TGitAppInstallSessionDALFactory } from "./git-app-install-session-dal"; +import { TSecretScanningDALFactory } from "./secret-scanning-dal"; import { TSecretScanningQueueFactory } from "./secret-scanning-queue"; import { SecretScanningRiskStatus, @@ -27,18 +27,18 @@ import { type TSecretScanningServiceFactoryDep = { permissionService: Pick; - secretScanningDal: TSecretScanningDalFactory; - gitAppInstallSessionDal: TGitAppInstallSessionDalFactory; - gitAppOrgDal: TGitAppDalFactory; + secretScanningDAL: TSecretScanningDALFactory; + gitAppInstallSessionDAL: TGitAppInstallSessionDALFactory; + gitAppOrgDAL: TGitAppDALFactory; secretScanningQueue: TSecretScanningQueueFactory; }; export type TSecretScanningServiceFactory = ReturnType; export const secretScanningServiceFactory = ({ - secretScanningDal, - gitAppOrgDal, - gitAppInstallSessionDal, + secretScanningDAL, + gitAppOrgDAL, + gitAppInstallSessionDAL, permissionService, secretScanningQueue }: TSecretScanningServiceFactoryDep) => { @@ -50,7 +50,7 @@ export const secretScanningServiceFactory = ({ ); const sessionId = crypto.randomBytes(16).toString("hex"); - await gitAppInstallSessionDal.upsert({ orgId, sessionId, userId: actorId }); + await gitAppInstallSessionDAL.upsert({ orgId, sessionId, userId: actorId }); return { sessionId }; }; @@ -60,7 +60,7 @@ export const secretScanningServiceFactory = ({ installationId, actor }: TLinkInstallSessionDTO) => { - const session = await gitAppInstallSessionDal.findOne({ sessionId }); + const session = await gitAppInstallSessionDAL.findOne({ sessionId }); if (!session) throw new UnauthorizedError({ message: "Session not found" }); const { permission } = await permissionService.getOrgPermission(actor, actorId, session.orgId); @@ -68,9 +68,9 @@ export const secretScanningServiceFactory = ({ OrgPermissionActions.Create, OrgPermissionSubjects.SecretScanning ); - const installatedApp = await gitAppOrgDal.transaction(async (tx) => { - await gitAppInstallSessionDal.deleteById(session.id, tx); - return gitAppOrgDal.upsert({ orgId: session.orgId, installationId, userId: actorId }, tx); + const installatedApp = await gitAppOrgDAL.transaction(async (tx) => { + await gitAppInstallSessionDAL.deleteById(session.id, tx); + return gitAppOrgDAL.upsert({ orgId: session.orgId, installationId, userId: actorId }, tx); }); const appCfg = getConfig(); @@ -104,7 +104,7 @@ export const secretScanningServiceFactory = ({ OrgPermissionSubjects.SecretScanning ); - const appInstallation = await gitAppOrgDal.findOne({ orgId }); + const appInstallation = await gitAppOrgDAL.findOne({ orgId }); return Boolean(appInstallation); }; @@ -114,7 +114,7 @@ export const secretScanningServiceFactory = ({ OrgPermissionActions.Read, OrgPermissionSubjects.SecretScanning ); - const risks = await secretScanningDal.find({ orgId }, { sort: [["createdAt", "desc"]] }); + const risks = await secretScanningDAL.find({ orgId }, { sort: [["createdAt", "desc"]] }); return { risks }; }; @@ -139,7 +139,7 @@ export const secretScanningServiceFactory = ({ ].includes(status) ); - const risk = await secretScanningDal.updateById(riskId, { + const risk = await secretScanningDAL.updateById(riskId, { status, isResolved: isRiskResolved }); @@ -152,7 +152,7 @@ export const secretScanningServiceFactory = ({ return; } - const installationLink = await gitAppOrgDal.findOne({ + const installationLink = await gitAppOrgDAL.findOne({ installationId: String(installation.id) }); if (!installationLink) return; @@ -167,15 +167,15 @@ export const secretScanningServiceFactory = ({ }; const handleRepoDeleteEvent = async (installationId: string, repositoryIds: string[]) => { - await secretScanningDal.transaction(async (tx) => { + await secretScanningDAL.transaction(async (tx) => { if (repositoryIds.length) { await Promise.all( repositoryIds.map((repoId) => - secretScanningDal.delete({ repositoryId: repoId }, tx) + secretScanningDAL.delete({ repositoryId: repoId }, tx) ) ); } - await gitAppOrgDal.delete({ installationId }, tx); + await gitAppOrgDAL.delete({ installationId }, tx); }); }; diff --git a/backend-pg/src/ee/services/secret-snapshot/secret-snapshot-service.ts b/backend-pg/src/ee/services/secret-snapshot/secret-snapshot-service.ts index 3b32712bd..d3e7311a5 100644 --- a/backend-pg/src/ee/services/secret-snapshot/secret-snapshot-service.ts +++ b/backend-pg/src/ee/services/secret-snapshot/secret-snapshot-service.ts @@ -3,10 +3,10 @@ import { ForbiddenError } from "@casl/ability"; import { BadRequestError, InternalServerError } from "@app/lib/errors"; import { groupBy } from "@app/lib/fn"; import { logger } from "@app/lib/logger"; -import { TSecretDalFactory } from "@app/services/secret/secret-dal"; -import { TSecretVersionDalFactory } from "@app/services/secret/secret-version-dal"; -import { TSecretFolderDalFactory } from "@app/services/secret-folder/secret-folder-dal"; -import { TSecretFolderVersionDalFactory } from "@app/services/secret-folder/secret-folder-version-dal"; +import { TSecretDALFactory } from "@app/services/secret/secret-dal"; +import { TSecretVersionDALFactory } from "@app/services/secret/secret-version-dal"; +import { TSecretFolderDALFactory } from "@app/services/secret-folder/secret-folder-dal"; +import { TSecretFolderVersionDALFactory } from "@app/services/secret-folder/secret-folder-version-dal"; import { TLicenseServiceFactory } from "../license/license-service"; import { TPermissionServiceFactory } from "../permission/permission-service"; @@ -17,22 +17,22 @@ import { TProjectSnapshotListDTO, TRollbackSnapshotDTO } from "./secret-snapshot-types"; -import { TSnapshotDalFactory } from "./snapshot-dal"; -import { TSnapshotFolderDalFactory } from "./snapshot-folder-dal"; -import { TSnapshotSecretDalFactory } from "./snapshot-secret-dal"; +import { TSnapshotDALFactory } from "./snapshot-dal"; +import { TSnapshotFolderDALFactory } from "./snapshot-folder-dal"; +import { TSnapshotSecretDALFactory } from "./snapshot-secret-dal"; type TSecretSnapshotServiceFactoryDep = { - snapshotDal: TSnapshotDalFactory; - snapshotSecretDal: TSnapshotSecretDalFactory; - snapshotFolderDal: TSnapshotFolderDalFactory; - secretVersionDal: Pick; - folderVersionDal: Pick< - TSecretFolderVersionDalFactory, + snapshotDAL: TSnapshotDALFactory; + snapshotSecretDAL: TSnapshotSecretDALFactory; + snapshotFolderDAL: TSnapshotFolderDALFactory; + secretVersionDAL: Pick; + folderVersionDAL: Pick< + TSecretFolderVersionDALFactory, "findLatestVersionByFolderId" | "insertMany" >; - secretDal: Pick; - folderDal: Pick< - TSecretFolderDalFactory, + secretDAL: Pick; + folderDAL: Pick< + TSecretFolderDALFactory, "findById" | "findBySecretPath" | "delete" | "insertMany" >; permissionService: Pick; @@ -42,13 +42,13 @@ type TSecretSnapshotServiceFactoryDep = { export type TSecretSnapshotServiceFactory = ReturnType; export const secretSnapshotServiceFactory = ({ - snapshotDal, - folderVersionDal, - secretVersionDal, - snapshotSecretDal, - snapshotFolderDal, - folderDal, - secretDal, + snapshotDAL, + folderVersionDAL, + secretVersionDAL, + snapshotSecretDAL, + snapshotFolderDAL, + folderDAL, + secretDAL, permissionService, licenseService }: TSecretSnapshotServiceFactoryDep) => { @@ -65,10 +65,10 @@ export const secretSnapshotServiceFactory = ({ ProjectPermissionSub.SecretRollback ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found" }); - const count = await snapshotDal.countOfSnapshotsByFolderId(folder.id); + const count = await snapshotDAL.countOfSnapshotsByFolderId(folder.id); return count; }; @@ -87,10 +87,10 @@ export const secretSnapshotServiceFactory = ({ ProjectPermissionSub.SecretRollback ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found" }); - const snapshots = await snapshotDal.find( + const snapshots = await snapshotDAL.find( { folderId: folder.id }, { limit, offset, sort: [["createdAt", "desc"]] } ); @@ -98,7 +98,7 @@ export const secretSnapshotServiceFactory = ({ }; const getSnapshotData = async ({ actorId, actor, id }: TGetSnapshotDataDTO) => { - const snapshot = await snapshotDal.findSecretSnapshotDataById(id); + const snapshot = await snapshotDAL.findSecretSnapshotDataById(id); if (!snapshot) throw new BadRequestError({ message: "Snapshot not found" }); const { permission } = await permissionService.getProjectPermission( actor, @@ -117,13 +117,13 @@ export const secretSnapshotServiceFactory = ({ if (!licenseService.isValidLicense) throw new InternalServerError({ message: "Invalid license" }); - const snapshot = await snapshotDal.transaction(async (tx) => { - const folder = await folderDal.findById(folderId, tx); + const snapshot = await snapshotDAL.transaction(async (tx) => { + const folder = await folderDAL.findById(folderId, tx); if (!folder) throw new BadRequestError({ message: "Folder not found" }); - const secretVersions = await secretVersionDal.findLatestVersionByFolderId(folderId, tx); - const folderVersions = await folderVersionDal.findLatestVersionByFolderId(folderId, tx); - const newSnapshot = await snapshotDal.create( + const secretVersions = await secretVersionDAL.findLatestVersionByFolderId(folderId, tx); + const folderVersions = await folderVersionDAL.findLatestVersionByFolderId(folderId, tx); + const newSnapshot = await snapshotDAL.create( { folderId, envId: folder.environment.envId, @@ -131,7 +131,7 @@ export const secretSnapshotServiceFactory = ({ }, tx ); - const snapshotSecrets = await snapshotSecretDal.insertMany( + const snapshotSecrets = await snapshotSecretDAL.insertMany( secretVersions.map(({ id }) => ({ secretVersionId: id, envId: folder.environment.envId, @@ -139,7 +139,7 @@ export const secretSnapshotServiceFactory = ({ })), tx ); - const snapshotFolders = await snapshotFolderDal.insertMany( + const snapshotFolders = await snapshotFolderDAL.insertMany( folderVersions.map(({ id }) => ({ folderVersionId: id, envId: folder.environment.envId, @@ -160,7 +160,7 @@ export const secretSnapshotServiceFactory = ({ }; const rollbackSnapshot = async ({ id: snapshotId, actor, actorId }: TRollbackSnapshotDTO) => { - const snapshot = await snapshotDal.findById(snapshotId); + const snapshot = await snapshotDAL.findById(snapshotId); if (!snapshot) throw new BadRequestError({ message: "Snapshot not found" }); const { permission } = await permissionService.getProjectPermission( @@ -173,19 +173,19 @@ export const secretSnapshotServiceFactory = ({ ProjectPermissionSub.SecretRollback ); - const rollback = await snapshotDal.transaction(async (tx) => { - const rollbackSnaps = await snapshotDal.findRecursivelySnapshots(snapshot.id, tx); + const rollback = await snapshotDAL.transaction(async (tx) => { + const rollbackSnaps = await snapshotDAL.findRecursivelySnapshots(snapshot.id, tx); // this will remove all secrets in current folder - const deletedTopLevelSecs = await secretDal.delete({ folderId: snapshot.folderId }, tx); + const deletedTopLevelSecs = await secretDAL.delete({ folderId: snapshot.folderId }, tx); const deletedTopLevelSecsGroupById = groupBy(deletedTopLevelSecs, (item) => item.id); // this will remove all secrets and folders on child // due to sql foreign key and link list connection removing the folders removes everything below too - const deletedFolders = await folderDal.delete({ parentId: snapshot.folderId }, tx); + const deletedFolders = await folderDAL.delete({ parentId: snapshot.folderId }, tx); const deletedTopLevelFolders = groupBy( deletedFolders.filter(({ parentId }) => parentId === snapshot.folderId), (item) => item.id ); - const folders = await folderDal.insertMany( + const folders = await folderDAL.insertMany( rollbackSnaps.flatMap(({ folderVersion, folderId }) => folderVersion.map(({ name, id, latestFolderVersion }) => ({ envId: snapshot.envId, @@ -197,7 +197,7 @@ export const secretSnapshotServiceFactory = ({ ), tx ); - const secrets = await secretDal.insertMany( + const secrets = await secretDAL.insertMany( rollbackSnaps.flatMap(({ secretVersions, folderId }) => secretVersions.map( ({ @@ -219,7 +219,7 @@ export const secretSnapshotServiceFactory = ({ ), tx ); - const folderVersions = await folderVersionDal.insertMany( + const folderVersions = await folderVersionDAL.insertMany( folders.map(({ version, name, id, envId }) => ({ name, version, @@ -228,11 +228,11 @@ export const secretSnapshotServiceFactory = ({ })), tx ); - const secretVersions = await secretVersionDal.insertMany( + const secretVersions = await secretVersionDAL.insertMany( secrets.map(({ id, updatedAt, createdAt, ...el }) => ({ ...el, secretId: id })), tx ); - const newSnapshot = await snapshotDal.create( + const newSnapshot = await snapshotDAL.create( { folderId: snapshot.folderId, envId: snapshot.envId, @@ -240,7 +240,7 @@ export const secretSnapshotServiceFactory = ({ }, tx ); - const snapshotSecrets = await snapshotSecretDal.insertMany( + const snapshotSecrets = await snapshotSecretDAL.insertMany( secretVersions .filter(({ secretId }) => Boolean(deletedTopLevelSecsGroupById?.[secretId])) .map(({ id }) => ({ @@ -250,7 +250,7 @@ export const secretSnapshotServiceFactory = ({ })), tx ); - const snapshotFolders = await snapshotFolderDal.insertMany( + const snapshotFolders = await snapshotFolderDAL.insertMany( folderVersions .filter(({ folderId }) => Boolean(deletedTopLevelFolders?.[folderId])) .map(({ id }) => ({ diff --git a/backend-pg/src/ee/services/secret-snapshot/snapshot-dal.ts b/backend-pg/src/ee/services/secret-snapshot/snapshot-dal.ts index 1d79a2fd1..370a70fbb 100644 --- a/backend-pg/src/ee/services/secret-snapshot/snapshot-dal.ts +++ b/backend-pg/src/ee/services/secret-snapshot/snapshot-dal.ts @@ -12,9 +12,9 @@ import { import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols, sqlNestRelationships } from "@app/lib/knex"; -export type TSnapshotDalFactory = ReturnType; +export type TSnapshotDALFactory = ReturnType; -export const snapshotDalFactory = (db: TDbClient) => { +export const snapshotDALFactory = (db: TDbClient) => { const secretSnapshotOrm = ormify(db, TableName.Snapshot); const findById = async (id: string, tx?: Knex) => { diff --git a/backend-pg/src/ee/services/secret-snapshot/snapshot-folder-dal.ts b/backend-pg/src/ee/services/secret-snapshot/snapshot-folder-dal.ts index 3eb25a2d7..e663e4a0f 100644 --- a/backend-pg/src/ee/services/secret-snapshot/snapshot-folder-dal.ts +++ b/backend-pg/src/ee/services/secret-snapshot/snapshot-folder-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TSnapshotFolderDalFactory = ReturnType; +export type TSnapshotFolderDALFactory = ReturnType; -export const snapshotFolderDalFactory = (db: TDbClient) => { +export const snapshotFolderDALFactory = (db: TDbClient) => { const snapshotFolderOrm = ormify(db, TableName.SnapshotFolder); return snapshotFolderOrm; diff --git a/backend-pg/src/ee/services/secret-snapshot/snapshot-secret-dal.ts b/backend-pg/src/ee/services/secret-snapshot/snapshot-secret-dal.ts index f29a7c859..d5fa10613 100644 --- a/backend-pg/src/ee/services/secret-snapshot/snapshot-secret-dal.ts +++ b/backend-pg/src/ee/services/secret-snapshot/snapshot-secret-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TSnapshotSecretDalFactory = ReturnType; +export type TSnapshotSecretDALFactory = ReturnType; -export const snapshotSecretDalFactory = (db: TDbClient) => { +export const snapshotSecretDALFactory = (db: TDbClient) => { const snapshotSecretOrm = ormify(db, TableName.SnapshotSecret); return snapshotSecretOrm; }; diff --git a/backend-pg/src/ee/services/trusted-ip/trusted-ip-dal.ts b/backend-pg/src/ee/services/trusted-ip/trusted-ip-dal.ts index b40f21fa7..e0c640be6 100644 --- a/backend-pg/src/ee/services/trusted-ip/trusted-ip-dal.ts +++ b/backend-pg/src/ee/services/trusted-ip/trusted-ip-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TTrustedIpDalFactory = ReturnType; +export type TTrustedIpDALFactory = ReturnType; -export const trustedIpDalFactory = (db: TDbClient) => { +export const trustedIpDALFactory = (db: TDbClient) => { const trustedIpOrm = ormify(db, TableName.TrustedIps); return trustedIpOrm; }; diff --git a/backend-pg/src/ee/services/trusted-ip/trusted-ip-service.ts b/backend-pg/src/ee/services/trusted-ip/trusted-ip-service.ts index c141398c8..72b0eef9f 100644 --- a/backend-pg/src/ee/services/trusted-ip/trusted-ip-service.ts +++ b/backend-pg/src/ee/services/trusted-ip/trusted-ip-service.ts @@ -3,28 +3,28 @@ import { ForbiddenError } from "@casl/ability"; import { BadRequestError } from "@app/lib/errors"; import { extractIPDetails, isValidIpOrCidr } from "@app/lib/ip"; import { TProjectPermission } from "@app/lib/types"; -import { TProjectDalFactory } from "@app/services/project/project-dal"; +import { TProjectDALFactory } from "@app/services/project/project-dal"; import { TLicenseServiceFactory } from "../license/license-service"; import { TPermissionServiceFactory } from "../permission/permission-service"; import { ProjectPermissionActions, ProjectPermissionSub } from "../permission/project-permission"; -import { TTrustedIpDalFactory } from "./trusted-ip-dal"; +import { TTrustedIpDALFactory } from "./trusted-ip-dal"; import { TCreateIpDTO, TDeleteIpDTO, TUpdateIpDTO } from "./trusted-ip-types"; type TTrustedIpServiceFactoryDep = { - trustedIpDal: TTrustedIpDalFactory; + trustedIpDAL: TTrustedIpDALFactory; permissionService: Pick; licenseService: Pick; - projectDal: Pick; + projectDAL: Pick; }; export type TTrustedIpServiceFactory = ReturnType; export const trustedIpServiceFactory = ({ - trustedIpDal, + trustedIpDAL, permissionService, licenseService, - projectDal + projectDAL }: TTrustedIpServiceFactoryDep) => { const listIpsByProjectId = async ({ projectId, actor, actorId }: TProjectPermission) => { const { permission } = await permissionService.getProjectPermission(actor, actorId, projectId); @@ -32,7 +32,7 @@ export const trustedIpServiceFactory = ({ ProjectPermissionActions.Read, ProjectPermissionSub.IpAllowList ); - const trustedIps = await trustedIpDal.find({ + const trustedIps = await trustedIpDAL.find({ projectId }); return trustedIps; @@ -52,7 +52,7 @@ export const trustedIpServiceFactory = ({ ProjectPermissionSub.IpAllowList ); - const project = await projectDal.findById(projectId); + const project = await projectDAL.findById(projectId); const plan = await licenseService.getPlan(project.orgId); if (!plan.ipAllowlisting) throw new BadRequestError({ @@ -67,7 +67,7 @@ export const trustedIpServiceFactory = ({ }); const { ipAddress, type, prefix } = extractIPDetails(ip); - const trustedIp = await trustedIpDal.create({ + const trustedIp = await trustedIpDAL.create({ projectId, ipAddress, type, @@ -93,7 +93,7 @@ export const trustedIpServiceFactory = ({ ProjectPermissionSub.IpAllowList ); - const project = await projectDal.findById(projectId); + const project = await projectDAL.findById(projectId); const plan = await licenseService.getPlan(project.orgId); if (!plan.ipAllowlisting) throw new BadRequestError({ @@ -108,7 +108,7 @@ export const trustedIpServiceFactory = ({ }); const { ipAddress, type, prefix } = extractIPDetails(ip); - const [trustedIp] = await trustedIpDal.update( + const [trustedIp] = await trustedIpDAL.update( { projectId, id: trustedIpId }, { projectId, @@ -129,7 +129,7 @@ export const trustedIpServiceFactory = ({ ProjectPermissionSub.IpAllowList ); - const project = await projectDal.findById(projectId); + const project = await projectDAL.findById(projectId); const plan = await licenseService.getPlan(project.orgId); if (!plan.ipAllowlisting) throw new BadRequestError({ @@ -137,7 +137,7 @@ export const trustedIpServiceFactory = ({ "Failed to add IP access range due to plan restriction. Upgrade plan to add IP access range." }); - const [trustedIp] = await trustedIpDal.delete({ projectId, id: trustedIpId }); + const [trustedIp] = await trustedIpDAL.delete({ projectId, id: trustedIpId }); return { trustedIp, project }; // for audit log }; diff --git a/backend-pg/src/server/routes/index.ts b/backend-pg/src/server/routes/index.ts index 4b4d17b3f..e89afd27c 100644 --- a/backend-pg/src/server/routes/index.ts +++ b/backend-pg/src/server/routes/index.ts @@ -2,98 +2,98 @@ import { Knex } from "knex"; import { z } from "zod"; import { registerV1EERoutes } from "@app/ee/routes/v1"; -import { auditLogDalFactory } from "@app/ee/services/audit-log/audit-log-dal"; +import { auditLogDALFactory } from "@app/ee/services/audit-log/audit-log-dal"; import { auditLogQueueServiceFactory } from "@app/ee/services/audit-log/audit-log-queue"; import { auditLogServiceFactory } from "@app/ee/services/audit-log/audit-log-service"; -import { licenseDalFactory } from "@app/ee/services/license/license-dal"; +import { licenseDALFactory } from "@app/ee/services/license/license-dal"; import { licenseServiceFactory } from "@app/ee/services/license/license-service"; -import { permissionDalFactory } from "@app/ee/services/permission/permission-dal"; +import { permissionDALFactory } from "@app/ee/services/permission/permission-dal"; import { permissionServiceFactory } from "@app/ee/services/permission/permission-service"; -import { samlConfigDalFactory } from "@app/ee/services/saml-config/saml-config-dal"; +import { samlConfigDALFactory } from "@app/ee/services/saml-config/saml-config-dal"; import { samlConfigServiceFactory } from "@app/ee/services/saml-config/saml-config-service"; -import { sapApproverDalFactory } from "@app/ee/services/secret-approval-policy/sap-approver-dal"; -import { secretApprovalPolicyDalFactory } from "@app/ee/services/secret-approval-policy/secret-approval-policy-dal"; +import { sapApproverDALFactory } from "@app/ee/services/secret-approval-policy/sap-approver-dal"; +import { secretApprovalPolicyDALFactory } from "@app/ee/services/secret-approval-policy/secret-approval-policy-dal"; import { secretApprovalPolicyServiceFactory } from "@app/ee/services/secret-approval-policy/secret-approval-policy-service"; -import { sarReviewerDalFactory } from "@app/ee/services/secret-approval-request/sar-reviewer-dal"; -import { sarSecretDalFactory } from "@app/ee/services/secret-approval-request/sar-secret-dal"; -import { secretApprovalRequestDalFactory } from "@app/ee/services/secret-approval-request/secret-approval-request-dal"; +import { sarReviewerDALFactory } from "@app/ee/services/secret-approval-request/sar-reviewer-dal"; +import { sarSecretDALFactory } from "@app/ee/services/secret-approval-request/sar-secret-dal"; +import { secretApprovalRequestDALFactory } from "@app/ee/services/secret-approval-request/secret-approval-request-dal"; import { secretApprovalRequestServiceFactory } from "@app/ee/services/secret-approval-request/secret-approval-request-service"; -import { secretRotationDalFactory } from "@app/ee/services/secret-rotation/secret-rotation-dal"; +import { secretRotationDALFactory } from "@app/ee/services/secret-rotation/secret-rotation-dal"; import { secretRotationQueueFactory } from "@app/ee/services/secret-rotation/secret-rotation-queue"; import { secretRotationServiceFactory } from "@app/ee/services/secret-rotation/secret-rotation-service"; -import { gitAppDalFactory } from "@app/ee/services/secret-scanning/git-app-dal"; -import { gitAppInstallSessionDalFactory } from "@app/ee/services/secret-scanning/git-app-install-session-dal"; -import { secretScanningDalFactory } from "@app/ee/services/secret-scanning/secret-scanning-dal"; +import { gitAppDALFactory } from "@app/ee/services/secret-scanning/git-app-dal"; +import { gitAppInstallSessionDALFactory } from "@app/ee/services/secret-scanning/git-app-install-session-dal"; +import { secretScanningDALFactory } from "@app/ee/services/secret-scanning/secret-scanning-dal"; import { secretScanningQueueFactory } from "@app/ee/services/secret-scanning/secret-scanning-queue"; import { secretScanningServiceFactory } from "@app/ee/services/secret-scanning/secret-scanning-service"; import { secretSnapshotServiceFactory } from "@app/ee/services/secret-snapshot/secret-snapshot-service"; -import { snapshotDalFactory } from "@app/ee/services/secret-snapshot/snapshot-dal"; -import { snapshotFolderDalFactory } from "@app/ee/services/secret-snapshot/snapshot-folder-dal"; -import { snapshotSecretDalFactory } from "@app/ee/services/secret-snapshot/snapshot-secret-dal"; -import { trustedIpDalFactory } from "@app/ee/services/trusted-ip/trusted-ip-dal"; +import { snapshotDALFactory } from "@app/ee/services/secret-snapshot/snapshot-dal"; +import { snapshotFolderDALFactory } from "@app/ee/services/secret-snapshot/snapshot-folder-dal"; +import { snapshotSecretDALFactory } from "@app/ee/services/secret-snapshot/snapshot-secret-dal"; +import { trustedIpDALFactory } from "@app/ee/services/trusted-ip/trusted-ip-dal"; import { trustedIpServiceFactory } from "@app/ee/services/trusted-ip/trusted-ip-service"; import { getConfig } from "@app/lib/config/env"; import { TQueueServiceFactory } from "@app/queue"; -import { apiKeyDalFactory } from "@app/services/api-key/api-key-dal"; +import { apiKeyDALFactory } from "@app/services/api-key/api-key-dal"; import { apiKeyServiceFactory } from "@app/services/api-key/api-key-service"; -import { authDalFactory } from "@app/services/auth/auth-dal"; +import { authDALFactory } from "@app/services/auth/auth-dal"; import { authLoginServiceFactory } from "@app/services/auth/auth-login-service"; import { authPaswordServiceFactory } from "@app/services/auth/auth-password-service"; import { authSignupServiceFactory } from "@app/services/auth/auth-signup-service"; -import { tokenDalFactory } from "@app/services/auth-token/auth-token-dal"; +import { tokenDALFactory } from "@app/services/auth-token/auth-token-dal"; import { tokenServiceFactory } from "@app/services/auth-token/auth-token-service"; -import { identityDalFactory } from "@app/services/identity/identity-dal"; -import { identityOrgDalFactory } from "@app/services/identity/identity-org-dal"; +import { identityDALFactory } from "@app/services/identity/identity-dal"; +import { identityOrgDALFactory } from "@app/services/identity/identity-org-dal"; import { identityServiceFactory } from "@app/services/identity/identity-service"; -import { identityAccessTokenDalFactory } from "@app/services/identity-access-token/identity-access-token-dal"; +import { identityAccessTokenDALFactory } from "@app/services/identity-access-token/identity-access-token-dal"; import { identityAccessTokenServiceFactory } from "@app/services/identity-access-token/identity-access-token-service"; -import { identityProjectDalFactory } from "@app/services/identity-project/identity-project-dal"; +import { identityProjectDALFactory } from "@app/services/identity-project/identity-project-dal"; import { identityProjectServiceFactory } from "@app/services/identity-project/identity-project-service"; -import { identityUaClientSecretDalFactory } from "@app/services/identity-ua/identity-ua-client-secret-dal"; -import { identityUaDalFactory } from "@app/services/identity-ua/identity-ua-dal"; +import { identityUaClientSecretDALFactory } from "@app/services/identity-ua/identity-ua-client-secret-dal"; +import { identityUaDALFactory } from "@app/services/identity-ua/identity-ua-dal"; import { identityUaServiceFactory } from "@app/services/identity-ua/identity-ua-service"; -import { integrationDalFactory } from "@app/services/integration/integration-dal"; +import { integrationDALFactory } from "@app/services/integration/integration-dal"; import { integrationServiceFactory } from "@app/services/integration/integration-service"; -import { integrationAuthDalFactory } from "@app/services/integration-auth/integration-auth-dal"; +import { integrationAuthDALFactory } from "@app/services/integration-auth/integration-auth-dal"; import { integrationAuthServiceFactory } from "@app/services/integration-auth/integration-auth-service"; -import { incidentContactDalFactory } from "@app/services/org/incident-contacts-dal"; -import { orgBotDalFactory } from "@app/services/org/org-bot-dal"; -import { orgDalFactory } from "@app/services/org/org-dal"; -import { orgRoleDalFactory } from "@app/services/org/org-role-dal"; +import { incidentContactDALFactory } from "@app/services/org/incident-contacts-dal"; +import { orgBotDALFactory } from "@app/services/org/org-bot-dal"; +import { orgDALFactory } from "@app/services/org/org-dal"; +import { orgRoleDALFactory } from "@app/services/org/org-role-dal"; import { orgRoleServiceFactory } from "@app/services/org/org-role-service"; import { orgServiceFactory } from "@app/services/org/org-service"; -import { projectDalFactory } from "@app/services/project/project-dal"; +import { projectDALFactory } from "@app/services/project/project-dal"; import { projectServiceFactory } from "@app/services/project/project-service"; -import { projectBotDalFactory } from "@app/services/project-bot/project-bot-dal"; +import { projectBotDALFactory } from "@app/services/project-bot/project-bot-dal"; import { projectBotServiceFactory } from "@app/services/project-bot/project-bot-service"; -import { projectEnvDalFactory } from "@app/services/project-env/project-env-dal"; +import { projectEnvDALFactory } from "@app/services/project-env/project-env-dal"; import { projectEnvServiceFactory } from "@app/services/project-env/project-env-service"; -import { projectKeyDalFactory } from "@app/services/project-key/project-key-dal"; +import { projectKeyDALFactory } from "@app/services/project-key/project-key-dal"; import { projectKeyServiceFactory } from "@app/services/project-key/project-key-service"; -import { projectMembershipDalFactory } from "@app/services/project-membership/project-membership-dal"; +import { projectMembershipDALFactory } from "@app/services/project-membership/project-membership-dal"; import { projectMembershipServiceFactory } from "@app/services/project-membership/project-membership-service"; -import { projectRoleDalFactory } from "@app/services/project-role/project-role-dal"; +import { projectRoleDALFactory } from "@app/services/project-role/project-role-dal"; import { projectRoleServiceFactory } from "@app/services/project-role/project-role-service"; -import { secretBlindIndexDalFactory } from "@app/services/secret/secret-blind-index-dal"; -import { secretDalFactory } from "@app/services/secret/secret-dal"; +import { secretBlindIndexDALFactory } from "@app/services/secret/secret-blind-index-dal"; +import { secretDALFactory } from "@app/services/secret/secret-dal"; import { secretQueueFactory } from "@app/services/secret/secret-queue"; import { secretServiceFactory } from "@app/services/secret/secret-service"; -import { secretVersionDalFactory } from "@app/services/secret/secret-version-dal"; -import { secretFolderDalFactory } from "@app/services/secret-folder/secret-folder-dal"; +import { secretVersionDALFactory } from "@app/services/secret/secret-version-dal"; +import { secretFolderDALFactory } from "@app/services/secret-folder/secret-folder-dal"; import { secretFolderServiceFactory } from "@app/services/secret-folder/secret-folder-service"; -import { secretFolderVersionDalFactory } from "@app/services/secret-folder/secret-folder-version-dal"; -import { secretImportDalFactory } from "@app/services/secret-import/secret-import-dal"; +import { secretFolderVersionDALFactory } from "@app/services/secret-folder/secret-folder-version-dal"; +import { secretImportDALFactory } from "@app/services/secret-import/secret-import-dal"; import { secretImportServiceFactory } from "@app/services/secret-import/secret-import-service"; -import { secretTagDalFactory } from "@app/services/secret-tag/secret-tag-dal"; +import { secretTagDALFactory } from "@app/services/secret-tag/secret-tag-dal"; import { secretTagServiceFactory } from "@app/services/secret-tag/secret-tag-service"; -import { serviceTokenDalFactory } from "@app/services/service-token/service-token-dal"; +import { serviceTokenDALFactory } from "@app/services/service-token/service-token-dal"; import { serviceTokenServiceFactory } from "@app/services/service-token/service-token-service"; import { TSmtpService } from "@app/services/smtp/smtp-service"; -import { superAdminDalFactory } from "@app/services/super-admin/super-admin-dal"; +import { superAdminDALFactory } from "@app/services/super-admin/super-admin-dal"; import { superAdminServiceFactory } from "@app/services/super-admin/super-admin-service"; -import { userDalFactory } from "@app/services/user/user-dal"; +import { userDALFactory } from "@app/services/user/user-dal"; import { userServiceFactory } from "@app/services/user/user-service"; -import { webhookDalFactory } from "@app/services/webhook/webhook-dal"; +import { webhookDALFactory } from "@app/services/webhook/webhook-dal"; import { webhookServiceFactory } from "@app/services/webhook/webhook-service"; import { injectAuditLogInfo } from "../plugins/audit-log"; @@ -115,312 +115,312 @@ export const registerRoutes = async ( server.register(registerSecretScannerGhApp, { prefix: "/ss-webhook" }); // db layers - const userDal = userDalFactory(db); - const authDal = authDalFactory(db); - const authTokenDal = tokenDalFactory(db); - const orgDal = orgDalFactory(db); - const orgBotDal = orgBotDalFactory(db); - const incidentContactDal = incidentContactDalFactory(db); - const orgRoleDal = orgRoleDalFactory(db); - const superAdminDal = superAdminDalFactory(db); - const apiKeyDal = apiKeyDalFactory(db); + const userDAL = userDALFactory(db); + const authDAL = authDALFactory(db); + const authTokenDAL = tokenDALFactory(db); + const orgDAL = orgDALFactory(db); + const orgBotDAL = orgBotDALFactory(db); + const incidentContactDAL = incidentContactDALFactory(db); + const orgRoleDAL = orgRoleDALFactory(db); + const superAdminDAL = superAdminDALFactory(db); + const apiKeyDAL = apiKeyDALFactory(db); - const projectDal = projectDalFactory(db); - const projectMembershipDal = projectMembershipDalFactory(db); - const projectRoleDal = projectRoleDalFactory(db); - const projectEnvDal = projectEnvDalFactory(db); - const projectKeyDal = projectKeyDalFactory(db); - const projectBotDal = projectBotDalFactory(db); + const projectDAL = projectDALFactory(db); + const projectMembershipDAL = projectMembershipDALFactory(db); + const projectRoleDAL = projectRoleDALFactory(db); + const projectEnvDAL = projectEnvDALFactory(db); + const projectKeyDAL = projectKeyDALFactory(db); + const projectBotDAL = projectBotDALFactory(db); - const secretDal = secretDalFactory(db); - const secretTagDal = secretTagDalFactory(db); - const folderDal = secretFolderDalFactory(db); - const folderVersionDal = secretFolderVersionDalFactory(db); - const secretImportDal = secretImportDalFactory(db); - const secretVersionDal = secretVersionDalFactory(db); - const secretBlindIndexDal = secretBlindIndexDalFactory(db); + const secretDAL = secretDALFactory(db); + const secretTagDAL = secretTagDALFactory(db); + const folderDAL = secretFolderDALFactory(db); + const folderVersionDAL = secretFolderVersionDALFactory(db); + const secretImportDAL = secretImportDALFactory(db); + const secretVersionDAL = secretVersionDALFactory(db); + const secretBlindIndexDAL = secretBlindIndexDALFactory(db); - const integrationDal = integrationDalFactory(db); - const integrationAuthDal = integrationAuthDalFactory(db); - const webhookDal = webhookDalFactory(db); - const serviceTokenDal = serviceTokenDalFactory(db); + const integrationDAL = integrationDALFactory(db); + const integrationAuthDAL = integrationAuthDALFactory(db); + const webhookDAL = webhookDALFactory(db); + const serviceTokenDAL = serviceTokenDALFactory(db); - const identityDal = identityDalFactory(db); - const identityAccessTokenDal = identityAccessTokenDalFactory(db); - const identityOrgMembershipDal = identityOrgDalFactory(db); - const identityProjectDal = identityProjectDalFactory(db); + const identityDAL = identityDALFactory(db); + const identityAccessTokenDAL = identityAccessTokenDALFactory(db); + const identityOrgMembershipDAL = identityOrgDALFactory(db); + const identityProjectDAL = identityProjectDALFactory(db); - const identityUaDal = identityUaDalFactory(db); - const identityUaClientSecretDal = identityUaClientSecretDalFactory(db); + const identityUaDAL = identityUaDALFactory(db); + const identityUaClientSecretDAL = identityUaClientSecretDALFactory(db); - const auditLogDal = auditLogDalFactory(db); - const trustedIpDal = trustedIpDalFactory(db); + const auditLogDAL = auditLogDALFactory(db); + const trustedIpDAL = trustedIpDALFactory(db); // ee db layer ops - const permissionDal = permissionDalFactory(db); - const samlConfigDal = samlConfigDalFactory(db); - const sapApproverDal = sapApproverDalFactory(db); - const secretApprovalPolicyDal = secretApprovalPolicyDalFactory(db); - const secretApprovalRequestDal = secretApprovalRequestDalFactory(db); - const sarReviewerDal = sarReviewerDalFactory(db); - const sarSecretDal = sarSecretDalFactory(db); + const permissionDAL = permissionDALFactory(db); + const samlConfigDAL = samlConfigDALFactory(db); + const sapApproverDAL = sapApproverDALFactory(db); + const secretApprovalPolicyDAL = secretApprovalPolicyDALFactory(db); + const secretApprovalRequestDAL = secretApprovalRequestDALFactory(db); + const sarReviewerDAL = sarReviewerDALFactory(db); + const sarSecretDAL = sarSecretDALFactory(db); - const secretRotationDal = secretRotationDalFactory(db); - const snapshotDal = snapshotDalFactory(db); - const snapshotSecretDal = snapshotSecretDalFactory(db); - const snapshotFolderDal = snapshotFolderDalFactory(db); + const secretRotationDAL = secretRotationDALFactory(db); + const snapshotDAL = snapshotDALFactory(db); + const snapshotSecretDAL = snapshotSecretDALFactory(db); + const snapshotFolderDAL = snapshotFolderDALFactory(db); - const gitAppInstallSessionDal = gitAppInstallSessionDalFactory(db); - const gitAppOrgDal = gitAppDalFactory(db); - const secretScanningDal = secretScanningDalFactory(db); - const licenseDal = licenseDalFactory(db); + const gitAppInstallSessionDAL = gitAppInstallSessionDALFactory(db); + const gitAppOrgDAL = gitAppDALFactory(db); + const secretScanningDAL = secretScanningDALFactory(db); + const licenseDAL = licenseDALFactory(db); const permissionService = permissionServiceFactory({ - permissionDal, - orgRoleDal, - projectRoleDal, - serviceTokenDal + permissionDAL, + orgRoleDAL, + projectRoleDAL, + serviceTokenDAL }); - const licenseService = licenseServiceFactory({ permissionService, orgDal, licenseDal }); + const licenseService = licenseServiceFactory({ permissionService, orgDAL, licenseDAL }); const trustedIpService = trustedIpServiceFactory({ licenseService, - projectDal, - trustedIpDal, + projectDAL, + trustedIpDAL, permissionService }); const auditLogQueue = auditLogQueueServiceFactory({ - auditLogDal, + auditLogDAL, queueService, - projectDal, + projectDAL, licenseService }); - const auditLogService = auditLogServiceFactory({ auditLogDal, permissionService, auditLogQueue }); + const auditLogService = auditLogServiceFactory({ auditLogDAL, permissionService, auditLogQueue }); const sapService = secretApprovalPolicyServiceFactory({ - projectMembershipDal, - projectEnvDal, - sapApproverDal, + projectMembershipDAL, + projectEnvDAL, + sapApproverDAL, permissionService, - secretApprovalPolicyDal + secretApprovalPolicyDAL }); const samlService = samlConfigServiceFactory({ permissionService, - orgBotDal, - orgDal, - userDal, - samlConfigDal, + orgBotDAL, + orgDAL, + userDAL, + samlConfigDAL, licenseService }); - const tokenService = tokenServiceFactory({ tokenDal: authTokenDal, userDal }); - const userService = userServiceFactory({ userDal }); - const loginService = authLoginServiceFactory({ userDal, smtpService, tokenService }); + const tokenService = tokenServiceFactory({ tokenDAL: authTokenDAL, userDAL }); + const userService = userServiceFactory({ userDAL }); + const loginService = authLoginServiceFactory({ userDAL, smtpService, tokenService }); const passwordService = authPaswordServiceFactory({ tokenService, smtpService, - authDal, - userDal + authDAL, + userDAL }); const orgService = orgServiceFactory({ licenseService, - samlConfigDal, - orgRoleDal, + samlConfigDAL, + orgRoleDAL, permissionService, - orgDal, - incidentContactDal, + orgDAL, + incidentContactDAL, tokenService, smtpService, - userDal, - orgBotDal + userDAL, + orgBotDAL }); const signupService = authSignupServiceFactory({ tokenService, smtpService, - authDal, - userDal, - orgDal, + authDAL, + userDAL, + orgDAL, orgService, licenseService }); - const orgRoleService = orgRoleServiceFactory({ permissionService, orgRoleDal }); + const orgRoleService = orgRoleServiceFactory({ permissionService, orgRoleDAL }); const superAdminService = superAdminServiceFactory({ - userDal, + userDAL, authService: loginService, - serverCfgDal: superAdminDal, + serverCfgDAL: superAdminDAL, orgService }); - const apiKeyService = apiKeyServiceFactory({ apiKeyDal, userDal }); + const apiKeyService = apiKeyServiceFactory({ apiKeyDAL, userDAL }); const secretScanningQueue = secretScanningQueueFactory({ smtpService, - secretScanningDal, + secretScanningDAL, queueService, - orgMembershipDal: orgDal + orgMembershipDAL: orgDAL }); const secretScanningService = secretScanningServiceFactory({ permissionService, - gitAppOrgDal, - gitAppInstallSessionDal, - secretScanningDal, + gitAppOrgDAL, + gitAppInstallSessionDAL, + secretScanningDAL, secretScanningQueue }); const projectService = projectServiceFactory({ permissionService, - projectDal, - secretBlindIndexDal, - projectEnvDal, - projectMembershipDal, - folderDal, + projectDAL, + secretBlindIndexDAL, + projectEnvDAL, + projectMembershipDAL, + folderDAL, licenseService }); const projectMembershipService = projectMembershipServiceFactory({ - projectMembershipDal, - projectDal, + projectMembershipDAL, + projectDAL, permissionService, - orgDal, - userDal, + orgDAL, + userDAL, smtpService, - projectKeyDal, - projectRoleDal, + projectKeyDAL, + projectRoleDAL, licenseService }); const projectEnvService = projectEnvServiceFactory({ permissionService, - projectEnvDal, + projectEnvDAL, licenseService, - projectDal, - folderDal + projectDAL, + folderDAL }); const projectKeyService = projectKeyServiceFactory({ permissionService, - projectKeyDal, - projectMembershipDal + projectKeyDAL, + projectMembershipDAL }); - const projectRoleService = projectRoleServiceFactory({ permissionService, projectRoleDal }); + const projectRoleService = projectRoleServiceFactory({ permissionService, projectRoleDAL }); const snapshotService = secretSnapshotServiceFactory({ - folderDal, - secretDal, - snapshotDal, - snapshotFolderDal, - snapshotSecretDal, - secretVersionDal, - folderVersionDal, + folderDAL, + secretDAL, + snapshotDAL, + snapshotFolderDAL, + snapshotSecretDAL, + secretVersionDAL, + folderVersionDAL, permissionService, licenseService }); const webhookService = webhookServiceFactory({ permissionService, - webhookDal, - projectEnvDal + webhookDAL, + projectEnvDAL }); - const secretTagService = secretTagServiceFactory({ secretTagDal, permissionService }); + const secretTagService = secretTagServiceFactory({ secretTagDAL, permissionService }); const folderService = secretFolderServiceFactory({ permissionService, - folderDal, - folderVersionDal, - projectEnvDal, + folderDAL, + folderVersionDAL, + projectEnvDAL, snapshotService }); const secretImportService = secretImportServiceFactory({ - projectEnvDal, - folderDal, + projectEnvDAL, + folderDAL, permissionService, - secretImportDal, - secretDal + secretImportDAL, + secretDAL }); - const projectBotService = projectBotServiceFactory({ permissionService, projectBotDal }); + const projectBotService = projectBotServiceFactory({ permissionService, projectBotDAL }); const integrationAuthService = integrationAuthServiceFactory({ - integrationAuthDal, - integrationDal, + integrationAuthDAL, + integrationDAL, permissionService, - projectBotDal, + projectBotDAL, projectBotService }); const secretQueueService = secretQueueFactory({ queueService, - secretDal, - folderDal, + secretDAL, + folderDAL, integrationAuthService, projectBotService, - integrationDal, - secretImportDal, - projectEnvDal, - webhookDal + integrationDAL, + secretImportDAL, + projectEnvDAL, + webhookDAL }); const secretService = secretServiceFactory({ - folderDal, - secretVersionDal, - secretBlindIndexDal, + folderDAL, + secretVersionDAL, + secretBlindIndexDAL, permissionService, - secretDal, - secretTagDal, + secretDAL, + secretTagDAL, snapshotService, secretQueueService, - secretImportDal, + secretImportDAL, projectBotService }); const sarService = secretApprovalRequestServiceFactory({ permissionService, - folderDal, - sarSecretDal, - sarReviewerDal, - secretVersionDal, - secretBlindIndexDal, - secretApprovalRequestDal, + folderDAL, + sarSecretDAL, + sarReviewerDAL, + secretVersionDAL, + secretBlindIndexDAL, + secretApprovalRequestDAL, secretService, snapshotService, secretQueueService }); const secretRotationQueue = secretRotationQueueFactory({ - secretRotationDal, + secretRotationDAL, queue: queueService, - secretDal, - secretVersionDal, + secretDAL, + secretVersionDAL, projectBotService }); const secretRotationService = secretRotationServiceFactory({ permissionService, - secretRotationDal, + secretRotationDAL, secretRotationQueue, - projectDal, + projectDAL, licenseService, - secretDal, - folderDal + secretDAL, + folderDAL }); const integrationService = integrationServiceFactory({ permissionService, - folderDal, - integrationDal, - integrationAuthDal, + folderDAL, + integrationDAL, + integrationAuthDAL, secretQueueService }); const serviceTokenService = serviceTokenServiceFactory({ - projectEnvDal, - serviceTokenDal, + projectEnvDAL, + serviceTokenDAL, permissionService }); const identityService = identityServiceFactory({ permissionService, - identityDal, - identityOrgMembershipDal + identityDAL, + identityOrgMembershipDAL }); - const identityAccessTokenService = identityAccessTokenServiceFactory({ identityAccessTokenDal }); + const identityAccessTokenService = identityAccessTokenServiceFactory({ identityAccessTokenDAL }); const identityProjectService = identityProjectServiceFactory({ permissionService, - projectDal, - identityProjectDal, - identityOrgMembershipDal + projectDAL, + identityProjectDAL, + identityOrgMembershipDAL }); const identityUaService = identityUaServiceFactory({ - identityOrgMembershipDal, + identityOrgMembershipDAL, permissionService, - identityDal, - identityAccessTokenDal, - identityUaClientSecretDal, - identityUaDal, + identityDAL, + identityAccessTokenDAL, + identityUaClientSecretDAL, + identityUaDAL, licenseService }); @@ -469,10 +469,10 @@ export const registerRoutes = async ( }); server.decorate("store", { - user: userDal + user: userDAL }); - await server.register(injectIdentity, { userDal, serviceTokenDal }); + await server.register(injectIdentity, { userDAL, serviceTokenDAL }); await server.register(injectPermission); await server.register(injectAuditLogInfo); diff --git a/backend-pg/src/services/api-key/api-key-dal.ts b/backend-pg/src/services/api-key/api-key-dal.ts index 057ab3a1b..128adc701 100644 --- a/backend-pg/src/services/api-key/api-key-dal.ts +++ b/backend-pg/src/services/api-key/api-key-dal.ts @@ -2,6 +2,6 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TApiKeyDalFactory = ReturnType; +export type TApiKeyDALFactory = ReturnType; -export const apiKeyDalFactory = (db: TDbClient) => ormify(db, TableName.ApiKey); +export const apiKeyDALFactory = (db: TDbClient) => ormify(db, TableName.ApiKey); diff --git a/backend-pg/src/services/api-key/api-key-service.ts b/backend-pg/src/services/api-key/api-key-service.ts index 5a8300ca1..23057e1a4 100644 --- a/backend-pg/src/services/api-key/api-key-service.ts +++ b/backend-pg/src/services/api-key/api-key-service.ts @@ -6,21 +6,21 @@ import { TApiKeys } from "@app/db/schemas/api-keys"; import { getConfig } from "@app/lib/config/env"; import { BadRequestError, UnauthorizedError } from "@app/lib/errors"; -import { TUserDalFactory } from "../user/user-dal"; -import { TApiKeyDalFactory } from "./api-key-dal"; +import { TUserDALFactory } from "../user/user-dal"; +import { TApiKeyDALFactory } from "./api-key-dal"; type TApiKeyServiceFactoryDep = { - apiKeyDal: TApiKeyDalFactory; - userDal: Pick; + apiKeyDAL: TApiKeyDALFactory; + userDAL: Pick; }; export type TApiKeyServiceFactory = ReturnType; const formatApiKey = ({ secretHash, ...data }: TApiKeys) => data; -export const apiKeyServiceFactory = ({ apiKeyDal, userDal }: TApiKeyServiceFactoryDep) => { +export const apiKeyServiceFactory = ({ apiKeyDAL, userDAL }: TApiKeyServiceFactoryDep) => { const getMyApiKeys = async (userId: string) => { - const apiKeys = await apiKeyDal.find({ userId }); + const apiKeys = await apiKeyDAL.find({ userId }); return apiKeys.map((key) => formatApiKey(key)); }; @@ -31,7 +31,7 @@ export const apiKeyServiceFactory = ({ apiKeyDal, userDal }: TApiKeyServiceFacto const expiresAt = new Date(); expiresAt.setSeconds(expiresAt.getSeconds() + expiresIn); - const apiKeyData = await apiKeyDal.create({ + const apiKeyData = await apiKeyDAL.create({ userId, name, expiresAt, @@ -44,7 +44,7 @@ export const apiKeyServiceFactory = ({ apiKeyDal, userDal }: TApiKeyServiceFacto }; const deleteApiKey = async (userId: string, apiKeyId: string) => { - const [apiKeyData] = await apiKeyDal.delete({ id: apiKeyId, userId }); + const [apiKeyData] = await apiKeyDAL.delete({ id: apiKeyId, userId }); if (!apiKeyData) throw new BadRequestError({ message: "Failed to find api key", name: "delete api key" }); return formatApiKey(apiKeyData); @@ -52,18 +52,18 @@ export const apiKeyServiceFactory = ({ apiKeyDal, userDal }: TApiKeyServiceFacto const fnValidateApiKey = async (token: string) => { const [, TOKEN_IDENTIFIER, TOKEN_SECRET] = <[string, string, string]>token.split(".", 3); - const apiKey = await apiKeyDal.findById(TOKEN_IDENTIFIER); + const apiKey = await apiKeyDAL.findById(TOKEN_IDENTIFIER); if (!apiKey) throw new UnauthorizedError(); if (apiKey.expiresAt && new Date(apiKey.expiresAt) < new Date()) { - await apiKeyDal.deleteById(apiKey.id); + await apiKeyDAL.deleteById(apiKey.id); throw new UnauthorizedError(); } const isMatch = await bcrypt.compare(TOKEN_SECRET, apiKey.secretHash); if (!isMatch) throw new UnauthorizedError(); - await apiKeyDal.updateById(apiKey.id, { lastUsed: new Date() }); - const user = await userDal.findById(apiKey.userId); + await apiKeyDAL.updateById(apiKey.id, { lastUsed: new Date() }); + const user = await userDAL.findById(apiKey.userId); return user; }; diff --git a/backend-pg/src/services/auth-token/auth-token-dal.ts b/backend-pg/src/services/auth-token/auth-token-dal.ts index 22c7aa7c0..edd8ef74c 100644 --- a/backend-pg/src/services/auth-token/auth-token-dal.ts +++ b/backend-pg/src/services/auth-token/auth-token-dal.ts @@ -5,13 +5,13 @@ import { TableName, TAuthTokens, TAuthTokenSessions } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -import { TDeleteTokenForUserDalDTO } from "./auth-token-types"; +import { TDeleteTokenForUserDALDTO } from "./auth-token-types"; -export type TTokenDalConfig = {}; +export type TTokenDALConfig = {}; -export type TTokenDalFactory = ReturnType; +export type TTokenDALFactory = ReturnType; -export const tokenDalFactory = (db: TDbClient) => { +export const tokenDALFactory = (db: TDbClient) => { const authOrm = ormify(db, TableName.AuthTokens); const findOneTokenSession = async ( @@ -29,7 +29,7 @@ export const tokenDalFactory = (db: TDbClient) => { userId, type, orgId - }: TDeleteTokenForUserDalDTO): Promise => { + }: TDeleteTokenForUserDALDTO): Promise => { try { const doc = await db(TableName.AuthTokens) .where({ userId, type, orgId }) @@ -44,7 +44,7 @@ export const tokenDalFactory = (db: TDbClient) => { const decrementTriesField = async ({ userId, type - }: TDeleteTokenForUserDalDTO): Promise => { + }: TDeleteTokenForUserDALDTO): Promise => { try { await db(TableName.AuthTokens).where({ userId, type }).decrement("triesLeft", 1); } catch (error) { diff --git a/backend-pg/src/services/auth-token/auth-token-service.ts b/backend-pg/src/services/auth-token/auth-token-service.ts index 475738bbc..d19691209 100644 --- a/backend-pg/src/services/auth-token/auth-token-service.ts +++ b/backend-pg/src/services/auth-token/auth-token-service.ts @@ -7,8 +7,8 @@ import { getConfig } from "@app/lib/config/env"; import { UnauthorizedError } from "@app/lib/errors"; import { AuthModeJwtTokenPayload } from "../auth/auth-type"; -import { TUserDalFactory } from "../user/user-dal"; -import { TTokenDalFactory } from "./auth-token-dal"; +import { TUserDALFactory } from "../user/user-dal"; +import { TTokenDALFactory } from "./auth-token-dal"; import { TCreateTokenForUserDTO, TIssueAuthTokenDTO, @@ -17,8 +17,8 @@ import { } from "./auth-token-types"; type TAuthTokenServiceFactoryDep = { - tokenDal: TTokenDalFactory; - userDal: Pick; + tokenDAL: TTokenDALFactory; + userDAL: Pick; }; export type TAuthTokenServiceFactory = ReturnType; @@ -59,14 +59,14 @@ export const getTokenConfig = (tokenType: TokenType) => { } }; -export const tokenServiceFactory = ({ tokenDal, userDal }: TAuthTokenServiceFactoryDep) => { +export const tokenServiceFactory = ({ tokenDAL, userDAL }: TAuthTokenServiceFactoryDep) => { const createTokenForUser = async ({ type, userId, orgId }: TCreateTokenForUserDTO) => { const { token, ...tkCfg } = getTokenConfig(type); const appCfg = getConfig(); const tokenHash = await bcrypt.hash(token, appCfg.SALT_ROUNDS); - await tokenDal.transaction(async (tx) => { - await tokenDal.delete({ userId, type, orgId: orgId || null }, tx); - const newToken = await tokenDal.create( + await tokenDAL.transaction(async (tx) => { + await tokenDAL.delete({ userId, type, orgId: orgId || null }, tx); + const newToken = await tokenDAL.create( { tokenHash, expiresAt: tkCfg.expiresAt, @@ -89,11 +89,11 @@ export const tokenServiceFactory = ({ tokenDal, userDal }: TAuthTokenServiceFact code, orgId }: TValidateTokenForUserDTO): Promise => { - const token = await tokenDal.findOne({ type, userId, orgId: orgId || null }); + const token = await tokenDAL.findOne({ type, userId, orgId: orgId || null }); // validate token if (!token) throw new Error("Failed to find token"); if (token?.expiresAt && new Date(token.expiresAt) < new Date()) { - await tokenDal.delete({ type, userId, orgId }); + await tokenDAL.delete({ type, userId, orgId }); throw new Error("Token expired. Please try again"); } @@ -101,15 +101,15 @@ export const tokenServiceFactory = ({ tokenDal, userDal }: TAuthTokenServiceFact if (!isValidToken) { if (token?.triesLeft) { if (token.triesLeft === 1) { - await tokenDal.deleteTokenForUser({ type, userId, orgId: orgId || null }); + await tokenDAL.deleteTokenForUser({ type, userId, orgId: orgId || null }); } else { - await tokenDal.decrementTriesField({ type, userId, orgId: orgId || null }); + await tokenDAL.decrementTriesField({ type, userId, orgId: orgId || null }); } } throw new Error("Invalid token"); } - const deletedToken = await tokenDal.delete({ type, userId, orgId: orgId || null }); + const deletedToken = await tokenDAL.delete({ type, userId, orgId: orgId || null }); return deletedToken?.[0]; }; @@ -118,9 +118,9 @@ export const tokenServiceFactory = ({ tokenDal, userDal }: TAuthTokenServiceFact ip, userAgent }: TIssueAuthTokenDTO): Promise => { - let session = await tokenDal.findOneTokenSession({ userId, ip, userAgent }); + let session = await tokenDAL.findOneTokenSession({ userId, ip, userAgent }); if (!session) { - session = await tokenDal.insertTokenSession(userId, ip, userAgent); + session = await tokenDAL.insertTokenSession(userId, ip, userAgent); } return session; }; @@ -129,18 +129,18 @@ export const tokenServiceFactory = ({ tokenDal, userDal }: TAuthTokenServiceFact userId: string, sessionId: string ): Promise => - tokenDal.incrementTokenSessionVersion(userId, sessionId); + tokenDAL.incrementTokenSessionVersion(userId, sessionId); const getUserTokenSessionById = async (id: string, userId: string) => - tokenDal.findOneTokenSession({ id, userId }); + tokenDAL.findOneTokenSession({ id, userId }); - const getTokenSessionByUser = async (userId: string) => tokenDal.findTokenSessions({ userId }); + const getTokenSessionByUser = async (userId: string) => tokenDAL.findTokenSessions({ userId }); - const revokeAllMySessions = async (userId: string) => tokenDal.deleteTokenSession({ userId }); + const revokeAllMySessions = async (userId: string) => tokenDAL.deleteTokenSession({ userId }); // to parse jwt identity in inject identity plugin const fnValidateJwtIdentity = async (token: AuthModeJwtTokenPayload) => { - const session = await tokenDal.findOneTokenSession({ + const session = await tokenDAL.findOneTokenSession({ id: token.tokenVersionId, userId: token.userId }); @@ -148,7 +148,7 @@ export const tokenServiceFactory = ({ tokenDal, userDal }: TAuthTokenServiceFact if (token.accessVersion !== session.accessVersion) throw new UnauthorizedError({ name: "Stale session" }); - const user = await userDal.findById(session.userId); + const user = await userDAL.findById(session.userId); if (!user || !user.isAccepted) throw new UnauthorizedError({ name: "Token user not found" }); return { user, tokenVersionId: token.tokenVersionId }; diff --git a/backend-pg/src/services/auth-token/auth-token-types.ts b/backend-pg/src/services/auth-token/auth-token-types.ts index 733f3d968..74787f4ac 100644 --- a/backend-pg/src/services/auth-token/auth-token-types.ts +++ b/backend-pg/src/services/auth-token/auth-token-types.ts @@ -23,7 +23,7 @@ export type TValidateTokenForUserDTO = { orgId?: string; }; -export type TUpsertTokenForUserDalDTO = { +export type TUpsertTokenForUserDALDTO = { type: TokenType; expiresAt: Date; userId: string; @@ -31,12 +31,12 @@ export type TUpsertTokenForUserDalDTO = { triesLeft?: number; }; -export type TGetTokenForUserDalDTO = { +export type TGetTokenForUserDALDTO = { userId: string; type: TokenType; }; -export type TDeleteTokenForUserDalDTO = { +export type TDeleteTokenForUserDALDTO = { userId: string; type: TokenType; orgId: string | null; diff --git a/backend-pg/src/services/auth/auth-dal.ts b/backend-pg/src/services/auth/auth-dal.ts index b6f8f3591..fdf6afbcb 100644 --- a/backend-pg/src/services/auth/auth-dal.ts +++ b/backend-pg/src/services/auth/auth-dal.ts @@ -4,9 +4,9 @@ import { TDbClient } from "@app/db"; import { TableName, TBackupPrivateKey } from "@app/db/schemas"; import { withTransaction } from "@app/lib/knex"; -export type TAuthDalFactory = ReturnType; +export type TAuthDALFactory = ReturnType; -export const authDalFactory = (db: TDbClient) => { +export const authDALFactory = (db: TDbClient) => { const getBackupPrivateKeyByUserId = async (userId: string) => db(TableName.BackupPrivateKey).where({ userId }).first("*"); diff --git a/backend-pg/src/services/auth/auth-login-service.ts b/backend-pg/src/services/auth/auth-login-service.ts index 9815468e3..622c7165a 100644 --- a/backend-pg/src/services/auth/auth-login-service.ts +++ b/backend-pg/src/services/auth/auth-login-service.ts @@ -8,7 +8,7 @@ import { BadRequestError } from "@app/lib/errors"; import { TAuthTokenServiceFactory } from "../auth-token/auth-token-service"; import { TokenType } from "../auth-token/auth-token-types"; import { SmtpTemplates, TSmtpService } from "../smtp/smtp-service"; -import { TUserDalFactory } from "../user/user-dal"; +import { TUserDALFactory } from "../user/user-dal"; import { validateProviderAuthToken } from "./auth-fns"; import { TLoginClientProofDTO, @@ -19,14 +19,14 @@ import { import { AuthMethod, AuthTokenType } from "./auth-type"; type TAuthLoginServiceFactoryDep = { - userDal: TUserDalFactory; + userDAL: TUserDALFactory; tokenService: TAuthTokenServiceFactory; smtpService: TSmtpService; }; export type TAuthLoginFactory = ReturnType; export const authLoginServiceFactory = ({ - userDal, + userDAL, tokenService, smtpService }: TAuthLoginServiceFactoryDep) => { @@ -43,7 +43,7 @@ export const authLoginServiceFactory = ({ if (!isDeviceSeen) { const newDeviceList = devices.concat([{ ip, userAgent }]); - await userDal.updateById(user.id, { devices: JSON.stringify(newDeviceList) }); + await userDAL.updateById(user.id, { devices: JSON.stringify(newDeviceList) }); await smtpService.sendMail({ template: SmtpTemplates.NewDeviceJoin, subjectLine: "Successful login from new device", @@ -124,7 +124,7 @@ export const authLoginServiceFactory = ({ providerAuthToken, clientPublicKey }: TLoginGenServerPublicKeyDTO) => { - const userEnc = await userDal.findUserEncKeyByEmail(email); + const userEnc = await userDAL.findUserEncKeyByEmail(email); if (!userEnc || (userEnc && !userEnc.isAccepted)) { throw new Error("Failed to find user"); } @@ -133,7 +133,7 @@ export const authLoginServiceFactory = ({ } const serverSrpKey = await generateSrpServerKey(userEnc.salt, userEnc.verifier); - const userEncKeys = await userDal.updateUserEncryptionByUserId(userEnc.userId, { + const userEncKeys = await userDAL.updateUserEncryptionByUserId(userEnc.userId, { clientPublicKey, serverPrivateKey: serverSrpKey.privateKey }); @@ -151,7 +151,7 @@ export const authLoginServiceFactory = ({ ip, userAgent }: TLoginClientProofDTO) => { - const userEnc = await userDal.findUserEncKeyByEmail(email); + const userEnc = await userDAL.findUserEncKeyByEmail(email); if (!userEnc) throw new Error("Failed to find user"); const cfg = getConfig(); @@ -170,7 +170,7 @@ export const authLoginServiceFactory = ({ ); if (!isValidClientProof) throw new Error("Failed to authenticate. Try again?"); - await userDal.updateUserEncryptionByUserId(userEnc.userId, { + await userDAL.updateUserEncryptionByUserId(userEnc.userId, { serverPrivateKey: null, clientPublicKey: null }); @@ -195,7 +195,7 @@ export const authLoginServiceFactory = ({ * saved in frontend */ const resendMfaToken = async (userId: string) => { - const user = await userDal.findById(userId); + const user = await userDAL.findById(userId); if (!user) return; await sendUserMfaCode(user.id, user.email); }; @@ -210,7 +210,7 @@ export const authLoginServiceFactory = ({ userId, code: mfaToken }); - const userEnc = await userDal.findUserEncKeyByUserId(userId); + const userEnc = await userDAL.findUserEncKeyByUserId(userId); if (!userEnc) throw new Error("Failed to authenticate user"); const token = await generateUserTokens({ ...userEnc, id: userEnc.userId }, ip, userAgent); @@ -227,14 +227,14 @@ export const authLoginServiceFactory = ({ callbackPort, isSignupAllowed }: TOauthLoginDTO) => { - let user = await userDal.findUserByEmail(email); + let user = await userDAL.findUserByEmail(email); const appCfg = getConfig(); const isOauthSignUpDisabled = !isSignupAllowed && !user; if (isOauthSignUpDisabled) throw new BadRequestError({ message: "User signup disabled", name: "Oauth 2 login" }); if (!user) { - user = await userDal.create({ email, firstName, lastName, authMethods: [authMethod] }); + user = await userDAL.create({ email, firstName, lastName, authMethods: [authMethod] }); } const isLinkingRequired = !user?.authMethods?.includes(authMethod); const isUserCompleted = user.isAccepted; diff --git a/backend-pg/src/services/auth/auth-password-service.ts b/backend-pg/src/services/auth/auth-password-service.ts index 75319ecfe..d939f68da 100644 --- a/backend-pg/src/services/auth/auth-password-service.ts +++ b/backend-pg/src/services/auth/auth-password-service.ts @@ -7,8 +7,8 @@ import { generateSrpServerKey, srpCheckClientProof } from "@app/lib/crypto"; import { TAuthTokenServiceFactory } from "../auth-token/auth-token-service"; import { TokenType } from "../auth-token/auth-token-types"; import { SmtpTemplates, TSmtpService } from "../smtp/smtp-service"; -import { TUserDalFactory } from "../user/user-dal"; -import { TAuthDalFactory } from "./auth-dal"; +import { TUserDALFactory } from "../user/user-dal"; +import { TAuthDALFactory } from "./auth-dal"; import { TChangePasswordDTO, TCreateBackupPrivateKeyDTO, @@ -17,16 +17,16 @@ import { import { AuthTokenType } from "./auth-type"; type TAuthPasswordServiceFactoryDep = { - authDal: TAuthDalFactory; - userDal: TUserDalFactory; + authDAL: TAuthDALFactory; + userDAL: TUserDALFactory; tokenService: TAuthTokenServiceFactory; smtpService: TSmtpService; }; export type TAuthPasswordFactory = ReturnType; export const authPaswordServiceFactory = ({ - authDal, - userDal, + authDAL, + userDAL, tokenService, smtpService }: TAuthPasswordServiceFactoryDep) => { @@ -35,11 +35,11 @@ export const authPaswordServiceFactory = ({ * Gets srp server user salt and server public key */ const generateServerPubKey = async (userId: string, clientPublicKey: string) => { - const userEnc = await userDal.findUserEncKeyByUserId(userId); + const userEnc = await userDAL.findUserEncKeyByUserId(userId); if (!userEnc) throw new Error("Failed to find user"); const serverSrpKey = await generateSrpServerKey(userEnc.salt, userEnc.verifier); - const userEncKeys = await userDal.updateUserEncryptionByUserId(userEnc.userId, { + const userEncKeys = await userDAL.updateUserEncryptionByUserId(userEnc.userId, { clientPublicKey, serverPrivateKey: serverSrpKey.privateKey }); @@ -63,10 +63,10 @@ export const authPaswordServiceFactory = ({ verifier, tokenVersionId }: TChangePasswordDTO) => { - const userEnc = await userDal.findUserEncKeyByUserId(userId); + const userEnc = await userDAL.findUserEncKeyByUserId(userId); if (!userEnc) throw new Error("Failed to find user"); - await userDal.updateUserEncryptionByUserId(userEnc.userId, { + await userDAL.updateUserEncryptionByUserId(userEnc.userId, { serverPrivateKey: null, clientPublicKey: null }); @@ -81,7 +81,7 @@ export const authPaswordServiceFactory = ({ ); if (!isValidClientProof) throw new Error("Failed to authenticate. Try again?"); - await userDal.updateUserEncryptionByUserId(userId, { + await userDAL.updateUserEncryptionByUserId(userId, { encryptionVersion: 2, protectedKey, protectedKeyIV, @@ -104,7 +104,7 @@ export const authPaswordServiceFactory = ({ * Email password reset flow via email. Step 1 send email */ const sendPasswordResetEmail = async (email: string) => { - const user = await userDal.findUserByEmail(email); + const user = await userDAL.findUserByEmail(email); // ignore as user is not found to avoid an outside entity to identify infisical registered accounts if (!user || (user && !user.isAccepted)) return; @@ -131,7 +131,7 @@ export const authPaswordServiceFactory = ({ * */ const verifyPasswordResetEmail = async (email: string, code: string) => { const cfg = getConfig(); - const user = await userDal.findUserByEmail(email); + const user = await userDAL.findUserByEmail(email); // ignore as user is not found to avoid an outside entity to identify infisical registered accounts if (!user || (user && !user.isAccepted)) { throw new Error("Failed email verification for pass reset"); @@ -168,7 +168,7 @@ export const authPaswordServiceFactory = ({ encryptedPrivateKeyTag, userId }: TResetPasswordViaBackupKeyDTO) => { - await userDal.updateUserEncryptionByUserId(userId, { + await userDAL.updateUserEncryptionByUserId(userId, { encryptionVersion: 2, protectedKey, protectedKeyIV, @@ -195,7 +195,7 @@ export const authPaswordServiceFactory = ({ tag, userId }: TCreateBackupPrivateKeyDTO) => { - const userEnc = await userDal.findUserEncKeyByUserId(userId); + const userEnc = await userDAL.findUserEncKeyByUserId(userId); if (!userEnc || (userEnc && !userEnc.isAccepted)) { throw new Error("Failed to find user"); } @@ -210,8 +210,8 @@ export const authPaswordServiceFactory = ({ clientProof ); if (!isValidClientProff) throw new Error("failed to create backup key"); - const backup = await authDal.transaction(async (tx) => { - const backupKey = await authDal.upsertBackupKey( + const backup = await authDAL.transaction(async (tx) => { + const backupKey = await authDAL.upsertBackupKey( userEnc.userId, { encryptedPrivateKey, @@ -225,7 +225,7 @@ export const authPaswordServiceFactory = ({ tx ); - await userDal.updateUserEncryptionByUserId( + await userDAL.updateUserEncryptionByUserId( userEnc.userId, { serverPrivateKey: null, @@ -243,11 +243,11 @@ export const authPaswordServiceFactory = ({ * Return user back up * */ const getBackupPrivateKeyOfUser = async (userId: string) => { - const user = await userDal.findUserEncKeyByUserId(userId); + const user = await userDAL.findUserEncKeyByUserId(userId); if (!user || (user && !user.isAccepted)) { throw new Error("Failed to find user"); } - const backupKey = await authDal.getBackupPrivateKeyByUserId(userId); + const backupKey = await authDAL.getBackupPrivateKeyByUserId(userId); if (!backupKey) throw new Error("Failed to find user backup key"); return backupKey; diff --git a/backend-pg/src/services/auth/auth-signup-service.ts b/backend-pg/src/services/auth/auth-signup-service.ts index 62437c9a9..5db34e61d 100644 --- a/backend-pg/src/services/auth/auth-signup-service.ts +++ b/backend-pg/src/services/auth/auth-signup-service.ts @@ -8,20 +8,20 @@ import { isDisposableEmail } from "@app/lib/validator"; import { TAuthTokenServiceFactory } from "../auth-token/auth-token-service"; import { TokenType } from "../auth-token/auth-token-types"; -import { TOrgDalFactory } from "../org/org-dal"; +import { TOrgDALFactory } from "../org/org-dal"; import { TOrgServiceFactory } from "../org/org-service"; import { SmtpTemplates, TSmtpService } from "../smtp/smtp-service"; -import { TUserDalFactory } from "../user/user-dal"; -import { TAuthDalFactory } from "./auth-dal"; +import { TUserDALFactory } from "../user/user-dal"; +import { TAuthDALFactory } from "./auth-dal"; import { validateProviderAuthToken, validateSignUpAuthorization } from "./auth-fns"; import { TCompleteAccountInviteDTO, TCompleteAccountSignupDTO } from "./auth-signup-type"; import { AuthMethod, AuthTokenType } from "./auth-type"; type TAuthSignupDep = { - authDal: TAuthDalFactory; - userDal: TUserDalFactory; + authDAL: TAuthDALFactory; + userDAL: TUserDALFactory; orgService: Pick; - orgDal: TOrgDalFactory; + orgDAL: TOrgDALFactory; tokenService: TAuthTokenServiceFactory; smtpService: TSmtpService; licenseService: Pick; @@ -29,12 +29,12 @@ type TAuthSignupDep = { export type TAuthSignupFactory = ReturnType; export const authSignupServiceFactory = ({ - authDal, - userDal, + authDAL, + userDAL, tokenService, smtpService, orgService, - orgDal, + orgDAL, licenseService }: TAuthSignupDep) => { // first step of signup. create user and send email @@ -44,13 +44,13 @@ export const authSignupServiceFactory = ({ throw new Error("Provided a disposable email"); } - let user = await userDal.findUserByEmail(email); + let user = await userDAL.findUserByEmail(email); if (user && user.isAccepted) { // TODO(akhilmhdh-pg): copy as old one. this needs to be changed due to security issues throw new Error("Failed to send verification code for complete account"); } if (!user) { - user = await userDal.create({ authMethods: [AuthMethod.EMAIL], email }); + user = await userDAL.create({ authMethods: [AuthMethod.EMAIL], email }); } if (!user) throw new Error("Failed to create user"); @@ -70,7 +70,7 @@ export const authSignupServiceFactory = ({ }; const verifyEmailSignup = async (email: string, code: string) => { - const user = await userDal.findUserByEmail(email); + const user = await userDAL.findUserByEmail(email); if (!user || (user && user.isAccepted)) { // TODO(akhilmhdh): copy as old one. this needs to be changed due to security issues throw new Error("Failed to send verification code for complete account"); @@ -115,7 +115,7 @@ export const authSignupServiceFactory = ({ userAgent, authorization }: TCompleteAccountSignupDTO) => { - const user = await userDal.findUserByEmail(email); + const user = await userDAL.findUserByEmail(email); if (!user || (user && user.isAccepted)) { throw new Error("Failed to complete account for complete user"); } @@ -126,10 +126,10 @@ export const authSignupServiceFactory = ({ validateSignUpAuthorization(authorization, user.id); } - const updateduser = await authDal.transaction(async (tx) => { - const us = await userDal.updateById(user.id, { firstName, lastName, isAccepted: true }, tx); + const updateduser = await authDAL.transaction(async (tx) => { + const us = await userDAL.updateById(user.id, { firstName, lastName, isAccepted: true }, tx); if (!us) throw new Error("User not found"); - const userEncKey = await userDal.upsertUserEncryptionKey( + const userEncKey = await userDAL.upsertUserEncryptionKey( us.id, { salt, @@ -157,7 +157,7 @@ export const authSignupServiceFactory = ({ await orgService.createOrganization(user.id, user.email, organizationName); } - const updatedMembersips = await orgDal.updateMembership( + const updatedMembersips = await orgDAL.updateMembership( { inviteEmail: email, status: OrgMembershipStatus.Invited }, { userId: user.id, status: OrgMembershipStatus.Accepted } ); @@ -218,12 +218,12 @@ export const authSignupServiceFactory = ({ encryptedPrivateKeyIV, encryptedPrivateKeyTag }: TCompleteAccountInviteDTO) => { - const user = await userDal.findUserByEmail(email); + const user = await userDAL.findUserByEmail(email); if (!user || (user && user.isAccepted)) { throw new Error("Failed to complete account for complete user"); } - const [orgMembership] = await orgDal.findMembership({ + const [orgMembership] = await orgDAL.findMembership({ inviteEmail: email, status: OrgMembershipStatus.Invited }); @@ -233,10 +233,10 @@ export const authSignupServiceFactory = ({ name: "complete account invite" }); - const updateduser = await authDal.transaction(async (tx) => { - const us = await userDal.updateById(user.id, { firstName, lastName, isAccepted: true }, tx); + const updateduser = await authDAL.transaction(async (tx) => { + const us = await userDAL.updateById(user.id, { firstName, lastName, isAccepted: true }, tx); if (!us) throw new Error("User not found"); - const userEncKey = await userDal.upsertUserEncryptionKey( + const userEncKey = await userDAL.upsertUserEncryptionKey( us.id, { salt, @@ -253,7 +253,7 @@ export const authSignupServiceFactory = ({ tx ); - const updatedMembersips = await orgDal.updateMembership( + const updatedMembersips = await orgDAL.updateMembership( { inviteEmail: email, status: OrgMembershipStatus.Invited }, { userId: us.id, status: OrgMembershipStatus.Accepted }, tx diff --git a/backend-pg/src/services/identity-access-token/identity-access-token-dal.ts b/backend-pg/src/services/identity-access-token/identity-access-token-dal.ts index 4f9b938b8..5919136a0 100644 --- a/backend-pg/src/services/identity-access-token/identity-access-token-dal.ts +++ b/backend-pg/src/services/identity-access-token/identity-access-token-dal.ts @@ -5,9 +5,9 @@ import { TableName,TIdentityAccessTokens } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TIdentityAccessTokenDalFactory = ReturnType; +export type TIdentityAccessTokenDALFactory = ReturnType; -export const identityAccessTokenDalFactory = (db: TDbClient) => { +export const identityAccessTokenDALFactory = (db: TDbClient) => { const identityAccessTokenOrm = ormify(db, TableName.IdentityAccessToken); const findOne = async (filter: Partial, tx?: Knex) => { diff --git a/backend-pg/src/services/identity-access-token/identity-access-token-service.ts b/backend-pg/src/services/identity-access-token/identity-access-token-service.ts index 3802ac28d..8704e6af1 100644 --- a/backend-pg/src/services/identity-access-token/identity-access-token-service.ts +++ b/backend-pg/src/services/identity-access-token/identity-access-token-service.ts @@ -6,14 +6,14 @@ import { BadRequestError, UnauthorizedError } from "@app/lib/errors"; import { checkIPAgainstBlocklist, TIp } from "@app/lib/ip"; import { AuthTokenType } from "../auth/auth-type"; -import { TIdentityAccessTokenDalFactory } from "./identity-access-token-dal"; +import { TIdentityAccessTokenDALFactory } from "./identity-access-token-dal"; import { TIdentityAccessTokenJwtPayload, TRenewAccessTokenDTO } from "./identity-access-token-types"; type TIdentityAccessTokenServiceFactoryDep = { - identityAccessTokenDal: TIdentityAccessTokenDalFactory; + identityAccessTokenDAL: TIdentityAccessTokenDALFactory; }; export type TIdentityAccessTokenServiceFactory = ReturnType< @@ -21,7 +21,7 @@ export type TIdentityAccessTokenServiceFactory = ReturnType< >; export const identityAccessTokenServiceFactory = ({ - identityAccessTokenDal + identityAccessTokenDAL }: TIdentityAccessTokenServiceFactoryDep) => { const validateAccessTokenExp = async (identityAccessToken: TIdentityAccessTokens) => { const { @@ -92,7 +92,7 @@ export const identityAccessTokenServiceFactory = ({ if (decodedToken.authTokenType !== AuthTokenType.IDENTITY_ACCESS_TOKEN) throw new UnauthorizedError(); - const identityAccessToken = await identityAccessTokenDal.findOne({ + const identityAccessToken = await identityAccessTokenDAL.findOne({ [`${TableName.IdentityAccessToken}.id` as "id"]: decodedToken.identityAccessTokenId, isAccessTokenRevoked: false }); @@ -100,7 +100,7 @@ export const identityAccessTokenServiceFactory = ({ validateAccessTokenExp(identityAccessToken); - const updatedIdentityAccessToken = await identityAccessTokenDal.updateById( + const updatedIdentityAccessToken = await identityAccessTokenDAL.updateById( identityAccessToken.id, { accessTokenLastRenewedAt: new Date() @@ -114,7 +114,7 @@ export const identityAccessTokenServiceFactory = ({ token: TIdentityAccessTokenJwtPayload, ipAddress?: string ) => { - const identityAccessToken = await identityAccessTokenDal.findOne({ + const identityAccessToken = await identityAccessTokenDAL.findOne({ [`${TableName.IdentityAccessToken}.id` as "id"]: token.identityAccessTokenId, isAccessTokenRevoked: false }); diff --git a/backend-pg/src/services/identity-project/identity-project-dal.ts b/backend-pg/src/services/identity-project/identity-project-dal.ts index 38bd17957..fd906cf10 100644 --- a/backend-pg/src/services/identity-project/identity-project-dal.ts +++ b/backend-pg/src/services/identity-project/identity-project-dal.ts @@ -5,9 +5,9 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TIdentityProjectDalFactory = ReturnType; +export type TIdentityProjectDALFactory = ReturnType; -export const identityProjectDalFactory = (db: TDbClient) => { +export const identityProjectDALFactory = (db: TDbClient) => { const identityProjectOrm = ormify(db, TableName.IdentityProjectMembership); const findByProjectId = async (projectId: string, tx?: Knex) => { diff --git a/backend-pg/src/services/identity-project/identity-project-service.ts b/backend-pg/src/services/identity-project/identity-project-service.ts index 9b682c7d4..d8c42dde6 100644 --- a/backend-pg/src/services/identity-project/identity-project-service.ts +++ b/backend-pg/src/services/identity-project/identity-project-service.ts @@ -10,9 +10,9 @@ import { isAtLeastAsPrivileged } from "@app/lib/casl"; import { BadRequestError, ForbiddenRequestError } from "@app/lib/errors"; import { ActorType } from "../auth/auth-type"; -import { TIdentityOrgDalFactory } from "../identity/identity-org-dal"; -import { TProjectDalFactory } from "../project/project-dal"; -import { TIdentityProjectDalFactory } from "./identity-project-dal"; +import { TIdentityOrgDALFactory } from "../identity/identity-org-dal"; +import { TProjectDALFactory } from "../project/project-dal"; +import { TIdentityProjectDALFactory } from "./identity-project-dal"; import { TCreateProjectIdentityDTO, TDeleteProjectIdentityDTO, @@ -21,9 +21,9 @@ import { } from "./identity-project-types"; type TIdentityProjectServiceFactoryDep = { - identityProjectDal: TIdentityProjectDalFactory; - projectDal: Pick; - identityOrgMembershipDal: Pick; + identityProjectDAL: TIdentityProjectDALFactory; + projectDAL: Pick; + identityOrgMembershipDAL: Pick; permissionService: Pick< TPermissionServiceFactory, "getProjectPermission" | "getProjectPermissionByRole" @@ -33,10 +33,10 @@ type TIdentityProjectServiceFactoryDep = { export type TIdentityProjectServiceFactory = ReturnType; export const identityProjectServiceFactory = ({ - identityProjectDal, + identityProjectDAL, permissionService, - identityOrgMembershipDal, - projectDal + identityOrgMembershipDAL, + projectDAL }: TIdentityProjectServiceFactoryDep) => { const createProjectIdentity = async ({ identityId, @@ -51,14 +51,14 @@ export const identityProjectServiceFactory = ({ ProjectPermissionSub.Identity ); - const existingIdentity = await identityProjectDal.findOne({ identityId, projectId }); + const existingIdentity = await identityProjectDAL.findOne({ identityId, projectId }); if (existingIdentity) throw new BadRequestError({ message: `Identity with id ${identityId} already exists in project with id ${projectId}` }); - const project = await projectDal.findById(projectId); - const identityOrgMembership = await identityOrgMembershipDal.findOne({ + const project = await projectDAL.findById(projectId); + const identityOrgMembership = await identityOrgMembershipDAL.findOne({ identityId, orgId: project.orgId }); @@ -76,7 +76,7 @@ export const identityProjectServiceFactory = ({ }); const isCustomRole = Boolean(customRole); - const projectIdentity = await identityProjectDal.create({ + const projectIdentity = await identityProjectDAL.create({ identityId, projectId: project.id, role: isCustomRole ? ProjectMembershipRole.Custom : role, @@ -98,7 +98,7 @@ export const identityProjectServiceFactory = ({ ProjectPermissionSub.Identity ); - const projectIdentity = await identityProjectDal.findOne({ identityId, projectId }); + const projectIdentity = await identityProjectDAL.findOne({ identityId, projectId }); if (!projectIdentity) throw new BadRequestError({ message: `Identity with id ${identityId} doesn't exists in project with id ${projectId}` @@ -125,7 +125,7 @@ export const identityProjectServiceFactory = ({ if (isCustomRole) customRole = customOrgRole; } - const [updatedProjectIdentity] = await identityProjectDal.update( + const [updatedProjectIdentity] = await identityProjectDAL.update( { projectId, identityId: projectIdentity.identityId }, { role: customRole ? ProjectMembershipRole.Custom : role, @@ -141,7 +141,7 @@ export const identityProjectServiceFactory = ({ actor, projectId }: TDeleteProjectIdentityDTO) => { - const identityProjectMembership = await identityProjectDal.findOne({ identityId, projectId }); + const identityProjectMembership = await identityProjectDAL.findOne({ identityId, projectId }); if (!identityProjectMembership) throw new BadRequestError({ message: `Failed to find identity with id ${identityId}` }); @@ -163,7 +163,7 @@ export const identityProjectServiceFactory = ({ if (!hasRequiredPriviledges) throw new ForbiddenRequestError({ message: "Failed to delete more privileged identity" }); - const [deletedIdentity] = await identityProjectDal.delete({ identityId }); + const [deletedIdentity] = await identityProjectDAL.delete({ identityId }); return deletedIdentity; }; @@ -174,7 +174,7 @@ export const identityProjectServiceFactory = ({ ProjectPermissionSub.Identity ); - const identityMemberhips = await identityProjectDal.findByProjectId(projectId); + const identityMemberhips = await identityProjectDAL.findByProjectId(projectId); return identityMemberhips; }; diff --git a/backend-pg/src/services/identity-ua/identity-ua-client-secret-dal.ts b/backend-pg/src/services/identity-ua/identity-ua-client-secret-dal.ts index c7b0a8fa8..6310da97a 100644 --- a/backend-pg/src/services/identity-ua/identity-ua-client-secret-dal.ts +++ b/backend-pg/src/services/identity-ua/identity-ua-client-secret-dal.ts @@ -5,9 +5,9 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TIdentityUaClientSecretDalFactory = ReturnType; +export type TIdentityUaClientSecretDALFactory = ReturnType; -export const identityUaClientSecretDalFactory = (db: TDbClient) => { +export const identityUaClientSecretDALFactory = (db: TDbClient) => { const uaClientSecretOrm = ormify(db, TableName.IdentityUaClientSecret); const incrementUsage = async (id: string, tx?: Knex) => { diff --git a/backend-pg/src/services/identity-ua/identity-ua-dal.ts b/backend-pg/src/services/identity-ua/identity-ua-dal.ts index 4cf1920d6..ce5f6b3bc 100644 --- a/backend-pg/src/services/identity-ua/identity-ua-dal.ts +++ b/backend-pg/src/services/identity-ua/identity-ua-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TIdentityUaDalFactory = ReturnType; +export type TIdentityUaDALFactory = ReturnType; -export const identityUaDalFactory = (db: TDbClient) => { +export const identityUaDALFactory = (db: TDbClient) => { const universalAuthOrm = ormify(db, TableName.IdentityUniversalAuth); return universalAuthOrm; diff --git a/backend-pg/src/services/identity-ua/identity-ua-service.ts b/backend-pg/src/services/identity-ua/identity-ua-service.ts index 4c195d394..528e26c3a 100644 --- a/backend-pg/src/services/identity-ua/identity-ua-service.ts +++ b/backend-pg/src/services/identity-ua/identity-ua-service.ts @@ -17,12 +17,12 @@ import { BadRequestError, ForbiddenRequestError, UnauthorizedError } from "@app/ import { checkIPAgainstBlocklist, extractIPDetails, isValidIpOrCidr, TIp } from "@app/lib/ip"; import { ActorType, AuthTokenType } from "../auth/auth-type"; -import { TIdentityDalFactory } from "../identity/identity-dal"; -import { TIdentityOrgDalFactory } from "../identity/identity-org-dal"; -import { TIdentityAccessTokenDalFactory } from "../identity-access-token/identity-access-token-dal"; +import { TIdentityDALFactory } from "../identity/identity-dal"; +import { TIdentityOrgDALFactory } from "../identity/identity-org-dal"; +import { TIdentityAccessTokenDALFactory } from "../identity-access-token/identity-access-token-dal"; import { TIdentityAccessTokenJwtPayload } from "../identity-access-token/identity-access-token-types"; -import { TIdentityUaClientSecretDalFactory } from "./identity-ua-client-secret-dal"; -import { TIdentityUaDalFactory } from "./identity-ua-dal"; +import { TIdentityUaClientSecretDALFactory } from "./identity-ua-client-secret-dal"; +import { TIdentityUaDALFactory } from "./identity-ua-dal"; import { TAttachUaDTO, TCreateUaClientSecretDTO, @@ -33,11 +33,11 @@ import { } from "./identity-ua-types"; type TIdentityUaServiceFactoryDep = { - identityUaDal: TIdentityUaDalFactory; - identityUaClientSecretDal: TIdentityUaClientSecretDalFactory; - identityAccessTokenDal: TIdentityAccessTokenDalFactory; - identityOrgMembershipDal: TIdentityOrgDalFactory; - identityDal: Pick; + identityUaDAL: TIdentityUaDALFactory; + identityUaClientSecretDAL: TIdentityUaClientSecretDALFactory; + identityAccessTokenDAL: TIdentityAccessTokenDALFactory; + identityOrgMembershipDAL: TIdentityOrgDALFactory; + identityDAL: Pick; permissionService: Pick; licenseService: Pick; }; @@ -45,23 +45,23 @@ type TIdentityUaServiceFactoryDep = { export type TIdentityUaServiceFactory = ReturnType; export const identityUaServiceFactory = ({ - identityUaDal, - identityUaClientSecretDal, - identityAccessTokenDal, - identityOrgMembershipDal, - identityDal, + identityUaDAL, + identityUaClientSecretDAL, + identityAccessTokenDAL, + identityOrgMembershipDAL, + identityDAL, permissionService, licenseService }: TIdentityUaServiceFactoryDep) => { const login = async (clientId: string, clientSecret: string, ip: string) => { - const identityUa = await identityUaDal.findOne({ clientId }); + const identityUa = await identityUaDAL.findOne({ clientId }); if (!identityUa) throw new UnauthorizedError(); checkIPAgainstBlocklist({ ipAddress: ip, trustedIps: identityUa.clientSecretTrustedIps as TIp[] }); - const clientSecrtInfo = await identityUaClientSecretDal.find({ + const clientSecrtInfo = await identityUaClientSecretDAL.find({ identityUAId: identityUa.id, isClientSecretRevoked: false }); @@ -80,7 +80,7 @@ export const identityUaServiceFactory = ({ const expirationTime = new Date(clientSecretCreated.getTime() + ttlInMilliseconds); if (currentDate > expirationTime) { - await identityUaClientSecretDal.updateById(validClientSecretInfo.id, { + await identityUaClientSecretDAL.updateById(validClientSecretInfo.id, { isClientSecretRevoked: true }); @@ -93,7 +93,7 @@ export const identityUaServiceFactory = ({ if (clientSecretNumUsesLimit > 0 && clientSecretNumUses === clientSecretNumUsesLimit) { // number of times client secret can be used for // a login operation reached - await identityUaClientSecretDal.updateById(validClientSecretInfo.id, { + await identityUaClientSecretDAL.updateById(validClientSecretInfo.id, { isClientSecretRevoked: true }); throw new UnauthorizedError({ @@ -102,12 +102,12 @@ export const identityUaServiceFactory = ({ }); } - const identityAccessToken = await identityUaDal.transaction(async (tx) => { - const uaClientSecretDoc = await identityUaClientSecretDal.incrementUsage( + const identityAccessToken = await identityUaDAL.transaction(async (tx) => { + const uaClientSecretDoc = await identityUaClientSecretDAL.incrementUsage( validClientSecretInfo.id, tx ); - const newToken = await identityAccessTokenDal.create( + const newToken = await identityAccessTokenDAL.create( { identityId: identityUa.identityId, authType: IdentityAuthMethod.Univeral, @@ -152,7 +152,7 @@ export const identityUaServiceFactory = ({ actorId, actor }: TAttachUaDTO) => { - const identityMembershipOrg = await identityOrgMembershipDal.findOne({ identityId }); + const identityMembershipOrg = await identityOrgMembershipDAL.findOne({ identityId }); if (!identityMembershipOrg) throw new BadRequestError({ message: "Failed to find identity" }); if (identityMembershipOrg.identity.authMethod) throw new BadRequestError({ @@ -209,8 +209,8 @@ export const identityUaServiceFactory = ({ return extractIPDetails(accessTokenTrustedIp.ipAddress); }); - const identityUa = await identityUaDal.transaction(async (tx) => { - const doc = await identityUaDal.create( + const identityUa = await identityUaDAL.transaction(async (tx) => { + const doc = await identityUaDAL.create( { identityId: identityMembershipOrg.identityId, clientId: crypto.randomUUID(), @@ -222,7 +222,7 @@ export const identityUaServiceFactory = ({ }, tx ); - await identityDal.updateById( + await identityDAL.updateById( identityMembershipOrg.identityId, { authMethod: IdentityAuthMethod.Univeral @@ -244,14 +244,14 @@ export const identityUaServiceFactory = ({ actorId, actor }: TUpdateUaDTO) => { - const identityMembershipOrg = await identityOrgMembershipDal.findOne({ identityId }); + const identityMembershipOrg = await identityOrgMembershipDAL.findOne({ identityId }); if (!identityMembershipOrg) throw new BadRequestError({ message: "Failed to find identity" }); if (identityMembershipOrg.identity?.authMethod !== IdentityAuthMethod.Univeral) throw new BadRequestError({ message: "Failed to updated universal auth" }); - const uaIdentityAuth = await identityUaDal.findOne({ identityId }); + const uaIdentityAuth = await identityUaDAL.findOne({ identityId }); if ( (accessTokenMaxTTL || uaIdentityAuth.accessTokenMaxTTL) > 0 && @@ -307,7 +307,7 @@ export const identityUaServiceFactory = ({ return extractIPDetails(accessTokenTrustedIp.ipAddress); }); - const updatedUaAuth = await identityUaDal.updateById(uaIdentityAuth.id, { + const updatedUaAuth = await identityUaDAL.updateById(uaIdentityAuth.id, { clientSecretTrustedIps: reformattedClientSecretTrustedIps ? JSON.stringify(reformattedClientSecretTrustedIps) : undefined, @@ -322,14 +322,14 @@ export const identityUaServiceFactory = ({ }; const getIdentityUa = async ({ identityId, actorId, actor }: TGetUaDTO) => { - const identityMembershipOrg = await identityOrgMembershipDal.findOne({ identityId }); + const identityMembershipOrg = await identityOrgMembershipDAL.findOne({ identityId }); if (!identityMembershipOrg) throw new BadRequestError({ message: "Failed to find identity" }); if (identityMembershipOrg.identity?.authMethod !== IdentityAuthMethod.Univeral) throw new BadRequestError({ message: "The identity does not have universal auth" }); - const uaIdentityAuth = await identityUaDal.findOne({ identityId }); + const uaIdentityAuth = await identityUaDAL.findOne({ identityId }); const { permission } = await permissionService.getOrgPermission( actor, @@ -351,7 +351,7 @@ export const identityUaServiceFactory = ({ description, numUsesLimit }: TCreateUaClientSecretDTO) => { - const identityMembershipOrg = await identityOrgMembershipDal.findOne({ identityId }); + const identityMembershipOrg = await identityOrgMembershipDAL.findOne({ identityId }); if (!identityMembershipOrg) throw new BadRequestError({ message: "Failed to find identity" }); if (identityMembershipOrg.identity?.authMethod !== IdentityAuthMethod.Univeral) throw new BadRequestError({ @@ -381,11 +381,11 @@ export const identityUaServiceFactory = ({ const appCfg = getConfig(); const clientSecret = crypto.randomBytes(32).toString("hex"); const clientSecretHash = await bcrypt.hash(clientSecret, appCfg.SALT_ROUNDS); - const identityUniversalAuth = await identityUaDal.findOne({ + const identityUniversalAuth = await identityUaDAL.findOne({ identityId }); - const identityUaClientSecret = await identityUaClientSecretDal.create({ + const identityUaClientSecret = await identityUaClientSecretDAL.create({ identityUAId: identityUniversalAuth.id, description, clientSecretPrefix: clientSecret.slice(0, 4), @@ -404,7 +404,7 @@ export const identityUaServiceFactory = ({ }; const getUaClientSecrets = async ({ actor, actorId, identityId }: TGetUaClientSecretsDTO) => { - const identityMembershipOrg = await identityOrgMembershipDal.findOne({ identityId }); + const identityMembershipOrg = await identityOrgMembershipDAL.findOne({ identityId }); if (!identityMembershipOrg) throw new BadRequestError({ message: "Failed to find identity" }); if (identityMembershipOrg.identity?.authMethod !== IdentityAuthMethod.Univeral) throw new BadRequestError({ @@ -431,11 +431,11 @@ export const identityUaServiceFactory = ({ message: "Failed to add identity to project with more privileged role" }); - const identityUniversalAuth = await identityUaDal.findOne({ + const identityUniversalAuth = await identityUaDAL.findOne({ identityId }); - const clientSecrets = await identityUaClientSecretDal.find({ + const clientSecrets = await identityUaClientSecretDAL.find({ identityUAId: identityUniversalAuth.id, isClientSecretRevoked: false }); @@ -448,7 +448,7 @@ export const identityUaServiceFactory = ({ actor, clientSecretId }: TRevokeUaClientSecretDTO) => { - const identityMembershipOrg = await identityOrgMembershipDal.findOne({ identityId }); + const identityMembershipOrg = await identityOrgMembershipDAL.findOne({ identityId }); if (!identityMembershipOrg) throw new BadRequestError({ message: "Failed to find identity" }); if (identityMembershipOrg.identity?.authMethod !== IdentityAuthMethod.Univeral) throw new BadRequestError({ @@ -475,7 +475,7 @@ export const identityUaServiceFactory = ({ message: "Failed to add identity to project with more privileged role" }); - const clientSecret = await identityUaClientSecretDal.updateById(clientSecretId, { + const clientSecret = await identityUaClientSecretDAL.updateById(clientSecretId, { isClientSecretRevoked: true }); return { ...clientSecret, identityId, orgId: identityMembershipOrg.orgId }; diff --git a/backend-pg/src/services/identity/identity-dal.ts b/backend-pg/src/services/identity/identity-dal.ts index 9bdccbd3d..a74a84ce3 100644 --- a/backend-pg/src/services/identity/identity-dal.ts +++ b/backend-pg/src/services/identity/identity-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TIdentityDalFactory = ReturnType; +export type TIdentityDALFactory = ReturnType; -export const identityDalFactory = (db: TDbClient) => { +export const identityDALFactory = (db: TDbClient) => { const identityOrm = ormify(db, TableName.Identity); return identityOrm; }; diff --git a/backend-pg/src/services/identity/identity-org-dal.ts b/backend-pg/src/services/identity/identity-org-dal.ts index 074ef99e3..c5413d058 100644 --- a/backend-pg/src/services/identity/identity-org-dal.ts +++ b/backend-pg/src/services/identity/identity-org-dal.ts @@ -5,9 +5,9 @@ import { TableName, TIdentityOrgMemberships } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TIdentityOrgDalFactory = ReturnType; +export type TIdentityOrgDALFactory = ReturnType; -export const identityOrgDalFactory = (db: TDbClient) => { +export const identityOrgDALFactory = (db: TDbClient) => { const identityOrgOrm = ormify(db, TableName.IdentityOrgMembership); const findOne = async (filter: Partial, tx?: Knex) => { diff --git a/backend-pg/src/services/identity/identity-service.ts b/backend-pg/src/services/identity/identity-service.ts index 77d8791cc..09fb5fb36 100644 --- a/backend-pg/src/services/identity/identity-service.ts +++ b/backend-pg/src/services/identity/identity-service.ts @@ -11,21 +11,21 @@ import { BadRequestError, ForbiddenRequestError } from "@app/lib/errors"; import { TOrgPermission } from "@app/lib/types"; import { ActorType } from "../auth/auth-type"; -import { TIdentityDalFactory } from "./identity-dal"; -import { TIdentityOrgDalFactory } from "./identity-org-dal"; +import { TIdentityDALFactory } from "./identity-dal"; +import { TIdentityOrgDALFactory } from "./identity-org-dal"; import { TCreateIdentityDTO, TDeleteIdentityDTO, TUpdateIdentityDTO } from "./identity-types"; type TIdentityServiceFactoryDep = { - identityDal: TIdentityDalFactory; - identityOrgMembershipDal: TIdentityOrgDalFactory; + identityDAL: TIdentityDALFactory; + identityOrgMembershipDAL: TIdentityOrgDALFactory; permissionService: Pick; }; export type TIdentityServiceFactory = ReturnType; export const identityServiceFactory = ({ - identityDal, - identityOrgMembershipDal, + identityDAL, + identityOrgMembershipDAL, permissionService }: TIdentityServiceFactoryDep) => { const createIdentity = async ({ name, role, actor, orgId, actorId }: TCreateIdentityDTO) => { @@ -42,9 +42,9 @@ export const identityServiceFactory = ({ if (!hasRequiredPriviledges) throw new BadRequestError({ message: "Failed to create a more privileged identity" }); - const identity = await identityDal.transaction(async (tx) => { - const newIdentity = await identityDal.create({ name }, tx); - await identityOrgMembershipDal.create( + const identity = await identityDAL.transaction(async (tx) => { + const newIdentity = await identityDAL.create({ name }, tx); + await identityOrgMembershipDAL.create( { identityId: newIdentity.id, orgId, @@ -61,7 +61,7 @@ export const identityServiceFactory = ({ }; const updateIdentity = async ({ id, role, name, actor, actorId }: TUpdateIdentityDTO) => { - const identityOrgMembership = await identityOrgMembershipDal.findOne({ identityId: id }); + const identityOrgMembership = await identityOrgMembershipDAL.findOne({ identityId: id }); if (!identityOrgMembership) throw new BadRequestError({ message: `Failed to find identity with id ${id}` }); @@ -96,12 +96,12 @@ export const identityServiceFactory = ({ if (isCustomRole) customRole = customOrgRole; } - const identity = await identityDal.transaction(async (tx) => { + const identity = await identityDAL.transaction(async (tx) => { const newIdentity = name - ? await identityDal.updateById(id, { name }, tx) - : await identityDal.findById(id, tx); + ? await identityDAL.updateById(id, { name }, tx) + : await identityDAL.findById(id, tx); if (role) { - await identityOrgMembershipDal.update( + await identityOrgMembershipDAL.update( { identityId: id }, { role: customRole ? OrgMembershipRole.Custom : role, @@ -117,7 +117,7 @@ export const identityServiceFactory = ({ }; const deleteIdentity = async ({ actorId, actor, id }: TDeleteIdentityDTO) => { - const identityOrgMembership = await identityOrgMembershipDal.findOne({ identityId: id }); + const identityOrgMembership = await identityOrgMembershipDAL.findOne({ identityId: id }); if (!identityOrgMembership) throw new BadRequestError({ message: `Failed to find identity with id ${id}` }); @@ -139,7 +139,7 @@ export const identityServiceFactory = ({ if (!hasRequiredPriviledges) throw new ForbiddenRequestError({ message: "Failed to delete more privileged identity" }); - const deletedIdentity = await identityDal.deleteById(id); + const deletedIdentity = await identityDAL.deleteById(id); return { ...deletedIdentity, orgId: identityOrgMembership.orgId }; }; @@ -150,7 +150,7 @@ export const identityServiceFactory = ({ OrgPermissionSubjects.Identity ); - const identityMemberhips = await identityOrgMembershipDal.findByOrgId(orgId); + const identityMemberhips = await identityOrgMembershipDAL.findByOrgId(orgId); return identityMemberhips; }; diff --git a/backend-pg/src/services/integration-auth/integration-auth-dal.ts b/backend-pg/src/services/integration-auth/integration-auth-dal.ts index a7a4578d4..f2d9c9ea2 100644 --- a/backend-pg/src/services/integration-auth/integration-auth-dal.ts +++ b/backend-pg/src/services/integration-auth/integration-auth-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TIntegrationAuthDalFactory = ReturnType; +export type TIntegrationAuthDALFactory = ReturnType; -export const integrationAuthDalFactory = (db: TDbClient) => { +export const integrationAuthDALFactory = (db: TDbClient) => { const integrationAuthOrm = ormify(db, TableName.IntegrationAuth); return integrationAuthOrm; }; diff --git a/backend-pg/src/services/integration-auth/integration-auth-service.ts b/backend-pg/src/services/integration-auth/integration-auth-service.ts index f651fe88c..81b180ea4 100644 --- a/backend-pg/src/services/integration-auth/integration-auth-service.ts +++ b/backend-pg/src/services/integration-auth/integration-auth-service.ts @@ -19,11 +19,11 @@ import { import { BadRequestError } from "@app/lib/errors"; import { TProjectPermission } from "@app/lib/types"; -import { TIntegrationDalFactory } from "../integration/integration-dal"; -import { TProjectBotDalFactory } from "../project-bot/project-bot-dal"; +import { TIntegrationDALFactory } from "../integration/integration-dal"; +import { TProjectBotDALFactory } from "../project-bot/project-bot-dal"; import { TProjectBotServiceFactory } from "../project-bot/project-bot-service"; import { getApps } from "./integration-app-list"; -import { TIntegrationAuthDalFactory } from "./integration-auth-dal"; +import { TIntegrationAuthDALFactory } from "./integration-auth-dal"; import { TBitbucketWorkspace, TChecklyGroups, @@ -54,10 +54,10 @@ import { getTeams } from "./integration-team"; import { exchangeCode, exchangeRefresh } from "./integration-token"; type TIntegrationAuthServiceFactoryDep = { - integrationAuthDal: TIntegrationAuthDalFactory; - integrationDal: Pick; + integrationAuthDAL: TIntegrationAuthDALFactory; + integrationDAL: Pick; projectBotService: Pick; - projectBotDal: Pick; + projectBotDAL: Pick; permissionService: Pick; }; @@ -65,9 +65,9 @@ export type TIntegrationAuthServiceFactory = ReturnType { const listIntegrationAuthByProjectId = async ({ @@ -80,12 +80,12 @@ export const integrationAuthServiceFactory = ({ ProjectPermissionActions.Read, ProjectPermissionSub.Integrations ); - const authorizations = await integrationAuthDal.find({ projectId }); + const authorizations = await integrationAuthDAL.find({ projectId }); return authorizations; }; const getIntegrationAuth = async ({ actor, id, actorId }: TGetIntegrationAuthDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -117,7 +117,7 @@ export const integrationAuthServiceFactory = ({ ProjectPermissionSub.Integrations ); - const bot = await projectBotDal.findOne({ isActive: true, projectId }); + const bot = await projectBotDAL.findOne({ isActive: true, projectId }); if (!bot) throw new BadRequestError({ message: "Bot must be enabled for oauth2 code token exchange" }); @@ -154,12 +154,12 @@ export const integrationAuthServiceFactory = ({ updateDoc.accessTag = accessEncToken.tag; updateDoc.accessCiphertext = accessEncToken.ciphertext; } - return integrationAuthDal.transaction(async (tx) => { - const doc = await integrationAuthDal.findOne({ projectId, integration }, tx); + return integrationAuthDAL.transaction(async (tx) => { + const doc = await integrationAuthDAL.findOne({ projectId, integration }, tx); if (!doc) { - return integrationAuthDal.create(updateDoc, tx); + return integrationAuthDAL.create(updateDoc, tx); } - return integrationAuthDal.updateById(doc.id, updateDoc, tx); + return integrationAuthDAL.updateById(doc.id, updateDoc, tx); }); }; @@ -183,7 +183,7 @@ export const integrationAuthServiceFactory = ({ ProjectPermissionSub.Integrations ); - const bot = await projectBotDal.findOne({ isActive: true, projectId }); + const bot = await projectBotDAL.findOne({ isActive: true, projectId }); if (!bot) throw new BadRequestError({ message: "Bot must be enabled for oauth2 code token exchange" }); @@ -235,7 +235,7 @@ export const integrationAuthServiceFactory = ({ updateDoc.accessIdCiphertext = accessEncToken.ciphertext; } } - return integrationAuthDal.create(updateDoc); + return integrationAuthDAL.create(updateDoc); }; // helper function @@ -274,7 +274,7 @@ export const integrationAuthServiceFactory = ({ const refreshEncToken = encryptSymmetric128BitHexKeyUTF8(tokenDetails.refreshToken, botKey); const accessEncToken = encryptSymmetric128BitHexKeyUTF8(tokenDetails.accessToken, botKey); accessToken = tokenDetails.accessToken; - await integrationAuthDal.updateById(integrationAuth.id, { + await integrationAuthDAL.updateById(integrationAuth.id, { refreshIV: refreshEncToken.iv, refreshTag: refreshEncToken.tag, refreshCiphertext: refreshEncToken.ciphertext, @@ -309,7 +309,7 @@ export const integrationAuthServiceFactory = ({ id, workspaceSlug }: TIntegrationAuthAppsDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -336,7 +336,7 @@ export const integrationAuthServiceFactory = ({ }; const getIntegrationAuthTeams = async ({ actor, actorId, id }: TIntegrationAuthTeamsDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -365,7 +365,7 @@ export const integrationAuthServiceFactory = ({ actor, actorId }: TIntegrationAuthVercelBranchesDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -405,7 +405,7 @@ export const integrationAuthServiceFactory = ({ id, accountId }: TIntegrationAuthChecklyGroupsDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -436,7 +436,7 @@ export const integrationAuthServiceFactory = ({ }; const getQoveryOrgs = async ({ actorId, actor, id }: TIntegrationAuthQoveryOrgsDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -469,7 +469,7 @@ export const integrationAuthServiceFactory = ({ id, orgId }: TIntegrationAuthQoveryProjectDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -504,7 +504,7 @@ export const integrationAuthServiceFactory = ({ actor, actorId }: TIntegrationAuthQoveryEnvironmentsDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -544,7 +544,7 @@ export const integrationAuthServiceFactory = ({ actorId, environmentId }: TIntegrationAuthQoveryScopesDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -583,7 +583,7 @@ export const integrationAuthServiceFactory = ({ actorId, environmentId }: TIntegrationAuthQoveryScopesDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -622,7 +622,7 @@ export const integrationAuthServiceFactory = ({ actorId, environmentId }: TIntegrationAuthQoveryScopesDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -661,7 +661,7 @@ export const integrationAuthServiceFactory = ({ actorId, appId }: TIntegrationAuthRailwayEnvDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -727,7 +727,7 @@ export const integrationAuthServiceFactory = ({ actorId, appId }: TIntegrationAuthRailwayServicesDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -811,7 +811,7 @@ export const integrationAuthServiceFactory = ({ actor, id }: TIntegrationAuthBitbucketWorkspaceDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -862,7 +862,7 @@ export const integrationAuthServiceFactory = ({ actorId, appId }: TIntegrationAuthNorthflankSecretGroupDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -929,7 +929,7 @@ export const integrationAuthServiceFactory = ({ actorId, actor }: TGetIntegrationAuthTeamCityBuildConfigDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -979,7 +979,7 @@ export const integrationAuthServiceFactory = ({ ProjectPermissionSub.Integrations ); - const integrations = await integrationAuthDal.delete({ integration, projectId }); + const integrations = await integrationAuthDAL.delete({ integration, projectId }); return integrations; }; @@ -988,7 +988,7 @@ export const integrationAuthServiceFactory = ({ actorId, actor }: TDeleteIntegrationAuthByIdDTO) => { - const integrationAuth = await integrationAuthDal.findById(id); + const integrationAuth = await integrationAuthDAL.findById(id); if (!integrationAuth) throw new BadRequestError({ message: "Failed to find integration" }); const { permission } = await permissionService.getProjectPermission( @@ -1001,10 +1001,10 @@ export const integrationAuthServiceFactory = ({ ProjectPermissionSub.Integrations ); - const delIntegrationAuth = await integrationAuthDal.transaction(async (tx) => { - const doc = await integrationAuthDal.deleteById(integrationAuth.id, tx); + const delIntegrationAuth = await integrationAuthDAL.transaction(async (tx) => { + const doc = await integrationAuthDAL.deleteById(integrationAuth.id, tx); if (!doc) throw new BadRequestError({ message: "Faled to find integration" }); - await integrationDal.delete({ integrationAuthId: doc.id }, tx); + await integrationDAL.delete({ integrationAuthId: doc.id }, tx); return doc; }); diff --git a/backend-pg/src/services/integration/integration-dal.ts b/backend-pg/src/services/integration/integration-dal.ts index 1977bad3e..446af0bea 100644 --- a/backend-pg/src/services/integration/integration-dal.ts +++ b/backend-pg/src/services/integration/integration-dal.ts @@ -5,9 +5,9 @@ import { TableName, TIntegrations } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TIntegrationDalFactory = ReturnType; +export type TIntegrationDALFactory = ReturnType; -export const integrationDalFactory = (db: TDbClient) => { +export const integrationDALFactory = (db: TDbClient) => { const integrationOrm = ormify(db, TableName.Integration); const integrationFindQuery = (tx: Knex, filter: Partial) => diff --git a/backend-pg/src/services/integration/integration-service.ts b/backend-pg/src/services/integration/integration-service.ts index 531c67247..ba93b37fa 100644 --- a/backend-pg/src/services/integration/integration-service.ts +++ b/backend-pg/src/services/integration/integration-service.ts @@ -8,10 +8,10 @@ import { import { BadRequestError } from "@app/lib/errors"; import { TProjectPermission } from "@app/lib/types"; -import { TIntegrationAuthDalFactory } from "../integration-auth/integration-auth-dal"; +import { TIntegrationAuthDALFactory } from "../integration-auth/integration-auth-dal"; import { TSecretQueueFactory } from "../secret/secret-queue"; -import { TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal"; -import { TIntegrationDalFactory } from "./integration-dal"; +import { TSecretFolderDALFactory } from "../secret-folder/secret-folder-dal"; +import { TIntegrationDALFactory } from "./integration-dal"; import { TCreateIntegrationDTO, TDeleteIntegrationDTO, @@ -19,9 +19,9 @@ import { } from "./integration-types"; type TIntegrationServiceFactoryDep = { - integrationDal: TIntegrationDalFactory; - integrationAuthDal: TIntegrationAuthDalFactory; - folderDal: Pick; + integrationDAL: TIntegrationDALFactory; + integrationAuthDAL: TIntegrationAuthDALFactory; + folderDAL: Pick; permissionService: Pick; secretQueueService: Pick; }; @@ -29,9 +29,9 @@ type TIntegrationServiceFactoryDep = { export type TIntegrationServiceFactory = ReturnType; export const integrationServiceFactory = ({ - integrationDal, - integrationAuthDal, - folderDal, + integrationDAL, + integrationAuthDAL, + folderDAL, permissionService, secretQueueService }: TIntegrationServiceFactoryDep) => { @@ -54,7 +54,7 @@ export const integrationServiceFactory = ({ targetEnvironment, targetEnvironmentId }: TCreateIntegrationDTO) => { - const integrationAuth = await integrationAuthDal.findById(integrationAuthId); + const integrationAuth = await integrationAuthDAL.findById(integrationAuthId); if (!integrationAuth) throw new BadRequestError({ message: "Integration auth not found" }); const { permission } = await permissionService.getProjectPermission( @@ -67,14 +67,14 @@ export const integrationServiceFactory = ({ ProjectPermissionSub.Integrations ); - const folder = await folderDal.findBySecretPath( + const folder = await folderDAL.findBySecretPath( integrationAuth.projectId, sourceEnvironment, secretPath ); if (!folder) throw new BadRequestError({ message: "Folder path not found" }); - const integration = await integrationDal.create({ + const integration = await integrationDAL.create({ envId: folder.envId, secretPath, isActive, @@ -113,7 +113,7 @@ export const integrationServiceFactory = ({ environment, secretPath }: TUpdateIntegrationDTO) => { - const integration = await integrationDal.findById(id); + const integration = await integrationDAL.findById(id); if (!integration) throw new BadRequestError({ message: "Integration auth not found" }); const { permission } = await permissionService.getProjectPermission( @@ -126,10 +126,10 @@ export const integrationServiceFactory = ({ ProjectPermissionSub.Integrations ); - const folder = await folderDal.findBySecretPath(integration.projectId, environment, secretPath); + const folder = await folderDAL.findBySecretPath(integration.projectId, environment, secretPath); if (!folder) throw new BadRequestError({ message: "Folder path not found" }); - const updatedIntegration = await integrationDal.updateById(id, { + const updatedIntegration = await integrationDAL.updateById(id, { envId: folder.envId, isActive, app, @@ -143,7 +143,7 @@ export const integrationServiceFactory = ({ }; const deleteIntegration = async ({ actorId, id, actor }: TDeleteIntegrationDTO) => { - const integration = await integrationDal.findById(id); + const integration = await integrationDAL.findById(id); if (!integration) throw new BadRequestError({ message: "Integration auth not found" }); const { permission } = await permissionService.getProjectPermission( @@ -156,7 +156,7 @@ export const integrationServiceFactory = ({ ProjectPermissionSub.Integrations ); - const deletedIntegration = await integrationDal.deleteById(id); + const deletedIntegration = await integrationDAL.deleteById(id); return { ...integration, ...deletedIntegration }; }; @@ -167,7 +167,7 @@ export const integrationServiceFactory = ({ ProjectPermissionSub.Integrations ); - const integrations = await integrationDal.findByProjectId(projectId); + const integrations = await integrationDAL.findByProjectId(projectId); return integrations; }; diff --git a/backend-pg/src/services/org/incident-contacts-dal.ts b/backend-pg/src/services/org/incident-contacts-dal.ts index ff43c6e02..c17516241 100644 --- a/backend-pg/src/services/org/incident-contacts-dal.ts +++ b/backend-pg/src/services/org/incident-contacts-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName, TIncidentContacts } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; -export type TIncidentContactsDalFactory = ReturnType; +export type TIncidentContactsDALFactory = ReturnType; -export const incidentContactDalFactory = (db: TDbClient) => { +export const incidentContactDALFactory = (db: TDbClient) => { const create = async (orgId: string, email: string) => { try { const [incidentContact] = await db(TableName.IncidentContact) diff --git a/backend-pg/src/services/org/org-bot-dal.ts b/backend-pg/src/services/org/org-bot-dal.ts index b4ac0456f..b2ee54758 100644 --- a/backend-pg/src/services/org/org-bot-dal.ts +++ b/backend-pg/src/services/org/org-bot-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TOrgBotDalFactory = ReturnType; +export type TOrgBotDALFactory = ReturnType; -export const orgBotDalFactory = (db: TDbClient) => { +export const orgBotDALFactory = (db: TDbClient) => { const orgBotOrm = ormify(db, TableName.OrgBot); return orgBotOrm; }; diff --git a/backend-pg/src/services/org/org-dal.ts b/backend-pg/src/services/org/org-dal.ts index e9921b8a7..4b9b81a40 100644 --- a/backend-pg/src/services/org/org-dal.ts +++ b/backend-pg/src/services/org/org-dal.ts @@ -18,9 +18,9 @@ import { withTransaction } from "@app/lib/knex"; -export type TOrgDalFactory = ReturnType; +export type TOrgDALFactory = ReturnType; -export const orgDalFactory = (db: TDbClient) => { +export const orgDALFactory = (db: TDbClient) => { const findOrgById = async (orgId: string) => { try { const org = await db(TableName.Organization).where({ id: orgId }).first(); diff --git a/backend-pg/src/services/org/org-role-dal.ts b/backend-pg/src/services/org/org-role-dal.ts index 24bf2482a..2bc57001a 100644 --- a/backend-pg/src/services/org/org-role-dal.ts +++ b/backend-pg/src/services/org/org-role-dal.ts @@ -2,6 +2,6 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TOrgRoleDalFactory = ReturnType; +export type TOrgRoleDALFactory = ReturnType; -export const orgRoleDalFactory = (db: TDbClient) => ormify(db, TableName.OrgRoles); +export const orgRoleDALFactory = (db: TDbClient) => ormify(db, TableName.OrgRoles); diff --git a/backend-pg/src/services/org/org-role-service.ts b/backend-pg/src/services/org/org-role-service.ts index 9dfe1ce07..98515515a 100644 --- a/backend-pg/src/services/org/org-role-service.ts +++ b/backend-pg/src/services/org/org-role-service.ts @@ -11,17 +11,17 @@ import { import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service"; import { BadRequestError } from "@app/lib/errors"; -import { TOrgRoleDalFactory } from "./org-role-dal"; +import { TOrgRoleDALFactory } from "./org-role-dal"; type TOrgRoleServiceFactoryDep = { - orgRoleDal: TOrgRoleDalFactory; + orgRoleDAL: TOrgRoleDALFactory; permissionService: TPermissionServiceFactory; }; export type TOrgRoleServiceFactory = ReturnType; export const orgRoleServiceFactory = ({ - orgRoleDal, + orgRoleDAL, permissionService }: TOrgRoleServiceFactoryDep) => { const createRole = async ( @@ -34,9 +34,9 @@ export const orgRoleServiceFactory = ({ OrgPermissionActions.Create, OrgPermissionSubjects.Role ); - const existingRole = await orgRoleDal.findOne({ slug: data.slug, orgId }); + const existingRole = await orgRoleDAL.findOne({ slug: data.slug, orgId }); if (existingRole) throw new BadRequestError({ name: "Create Role", message: "Duplicate role" }); - const role = await orgRoleDal.create({ + const role = await orgRoleDAL.create({ ...data, orgId, permissions: JSON.stringify(data.permissions) @@ -56,11 +56,11 @@ export const orgRoleServiceFactory = ({ OrgPermissionSubjects.Role ); if (data?.slug) { - const existingRole = await orgRoleDal.findOne({ slug: data.slug, orgId }); + const existingRole = await orgRoleDAL.findOne({ slug: data.slug, orgId }); if (existingRole && existingRole.id !== roleId) throw new BadRequestError({ name: "Update Role", message: "Duplicate role" }); } - const [updatedRole] = await orgRoleDal.update( + const [updatedRole] = await orgRoleDAL.update( { id: roleId, orgId }, { ...data, permissions: data.permissions ? JSON.stringify(data.permissions) : undefined } ); @@ -74,7 +74,7 @@ export const orgRoleServiceFactory = ({ OrgPermissionActions.Delete, OrgPermissionSubjects.Role ); - const [deletedRole] = await orgRoleDal.delete({ id: roleId, orgId }); + const [deletedRole] = await orgRoleDAL.delete({ id: roleId, orgId }); if (!deleteRole) throw new BadRequestError({ message: "Role not found", name: "Update role" }); return deletedRole; @@ -86,7 +86,7 @@ export const orgRoleServiceFactory = ({ OrgPermissionActions.Read, OrgPermissionSubjects.Role ); - const customRoles = await orgRoleDal.find({ orgId }); + const customRoles = await orgRoleDAL.find({ orgId }); const roles = [ { id: "b11b49a9-09a9-4443-916a-4246f9ff2c69", // dummy userid diff --git a/backend-pg/src/services/org/org-service.ts b/backend-pg/src/services/org/org-service.ts index f6600ebc0..283443b56 100644 --- a/backend-pg/src/services/org/org-service.ts +++ b/backend-pg/src/services/org/org-service.ts @@ -8,7 +8,7 @@ import { OrgPermissionSubjects } from "@app/ee/services/permission/org-permission"; import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service"; -import { TSamlConfigDalFactory } from "@app/ee/services/saml-config/saml-config-dal"; +import { TSamlConfigDALFactory } from "@app/ee/services/saml-config/saml-config-dal"; import { getConfig } from "@app/lib/config/env"; import { generateAsymmetricKeyPair } from "@app/lib/crypto"; import { generateSymmetricKey, infisicalSymmetricEncypt } from "@app/lib/crypto/encryption"; @@ -19,11 +19,11 @@ import { AuthMethod, AuthTokenType } from "../auth/auth-type"; import { TAuthTokenServiceFactory } from "../auth-token/auth-token-service"; import { TokenType } from "../auth-token/auth-token-types"; import { SmtpTemplates, TSmtpService } from "../smtp/smtp-service"; -import { TUserDalFactory } from "../user/user-dal"; -import { TIncidentContactsDalFactory } from "./incident-contacts-dal"; -import { TOrgBotDalFactory } from "./org-bot-dal"; -import { TOrgDalFactory } from "./org-dal"; -import { TOrgRoleDalFactory } from "./org-role-dal"; +import { TUserDALFactory } from "../user/user-dal"; +import { TIncidentContactsDALFactory } from "./incident-contacts-dal"; +import { TOrgBotDALFactory } from "./org-bot-dal"; +import { TOrgDALFactory } from "./org-dal"; +import { TOrgRoleDALFactory } from "./org-role-dal"; import { TDeleteOrgMembershipDTO, TInviteUserToOrgDTO, @@ -32,12 +32,12 @@ import { } from "./org-types"; type TOrgServiceFactoryDep = { - orgDal: TOrgDalFactory; - orgBotDal: TOrgBotDalFactory; - orgRoleDal: TOrgRoleDalFactory; - userDal: TUserDalFactory; - incidentContactDal: TIncidentContactsDalFactory; - samlConfigDal: Pick; + orgDAL: TOrgDALFactory; + orgBotDAL: TOrgBotDALFactory; + orgRoleDAL: TOrgRoleDALFactory; + userDAL: TUserDALFactory; + incidentContactDAL: TIncidentContactsDALFactory; + samlConfigDAL: Pick; smtpService: TSmtpService; tokenService: TAuthTokenServiceFactory; permissionService: TPermissionServiceFactory; @@ -50,23 +50,23 @@ type TOrgServiceFactoryDep = { export type TOrgServiceFactory = ReturnType; export const orgServiceFactory = ({ - orgDal, - userDal, - orgRoleDal, - incidentContactDal, + orgDAL, + userDAL, + orgRoleDAL, + incidentContactDAL, permissionService, smtpService, tokenService, - orgBotDal, + orgBotDAL, licenseService, - samlConfigDal + samlConfigDAL }: TOrgServiceFactoryDep) => { /* * Get organization details by the organization id * */ const findOrganizationById = async (userId: string, orgId: string) => { await permissionService.getUserOrgPermission(userId, orgId); - const org = await orgDal.findOrgById(orgId); + const org = await orgDAL.findOrgById(orgId); if (!org) throw new BadRequestError({ name: "Org not found", message: "Organization not found" }); return org; @@ -75,7 +75,7 @@ export const orgServiceFactory = ({ * Get all organization a user part of * */ const findAllOrganizationOfUser = async (userId: string) => { - const orgs = await orgDal.findAllOrgsByUserId(userId); + const orgs = await orgDAL.findAllOrgsByUserId(userId); return orgs; }; /* @@ -88,7 +88,7 @@ export const orgServiceFactory = ({ OrgPermissionSubjects.Member ); - const members = await orgDal.findAllOrgMembers(orgId); + const members = await orgDAL.findAllOrgMembers(orgId); return members; }; /* @@ -100,7 +100,7 @@ export const orgServiceFactory = ({ OrgPermissionActions.Edit, OrgPermissionSubjects.Settings ); - const org = await orgDal.updateById(orgId, { name }); + const org = await orgDAL.updateById(orgId, { name }); if (!org) throw new BadRequestError({ name: "Org not found", message: "Organization not found" }); return org; @@ -127,9 +127,9 @@ export const orgServiceFactory = ({ } = infisicalSymmetricEncypt(key); const customerId = await licenseService.generateOrgCustomerId(orgName, userEmail); - const organization = await orgDal.transaction(async (tx) => { - const org = await orgDal.create({ name: orgName, customerId }, tx); - await orgDal.createMembership( + const organization = await orgDAL.transaction(async (tx) => { + const org = await orgDAL.create({ name: orgName, customerId }, tx); + await orgDAL.createMembership( { userId, orgId: org.id, @@ -138,7 +138,7 @@ export const orgServiceFactory = ({ }, tx ); - await orgBotDal.create( + await orgBotDAL.create( { name: org.name, publicKey, @@ -170,7 +170,7 @@ export const orgServiceFactory = ({ if (membership.role !== OrgMembershipRole.Admin) throw new UnauthorizedError({ name: "Delete org by id", message: "Not an admin" }); - const organization = await orgDal.deleteById(orgId); + const organization = await orgDAL.deleteById(orgId); if (organization.customerId) { await licenseService.removeOrgCustomer(organization.customerId); } @@ -194,7 +194,7 @@ export const orgServiceFactory = ({ const isCustomRole = !Object.values(OrgMembershipRole).includes(role as OrgMembershipRole); if (isCustomRole) { - const customRole = await orgRoleDal.findOne({ slug: role, orgId }); + const customRole = await orgRoleDAL.findOne({ slug: role, orgId }); if (!customRole) throw new BadRequestError({ name: "Update membership", message: "Role not found" }); @@ -205,7 +205,7 @@ export const orgServiceFactory = ({ "Failed to assign custom role due to RBAC restriction. Upgrade plan to assign custom role to member." }); - const [membership] = await orgDal.updateMembership( + const [membership] = await orgDAL.updateMembership( { id: membershipId, orgId }, { role: OrgMembershipRole.Custom, @@ -215,7 +215,7 @@ export const orgServiceFactory = ({ return membership; } - const [membership] = await orgDal.updateMembership( + const [membership] = await orgDAL.updateMembership( { id: membershipId, orgId }, { role, roleId: null } ); @@ -231,7 +231,7 @@ export const orgServiceFactory = ({ OrgPermissionSubjects.Member ); - const samlCfg = await samlConfigDal.findOne({ orgId }); + const samlCfg = await samlConfigDAL.findOne({ orgId }); if (samlCfg && samlCfg.isActive) { throw new BadRequestError({ message: "Failed to invite member due to SAML SSO configured for organization" @@ -246,12 +246,12 @@ export const orgServiceFactory = ({ "Failed to invite member due to member limit reached. Upgrade plan to invite more members." }); } - const invitee = await orgDal.transaction(async (tx) => { - const inviteeUser = await userDal.findUserByEmail(inviteeEmail, tx); + const invitee = await orgDAL.transaction(async (tx) => { + const inviteeUser = await userDAL.findUserByEmail(inviteeEmail, tx); if (inviteeUser) { // if user already exist means its already part of infisical // Thus the signup flow is not needed anymore - const [inviteeMembership] = await orgDal.findMembership( + const [inviteeMembership] = await orgDAL.findMembership( { orgId, userId: inviteeUser.id }, { tx } ); @@ -263,7 +263,7 @@ export const orgServiceFactory = ({ } if (!inviteeMembership) { - await orgDal.createMembership( + await orgDAL.createMembership( { userId: inviteeUser.id, inviteEmail: inviteeEmail, @@ -284,7 +284,7 @@ export const orgServiceFactory = ({ }); } // not invited before - const user = await userDal.create( + const user = await userDAL.create( { email: inviteeEmail, isAccepted: false, @@ -292,7 +292,7 @@ export const orgServiceFactory = ({ }, tx ); - await orgDal.createMembership( + await orgDAL.createMembership( { inviteEmail: inviteeEmail, orgId, @@ -311,8 +311,8 @@ export const orgServiceFactory = ({ orgId }); - const org = await orgDal.findOrgById(orgId); - const user = await userDal.findById(userId); + const org = await orgDAL.findOrgById(orgId); + const user = await userDAL.findById(userId); const appCfg = getConfig(); await smtpService.sendMail({ template: SmtpTemplates.OrgInvite, @@ -340,11 +340,11 @@ export const orgServiceFactory = ({ * magic link and issue a temporary signup token for user to complete setting up their account */ const verifyUserToOrg = async ({ orgId, email, code }: TVerifyUserToOrgDTO) => { - const user = await userDal.findUserByEmail(email); + const user = await userDAL.findUserByEmail(email); if (!user) { throw new BadRequestError({ message: "Invalid request", name: "Verify user to org" }); } - const [orgMembership] = await orgDal.findMembership({ + const [orgMembership] = await orgDAL.findMembership({ userId: user.id, status: OrgMembershipStatus.Invited, orgId @@ -365,7 +365,7 @@ export const orgServiceFactory = ({ if (user.isAccepted) { // this means user has already completed signup process // isAccepted is set true when keys are exchanged - await orgDal.updateMembershipById(orgMembership.id, { + await orgDAL.updateMembershipById(orgMembership.id, { orgId, status: OrgMembershipStatus.Accepted }); @@ -395,7 +395,7 @@ export const orgServiceFactory = ({ OrgPermissionSubjects.Member ); - const membership = await orgDal.deleteMembershipById(membershipId, orgId); + const membership = await orgDAL.deleteMembershipById(membershipId, orgId); await licenseService.updateSubscriptionOrgMemberCount(orgId); return membership; @@ -410,7 +410,7 @@ export const orgServiceFactory = ({ OrgPermissionActions.Read, OrgPermissionSubjects.IncidentAccount ); - const incidentContacts = await incidentContactDal.findByOrgId(orgId); + const incidentContacts = await incidentContactDAL.findByOrgId(orgId); return incidentContacts; }; @@ -420,7 +420,7 @@ export const orgServiceFactory = ({ OrgPermissionActions.Create, OrgPermissionSubjects.IncidentAccount ); - const doesIncidentContactExist = await incidentContactDal.findOne(orgId, { email }); + const doesIncidentContactExist = await incidentContactDAL.findOne(orgId, { email }); if (doesIncidentContactExist) { throw new BadRequestError({ message: "Incident contact already exist", @@ -428,7 +428,7 @@ export const orgServiceFactory = ({ }); } - const incidentContact = await incidentContactDal.create(orgId, email); + const incidentContact = await incidentContactDAL.create(orgId, email); return incidentContact; }; @@ -439,7 +439,7 @@ export const orgServiceFactory = ({ OrgPermissionSubjects.IncidentAccount ); - const incidentContact = await incidentContactDal.deleteById(id, orgId); + const incidentContact = await incidentContactDAL.deleteById(id, orgId); return incidentContact; }; diff --git a/backend-pg/src/services/project-bot/project-bot-dal.ts b/backend-pg/src/services/project-bot/project-bot-dal.ts index 66e66b49e..39a8628b8 100644 --- a/backend-pg/src/services/project-bot/project-bot-dal.ts +++ b/backend-pg/src/services/project-bot/project-bot-dal.ts @@ -5,9 +5,9 @@ import { TableName, TProjectBots } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TProjectBotDalFactory = ReturnType; +export type TProjectBotDALFactory = ReturnType; -export const projectBotDalFactory = (db: TDbClient) => { +export const projectBotDALFactory = (db: TDbClient) => { const projectBotOrm = ormify(db, TableName.ProjectBot); const findOne = async (filter: Partial, tx?: Knex) => { diff --git a/backend-pg/src/services/project-bot/project-bot-service.ts b/backend-pg/src/services/project-bot/project-bot-service.ts index 387da3354..8a3fd19d9 100644 --- a/backend-pg/src/services/project-bot/project-bot-service.ts +++ b/backend-pg/src/services/project-bot/project-bot-service.ts @@ -18,18 +18,18 @@ import { import { BadRequestError } from "@app/lib/errors"; import { TProjectPermission } from "@app/lib/types"; -import { TProjectBotDalFactory } from "./project-bot-dal"; +import { TProjectBotDALFactory } from "./project-bot-dal"; import { TSetActiveStateDTO } from "./project-bot-types"; type TProjectBotServiceFactoryDep = { permissionService: Pick; - projectBotDal: TProjectBotDalFactory; + projectBotDAL: TProjectBotDALFactory; }; export type TProjectBotServiceFactory = ReturnType; export const projectBotServiceFactory = ({ - projectBotDal, + projectBotDAL, permissionService }: TProjectBotServiceFactoryDep) => { const getBotKey = async (projectId: string) => { @@ -37,7 +37,7 @@ export const projectBotServiceFactory = ({ const encryptionKey = appCfg.ENCRYPTION_KEY; const rootEncryptionKey = appCfg.ROOT_ENCRYPTION_KEY; - const bot = await projectBotDal.findOne({ projectId }); + const bot = await projectBotDAL.findOne({ projectId }); if (!bot) throw new BadRequestError({ message: "failed to find bot key" }); if (!bot.isActive) throw new BadRequestError({ message: "Bot is not active" }); if (!bot.encryptedProjectKeyNonce || !bot.encryptedProjectKey) @@ -85,14 +85,14 @@ export const projectBotServiceFactory = ({ ); const appCfg = getConfig(); - const bot = await projectBotDal.transaction(async (tx) => { - const doc = await projectBotDal.findOne({ projectId }, tx); + const bot = await projectBotDAL.transaction(async (tx) => { + const doc = await projectBotDAL.findOne({ projectId }, tx); if (doc) return doc; const { publicKey, privateKey } = generateAsymmetricKeyPair(); if (appCfg.ROOT_ENCRYPTION_KEY) { const { iv, tag, ciphertext } = encryptSymmetric(privateKey, appCfg.ROOT_ENCRYPTION_KEY); - return projectBotDal.create( + return projectBotDAL.create( { name: "Infisical Bot", projectId, @@ -112,7 +112,7 @@ export const projectBotServiceFactory = ({ privateKey, appCfg.ENCRYPTION_KEY ); - return projectBotDal.create( + return projectBotDAL.create( { name: "Infisical Bot", projectId, @@ -139,7 +139,7 @@ export const projectBotServiceFactory = ({ actorId, isActive }: TSetActiveStateDTO) => { - const bot = await projectBotDal.findById(botId); + const bot = await projectBotDAL.findById(botId); if (!bot) throw new BadRequestError({ message: "Bot not found" }); const { permission } = await permissionService.getProjectPermission( @@ -156,7 +156,7 @@ export const projectBotServiceFactory = ({ if (!botKey?.nonce || !botKey?.encryptedKey) { throw new BadRequestError({ message: "Failed to set bot active - missing bot key" }); } - const doc = await projectBotDal.updateById(botId, { + const doc = await projectBotDAL.updateById(botId, { isActive: true, encryptedProjectKey: botKey.encryptedKey, encryptedProjectKeyNonce: botKey.nonce, @@ -166,7 +166,7 @@ export const projectBotServiceFactory = ({ return doc; } - const doc = await projectBotDal.updateById(botId, { + const doc = await projectBotDAL.updateById(botId, { isActive: false, encryptedProjectKey: null, encryptedProjectKeyNonce: null diff --git a/backend-pg/src/services/project-env/project-env-dal.ts b/backend-pg/src/services/project-env/project-env-dal.ts index 6433bc2e7..c74e8803c 100644 --- a/backend-pg/src/services/project-env/project-env-dal.ts +++ b/backend-pg/src/services/project-env/project-env-dal.ts @@ -5,9 +5,9 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TProjectEnvDalFactory = ReturnType; +export type TProjectEnvDALFactory = ReturnType; -export const projectEnvDalFactory = (db: TDbClient) => { +export const projectEnvDALFactory = (db: TDbClient) => { const projectEnvOrm = ormify(db, TableName.Environment); const findBySlugs = async (projectId: string, env: string[], tx?: Knex) => { diff --git a/backend-pg/src/services/project-env/project-env-service.ts b/backend-pg/src/services/project-env/project-env-service.ts index 24c909a38..d95bb7950 100644 --- a/backend-pg/src/services/project-env/project-env-service.ts +++ b/backend-pg/src/services/project-env/project-env-service.ts @@ -8,15 +8,15 @@ import { } from "@app/ee/services/permission/project-permission"; import { BadRequestError } from "@app/lib/errors"; -import { TProjectDalFactory } from "../project/project-dal"; -import { TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal"; -import { TProjectEnvDalFactory } from "./project-env-dal"; +import { TProjectDALFactory } from "../project/project-dal"; +import { TSecretFolderDALFactory } from "../secret-folder/secret-folder-dal"; +import { TProjectEnvDALFactory } from "./project-env-dal"; import { TCreateEnvDTO, TDeleteEnvDTO, TUpdateEnvDTO } from "./project-env-types"; type TProjectEnvServiceFactoryDep = { - projectEnvDal: TProjectEnvDalFactory; - folderDal: Pick; - projectDal: Pick; + projectEnvDAL: TProjectEnvDALFactory; + folderDAL: Pick; + projectDAL: Pick; permissionService: Pick; licenseService: Pick; }; @@ -24,11 +24,11 @@ type TProjectEnvServiceFactoryDep = { export type TProjectEnvServiceFactory = ReturnType; export const projectEnvServiceFactory = ({ - projectEnvDal, + projectEnvDAL, permissionService, licenseService, - projectDal, - folderDal + projectDAL, + folderDAL }: TProjectEnvServiceFactoryDep) => { const createEnvironment = async ({ projectId, actorId, actor, name, slug }: TCreateEnvDTO) => { const { permission } = await permissionService.getProjectPermission(actor, actorId, projectId); @@ -37,7 +37,7 @@ export const projectEnvServiceFactory = ({ ProjectPermissionSub.Environments ); - const envs = await projectEnvDal.find({ projectId }); + const envs = await projectEnvDAL.find({ projectId }); const existingEnv = envs.find(({ slug: envSlug }) => envSlug === slug); if (existingEnv) throw new BadRequestError({ @@ -45,7 +45,7 @@ export const projectEnvServiceFactory = ({ name: "Create envv" }); - const project = await projectDal.findById(projectId); + const project = await projectDAL.findById(projectId); const plan = await licenseService.getPlan(project.orgId); if (plan.environmentLimit !== null && envs.length >= plan.environmentLimit) { // case: limit imposed on number of environments allowed @@ -56,10 +56,10 @@ export const projectEnvServiceFactory = ({ }); } - const env = await projectEnvDal.transaction(async (tx) => { - const lastPos = await projectEnvDal.findLastEnvPosition(projectId, 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); + const env = await projectEnvDAL.transaction(async (tx) => { + const lastPos = await projectEnvDAL.findLastEnvPosition(projectId, 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 env; @@ -80,11 +80,11 @@ export const projectEnvServiceFactory = ({ ProjectPermissionSub.Environments ); - const oldEnv = await projectEnvDal.findOne({ id, projectId }); + const oldEnv = await projectEnvDAL.findOne({ id, projectId }); if (!oldEnv) throw new BadRequestError({ message: "Environment not found" }); if (slug) { - const existingEnv = await projectEnvDal.findOne({ slug }); + const existingEnv = await projectEnvDAL.findOne({ slug }); if (existingEnv && existingEnv.id !== id) { throw new BadRequestError({ message: "Environment with slug already exist", @@ -93,11 +93,11 @@ export const projectEnvServiceFactory = ({ } } - const env = await projectEnvDal.transaction(async (tx) => { + const env = await projectEnvDAL.transaction(async (tx) => { if (position) { - await projectEnvDal.updateAllPosition(projectId, oldEnv.position, position, tx); + await projectEnvDAL.updateAllPosition(projectId, oldEnv.position, position, tx); } - return projectEnvDal.updateById(oldEnv.id, { name, slug, position }, tx); + return projectEnvDAL.updateById(oldEnv.id, { name, slug, position }, tx); }); return { environment: env, old: oldEnv }; }; @@ -109,15 +109,15 @@ export const projectEnvServiceFactory = ({ ProjectPermissionSub.Environments ); - const env = await projectEnvDal.transaction(async (tx) => { - const [doc] = await projectEnvDal.delete({ id, projectId }, tx); + const env = await projectEnvDAL.transaction(async (tx) => { + const [doc] = await projectEnvDAL.delete({ id, projectId }, tx); if (!doc) throw new BadRequestError({ message: "Env doesn't exist", name: "Re-order env" }); - await projectEnvDal.updateAllPosition(projectId, doc.position, -1, tx); + await projectEnvDAL.updateAllPosition(projectId, doc.position, -1, tx); return doc; }); return env; diff --git a/backend-pg/src/services/project-key/project-key-dal.ts b/backend-pg/src/services/project-key/project-key-dal.ts index 48d8c0a2b..b183a933b 100644 --- a/backend-pg/src/services/project-key/project-key-dal.ts +++ b/backend-pg/src/services/project-key/project-key-dal.ts @@ -3,9 +3,9 @@ import { TableName, TProjectKeys } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TProjectKeyDalFactory = ReturnType; +export type TProjectKeyDALFactory = ReturnType; -export const projectKeyDalFactory = (db: TDbClient) => { +export const projectKeyDALFactory = (db: TDbClient) => { const projectKeyOrm = ormify(db, TableName.ProjectKeys); const findLatestProjectKey = async ( diff --git a/backend-pg/src/services/project-key/project-key-service.ts b/backend-pg/src/services/project-key/project-key-service.ts index 9baa0ecca..76694217f 100644 --- a/backend-pg/src/services/project-key/project-key-service.ts +++ b/backend-pg/src/services/project-key/project-key-service.ts @@ -7,21 +7,21 @@ import { } from "@app/ee/services/permission/project-permission"; import { BadRequestError } from "@app/lib/errors"; -import { TProjectMembershipDalFactory } from "../project-membership/project-membership-dal"; -import { TProjectKeyDalFactory } from "./project-key-dal"; +import { TProjectMembershipDALFactory } from "../project-membership/project-membership-dal"; +import { TProjectKeyDALFactory } from "./project-key-dal"; import { TGetLatestProjectKeyDTO, TUploadProjectKeyDTO } from "./project-key-types"; type TProjectKeyServiceFactoryDep = { permissionService: TPermissionServiceFactory; - projectKeyDal: TProjectKeyDalFactory; - projectMembershipDal: TProjectMembershipDalFactory; + projectKeyDAL: TProjectKeyDALFactory; + projectMembershipDAL: TProjectMembershipDALFactory; }; export type TProjectKeyServiceFactory = ReturnType; export const projectKeyServiceFactory = ({ - projectKeyDal, - projectMembershipDal, + projectKeyDAL, + projectMembershipDAL, permissionService }: TProjectKeyServiceFactoryDep) => { const uploadProjectKeys = async ({ @@ -38,7 +38,7 @@ export const projectKeyServiceFactory = ({ ProjectPermissionSub.Member ); - const receiverMembership = await projectMembershipDal.findOne({ + const receiverMembership = await projectMembershipDAL.findOne({ userId: receiverId, projectId }); @@ -48,12 +48,12 @@ export const projectKeyServiceFactory = ({ name: "Upload project keys" }); - await projectKeyDal.create({ projectId, receiverId, encryptedKey, nonce, senderId: actorId }); + await projectKeyDAL.create({ projectId, receiverId, encryptedKey, nonce, senderId: actorId }); }; const getLatestProjectKey = async ({ actorId, projectId, actor }: TGetLatestProjectKeyDTO) => { await permissionService.getProjectPermission(actor, actorId, projectId); - const latestKey = await projectKeyDal.findLatestProjectKey(actorId, projectId); + const latestKey = await projectKeyDAL.findLatestProjectKey(actorId, projectId); return latestKey; }; @@ -63,7 +63,7 @@ export const projectKeyServiceFactory = ({ ProjectPermissionActions.Read, ProjectPermissionSub.Member ); - return projectKeyDal.findAllProjectUserPubKeys(projectId); + return projectKeyDAL.findAllProjectUserPubKeys(projectId); }; return { diff --git a/backend-pg/src/services/project-membership/project-membership-dal.ts b/backend-pg/src/services/project-membership/project-membership-dal.ts index 060004eb9..86cfa55b4 100644 --- a/backend-pg/src/services/project-membership/project-membership-dal.ts +++ b/backend-pg/src/services/project-membership/project-membership-dal.ts @@ -3,9 +3,9 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TProjectMembershipDalFactory = ReturnType; +export type TProjectMembershipDALFactory = ReturnType; -export const projectMembershipDalFactory = (db: TDbClient) => { +export const projectMembershipDALFactory = (db: TDbClient) => { const projectMemberOrm = ormify(db, TableName.ProjectMembership); // special query diff --git a/backend-pg/src/services/project-membership/project-membership-service.ts b/backend-pg/src/services/project-membership/project-membership-service.ts index 742179509..d2b4901a0 100644 --- a/backend-pg/src/services/project-membership/project-membership-service.ts +++ b/backend-pg/src/services/project-membership/project-membership-service.ts @@ -11,13 +11,13 @@ import { getConfig } from "@app/lib/config/env"; import { BadRequestError } from "@app/lib/errors"; import { groupBy } from "@app/lib/fn"; -import { TOrgDalFactory } from "../org/org-dal"; -import { TProjectDalFactory } from "../project/project-dal"; -import { TProjectKeyDalFactory } from "../project-key/project-key-dal"; -import { TProjectRoleDalFactory } from "../project-role/project-role-dal"; +import { TOrgDALFactory } from "../org/org-dal"; +import { TProjectDALFactory } from "../project/project-dal"; +import { TProjectKeyDALFactory } from "../project-key/project-key-dal"; +import { TProjectRoleDALFactory } from "../project-role/project-role-dal"; import { SmtpTemplates, TSmtpService } from "../smtp/smtp-service"; -import { TUserDalFactory } from "../user/user-dal"; -import { TProjectMembershipDalFactory } from "./project-membership-dal"; +import { TUserDALFactory } from "../user/user-dal"; +import { TProjectMembershipDALFactory } from "./project-membership-dal"; import { TAddUsersToWorkspaceDTO, TDeleteProjectMembershipDTO, @@ -29,12 +29,12 @@ import { type TProjectMembershipServiceFactoryDep = { permissionService: Pick; smtpService: TSmtpService; - projectMembershipDal: TProjectMembershipDalFactory; - userDal: Pick; - projectRoleDal: Pick; - orgDal: Pick; - projectDal: Pick; - projectKeyDal: Pick; + projectMembershipDAL: TProjectMembershipDALFactory; + userDAL: Pick; + projectRoleDAL: Pick; + orgDAL: Pick; + projectDAL: Pick; + projectKeyDAL: Pick; licenseService: Pick; }; @@ -42,13 +42,13 @@ export type TProjectMembershipServiceFactory = ReturnType { const getProjectMemberships = async ({ actorId, actor, projectId }: TGetProjectMembershipDTO) => { @@ -58,7 +58,7 @@ export const projectMembershipServiceFactory = ({ ProjectPermissionSub.Member ); - return projectMembershipDal.findAllProjectMembers(projectId); + return projectMembershipDAL.findAllProjectMembers(projectId); }; const inviteUserToProject = async ({ @@ -73,14 +73,14 @@ export const projectMembershipServiceFactory = ({ ProjectPermissionSub.Member ); - const invitee = await userDal.findOne({ email }); + const invitee = await userDAL.findOne({ email }); if (!invitee || !invitee.isAccepted) throw new BadRequestError({ message: "Faield to validate invitee", name: "Invite user to project" }); - const inviteeMembership = await projectMembershipDal.findOne({ + const inviteeMembership = await projectMembershipDAL.findOne({ userId: invitee.id, projectId }); @@ -90,8 +90,8 @@ export const projectMembershipServiceFactory = ({ name: "Invite user to project" }); - const project = await projectDal.findById(projectId); - const inviteeMembershipOrg = await orgDal.findMembership({ + const project = await projectDAL.findById(projectId); + const inviteeMembershipOrg = await orgDAL.findMembership({ userId: invitee.id, orgId: project.orgId, status: OrgMembershipStatus.Accepted @@ -102,14 +102,14 @@ export const projectMembershipServiceFactory = ({ name: "Invite user to project" }); - const latestKey = await projectKeyDal.findLatestProjectKey(actorId, projectId); - await projectMembershipDal.create({ + const latestKey = await projectKeyDAL.findLatestProjectKey(actorId, projectId); + await projectMembershipDAL.create({ userId: invitee.id, projectId, role: ProjectMembershipRole.Member }); - const sender = await userDal.findById(actorId); + const sender = await userDAL.findById(actorId); const appCfg = getConfig(); await smtpService.sendMail({ template: SmtpTemplates.WorkspaceInvite, @@ -132,7 +132,7 @@ export const projectMembershipServiceFactory = ({ actor, members }: TAddUsersToWorkspaceDTO) => { - const project = await projectDal.findById(projectId); + const project = await projectDAL.findById(projectId); if (!project) throw new BadRequestError({ message: "Project not found" }); const { permission } = await permissionService.getProjectPermission(actor, actorId, projectId); @@ -140,7 +140,7 @@ export const projectMembershipServiceFactory = ({ ProjectPermissionActions.Create, ProjectPermissionSub.Member ); - const orgMembers = await orgDal.findMembership({ + const orgMembers = await orgDAL.findMembership({ orgId: project.orgId, $in: { [`${TableName.OrgMembership}.id` as "id"]: members.map( @@ -151,15 +151,15 @@ export const projectMembershipServiceFactory = ({ if (orgMembers.length !== members.length) throw new BadRequestError({ message: "Some users are not part of org" }); - const existingMembers = await projectMembershipDal.find({ + const existingMembers = await projectMembershipDAL.find({ projectId, $in: { userId: orgMembers.map(({ userId }) => userId).filter(Boolean) as string[] } }); if (existingMembers.length) throw new BadRequestError({ message: "Some users are already part of project" }); - await projectMembershipDal.transaction(async (tx) => { - await projectMembershipDal.insertMany( + await projectMembershipDAL.transaction(async (tx) => { + await projectMembershipDAL.insertMany( orgMembers.map(({ userId }) => ({ projectId, userId: userId as string, @@ -168,7 +168,7 @@ export const projectMembershipServiceFactory = ({ tx ); const encKeyGroupByOrgMembId = groupBy(members, (i) => i.orgMembershipId); - await projectKeyDal.insertMany( + await projectKeyDAL.insertMany( orgMembers.map(({ userId, id }) => ({ encryptedKey: encKeyGroupByOrgMembId[id][0].workspaceEncryptedKey, nonce: encKeyGroupByOrgMembId[id][0].workspaceEncryptedNonce, @@ -179,7 +179,7 @@ export const projectMembershipServiceFactory = ({ tx ); }); - const sender = await userDal.findById(actorId); + const sender = await userDAL.findById(actorId); const appCfg = getConfig(); await smtpService.sendMail({ template: SmtpTemplates.WorkspaceInvite, @@ -212,10 +212,10 @@ export const projectMembershipServiceFactory = ({ role as ProjectMembershipRole ); if (isCustomRole) { - const customRole = await projectRoleDal.findOne({ slug: role, projectId }); + const customRole = await projectRoleDAL.findOne({ slug: role, projectId }); if (!customRole) throw new BadRequestError({ name: "Update project membership", message: "Role not found" }); - const project = await projectDal.findById(customRole.projectId); + const project = await projectDAL.findById(customRole.projectId); const plan = await licenseService.getPlan(project.orgId); if (!plan?.rbac) throw new BadRequestError({ @@ -223,7 +223,7 @@ export const projectMembershipServiceFactory = ({ "Failed to assign custom role due to RBAC restriction. Upgrade plan to assign custom role to member." }); - const [membership] = await projectMembershipDal.update( + const [membership] = await projectMembershipDAL.update( { id: membershipId, projectId }, { role: ProjectMembershipRole.Custom, @@ -233,7 +233,7 @@ export const projectMembershipServiceFactory = ({ return membership; } - const [membership] = await projectMembershipDal.update( + const [membership] = await projectMembershipDAL.update( { id: membershipId, projectId }, { role, roleId: null } ); @@ -252,12 +252,12 @@ export const projectMembershipServiceFactory = ({ ProjectPermissionSub.Member ); - const membership = await projectMembershipDal.transaction(async (tx) => { - const [deletedMembership] = await projectMembershipDal.delete( + const membership = await projectMembershipDAL.transaction(async (tx) => { + const [deletedMembership] = await projectMembershipDAL.delete( { projectId, id: membershipId }, tx ); - await projectKeyDal.delete({ receiverId: deletedMembership.userId, projectId }, tx); + await projectKeyDAL.delete({ receiverId: deletedMembership.userId, projectId }, tx); return deletedMembership; }); return membership; diff --git a/backend-pg/src/services/project-role/project-role-dal.ts b/backend-pg/src/services/project-role/project-role-dal.ts index 3a272f0dc..942fefa11 100644 --- a/backend-pg/src/services/project-role/project-role-dal.ts +++ b/backend-pg/src/services/project-role/project-role-dal.ts @@ -2,6 +2,6 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TProjectRoleDalFactory = ReturnType; +export type TProjectRoleDALFactory = ReturnType; -export const projectRoleDalFactory = (db: TDbClient) => ormify(db, TableName.ProjectRoles); +export const projectRoleDALFactory = (db: TDbClient) => ormify(db, TableName.ProjectRoles); diff --git a/backend-pg/src/services/project-role/project-role-service.ts b/backend-pg/src/services/project-role/project-role-service.ts index 5c5301d72..c234ffcf5 100644 --- a/backend-pg/src/services/project-role/project-role-service.ts +++ b/backend-pg/src/services/project-role/project-role-service.ts @@ -14,10 +14,10 @@ import { import { BadRequestError } from "@app/lib/errors"; import { ActorType } from "../auth/auth-type"; -import { TProjectRoleDalFactory } from "./project-role-dal"; +import { TProjectRoleDALFactory } from "./project-role-dal"; type TProjectRoleServiceFactoryDep = { - projectRoleDal: TProjectRoleDalFactory; + projectRoleDAL: TProjectRoleDALFactory; permissionService: Pick< TPermissionServiceFactory, "getProjectPermission" | "getUserProjectPermission" @@ -27,7 +27,7 @@ type TProjectRoleServiceFactoryDep = { export type TProjectRoleServiceFactory = ReturnType; export const projectRoleServiceFactory = ({ - projectRoleDal, + projectRoleDAL, permissionService }: TProjectRoleServiceFactoryDep) => { const createRole = async ( @@ -41,9 +41,9 @@ export const projectRoleServiceFactory = ({ ProjectPermissionActions.Create, ProjectPermissionSub.Role ); - const existingRole = await projectRoleDal.findOne({ slug: data.slug, projectId }); + const existingRole = await projectRoleDAL.findOne({ slug: data.slug, projectId }); if (existingRole) throw new BadRequestError({ name: "Create Role", message: "Duplicate role" }); - const role = await projectRoleDal.create({ + const role = await projectRoleDAL.create({ ...data, projectId, permissions: JSON.stringify(data.permissions) @@ -64,11 +64,11 @@ export const projectRoleServiceFactory = ({ ProjectPermissionSub.Role ); if (data?.slug) { - const existingRole = await projectRoleDal.findOne({ slug: data.slug, projectId }); + const existingRole = await projectRoleDAL.findOne({ slug: data.slug, projectId }); if (existingRole && existingRole.id !== roleId) throw new BadRequestError({ name: "Update Role", message: "Duplicate role" }); } - const [updatedRole] = await projectRoleDal.update( + const [updatedRole] = await projectRoleDAL.update( { id: roleId, projectId }, { ...data, permissions: data.permissions ? JSON.stringify(data.permissions) : undefined } ); @@ -87,7 +87,7 @@ export const projectRoleServiceFactory = ({ ProjectPermissionActions.Delete, ProjectPermissionSub.Role ); - const [deletedRole] = await projectRoleDal.delete({ id: roleId, projectId }); + const [deletedRole] = await projectRoleDAL.delete({ id: roleId, projectId }); if (!deleteRole) throw new BadRequestError({ message: "Role not found", name: "Update role" }); return deletedRole; @@ -99,7 +99,7 @@ export const projectRoleServiceFactory = ({ ProjectPermissionActions.Read, ProjectPermissionSub.Role ); - const customRoles = await projectRoleDal.find({ projectId }); + const customRoles = await projectRoleDAL.find({ projectId }); const roles = [ { id: "b11b49a9-09a9-4443-916a-4246f9ff2c69", // dummy userid diff --git a/backend-pg/src/services/project/project-dal.ts b/backend-pg/src/services/project/project-dal.ts index a3b1cab75..a82fbc3af 100644 --- a/backend-pg/src/services/project/project-dal.ts +++ b/backend-pg/src/services/project/project-dal.ts @@ -3,9 +3,9 @@ import { ProjectsSchema, TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols, sqlNestRelationships } from "@app/lib/knex"; -export type TProjectDalFactory = ReturnType; +export type TProjectDALFactory = ReturnType; -export const projectDalFactory = (db: TDbClient) => { +export const projectDALFactory = (db: TDbClient) => { const projectOrm = ormify(db, TableName.Project); const findAllProjects = async (userId: string) => { diff --git a/backend-pg/src/services/project/project-service.ts b/backend-pg/src/services/project/project-service.ts index 24e6202c7..6ae306047 100644 --- a/backend-pg/src/services/project/project-service.ts +++ b/backend-pg/src/services/project/project-service.ts @@ -15,11 +15,11 @@ import { getConfig } from "@app/lib/config/env"; import { createSecretBlindIndex } from "@app/lib/crypto"; import { BadRequestError } from "@app/lib/errors"; -import { TProjectEnvDalFactory } from "../project-env/project-env-dal"; -import { TProjectMembershipDalFactory } from "../project-membership/project-membership-dal"; -import { TSecretBlindIndexDalFactory } from "../secret/secret-blind-index-dal"; -import { ROOT_FOLDER_NAME, TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal"; -import { TProjectDalFactory } from "./project-dal"; +import { TProjectEnvDALFactory } from "../project-env/project-env-dal"; +import { TProjectMembershipDALFactory } from "../project-membership/project-membership-dal"; +import { TSecretBlindIndexDALFactory } from "../secret/secret-blind-index-dal"; +import { ROOT_FOLDER_NAME, TSecretFolderDALFactory } from "../secret-folder/secret-folder-dal"; +import { TProjectDALFactory } from "./project-dal"; import { TCreateProjectDTO, TDeleteProjectDTO, TGetProjectDTO } from "./project-types"; export const DEFAULT_PROJECT_ENVS = [ @@ -29,11 +29,11 @@ export const DEFAULT_PROJECT_ENVS = [ ]; type TProjectServiceFactoryDep = { - projectDal: TProjectDalFactory; - folderDal: Pick; - projectEnvDal: Pick; - projectMembershipDal: Pick; - secretBlindIndexDal: Pick; + projectDAL: TProjectDALFactory; + folderDAL: Pick; + projectEnvDAL: Pick; + projectMembershipDAL: Pick; + secretBlindIndexDAL: Pick; permissionService: TPermissionServiceFactory; licenseService: Pick; }; @@ -41,12 +41,12 @@ type TProjectServiceFactoryDep = { export type TProjectServiceFactory = ReturnType; export const projectServiceFactory = ({ - projectDal, + projectDAL, permissionService, - folderDal, - secretBlindIndexDal, - projectMembershipDal, - projectEnvDal, + folderDAL, + secretBlindIndexDAL, + projectMembershipDAL, + projectEnvDAL, licenseService }: TProjectServiceFactoryDep) => { /* @@ -72,10 +72,10 @@ export const projectServiceFactory = ({ }); } - const newProject = projectDal.transaction(async (tx) => { - const project = await projectDal.create({ name: workspaceName, orgId }, tx); + const newProject = projectDAL.transaction(async (tx) => { + const project = await projectDAL.create({ name: workspaceName, orgId }, tx); // set user as admin member for proeject - await projectMembershipDal.create( + await projectMembershipDAL.create( { userId: actorId, role: ProjectMembershipRole.Admin, @@ -84,7 +84,7 @@ export const projectServiceFactory = ({ tx ); // generate the blind index for project - await secretBlindIndexDal.create( + await secretBlindIndexDAL.create( { projectId: project.id, keyEncoding: blindIndex.keyEncoding, @@ -96,11 +96,11 @@ export const projectServiceFactory = ({ tx ); // set default environments and root folder for provided environments - const envs = await projectEnvDal.insertMany( + const envs = await projectEnvDAL.insertMany( DEFAULT_PROJECT_ENVS.map((el, i) => ({ ...el, projectId: project.id, position: i + 1 })), tx ); - await folderDal.insertMany( + await folderDAL.insertMany( envs.map(({ id }) => ({ name: ROOT_FOLDER_NAME, envId: id, version: 1 })), tx ); @@ -119,18 +119,18 @@ export const projectServiceFactory = ({ ); // TODO(backend-pg): licence server - const deletedProject = await projectDal.deleteById(projectId); + const deletedProject = await projectDAL.deleteById(projectId); return deletedProject; }; const getProjects = async (actorId: string) => { - const workspaces = await projectDal.findAllProjects(actorId); + const workspaces = await projectDAL.findAllProjects(actorId); return workspaces; }; const getAProject = async ({ actorId, projectId, actor }: TGetProjectDTO) => { await permissionService.getProjectPermission(actor, actorId, projectId); - return projectDal.findProjectById(projectId); + return projectDAL.findProjectById(projectId); }; const toggleAutoCapitalization = async ({ @@ -145,7 +145,7 @@ export const projectServiceFactory = ({ ProjectPermissionSub.Settings ); - const updatedProject = await projectDal.updateById(projectId, { autoCapitalization }); + const updatedProject = await projectDAL.updateById(projectId, { autoCapitalization }); return updatedProject; }; @@ -161,7 +161,7 @@ export const projectServiceFactory = ({ ProjectPermissionSub.Settings ); - const updatedProject = await projectDal.updateById(projectId, { name }); + const updatedProject = await projectDAL.updateById(projectId, { name }); return updatedProject; }; diff --git a/backend-pg/src/services/secret-folder/secret-folder-dal.ts b/backend-pg/src/services/secret-folder/secret-folder-dal.ts index 06ef7cfb6..6129cfa9d 100644 --- a/backend-pg/src/services/secret-folder/secret-folder-dal.ts +++ b/backend-pg/src/services/secret-folder/secret-folder-dal.ts @@ -225,10 +225,10 @@ const sqlFindSecretPathByFolderId = (db: Knex, projectId: string, folderIds: str .select("*") .from("parent"); -export type TSecretFolderDalFactory = ReturnType; +export type TSecretFolderDALFactory = ReturnType; // never change this. If u do write a migration for it export const ROOT_FOLDER_NAME = "root"; -export const secretFolderDalFactory = (db: TDbClient) => { +export const secretFolderDALFactory = (db: TDbClient) => { const secretFolderOrm = ormify(db, TableName.SecretFolder); const findBySecretPath = async ( diff --git a/backend-pg/src/services/secret-folder/secret-folder-service.ts b/backend-pg/src/services/secret-folder/secret-folder-service.ts index 55432d480..f68f89ec4 100644 --- a/backend-pg/src/services/secret-folder/secret-folder-service.ts +++ b/backend-pg/src/services/secret-folder/secret-folder-service.ts @@ -11,32 +11,32 @@ import { import { TSecretSnapshotServiceFactory } from "@app/ee/services/secret-snapshot/secret-snapshot-service"; import { BadRequestError } from "@app/lib/errors"; -import { TProjectEnvDalFactory } from "../project-env/project-env-dal"; -import { TSecretFolderDalFactory } from "./secret-folder-dal"; +import { TProjectEnvDALFactory } from "../project-env/project-env-dal"; +import { TSecretFolderDALFactory } from "./secret-folder-dal"; import { TCreateFolderDTO, TDeleteFolderDTO, TGetFolderDTO, TUpdateFolderDTO } from "./secret-folder-types"; -import { TSecretFolderVersionDalFactory } from "./secret-folder-version-dal"; +import { TSecretFolderVersionDALFactory } from "./secret-folder-version-dal"; type TSecretFolderServiceFactoryDep = { permissionService: Pick; snapshotService: Pick; - folderDal: TSecretFolderDalFactory; - projectEnvDal: Pick; - folderVersionDal: TSecretFolderVersionDalFactory; + folderDAL: TSecretFolderDALFactory; + projectEnvDAL: Pick; + folderVersionDAL: TSecretFolderVersionDALFactory; }; export type TSecretFolderServiceFactory = ReturnType; export const secretFolderServiceFactory = ({ - folderDal, + folderDAL, snapshotService, permissionService, - projectEnvDal, - folderVersionDal + projectEnvDAL, + folderVersionDAL }: TSecretFolderServiceFactoryDep) => { const createFolder = async ({ projectId, @@ -52,17 +52,17 @@ export const secretFolderServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath }) ); - const env = await projectEnvDal.findOne({ projectId, slug: environment }); + const env = await projectEnvDAL.findOne({ projectId, slug: environment }); if (!env) throw new BadRequestError({ message: "Environment not found", name: "Create folder" }); - const folder = await folderDal.transaction(async (tx) => { + const folder = await folderDAL.transaction(async (tx) => { // the logic is simple we need to avoid creating same folder in same path multiple times // that is this request must be idempotent // so we do a tricky move. we try to find the to be created folder path if that is exactly match return that // else we get some path before that then we will start creating remaining folder const pathWithFolder = path.join(secretPath, name); - const parentFolder = await folderDal.findClosestFolder( + const parentFolder = await folderDAL.findClosestFolder( projectId, environment, pathWithFolder, @@ -102,8 +102,8 @@ export const secretFolderServiceFactory = ({ } ); parentFolderId = newFolders.at(-1)?.id as string; - const docs = await folderDal.insertMany(newFolders, tx); - await folderVersionDal.insertMany( + const docs = await folderDAL.insertMany(newFolders, tx); + await folderVersionDAL.insertMany( docs.map((doc) => ({ name: doc.name, envId: doc.envId, @@ -115,11 +115,11 @@ export const secretFolderServiceFactory = ({ } } - const doc = await folderDal.create( + const doc = await folderDAL.create( { name, envId: env.id, version: 1, parentId: parentFolderId }, tx ); - await folderVersionDal.create( + await folderVersionDAL.create( { name: doc.name, envId: doc.envId, @@ -150,27 +150,27 @@ export const secretFolderServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath }) ); - const parentFolder = await folderDal.findBySecretPath(projectId, environment, secretPath); + const parentFolder = await folderDAL.findBySecretPath(projectId, environment, secretPath); if (!parentFolder) throw new BadRequestError({ message: "Secret path not found" }); - const env = await projectEnvDal.findOne({ projectId, slug: environment }); + const env = await projectEnvDAL.findOne({ projectId, slug: environment }); if (!env) throw new BadRequestError({ message: "Environment not found", name: "Update folder" }); - let folder = await folderDal.findOne({ envId: env.id, id, parentId: parentFolder.id }); + let folder = await folderDAL.findOne({ envId: env.id, id, parentId: parentFolder.id }); // now folder api accepts id based change // this is for cli and when cli removes this will remove this logic if (!folder) { - folder = await folderDal.findOne({ envId: env.id, name: id, parentId: parentFolder.id }); + folder = await folderDAL.findOne({ envId: env.id, name: id, parentId: parentFolder.id }); } if (!folder) throw new BadRequestError({ message: "Folder not found" }); - const newFolder = await folderDal.transaction(async (tx) => { - const [doc] = await folderDal.update( + const newFolder = await folderDAL.transaction(async (tx) => { + const [doc] = await folderDAL.update( { envId: env.id, id: folder.id, parentId: parentFolder.id }, { name }, tx ); - await folderVersionDal.create( + await folderVersionDAL.create( { name: doc.name, envId: doc.envId, @@ -201,15 +201,15 @@ export const secretFolderServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath }) ); - const env = await projectEnvDal.findOne({ projectId, slug: environment }); + const env = await projectEnvDAL.findOne({ projectId, slug: environment }); if (!env) throw new BadRequestError({ message: "Environment not found", name: "Create folder" }); - const folder = await folderDal.transaction(async (tx) => { - const parentFolder = await folderDal.findBySecretPath(projectId, environment, secretPath, tx); + const folder = await folderDAL.transaction(async (tx) => { + const parentFolder = await folderDAL.findBySecretPath(projectId, environment, secretPath, tx); if (!parentFolder) throw new BadRequestError({ message: "Secret path not found" }); - const [doc] = await folderDal.delete({ envId: env.id, id, parentId: parentFolder.id }, tx); + const [doc] = await folderDAL.delete({ envId: env.id, id, parentId: parentFolder.id }, tx); if (!doc) throw new BadRequestError({ message: "Folder not found", name: "Delete folder" }); return doc; }); @@ -229,13 +229,13 @@ export const secretFolderServiceFactory = ({ // permission to check does user has access await permissionService.getProjectPermission(actor, actorId, projectId); - const env = await projectEnvDal.findOne({ projectId, slug: environment }); + const env = await projectEnvDAL.findOne({ projectId, slug: environment }); if (!env) throw new BadRequestError({ message: "Environment not found", name: "get folders" }); - const parentFolder = await folderDal.findBySecretPath(projectId, environment, secretPath); + const parentFolder = await folderDAL.findBySecretPath(projectId, environment, secretPath); if (!parentFolder) return []; - const folders = await folderDal.find({ envId: env.id, parentId: parentFolder.id }); + const folders = await folderDAL.find({ envId: env.id, parentId: parentFolder.id }); return folders; }; diff --git a/backend-pg/src/services/secret-folder/secret-folder-version-dal.ts b/backend-pg/src/services/secret-folder/secret-folder-version-dal.ts index 32ce76f3c..b610de359 100644 --- a/backend-pg/src/services/secret-folder/secret-folder-version-dal.ts +++ b/backend-pg/src/services/secret-folder/secret-folder-version-dal.ts @@ -5,9 +5,9 @@ import { TableName,TSecretFolderVersions } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TSecretFolderVersionDalFactory = ReturnType; +export type TSecretFolderVersionDALFactory = ReturnType; -export const secretFolderVersionDalFactory = (db: TDbClient) => { +export const secretFolderVersionDALFactory = (db: TDbClient) => { const secretFolderVerOrm = ormify(db, TableName.SecretFolderVersion); // This will fetch all latest secret versions from a folder diff --git a/backend-pg/src/services/secret-import/secret-import-dal.ts b/backend-pg/src/services/secret-import/secret-import-dal.ts index cfcfbab23..0acbd7426 100644 --- a/backend-pg/src/services/secret-import/secret-import-dal.ts +++ b/backend-pg/src/services/secret-import/secret-import-dal.ts @@ -5,9 +5,9 @@ import { TableName,TSecretImports } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TSecretImportDalFactory = ReturnType; +export type TSecretImportDALFactory = ReturnType; -export const secretImportDalFactory = (db: TDbClient) => { +export const secretImportDALFactory = (db: TDbClient) => { const secretImportOrm = ormify(db, TableName.SecretImport); // we are using postion based sorting as its a small list diff --git a/backend-pg/src/services/secret-import/secret-import-fns.ts b/backend-pg/src/services/secret-import/secret-import-fns.ts index 93b609b5b..913f6da5b 100644 --- a/backend-pg/src/services/secret-import/secret-import-fns.ts +++ b/backend-pg/src/services/secret-import/secret-import-fns.ts @@ -1,21 +1,21 @@ import { SecretType, TSecretImports } from "@app/db/schemas"; import { groupBy } from "@app/lib/fn"; -import { TSecretDalFactory } from "../secret/secret-dal"; -import { TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal"; +import { TSecretDALFactory } from "../secret/secret-dal"; +import { TSecretFolderDALFactory } from "../secret-folder/secret-folder-dal"; export const fnSecretsFromImports = async ({ allowedImports, - folderDal, - secretDal + folderDAL, + secretDAL }: { allowedImports: (Omit & { importEnv: { id: string; slug: string; name: string }; })[]; - folderDal: Pick; - secretDal: Pick; + folderDAL: Pick; + secretDAL: Pick; }) => { - const importedFolders = await folderDal.findByManySecretPath( + const importedFolders = await folderDAL.findByManySecretPath( allowedImports.map(({ importEnv, importPath }) => ({ envId: importEnv.id, secretPath: importPath @@ -25,7 +25,7 @@ export const fnSecretsFromImports = async ({ if (!folderIds.length) { return []; } - const importedSecrets = await secretDal.find({ + const importedSecrets = await secretDAL.find({ $in: { folderId: folderIds }, type: SecretType.Shared }); diff --git a/backend-pg/src/services/secret-import/secret-import-service.ts b/backend-pg/src/services/secret-import/secret-import-service.ts index e63ffd6a8..b4ba45d01 100644 --- a/backend-pg/src/services/secret-import/secret-import-service.ts +++ b/backend-pg/src/services/secret-import/secret-import-service.ts @@ -7,10 +7,10 @@ import { } from "@app/ee/services/permission/project-permission"; import { BadRequestError } from "@app/lib/errors"; -import { TProjectEnvDalFactory } from "../project-env/project-env-dal"; -import { TSecretDalFactory } from "../secret/secret-dal"; -import { TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal"; -import { TSecretImportDalFactory } from "./secret-import-dal"; +import { TProjectEnvDALFactory } from "../project-env/project-env-dal"; +import { TSecretDALFactory } from "../secret/secret-dal"; +import { TSecretFolderDALFactory } from "../secret-folder/secret-folder-dal"; +import { TSecretImportDALFactory } from "./secret-import-dal"; import { fnSecretsFromImports } from "./secret-import-fns"; import { TCreateSecretImportDTO, @@ -21,10 +21,10 @@ import { } from "./secret-import-types"; type TSecretImportServiceFactoryDep = { - secretImportDal: TSecretImportDalFactory; - folderDal: TSecretFolderDalFactory; - secretDal: Pick; - projectEnvDal: TProjectEnvDalFactory; + secretImportDAL: TSecretImportDALFactory; + folderDAL: TSecretFolderDALFactory; + secretDAL: Pick; + projectEnvDAL: TProjectEnvDALFactory; permissionService: Pick; }; @@ -33,11 +33,11 @@ const ERR_SEC_IMP_NOT_FOUND = new BadRequestError({ message: "Secret import not export type TSecretImportServiceFactory = ReturnType; export const secretImportServiceFactory = ({ - secretImportDal, - projectEnvDal, + secretImportDAL, + projectEnvDAL, permissionService, - folderDal, - secretDal + folderDAL, + secretDAL }: TSecretImportServiceFactoryDep) => { const createImport = async ({ environment, @@ -64,17 +64,17 @@ export const secretImportServiceFactory = ({ }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Create import" }); // TODO(akhilmhdh-pg): updated permission check add here - const [importEnv] = await projectEnvDal.findBySlugs(projectId, [data.environment]); + const [importEnv] = await projectEnvDAL.findBySlugs(projectId, [data.environment]); if (!importEnv) throw new BadRequestError({ error: "Imported env not found", name: "Create import" }); - const secImport = await secretImportDal.transaction(async (tx) => { - const lastPos = await secretImportDal.findLastImportPosition(folder.id, tx); - return secretImportDal.create( + const secImport = await secretImportDAL.transaction(async (tx) => { + const lastPos = await secretImportDAL.findLastImportPosition(folder.id, tx); + return secretImportDAL.create( { folderId: folder.id, position: lastPos + 1, @@ -103,25 +103,25 @@ export const secretImportServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Update import" }); - const secImpDoc = await secretImportDal.findOne({ folderId: folder.id, id }); + const secImpDoc = await secretImportDAL.findOne({ folderId: folder.id, id }); if (!secImpDoc) throw ERR_SEC_IMP_NOT_FOUND; const importedEnv = data.environment // this is get env information of new one or old one - ? (await projectEnvDal.findBySlugs(projectId, [data.environment]))?.[0] - : await projectEnvDal.findById(secImpDoc.importEnv); + ? (await projectEnvDAL.findBySlugs(projectId, [data.environment]))?.[0] + : await projectEnvDAL.findById(secImpDoc.importEnv); if (!importedEnv) throw new BadRequestError({ error: "Imported env not found", name: "Create import" }); - const updatedSecImport = await secretImportDal.transaction(async (tx) => { - const secImp = await secretImportDal.findOne({ folderId: folder.id, id }); + const updatedSecImport = await secretImportDAL.transaction(async (tx) => { + const secImp = await secretImportDAL.findOne({ folderId: folder.id, id }); if (!secImp) throw ERR_SEC_IMP_NOT_FOUND; if (data.position) { - await secretImportDal.updateAllPosition(folder.id, secImp.position, data.position, tx); + await secretImportDAL.updateAllPosition(folder.id, secImp.position, data.position, tx); } - const [doc] = await secretImportDal.update( + const [doc] = await secretImportDAL.update( { id, folderId: folder.id }, { position: data?.position, @@ -149,16 +149,16 @@ export const secretImportServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Delete import" }); - const secImport = await secretImportDal.transaction(async (tx) => { - const [doc] = await secretImportDal.delete({ folderId: folder.id, id }, tx); + const secImport = await secretImportDAL.transaction(async (tx) => { + const [doc] = await secretImportDAL.delete({ folderId: folder.id, id }, tx); if (!doc) throw new BadRequestError({ name: "Sec imp del", message: "Secret import doc not found" }); - await secretImportDal.updateAllPosition(folder.id, doc.position, -1, tx); + await secretImportDAL.updateAllPosition(folder.id, doc.position, -1, tx); - const importEnv = await projectEnvDal.findById(doc.importEnv); + const importEnv = await projectEnvDAL.findById(doc.importEnv); if (!importEnv) throw new BadRequestError({ error: "Imported env not found", name: "Create import" }); return { ...doc, importEnv }; @@ -179,10 +179,10 @@ export const secretImportServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Get imports" }); - const secImports = await secretImportDal.find({ folderId: folder.id }); + const secImports = await secretImportDAL.find({ folderId: folder.id }); return secImports; }; @@ -198,11 +198,11 @@ export const secretImportServiceFactory = ({ ProjectPermissionActions.Read, subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) return []; // this will already order by position // so anything based on this order will also be in right position - const secretImports = await secretImportDal.find({ folderId: folder.id }); + const secretImports = await secretImportDAL.find({ folderId: folder.id }); const allowedImports = secretImports.filter(({ importEnv, importPath }) => permission.can( @@ -213,7 +213,7 @@ export const secretImportServiceFactory = ({ }) ) ); - return fnSecretsFromImports({ allowedImports, folderDal, secretDal }); + return fnSecretsFromImports({ allowedImports, folderDAL, secretDAL }); }; return { diff --git a/backend-pg/src/services/secret-tag/secret-tag-dal.ts b/backend-pg/src/services/secret-tag/secret-tag-dal.ts index 12d8528d0..b1bc4108e 100644 --- a/backend-pg/src/services/secret-tag/secret-tag-dal.ts +++ b/backend-pg/src/services/secret-tag/secret-tag-dal.ts @@ -5,9 +5,9 @@ import { TableName } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TSecretTagDalFactory = ReturnType; +export type TSecretTagDALFactory = ReturnType; -export const secretTagDalFactory = (db: TDbClient) => { +export const secretTagDALFactory = (db: TDbClient) => { const secretTagOrm = ormify(db, TableName.SecretTag); const secretJnTagOrm = ormify(db, TableName.JnSecretTag); diff --git a/backend-pg/src/services/secret-tag/secret-tag-service.ts b/backend-pg/src/services/secret-tag/secret-tag-service.ts index 8b845e79f..8b097e595 100644 --- a/backend-pg/src/services/secret-tag/secret-tag-service.ts +++ b/backend-pg/src/services/secret-tag/secret-tag-service.ts @@ -7,18 +7,18 @@ import { } from "@app/ee/services/permission/project-permission"; import { BadRequestError } from "@app/lib/errors"; -import { TSecretTagDalFactory } from "./secret-tag-dal"; +import { TSecretTagDALFactory } from "./secret-tag-dal"; import { TCreateTagDTO, TDeleteTagDTO, TListProjectTagsDTO } from "./secret-tag-types"; type TSecretTagServiceFactoryDep = { - secretTagDal: TSecretTagDalFactory; + secretTagDAL: TSecretTagDALFactory; permissionService: Pick; }; export type TSecretTagServiceFactory = ReturnType; export const secretTagServiceFactory = ({ - secretTagDal, + secretTagDAL, permissionService }: TSecretTagServiceFactoryDep) => { const createTag = async ({ name, slug, actor, color, actorId, projectId }: TCreateTagDTO) => { @@ -28,10 +28,10 @@ export const secretTagServiceFactory = ({ ProjectPermissionSub.Tags ); - const existingTag = await secretTagDal.findOne({ slug }); + const existingTag = await secretTagDAL.findOne({ slug }); if (existingTag) throw new BadRequestError({ message: "Tag already exist" }); - const newTag = await secretTagDal.create({ + const newTag = await secretTagDAL.create({ projectId, name, slug, @@ -42,7 +42,7 @@ export const secretTagServiceFactory = ({ }; const deleteTag = async ({ actorId, actor, id }: TDeleteTagDTO) => { - const tag = await secretTagDal.findById(id); + const tag = await secretTagDAL.findById(id); if (!tag) throw new BadRequestError({ message: "Tag doesn't exist" }); const { permission } = await permissionService.getProjectPermission( @@ -55,7 +55,7 @@ export const secretTagServiceFactory = ({ ProjectPermissionSub.Tags ); - const deletedTag = await secretTagDal.deleteById(tag.id); + const deletedTag = await secretTagDAL.deleteById(tag.id); return deletedTag; }; @@ -66,7 +66,7 @@ export const secretTagServiceFactory = ({ ProjectPermissionSub.Tags ); - const tags = await secretTagDal.find({ projectId }); + const tags = await secretTagDAL.find({ projectId }); return tags; }; diff --git a/backend-pg/src/services/secret/secret-blind-index-dal.ts b/backend-pg/src/services/secret/secret-blind-index-dal.ts index 99c0c68c2..2c90e1a63 100644 --- a/backend-pg/src/services/secret/secret-blind-index-dal.ts +++ b/backend-pg/src/services/secret/secret-blind-index-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TSecretBlindIndexDalFactory = ReturnType; +export type TSecretBlindIndexDALFactory = ReturnType; -export const secretBlindIndexDalFactory = (db: TDbClient) => { +export const secretBlindIndexDALFactory = (db: TDbClient) => { const secretBlindIndexOrm = ormify(db, TableName.SecretBlindIndex); return secretBlindIndexOrm; }; diff --git a/backend-pg/src/services/secret/secret-dal.ts b/backend-pg/src/services/secret/secret-dal.ts index d35e80850..95b072c7c 100644 --- a/backend-pg/src/services/secret/secret-dal.ts +++ b/backend-pg/src/services/secret/secret-dal.ts @@ -5,9 +5,9 @@ import { SecretsSchema, SecretType, TableName, TSecrets, TSecretsUpdate } from " import { BadRequestError, DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols, sqlNestRelationships } from "@app/lib/knex"; -export type TSecretDalFactory = ReturnType; +export type TSecretDALFactory = ReturnType; -export const secretDalFactory = (db: TDbClient) => { +export const secretDALFactory = (db: TDbClient) => { const secretOrm = ormify(db, TableName.Secret); const update = async ( diff --git a/backend-pg/src/services/secret/secret-fns.ts b/backend-pg/src/services/secret/secret-fns.ts index 34439a583..9abaa8424 100644 --- a/backend-pg/src/services/secret/secret-fns.ts +++ b/backend-pg/src/services/secret/secret-fns.ts @@ -5,8 +5,8 @@ import { SecretKeyEncoding, TSecretBlindIndexes, TSecrets } from "@app/db/schema import { getConfig } from "@app/lib/config/env"; import { buildSecretBlindIndexFromName, decryptSymmetric128BitHexKeyUTF8 } from "@app/lib/crypto"; -import { TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal"; -import { TSecretDalFactory } from "./secret-dal"; +import { TSecretFolderDALFactory } from "../secret-folder/secret-folder-dal"; +import { TSecretDALFactory } from "./secret-dal"; export const generateSecretBlindIndexBySalt = async ( secretName: string, @@ -28,15 +28,15 @@ export const generateSecretBlindIndexBySalt = async ( type TInterpolateSecretArg = { projectId: string; secretEncKey: string; - secretDal: Pick; - folderDal: Pick; + secretDAL: Pick; + folderDAL: Pick; }; export const interpolateSecrets = ({ projectId, secretEncKey, - secretDal, - folderDal + secretDAL, + folderDAL }: TInterpolateSecretArg) => { const fetchSecretsCrossEnv = () => { const fetchCache: Record> = {}; @@ -49,9 +49,9 @@ export const interpolateSecrets = ({ return fetchCache[uniqKey][secRefKey]; } - const folder = await folderDal.findBySecretPath(projectId, secRefEnv, secRefPathUrl); + const folder = await folderDAL.findBySecretPath(projectId, secRefEnv, secRefPathUrl); if (!folder) return ""; - const secrets = await secretDal.findByFolderId(folder.id); + const secrets = await secretDAL.findByFolderId(folder.id); const decryptedSec = secrets.reduce>((prev, secret) => { const secretKey = decryptSymmetric128BitHexKeyUTF8({ diff --git a/backend-pg/src/services/secret/secret-queue.ts b/backend-pg/src/services/secret/secret-queue.ts index b239bd8b2..681f47c7c 100644 --- a/backend-pg/src/services/secret/secret-queue.ts +++ b/backend-pg/src/services/secret/secret-queue.ts @@ -4,31 +4,31 @@ import { isSamePath } from "@app/lib/fn"; import { logger } from "@app/lib/logger"; import { QueueJobs, QueueName, TQueueServiceFactory } from "@app/queue"; -import { TIntegrationDalFactory } from "../integration/integration-dal"; +import { TIntegrationDALFactory } from "../integration/integration-dal"; import { TIntegrationAuthServiceFactory } from "../integration-auth/integration-auth-service"; import { syncIntegrationSecrets } from "../integration-auth/integration-sync-secret"; import { TProjectBotServiceFactory } from "../project-bot/project-bot-service"; -import { TProjectEnvDalFactory } from "../project-env/project-env-dal"; -import { TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal"; -import { TSecretImportDalFactory } from "../secret-import/secret-import-dal"; +import { TProjectEnvDALFactory } from "../project-env/project-env-dal"; +import { TSecretFolderDALFactory } from "../secret-folder/secret-folder-dal"; +import { TSecretImportDALFactory } from "../secret-import/secret-import-dal"; import { fnSecretsFromImports } from "../secret-import/secret-import-fns"; -import { TWebhookDalFactory } from "../webhook/webhook-dal"; +import { TWebhookDALFactory } from "../webhook/webhook-dal"; import { fnTriggerWebhook } from "../webhook/webhook-fns"; -import { TSecretDalFactory } from "./secret-dal"; +import { TSecretDALFactory } from "./secret-dal"; import { interpolateSecrets } from "./secret-fns"; export type TSecretQueueFactory = ReturnType; type TSecretQueueFactoryDep = { queueService: TQueueServiceFactory; - integrationDal: Pick; + integrationDAL: Pick; projectBotService: Pick; integrationAuthService: Pick; - folderDal: Pick; - secretDal: Pick; - secretImportDal: Pick; - webhookDal: Pick; - projectEnvDal: Pick; + folderDAL: Pick; + secretDAL: Pick; + secretImportDAL: Pick; + webhookDAL: Pick; + projectEnvDAL: Pick; }; export type TGetSecrets = { @@ -39,14 +39,14 @@ export type TGetSecrets = { export const secretQueueFactory = ({ queueService, - integrationDal, + integrationDAL, projectBotService, integrationAuthService, - secretDal, - secretImportDal, - folderDal, - webhookDal, - projectEnvDal + secretDAL, + secretImportDAL, + folderDAL, + webhookDAL, + projectEnvDAL }: TSecretQueueFactoryDep) => { const syncIntegrations = async (dto: TGetSecrets) => { await queueService.queue(QueueName.IntegrationSync, QueueJobs.IntegrationSync, dto, { @@ -79,15 +79,15 @@ export const secretQueueFactory = ({ }; const getIntegrationSecrets = async (dto: TGetSecrets & { folderId: string }, key: string) => { - const secrets = await secretDal.findByFolderId(dto.folderId); + const secrets = await secretDAL.findByFolderId(dto.folderId); if (!secrets.length) return {}; // get imported secrets - const secretImport = await secretImportDal.find({ folderId: dto.folderId }); + const secretImport = await secretImportDAL.find({ folderId: dto.folderId }); const importedSecrets = await fnSecretsFromImports({ allowedImports: secretImport, - secretDal, - folderDal + secretDAL, + folderDAL }); const content: Record< string, @@ -154,8 +154,8 @@ export const secretQueueFactory = ({ const expandSecrets = interpolateSecrets({ projectId: dto.projectId, secretEncKey: key, - folderDal, - secretDal + folderDAL, + secretDAL }); await expandSecrets(content); return content; @@ -163,13 +163,13 @@ export const secretQueueFactory = ({ queueService.start(QueueName.IntegrationSync, async (job) => { const { environment, projectId, secretPath } = job.data; - const folder = await folderDal.findBySecretPath(projectId, environment, secretPath); + const folder = await folderDAL.findBySecretPath(projectId, environment, secretPath); if (!folder) { logger.error("Secret path not found"); return; } - const integrations = await integrationDal.findByProjectIdV2(projectId, environment); + const integrations = await integrationDAL.findByProjectIdV2(projectId, environment); const toBeSyncedIntegrations = integrations.filter( ({ secretPath: integrationSecPath, isActive }) => isActive && isSamePath(secretPath, integrationSecPath) @@ -226,7 +226,7 @@ export const secretQueueFactory = ({ }); queueService.start(QueueName.SecretWebhook, async (job) => { - await fnTriggerWebhook({ ...job.data, projectEnvDal, webhookDal }); + await fnTriggerWebhook({ ...job.data, projectEnvDAL, webhookDAL }); }); return { syncSecrets, syncIntegrations }; diff --git a/backend-pg/src/services/secret/secret-service.ts b/backend-pg/src/services/secret/secret-service.ts index d85e582c3..dbaab2ed6 100644 --- a/backend-pg/src/services/secret/secret-service.ts +++ b/backend-pg/src/services/secret/secret-service.ts @@ -20,12 +20,12 @@ import { groupBy, pick } from "@app/lib/fn"; import { ActorType } from "../auth/auth-type"; import { TProjectBotServiceFactory } from "../project-bot/project-bot-service"; -import { TSecretFolderDalFactory } from "../secret-folder/secret-folder-dal"; -import { TSecretImportDalFactory } from "../secret-import/secret-import-dal"; +import { TSecretFolderDALFactory } from "../secret-folder/secret-folder-dal"; +import { TSecretImportDALFactory } from "../secret-import/secret-import-dal"; import { fnSecretsFromImports } from "../secret-import/secret-import-fns"; -import { TSecretTagDalFactory } from "../secret-tag/secret-tag-dal"; -import { TSecretBlindIndexDalFactory } from "./secret-blind-index-dal"; -import { TSecretDalFactory } from "./secret-dal"; +import { TSecretTagDALFactory } from "../secret-tag/secret-tag-dal"; +import { TSecretBlindIndexDALFactory } from "./secret-blind-index-dal"; +import { TSecretDALFactory } from "./secret-dal"; import { decryptSecretRaw, generateSecretBlindIndexBySalt } from "./secret-fns"; import { TSecretQueueFactory } from "./secret-queue"; import { @@ -50,42 +50,42 @@ import { TUpdateSecretDTO, TUpdateSecretRawDTO } from "./secret-types"; -import { TSecretVersionDalFactory } from "./secret-version-dal"; +import { TSecretVersionDALFactory } from "./secret-version-dal"; type TSecretServiceFactoryDep = { - secretDal: TSecretDalFactory; - secretTagDal: TSecretTagDalFactory; - secretVersionDal: TSecretVersionDalFactory; - folderDal: Pick< - TSecretFolderDalFactory, + secretDAL: TSecretDALFactory; + secretTagDAL: TSecretTagDALFactory; + secretVersionDAL: TSecretVersionDALFactory; + folderDAL: Pick< + TSecretFolderDALFactory, "findBySecretPath" | "updateById" | "findById" | "findByManySecretPath" >; - secretBlindIndexDal: TSecretBlindIndexDalFactory; + secretBlindIndexDAL: TSecretBlindIndexDALFactory; permissionService: Pick; snapshotService: Pick; secretQueueService: Pick; projectBotService: Pick; - secretImportDal: Pick; + secretImportDAL: Pick; }; export type TSecretServiceFactory = ReturnType; export const secretServiceFactory = ({ - secretDal, - secretTagDal, - secretVersionDal, - folderDal, - secretBlindIndexDal, + secretDAL, + secretTagDAL, + secretVersionDAL, + folderDAL, + secretBlindIndexDAL, permissionService, snapshotService, secretQueueService, projectBotService, - secretImportDal + secretImportDAL }: TSecretServiceFactoryDep) => { // utility function to get secret blind index data const interalGenSecBlindIndexByName = async (projectId: string, secretName: string) => { const appCfg = getConfig(); - const secretBlindIndexDoc = await secretBlindIndexDal.findOne({ projectId }); + const secretBlindIndexDoc = await secretBlindIndexDAL.findOne({ projectId }); if (!secretBlindIndexDoc) throw new BadRequestError({ message: "Blind index not found", name: "Create secret" }); @@ -105,7 +105,7 @@ export const secretServiceFactory = ({ // these functions are special functions shared by a couple of resources // used by secret approval, rotation or anywhere in which secret needs to modified const fnSecretBulkInsert = async ({ folderId, inputSecrets, tx }: TFnSecretBulkInsert) => { - const newSecrets = await secretDal.insertMany( + const newSecrets = await secretDAL.insertMany( inputSecrets.map(({ tags, ...el }) => ({ ...el, folderId })), tx ); @@ -117,9 +117,9 @@ export const secretServiceFactory = ({ })) ); if (newSecretTags.length) { - await secretTagDal.saveTagsToSecret(newSecretTags, tx); + await secretTagDAL.saveTagsToSecret(newSecretTags, tx); } - await secretVersionDal.insertMany( + await secretVersionDAL.insertMany( inputSecrets.map(({ tags, ...el }) => ({ ...el, folderId, @@ -137,7 +137,7 @@ export const secretServiceFactory = ({ folderId, projectId }: TFnSecretBulkUpdate) => { - const newSecrets = await secretDal.bulkUpdate( + const newSecrets = await secretDAL.bulkUpdate( inputSecrets.map(({ filter, data: { tags, ...data } }) => ({ filter: { ...filter, folderId }, data @@ -148,7 +148,7 @@ export const secretServiceFactory = ({ tags?.length ? { tags, secretId: newSecrets[i].id } : [] ); if (secsUpdatedTag.length) { - await secretTagDal.deleteTagsManySecret( + await secretTagDAL.deleteTagsManySecret( projectId, secsUpdatedTag.flatMap(({ tags }) => tags), tx @@ -159,9 +159,9 @@ export const secretServiceFactory = ({ [`${TableName.Secret}Id` as const]: secretId })) ); - await secretTagDal.saveTagsToSecret(newSecretTags, tx); + await secretTagDAL.saveTagsToSecret(newSecretTags, tx); } - await secretVersionDal.insertMany( + await secretVersionDAL.insertMany( newSecrets.map(({ id, createdAt, updatedAt, ...el }) => ({ ...el, secretId: id @@ -178,7 +178,7 @@ export const secretServiceFactory = ({ tx, actorId }: TFnSecretBulkDelete) => { - const deletedSecrets = await secretDal.deleteMany( + const deletedSecrets = await secretDAL.deleteMany( inputSecrets.map(({ type, secretBlindIndex }) => ({ blindIndex: secretBlindIndex, type @@ -220,7 +220,7 @@ export const secretServiceFactory = ({ throw new BadRequestError({ message: "Missing user id for personal secret" }); } - const secrets = await secretDal.findByBlindIndexes( + const secrets = await secretDAL.findByBlindIndexes( folderId, inputSecrets.map(({ secretName, type }) => ({ blindIndex: keyName2BlindIndex[secretName], @@ -247,7 +247,7 @@ export const secretServiceFactory = ({ if (inputSecrets.some(({ type }) => type === SecretType.Personal) && !userId) { throw new BadRequestError({ message: "Missing user id for personal secret" }); } - const secrets = await secretDal.findByBlindIndexes( + const secrets = await secretDAL.findByBlindIndexes( folderId, inputSecrets.map(({ secretBlindIndex, type }) => ({ blindIndex: secretBlindIndex, @@ -274,11 +274,11 @@ export const secretServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Create secret" }); const folderId = folder.id; - const blindIndexCfg = await secretBlindIndexDal.findOne({ projectId }); + const blindIndexCfg = await secretBlindIndexDAL.findOne({ projectId }); if (!blindIndexCfg) throw new BadRequestError({ message: "Blind index not found", name: "CreateSecret" }); @@ -296,7 +296,7 @@ export const secretServiceFactory = ({ // if user creating personal check its shared also exist if (inputSecret.type === SecretType.Personal) { - const sharedExist = await secretDal.findOne({ + const sharedExist = await secretDAL.findOne({ secretBlindIndex: keyName2BlindIndex[inputSecret.secretName], folderId, type: SecretType.Shared @@ -310,13 +310,13 @@ export const secretServiceFactory = ({ // validate tags // fetch all tags and if not same count throw error meaning one was invalid tags const tags = inputSecret.tags - ? await secretTagDal.findManyTagsById(projectId, inputSecret.tags) + ? await secretTagDAL.findManyTagsById(projectId, inputSecret.tags) : []; if ((inputSecret.tags || []).length !== tags.length) throw new BadRequestError({ message: "Tag not found" }); const { secretName, type, ...el } = inputSecret; - const secret = await secretDal.transaction((tx) => + const secret = await secretDAL.transaction((tx) => fnSecretBulkInsert({ folderId, inputSecrets: [ @@ -355,11 +355,11 @@ export const secretServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Create secret" }); const folderId = folder.id; - const blindIndexCfg = await secretBlindIndexDal.findOne({ projectId }); + const blindIndexCfg = await secretBlindIndexDAL.findOne({ projectId }); if (!blindIndexCfg) throw new BadRequestError({ message: "Blind index not found", name: "CreateSecret" }); @@ -390,13 +390,13 @@ export const secretServiceFactory = ({ } const tags = inputSecret.tags - ? await secretTagDal.findManyTagsById(projectId, inputSecret.tags) + ? await secretTagDAL.findManyTagsById(projectId, inputSecret.tags) : []; if ((inputSecret.tags || []).length !== tags.length) throw new BadRequestError({ message: "Tag not found" }); const { secretName, ...el } = inputSecret; - const updatedSecret = await secretDal.transaction(async (tx) => + const updatedSecret = await secretDAL.transaction(async (tx) => fnSecretBulkUpdate({ folderId, projectId, @@ -449,11 +449,11 @@ export const secretServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Create secret" }); const folderId = folder.id; - const blindIndexCfg = await secretBlindIndexDal.findOne({ projectId }); + const blindIndexCfg = await secretBlindIndexDAL.findOne({ projectId }); if (!blindIndexCfg) throw new BadRequestError({ message: "Blind index not found", name: "CreateSecret" }); @@ -468,7 +468,7 @@ export const secretServiceFactory = ({ blindIndexCfg }); - const deletedSecret = await secretDal.transaction(async (tx) => + const deletedSecret = await secretDAL.transaction(async (tx) => fnSecretBulkDelete({ projectId, folderId, @@ -504,13 +504,13 @@ export const secretServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) return { secrets: [], imports: [] }; const folderId = folder.id; - const secrets = await secretDal.findByFolderId(folderId, actorId); + const secrets = await secretDAL.findByFolderId(folderId, actorId); if (includeImports) { - const secretImports = await secretImportDal.find({ folderId }); + const secretImports = await secretImportDAL.find({ folderId }); const allowedImports = secretImports.filter(({ importEnv, importPath }) => // if its service token allow full access over imported one actor === ActorType.SERVICE @@ -525,8 +525,8 @@ export const secretServiceFactory = ({ ); const importedSecrets = await fnSecretsFromImports({ allowedImports, - secretDal, - folderDal + secretDAL, + folderDAL }); return { secrets: secrets.map((el) => ({ ...el, workspace: projectId, environment })), @@ -552,20 +552,20 @@ export const secretServiceFactory = ({ ProjectPermissionActions.Read, subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Create secret" }); const folderId = folder.id; const secretBlindIndex = await interalGenSecBlindIndexByName(projectId, secretName); const secret = await (typeof version !== undefined - ? secretDal.findOne({ + ? secretDAL.findOne({ folderId, type, userId: type === SecretType.Personal ? actorId : null, secretBlindIndex }) - : secretVersionDal + : secretVersionDAL .findOne({ folderId, type, @@ -577,7 +577,7 @@ export const secretServiceFactory = ({ // then search for imported secrets // here we consider the import order also thus starting from bottom if (!secret && includeImports) { - const secretImports = await secretImportDal.find({ folderId }); + const secretImports = await secretImportDAL.find({ folderId }); const allowedImports = secretImports.filter(({ importEnv, importPath }) => // if its service token allow full access over imported one actor === ActorType.SERVICE @@ -592,8 +592,8 @@ export const secretServiceFactory = ({ ); const importedSecrets = await fnSecretsFromImports({ allowedImports, - secretDal, - folderDal + secretDAL, + folderDAL }); for (let i = importedSecrets.length - 1; i >= 0; i -= 1) { for (let j = 0; j < importedSecrets[i].secrets.length; j += 1) { @@ -626,11 +626,11 @@ export const secretServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Create secret" }); const folderId = folder.id; - const blindIndexCfg = await secretBlindIndexDal.findOne({ projectId }); + const blindIndexCfg = await secretBlindIndexDAL.findOne({ projectId }); if (!blindIndexCfg) throw new BadRequestError({ message: "Blind index not found", name: "Update secret" }); @@ -643,10 +643,10 @@ export const secretServiceFactory = ({ // get all tags const tagIds = inputSecrets.flatMap(({ tags = [] }) => tags); - const tags = tagIds.length ? await secretTagDal.findManyTagsById(projectId, tagIds) : []; + const tags = tagIds.length ? await secretTagDAL.findManyTagsById(projectId, tagIds) : []; if (tags.length !== tagIds.length) throw new BadRequestError({ message: "Tag not found" }); - const newSecrets = await secretDal.transaction(async (tx) => + const newSecrets = await secretDAL.transaction(async (tx) => fnSecretBulkInsert({ inputSecrets: inputSecrets.map(({ secretName, ...el }) => ({ ...el, @@ -681,11 +681,11 @@ export const secretServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Create secret" }); const folderId = folder.id; - const blindIndexCfg = await secretBlindIndexDal.findOne({ projectId }); + const blindIndexCfg = await secretBlindIndexDAL.findOne({ projectId }); if (!blindIndexCfg) throw new BadRequestError({ message: "Blind index not found", name: "Update secret" }); @@ -708,9 +708,9 @@ export const secretServiceFactory = ({ // get all tags const tagIds = inputSecrets.flatMap(({ tags = [] }) => tags); - const tags = tagIds.length ? await secretTagDal.findManyTagsById(projectId, tagIds) : []; + const tags = tagIds.length ? await secretTagDAL.findManyTagsById(projectId, tagIds) : []; if (tagIds.length !== tags.length) throw new BadRequestError({ message: "Tag not found" }); - const secrets = await secretDal.transaction(async (tx) => + const secrets = await secretDAL.transaction(async (tx) => fnSecretBulkUpdate({ folderId, projectId, @@ -752,11 +752,11 @@ export const secretServiceFactory = ({ subject(ProjectPermissionSub.Secrets, { environment, secretPath: path }) ); - const folder = await folderDal.findBySecretPath(projectId, environment, path); + const folder = await folderDAL.findBySecretPath(projectId, environment, path); if (!folder) throw new BadRequestError({ message: "Folder not found", name: "Create secret" }); const folderId = folder.id; - const blindIndexCfg = await secretBlindIndexDal.findOne({ projectId }); + const blindIndexCfg = await secretBlindIndexDAL.findOne({ projectId }); if (!blindIndexCfg) throw new BadRequestError({ message: "Blind index not found", name: "Update secret" }); @@ -767,7 +767,7 @@ export const secretServiceFactory = ({ blindIndexCfg }); - const secretsDeleted = await secretDal.transaction(async (tx) => + const secretsDeleted = await secretDAL.transaction(async (tx) => fnSecretBulkDelete({ inputSecrets: inputSecrets.map(({ type, secretName }) => ({ secretBlindIndex: keyName2BlindIndex[secretName], @@ -793,10 +793,10 @@ export const secretServiceFactory = ({ offset, secretId }: TListSecretVersionDTO) => { - const secret = await secretDal.findById(secretId); + const secret = await secretDAL.findById(secretId); if (!secret) throw new BadRequestError({ message: "Failed to find secret" }); - const folder = await folderDal.findById(secret.folderId); + const folder = await folderDAL.findById(secret.folderId); if (!folder) throw new BadRequestError({ message: "Folder not found" }); const { permission } = await permissionService.getProjectPermission( actor, @@ -808,7 +808,7 @@ export const secretServiceFactory = ({ ProjectPermissionSub.SecretRollback ); - const secretVersions = await secretVersionDal.find( + const secretVersions = await secretVersionDAL.find( { secretId }, { limit, offset, sort: [["createdAt", "desc"]] } ); @@ -995,10 +995,10 @@ export const secretServiceFactory = ({ offset = 0, secretId }: TGetSecretVersionsDTO) => { - const secret = await secretDal.findById(secretId); + const secret = await secretDAL.findById(secretId); if (!secret) throw new BadRequestError({ message: "Failed to find secret" }); - const folder = await folderDal.findById(secret.folderId); + const folder = await folderDAL.findById(secret.folderId); if (!folder) throw new BadRequestError({ message: "Failed to find secret" }); const { permission } = await permissionService.getProjectPermission( @@ -1011,7 +1011,7 @@ export const secretServiceFactory = ({ ProjectPermissionSub.SecretRollback ); - const secretVersions = await secretVersionDal.find( + const secretVersions = await secretVersionDAL.find( { secretId }, { offset, limit, sort: [["createdAt", "desc"]] } ); diff --git a/backend-pg/src/services/secret/secret-version-dal.ts b/backend-pg/src/services/secret/secret-version-dal.ts index 58a968da6..339b8346b 100644 --- a/backend-pg/src/services/secret/secret-version-dal.ts +++ b/backend-pg/src/services/secret/secret-version-dal.ts @@ -5,9 +5,9 @@ import { TableName, TSecretVersions } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TSecretVersionDalFactory = ReturnType; +export type TSecretVersionDALFactory = ReturnType; -export const secretVersionDalFactory = (db: TDbClient) => { +export const secretVersionDALFactory = (db: TDbClient) => { const secretVersionOrm = ormify(db, TableName.SecretVersion); // This will fetch all latest secret versions from a folder diff --git a/backend-pg/src/services/service-token/service-token-dal.ts b/backend-pg/src/services/service-token/service-token-dal.ts index 8821bc706..b94c7ee35 100644 --- a/backend-pg/src/services/service-token/service-token-dal.ts +++ b/backend-pg/src/services/service-token/service-token-dal.ts @@ -2,9 +2,9 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TServiceTokenDalFactory = ReturnType; +export type TServiceTokenDALFactory = ReturnType; -export const serviceTokenDalFactory = (db: TDbClient) => { +export const serviceTokenDALFactory = (db: TDbClient) => { const stOrm = ormify(db, TableName.ServiceToken); return stOrm; }; diff --git a/backend-pg/src/services/service-token/service-token-service.ts b/backend-pg/src/services/service-token/service-token-service.ts index 4b85a0cf4..48ead50e6 100644 --- a/backend-pg/src/services/service-token/service-token-service.ts +++ b/backend-pg/src/services/service-token/service-token-service.ts @@ -12,8 +12,8 @@ import { getConfig } from "@app/lib/config/env"; import { BadRequestError, UnauthorizedError } from "@app/lib/errors"; import { ActorType } from "../auth/auth-type"; -import { TProjectEnvDalFactory } from "../project-env/project-env-dal"; -import { TServiceTokenDalFactory } from "./service-token-dal"; +import { TProjectEnvDALFactory } from "../project-env/project-env-dal"; +import { TServiceTokenDALFactory } from "./service-token-dal"; import { TCreateServiceTokenDTO, TDeleteServiceTokenDTO, @@ -22,17 +22,17 @@ import { } from "./service-token-types"; type TServiceTokenServiceFactoryDep = { - serviceTokenDal: TServiceTokenDalFactory; + serviceTokenDAL: TServiceTokenDALFactory; permissionService: Pick; - projectEnvDal: Pick; + projectEnvDAL: Pick; }; export type TServiceTokenServiceFactory = ReturnType; export const serviceTokenServiceFactory = ({ - serviceTokenDal, + serviceTokenDAL, permissionService, - projectEnvDal + projectEnvDAL }: TServiceTokenServiceFactoryDep) => { const createServiceToken = async ({ iv, @@ -63,7 +63,7 @@ export const serviceTokenServiceFactory = ({ // validates env const scopeEnvs = [...new Set(scopes.map(({ environment }) => environment))]; - const inputEnvs = await projectEnvDal.findBySlugs(projectId, scopeEnvs); + const inputEnvs = await projectEnvDAL.findBySlugs(projectId, scopeEnvs); if (inputEnvs.length !== scopeEnvs.length) throw new BadRequestError({ message: "Environment not found" }); @@ -76,7 +76,7 @@ export const serviceTokenServiceFactory = ({ } const createdBy = actorId; - const serviceToken = await serviceTokenDal.create({ + const serviceToken = await serviceTokenDAL.create({ name, createdBy, encryptedKey, @@ -95,7 +95,7 @@ export const serviceTokenServiceFactory = ({ }; const deleteServiceToken = async ({ actorId, actor, id }: TDeleteServiceTokenDTO) => { - const serviceToken = await serviceTokenDal.findById(id); + const serviceToken = await serviceTokenDAL.findById(id); if (!serviceToken) throw new BadRequestError({ message: "Token not found" }); const { permission } = await permissionService.getProjectPermission( @@ -108,7 +108,7 @@ export const serviceTokenServiceFactory = ({ ProjectPermissionSub.ServiceTokens ); - const deletedServiceToken = await serviceTokenDal.deleteById(id); + const deletedServiceToken = await serviceTokenDAL.deleteById(id); return deletedServiceToken; }; @@ -116,7 +116,7 @@ export const serviceTokenServiceFactory = ({ if (actor !== ActorType.SERVICE) throw new BadRequestError({ message: "Service token not found" }); - const serviceToken = await serviceTokenDal.findById(actorId); + const serviceToken = await serviceTokenDAL.findById(actorId); if (!serviceToken) throw new BadRequestError({ message: "Token not found" }); return serviceToken; @@ -133,23 +133,23 @@ export const serviceTokenServiceFactory = ({ ProjectPermissionSub.ServiceTokens ); - const tokens = await serviceTokenDal.find({ projectId }); + const tokens = await serviceTokenDAL.find({ projectId }); return tokens; }; const fnValidateServiceToken = async (token: string) => { const [, TOKEN_IDENTIFIER, TOKEN_SECRET] = <[string, string, string]>token.split(".", 3); - const serviceToken = await serviceTokenDal.findById(TOKEN_IDENTIFIER); + const serviceToken = await serviceTokenDAL.findById(TOKEN_IDENTIFIER); if (!serviceToken) throw new UnauthorizedError(); if (serviceToken.expiresAt && new Date(serviceToken.expiresAt) < new Date()) { - await serviceTokenDal.deleteById(serviceToken.id); + await serviceTokenDAL.deleteById(serviceToken.id); throw new UnauthorizedError({ message: "failed to authenticate expired service token" }); } const isMatch = await bcrypt.compare(TOKEN_SECRET, serviceToken.secretHash); if (!isMatch) throw new UnauthorizedError(); - const updatedToken = await serviceTokenDal.updateById(serviceToken.id, { + const updatedToken = await serviceTokenDAL.updateById(serviceToken.id, { lastUsed: new Date() }); return updatedToken; diff --git a/backend-pg/src/services/super-admin/super-admin-dal.ts b/backend-pg/src/services/super-admin/super-admin-dal.ts index 8242e9e60..64133ed7e 100644 --- a/backend-pg/src/services/super-admin/super-admin-dal.ts +++ b/backend-pg/src/services/super-admin/super-admin-dal.ts @@ -2,6 +2,6 @@ import { TDbClient } from "@app/db"; import { TableName } from "@app/db/schemas"; import { ormify } from "@app/lib/knex"; -export type TSuperAdminDalFactory = ReturnType; +export type TSuperAdminDALFactory = ReturnType; -export const superAdminDalFactory = (db: TDbClient) => ormify(db, TableName.SuperAdmin, {}); +export const superAdminDALFactory = (db: TDbClient) => ormify(db, TableName.SuperAdmin, {}); diff --git a/backend-pg/src/services/super-admin/super-admin-service.ts b/backend-pg/src/services/super-admin/super-admin-service.ts index 511d90a5a..76414e1fb 100644 --- a/backend-pg/src/services/super-admin/super-admin-service.ts +++ b/backend-pg/src/services/super-admin/super-admin-service.ts @@ -4,13 +4,13 @@ import { BadRequestError } from "@app/lib/errors"; import { TAuthLoginFactory } from "../auth/auth-login-service"; import { AuthMethod } from "../auth/auth-type"; import { TOrgServiceFactory } from "../org/org-service"; -import { TUserDalFactory } from "../user/user-dal"; -import { TSuperAdminDalFactory } from "./super-admin-dal"; +import { TUserDALFactory } from "../user/user-dal"; +import { TSuperAdminDALFactory } from "./super-admin-dal"; import { TAdminSignUpDTO } from "./super-admin-types"; type TSuperAdminServiceFactoryDep = { - serverCfgDal: TSuperAdminDalFactory; - userDal: TUserDalFactory; + serverCfgDAL: TSuperAdminDALFactory; + userDAL: TUserDALFactory; authService: Pick; orgService: Pick; }; @@ -25,15 +25,15 @@ export const getServerCfg = () => { }; export const superAdminServiceFactory = ({ - serverCfgDal, - userDal, + serverCfgDAL, + userDAL, authService, orgService }: TSuperAdminServiceFactoryDep) => { const initServerCfg = async () => { - serverCfg = await serverCfgDal.findOne({}); + serverCfg = await serverCfgDAL.findOne({}); if (!serverCfg) { - const newCfg = await serverCfgDal.create({ initialized: false, allowSignUp: true }); + const newCfg = await serverCfgDAL.create({ initialized: false, allowSignUp: true }); serverCfg = newCfg; return newCfg; } @@ -41,7 +41,7 @@ export const superAdminServiceFactory = ({ }; const updateServerCfg = async (data: TSuperAdminUpdate) => { - const cfg = await serverCfgDal.updateById(serverCfg.id, data); + const cfg = await serverCfgDAL.updateById(serverCfg.id, data); serverCfg = Object.freeze(cfg); return cfg; }; @@ -62,12 +62,12 @@ export const superAdminServiceFactory = ({ ip, userAgent }: TAdminSignUpDTO) => { - const existingUser = await userDal.findOne({ email }); + const existingUser = await userDAL.findOne({ email }); if (existingUser) throw new BadRequestError({ name: "Admin sign up", message: "User already exist" }); - const userInfo = await userDal.transaction(async (tx) => { - const newUser = await userDal.create( + const userInfo = await userDAL.transaction(async (tx) => { + const newUser = await userDAL.create( { firstName, lastName, @@ -78,7 +78,7 @@ export const superAdminServiceFactory = ({ }, tx ); - const userEnc = await userDal.createUserEncryption( + const userEnc = await userDAL.createUserEncryption( { salt, encryptionVersion: 2, diff --git a/backend-pg/src/services/user/user-dal.ts b/backend-pg/src/services/user/user-dal.ts index c8cfb0ab6..8051cee28 100644 --- a/backend-pg/src/services/user/user-dal.ts +++ b/backend-pg/src/services/user/user-dal.ts @@ -12,9 +12,9 @@ import { import { DatabaseError } from "@app/lib/errors"; import { ormify } from "@app/lib/knex"; -export type TUserDalFactory = ReturnType; +export type TUserDALFactory = ReturnType; -export const userDalFactory = (db: TDbClient) => { +export const userDALFactory = (db: TDbClient) => { const userOrm = ormify(db, TableName.Users); const findUserByEmail = async (email: string, tx?: Knex) => userOrm.findOne({ email }, tx); diff --git a/backend-pg/src/services/user/user-service.ts b/backend-pg/src/services/user/user-service.ts index 62d8cd2ba..81c7ea9d2 100644 --- a/backend-pg/src/services/user/user-service.ts +++ b/backend-pg/src/services/user/user-service.ts @@ -1,17 +1,17 @@ import { BadRequestError } from "@app/lib/errors"; import { AuthMethod } from "../auth/auth-type"; -import { TUserDalFactory } from "./user-dal"; +import { TUserDALFactory } from "./user-dal"; type TUserServiceFactoryDep = { - userDal: TUserDalFactory; + userDAL: TUserDALFactory; }; export type TUserServiceFactory = ReturnType; -export const userServiceFactory = ({ userDal }: TUserServiceFactoryDep) => { +export const userServiceFactory = ({ userDAL }: TUserServiceFactoryDep) => { const toggleUserMfa = async (userId: string, isMfaEnabled: boolean) => { - const updatedUser = await userDal.updateById(userId, { + const updatedUser = await userDAL.updateById(userId, { isMfaEnabled, mfaMethods: isMfaEnabled ? ["email"] : [] }); @@ -19,7 +19,7 @@ export const userServiceFactory = ({ userDal }: TUserServiceFactoryDep) => { }; const updateUserName = async (userId: string, firstName: string, lastName: string) => { - const updatedUser = await userDal.updateById(userId, { + const updatedUser = await userDAL.updateById(userId, { firstName, lastName }); @@ -27,7 +27,7 @@ export const userServiceFactory = ({ userDal }: TUserServiceFactoryDep) => { }; const updateAuthMethods = async (userId: string, authMethods: AuthMethod[]) => { - const user = await userDal.findById(userId); + const user = await userDAL.findById(userId); if (!user) throw new BadRequestError({ name: "Update auth methods" }); const hasSamlEnabled = user?.authMethods?.some((method) => @@ -41,34 +41,34 @@ export const userServiceFactory = ({ userDal }: TUserServiceFactoryDep) => { message: "Failed to update auth methods due to SAML SSO " }); - const updatedUser = await userDal.updateById(userId, { authMethods }); + const updatedUser = await userDAL.updateById(userId, { authMethods }); return updatedUser; }; const getMe = async (userId: string) => { - const user = await userDal.findUserEncKeyByUserId(userId); + const user = await userDAL.findUserEncKeyByUserId(userId); if (!user) throw new BadRequestError({ message: "user not found", name: "Get Me" }); return user; }; const deleteMe = async (userId: string) => { - const user = await userDal.deleteById(userId); + const user = await userDAL.deleteById(userId); return user; }; // user actions operations const createUserAction = async (userId: string, action: string) => { - const userAction = await userDal.transaction(async (tx) => { - const existingAction = await userDal.findOneUserAction({ action, userId }, tx); + const userAction = await userDAL.transaction(async (tx) => { + const existingAction = await userDAL.findOneUserAction({ action, userId }, tx); if (existingAction) return existingAction; - return userDal.createUserAction({ action, userId }, tx); + return userDAL.createUserAction({ action, userId }, tx); }); return userAction; }; const getUserAction = async (userId: string, action: string) => { - const userAction = await userDal.findOneUserAction({ action, userId }); + const userAction = await userDAL.findOneUserAction({ action, userId }); return userAction; }; diff --git a/backend-pg/src/services/webhook/webhook-dal.ts b/backend-pg/src/services/webhook/webhook-dal.ts index 138a1da18..14abcac5a 100644 --- a/backend-pg/src/services/webhook/webhook-dal.ts +++ b/backend-pg/src/services/webhook/webhook-dal.ts @@ -5,9 +5,9 @@ import { TableName, TWebhooks, TWebhooksUpdate } from "@app/db/schemas"; import { DatabaseError } from "@app/lib/errors"; import { ormify, selectAllTableCols } from "@app/lib/knex"; -export type TWebhookDalFactory = ReturnType; +export type TWebhookDALFactory = ReturnType; -export const webhookDalFactory = (db: TDbClient) => { +export const webhookDALFactory = (db: TDbClient) => { const webhookOrm = ormify(db, TableName.Webhook); const webhookFindQuery = (tx: Knex, filter: Partial) => diff --git a/backend-pg/src/services/webhook/webhook-fns.ts b/backend-pg/src/services/webhook/webhook-fns.ts index 3ef054e2a..a43d1c969 100644 --- a/backend-pg/src/services/webhook/webhook-fns.ts +++ b/backend-pg/src/services/webhook/webhook-fns.ts @@ -9,8 +9,8 @@ import { decryptSymmetric, decryptSymmetric128BitHexKeyUTF8 } from "@app/lib/cry import { BadRequestError } from "@app/lib/errors"; import { logger } from "@app/lib/logger"; -import { TProjectEnvDalFactory } from "../project-env/project-env-dal"; -import { TWebhookDalFactory } from "./webhook-dal"; +import { TProjectEnvDALFactory } from "../project-env/project-env-dal"; +import { TWebhookDALFactory } from "./webhook-dal"; const WEBHOOK_TRIGGER_TIMEOUT = 15 * 1000; export const triggerWebhookRequest = async ( @@ -76,8 +76,8 @@ export type TFnTriggerWebhookDTO = { projectId: string; secretPath: string; environment: string; - webhookDal: Pick; - projectEnvDal: Pick; + webhookDAL: Pick; + projectEnvDAL: Pick; }; // this is reusable function // used in secret queue to trigger webhook and update status when secrets changes @@ -85,10 +85,10 @@ export const fnTriggerWebhook = async ({ environment, secretPath, projectId, - webhookDal, - projectEnvDal + webhookDAL, + projectEnvDAL }: TFnTriggerWebhookDTO) => { - const webhooks = await webhookDal.findAllWebhooks(projectId, environment); + const webhooks = await webhookDAL.findAllWebhooks(projectId, environment); const toBeTriggeredHooks = webhooks.filter( ({ secretPath: hookSecretPath, isDisabled }) => !isDisabled && picomatch.isMatch(secretPath, hookSecretPath, { strictSlashes: false }) @@ -114,18 +114,18 @@ export const fnTriggerWebhook = async ({ error: data.status === "rejected" && data.reason.message })); - await webhookDal.transaction(async (tx) => { - const env = await projectEnvDal.findOne({ projectId, slug: environment }, tx); + await webhookDAL.transaction(async (tx) => { + const env = await projectEnvDAL.findOne({ projectId, slug: environment }, tx); if (!env) throw new BadRequestError({ message: "Env not found" }); if (successWebhooks.length) { - await webhookDal.update( + await webhookDAL.update( { envId: env.id, $in: { id: successWebhooks } }, { lastStatus: "success", lastRunErrorMessage: null }, tx ); } if (failedWebhooks.length) { - await webhookDal.bulkUpdate( + await webhookDAL.bulkUpdate( failedWebhooks.map(({ id, error }) => ({ id, lastRunErrorMessage: error, diff --git a/backend-pg/src/services/webhook/webhook-service.ts b/backend-pg/src/services/webhook/webhook-service.ts index 65c70340a..e176cc865 100644 --- a/backend-pg/src/services/webhook/webhook-service.ts +++ b/backend-pg/src/services/webhook/webhook-service.ts @@ -10,8 +10,8 @@ import { getConfig } from "@app/lib/config/env"; import { encryptSymmetric, encryptSymmetric128BitHexKeyUTF8 } from "@app/lib/crypto"; import { BadRequestError } from "@app/lib/errors"; -import { TProjectEnvDalFactory } from "../project-env/project-env-dal"; -import { TWebhookDalFactory } from "./webhook-dal"; +import { TProjectEnvDALFactory } from "../project-env/project-env-dal"; +import { TWebhookDALFactory } from "./webhook-dal"; import { getWebhookPayload, triggerWebhookRequest } from "./webhook-fns"; import { TCreateWebhookDTO, @@ -22,16 +22,16 @@ import { } from "./webhook-types"; type TWebhookServiceFactoryDep = { - webhookDal: TWebhookDalFactory; - projectEnvDal: TProjectEnvDalFactory; + webhookDAL: TWebhookDALFactory; + projectEnvDAL: TProjectEnvDALFactory; permissionService: Pick; }; export type TWebhookServiceFactory = ReturnType; export const webhookServiceFactory = ({ - webhookDal, - projectEnvDal, + webhookDAL, + projectEnvDAL, permissionService }: TWebhookServiceFactoryDep) => { const createWebhook = async ({ @@ -48,7 +48,7 @@ export const webhookServiceFactory = ({ ProjectPermissionActions.Create, ProjectPermissionSub.Webhooks ); - const env = await projectEnvDal.findOne({ projectId, slug: environment }); + const env = await projectEnvDAL.findOne({ projectId, slug: environment }); if (!env) throw new BadRequestError({ message: "Env not found" }); const insertDoc: TWebhooksInsert = { @@ -81,12 +81,12 @@ export const webhookServiceFactory = ({ } } - const webhook = await webhookDal.create(insertDoc); + const webhook = await webhookDAL.create(insertDoc); return { ...webhook, projectId, environment: env }; }; const updateWebhook = async ({ actorId, actor, id, isDisabled }: TUpdateWebhookDTO) => { - const webhook = await webhookDal.findById(id); + const webhook = await webhookDAL.findById(id); if (!webhook) throw new BadRequestError({ message: "Webhook not found" }); const { permission } = await permissionService.getProjectPermission( @@ -99,12 +99,12 @@ export const webhookServiceFactory = ({ ProjectPermissionSub.Webhooks ); - const updatedWebhook = await webhookDal.updateById(id, { isDisabled }); + const updatedWebhook = await webhookDAL.updateById(id, { isDisabled }); return { ...webhook, ...updatedWebhook }; }; const deleteWebhook = async ({ id, actor, actorId }: TDeleteWebhookDTO) => { - const webhook = await webhookDal.findById(id); + const webhook = await webhookDAL.findById(id); if (!webhook) throw new BadRequestError({ message: "Webhook not found" }); const { permission } = await permissionService.getProjectPermission( @@ -117,12 +117,12 @@ export const webhookServiceFactory = ({ ProjectPermissionSub.Webhooks ); - const deletedWebhook = await webhookDal.deleteById(id); + const deletedWebhook = await webhookDAL.deleteById(id); return { ...webhook, ...deletedWebhook }; }; const testWebhook = async ({ id, actor, actorId }: TTestWebhookDTO) => { - const webhook = await webhookDal.findById(id); + const webhook = await webhookDAL.findById(id); if (!webhook) throw new BadRequestError({ message: "Webhook not found" }); const { permission } = await permissionService.getProjectPermission( @@ -145,7 +145,7 @@ export const webhookServiceFactory = ({ webhookError = (err as Error).message; } const isSuccess = !webhookError; - const updatedWebhook = await webhookDal.updateById(webhook.id, { + const updatedWebhook = await webhookDAL.updateById(webhook.id, { lastStatus: isSuccess ? "success" : "failed", lastRunErrorMessage: isSuccess ? null : webhookError }); @@ -165,7 +165,7 @@ export const webhookServiceFactory = ({ ProjectPermissionSub.Webhooks ); - return webhookDal.findAllWebhooks(projectId, environment, secretPath); + return webhookDAL.findAllWebhooks(projectId, environment, secretPath); }; return {