diff --git a/apps/gateway/src/common/documents/getData.ts b/apps/gateway/src/common/documents/getData.ts index b6c237618f..905fc47554 100644 --- a/apps/gateway/src/common/documents/getData.ts +++ b/apps/gateway/src/common/documents/getData.ts @@ -234,9 +234,7 @@ export async function publishDocumentRunRequestedEvent({ const user = await findFirstUserInWorkspace(workspace) const commitsScope = new CommitsRepository(workspace.id) - const headCommit = await commitsScope - .getHeadCommit(project.id) - .then((r) => r.unwrap()) + const headCommit = await commitsScope.getHeadCommit(project.id) if (user) { publisher.publishLater({ diff --git a/apps/gateway/src/routes/api/v3/projects/versions/get/getCommit.handler.ts b/apps/gateway/src/routes/api/v3/projects/versions/get/getCommit.handler.ts index 3065bc2a97..604250b0bf 100644 --- a/apps/gateway/src/routes/api/v3/projects/versions/get/getCommit.handler.ts +++ b/apps/gateway/src/routes/api/v3/projects/versions/get/getCommit.handler.ts @@ -4,7 +4,7 @@ import { BadRequestError } from '@latitude-data/constants/errors' import { AppRouteHandler } from '$/openApi/types' import { getVersionRoute } from './getCommit.route' -// @ts-expect-error: broken types +// @ts-expect-error: Types are not working as expected export const getVersionHandler: AppRouteHandler< typeof getVersionRoute > = async (c: Context) => { diff --git a/apps/gateway/src/routes/webhook/integration/webhook.handler.ts b/apps/gateway/src/routes/webhook/integration/webhook.handler.ts index 882a697be2..ce14be5ecd 100644 --- a/apps/gateway/src/routes/webhook/integration/webhook.handler.ts +++ b/apps/gateway/src/routes/webhook/integration/webhook.handler.ts @@ -43,8 +43,7 @@ async function resolveWorkspaceAndCommit( return Result.ok({ workspace, commit }) } - const headCommitResult = await commitsRepo.getHeadCommit(rawTrigger.projectId) - const commit = headCommitResult.unwrap() + const commit = await commitsRepo.getHeadCommit(rawTrigger.projectId) if (!commit) { return Result.error( new NotFoundError( diff --git a/apps/web/src/actions/sdk/runDocumentAction.ts b/apps/web/src/actions/sdk/runDocumentAction.ts index fa209c7f7f..95d05efd7a 100644 --- a/apps/web/src/actions/sdk/runDocumentAction.ts +++ b/apps/web/src/actions/sdk/runDocumentAction.ts @@ -33,9 +33,7 @@ export async function runDocumentAction({ const { workspace, user } = await getCurrentUserOrRedirect() const commitsScope = new CommitsRepository(workspace.id) - const headCommit = await commitsScope - .getHeadCommit(projectId) - .then((r) => r.unwrap()) + const headCommit = await commitsScope.getHeadCommit(projectId) publisher.publishLater({ type: 'documentRunRequested', diff --git a/apps/web/src/app/(private)/_data-access/index.ts b/apps/web/src/app/(private)/_data-access/index.ts index 880852675c..7136d72952 100644 --- a/apps/web/src/app/(private)/_data-access/index.ts +++ b/apps/web/src/app/(private)/_data-access/index.ts @@ -179,8 +179,7 @@ export const getHeadCommitCached = cache( projectId: number }) => { const commitsScope = new CommitsRepository(workspace.id) - const headCommitResult = await commitsScope.getHeadCommit(projectId) - return headCommitResult.value + return await commitsScope.getHeadCommit(projectId) }, ) diff --git a/apps/web/src/app/api/documents/[documentUuid]/run/route.ts b/apps/web/src/app/api/documents/[documentUuid]/run/route.ts index c797c667d2..7a1f982163 100644 --- a/apps/web/src/app/api/documents/[documentUuid]/run/route.ts +++ b/apps/web/src/app/api/documents/[documentUuid]/run/route.ts @@ -65,9 +65,7 @@ export const POST = errorHandler( ).then((r) => r.unwrap()) const commitsScope = new CommitsRepository(workspace.id) - const headCommit = await commitsScope - .getHeadCommit(projectId) - .then((r) => r.unwrap()) + const headCommit = await commitsScope.getHeadCommit(projectId) // Publish document run event publisher.publishLater({ diff --git a/packages/core/src/lib/analytics/AnalyticsClient.ts b/packages/core/src/lib/analytics/AnalyticsClient.ts index d0b82ef12c..1281dd5e9c 100644 --- a/packages/core/src/lib/analytics/AnalyticsClient.ts +++ b/packages/core/src/lib/analytics/AnalyticsClient.ts @@ -78,7 +78,7 @@ export class AnalyticsClient { const repo = new WorkspacesRepository(user.id) - // TODO: remove, it's very expensive to have a read operation on each analytics event + // TODO: remove, it's very expensive to have a read operation on each analytics event const result = await repo.find(this.workspaceId) if (result.error) return undefined diff --git a/packages/core/src/repositories/commitsRepository/index.ts b/packages/core/src/repositories/commitsRepository/index.ts index 7d6ee8d50d..d8514c572e 100644 --- a/packages/core/src/repositories/commitsRepository/index.ts +++ b/packages/core/src/repositories/commitsRepository/index.ts @@ -71,12 +71,9 @@ export class CommitsRepository extends RepositoryLegacy< return Result.error(new NotFoundError('Project ID is required')) } - const headCommit = await this.getHeadCommit(projectId).then((r) => - r.unwrap(), - ) - if (!headCommit) { + const headCommit = await this.getHeadCommit(projectId) + if (!headCommit) return Result.error(new NotFoundError('Head commit not found')) - } return Result.ok(headCommit) } diff --git a/packages/core/src/repositories/commitsRepository/utils/getHeadCommit.ts b/packages/core/src/repositories/commitsRepository/utils/getHeadCommit.ts index 99feb8849b..736f097fb5 100644 --- a/packages/core/src/repositories/commitsRepository/utils/getHeadCommit.ts +++ b/packages/core/src/repositories/commitsRepository/utils/getHeadCommit.ts @@ -2,8 +2,8 @@ import { and, desc, eq, isNotNull } from 'drizzle-orm' import { database } from '../../../client' import { InferedReturnType } from '../../../lib/commonTypes' -import { Result } from '../../../lib/Result' import { buildCommitsScope } from './buildCommitsScope' +import { Commit } from '../../../browser' export async function getHeadCommitForProject( { @@ -27,5 +27,5 @@ export async function getHeadCommitForProject( .orderBy(desc(commitsScope.mergedAt)) .limit(1) - return Result.ok(result[0]) + return result[0] as Commit | undefined } diff --git a/packages/core/src/services/actions/cloneAgent.ts b/packages/core/src/services/actions/cloneAgent.ts index 9fe6a854b5..45c89edcec 100644 --- a/packages/core/src/services/actions/cloneAgent.ts +++ b/packages/core/src/services/actions/cloneAgent.ts @@ -113,11 +113,7 @@ async function getSampleAgent( } const commitsRepository = new CommitsRepository(workspace.id, db) - const gettingco = await commitsRepository.getHeadCommit(project.id) - if (gettingco.error) { - return Result.error(gettingco.error) - } - const commit = gettingco.unwrap() + const commit = await commitsRepository.getHeadCommit(project.id) if (!commit) { return Result.error( new UnprocessableEntityError('Sample Agents commit not found'), diff --git a/packages/core/src/services/copilot/get.ts b/packages/core/src/services/copilot/get.ts index c4f4e043d9..65d2d4972c 100644 --- a/packages/core/src/services/copilot/get.ts +++ b/packages/core/src/services/copilot/get.ts @@ -36,9 +36,7 @@ export async function getCopilot({ path }: { path: string }, db = database) { } const commitsRepository = new CommitsRepository(workspace.id, db) - const commit = await commitsRepository - .getHeadCommit(env.COPILOT_PROJECT_ID) - .then((r) => r.unwrap()) + const commit = await commitsRepository.getHeadCommit(env.COPILOT_PROJECT_ID) if (!commit) { return Result.error(new Error('Copilot commit not found')) } diff --git a/packages/core/src/services/copilot/latte/helpers.ts b/packages/core/src/services/copilot/latte/helpers.ts index b8e80bd655..3f1cbc3b59 100644 --- a/packages/core/src/services/copilot/latte/helpers.ts +++ b/packages/core/src/services/copilot/latte/helpers.ts @@ -78,10 +78,7 @@ async function getCommitResult({ }) } - const headCommitResult = await commitScope.getHeadCommit(projectId) - if (!Result.isOk(headCommitResult)) return headCommitResult - const headCommit = headCommitResult.unwrap() - + const headCommit = await commitScope.getHeadCommit(projectId) if (!headCommit) { return Result.error( new NotFoundError('Live commit not found in Latte project'), diff --git a/packages/core/src/services/copilot/latte/tools/triggers/validateTriggerSchema.ts b/packages/core/src/services/copilot/latte/tools/triggers/validateTriggerSchema.ts index 32fdc2ca6f..80e4f1d978 100644 --- a/packages/core/src/services/copilot/latte/tools/triggers/validateTriggerSchema.ts +++ b/packages/core/src/services/copilot/latte/tools/triggers/validateTriggerSchema.ts @@ -86,10 +86,7 @@ const validateDocumentReadyForCreatingTrigger = async ({ promptUuid: string }): PromisedResult => { const commitsScope = new CommitsRepository(workspaceId) - const headCommit = await commitsScope - .getHeadCommit(projectId) - .then((r) => r.unwrap()) - + const headCommit = await commitsScope.getHeadCommit(projectId) if ( headCommit !== undefined && (versionUuid === headCommit.uuid || versionUuid === HEAD_COMMIT) @@ -111,11 +108,10 @@ const validateDocumentReadyForCreatingTrigger = async ({ .then((r) => r.unwrap()) const document = documents.find((doc) => doc.documentUuid === promptUuid) - if (!document) { return Result.error( new NotFoundError( - `Document with UUID ${promptUuid} not found in commit ${headCommit.uuid}.`, + `Document with UUID ${promptUuid} not found in commit ${commit?.uuid ?? headCommit?.uuid}.`, ), ) } diff --git a/packages/core/src/services/documentTriggers/delete.ts b/packages/core/src/services/documentTriggers/delete.ts index 283b2fb907..557e56a9e7 100644 --- a/packages/core/src/services/documentTriggers/delete.ts +++ b/packages/core/src/services/documentTriggers/delete.ts @@ -33,11 +33,8 @@ async function getLiveDocumentTrigger( ): PromisedResult | undefined> { return transaction.call(async (tx) => { const commitsScope = new CommitsRepository(workspace.id, tx) - const liveCommitResult = await commitsScope.getHeadCommit(projectId) - if (!Result.isOk(liveCommitResult) || !liveCommitResult.value) { - return Result.ok(undefined) - } - const liveCommit = liveCommitResult.unwrap() + const liveCommit = await commitsScope.getHeadCommit(projectId) + if (!liveCommit) return Result.ok(undefined) const triggersScope = new DocumentTriggersRepository(workspace.id, tx) const liveTriggerResult = await triggersScope.getTriggerByUuid({ diff --git a/packages/core/src/services/documentTriggers/enable.ts b/packages/core/src/services/documentTriggers/enable.ts index 996c9c681a..69befe504b 100644 --- a/packages/core/src/services/documentTriggers/enable.ts +++ b/packages/core/src/services/documentTriggers/enable.ts @@ -29,10 +29,7 @@ export async function setDocumentTriggerEnabled( ): PromisedResult> { return await transaction.call(async (tx) => { const commitsScope = new CommitsRepository(workspace.id, tx) - const liveCommitResult = await commitsScope.getHeadCommit(commit.projectId) - if (!Result.isOk(liveCommitResult)) return liveCommitResult - const liveCommit = liveCommitResult.unwrap() - + const liveCommit = await commitsScope.getHeadCommit(commit.projectId) if (commit.uuid !== liveCommit?.uuid) { return Result.error( new BadRequestError( diff --git a/packages/core/src/services/documentTriggers/handleMerge.ts b/packages/core/src/services/documentTriggers/handleMerge.ts index 165374f827..3f5c202865 100644 --- a/packages/core/src/services/documentTriggers/handleMerge.ts +++ b/packages/core/src/services/documentTriggers/handleMerge.ts @@ -32,11 +32,7 @@ export async function handleTriggerMerge( const triggersScope = new DocumentTriggersRepository(workspace.id, tx) const commitsScope = new CommitsRepository(workspace.id, tx) - const liveCommitResult = await commitsScope.getHeadCommit(draft.projectId) - if (!Result.isOk(liveCommitResult)) return liveCommitResult - - const liveCommit = liveCommitResult.unwrap() - + const liveCommit = await commitsScope.getHeadCommit(draft.projectId) const triggerUpdatesResult = await triggersScope.getTriggerUpdatesInDraft(draft) if (!Result.isOk(triggerUpdatesResult)) return triggerUpdatesResult diff --git a/packages/core/src/services/documentTriggers/handlers/email/registerEvent.ts b/packages/core/src/services/documentTriggers/handlers/email/registerEvent.ts index edc652d8fe..929283e2b0 100644 --- a/packages/core/src/services/documentTriggers/handlers/email/registerEvent.ts +++ b/packages/core/src/services/documentTriggers/handlers/email/registerEvent.ts @@ -133,9 +133,7 @@ export async function registerEmailTriggerEvent( const uploadedFiles = uploadResult.unwrap() const commitsScope = new CommitsRepository(workspace.id, db) - const headCommitResult = await commitsScope.getHeadCommit(project.id) - if (headCommitResult.error) return Result.nil() - const headCommit = headCommitResult.unwrap() + const headCommit = await commitsScope.getHeadCommit(project.id) // TODO: Search the Live and all draft versions for each trigger, not just the Live one if (!headCommit) return Result.nil() diff --git a/packages/core/src/services/documentTriggers/handlers/scheduled/registerEvents.ts b/packages/core/src/services/documentTriggers/handlers/scheduled/registerEvents.ts index 350f2db838..40be3680aa 100644 --- a/packages/core/src/services/documentTriggers/handlers/scheduled/registerEvents.ts +++ b/packages/core/src/services/documentTriggers/handlers/scheduled/registerEvents.ts @@ -98,11 +98,9 @@ async function registerSingleScheduledTriggerEvent( // However, the trigger's associated commit may not be the Live commit, // but rather just the last merged commit where it has been updated. // Thus, we need to find the Live commit - const liveCommitResult = await commitsScope.getHeadCommit( + const liveCommit = await commitsScope.getHeadCommit( documentTrigger.projectId, ) - if (!Result.isOk(liveCommitResult)) return liveCommitResult - const liveCommit = liveCommitResult.unwrap() eventCommit = liveCommit! } diff --git a/packages/core/src/services/documentTriggers/helpers/getCommitFromTrigger.ts b/packages/core/src/services/documentTriggers/helpers/getCommitFromTrigger.ts index e9f342939f..65ec573393 100644 --- a/packages/core/src/services/documentTriggers/helpers/getCommitFromTrigger.ts +++ b/packages/core/src/services/documentTriggers/helpers/getCommitFromTrigger.ts @@ -23,12 +23,9 @@ export async function getCommitFromTrigger( } // Commit is merged. This means that the latest commit active for this trigger is Live - const liveCommitResult = await commitsScope.getHeadCommit( + const liveCommit = await commitsScope.getHeadCommit( documentTrigger.projectId, ) - if (!Result.isOk(liveCommitResult)) return liveCommitResult - const liveCommit = liveCommitResult.unwrap() - if (!liveCommit) { return Result.error( new NotFoundError( diff --git a/packages/core/src/services/documents/recomputeChanges/getHeadDocumentsAndDraftDocuments.ts b/packages/core/src/services/documents/recomputeChanges/getHeadDocumentsAndDraftDocuments.ts index 550910f200..ade9f1b815 100644 --- a/packages/core/src/services/documents/recomputeChanges/getHeadDocumentsAndDraftDocuments.ts +++ b/packages/core/src/services/documents/recomputeChanges/getHeadDocumentsAndDraftDocuments.ts @@ -38,7 +38,7 @@ async function getDocumentsAtCommit( const headCommit = await getHeadCommitForProject( { projectId: projectResult.value.id, commitsScope }, tx, - ).then((r) => r.unwrap()) + ) const docsScope = new DocumentVersionsRepository(workspaceId, tx) const headDocumentsResult = await docsScope.getDocumentsAtCommit(headCommit) diff --git a/packages/core/src/services/documents/update.test.ts b/packages/core/src/services/documents/update.test.ts index 2a22de7315..ca1fc7cacf 100644 --- a/packages/core/src/services/documents/update.test.ts +++ b/packages/core/src/services/documents/update.test.ts @@ -7,6 +7,7 @@ import { } from '../../repositories' import { recomputeChanges } from './recomputeChanges' import { updateDocument } from './update' +import { NotFoundError } from '@latitude-data/constants/errors' describe('updateDocument', () => { it('modifies a document that was created in a previous commit', async (ctx) => { @@ -295,9 +296,8 @@ describe('updateDocument', () => { }) const commitsScope = new CommitsRepository(project.workspaceId) - const commit = await commitsScope - .getHeadCommit(project.id) - .then((r) => r.unwrap()) + const commit = await commitsScope.getHeadCommit(project.id) + if (!commit) throw new NotFoundError('Head commit not found') const fooDoc = documents.find((d) => d.path === 'foo')! const result = await updateDocument({ diff --git a/packages/core/src/services/history/resetDocumentToVersion.ts b/packages/core/src/services/history/resetDocumentToVersion.ts index dc0b14a1c0..828ee05bb4 100644 --- a/packages/core/src/services/history/resetDocumentToVersion.ts +++ b/packages/core/src/services/history/resetDocumentToVersion.ts @@ -1,3 +1,4 @@ +import { NotFoundError } from '@latitude-data/constants/errors' import { Commit, DraftChange, Project, User, Workspace } from '../../browser' import { Result } from '../../lib/Result' import { PromisedResult } from '../../lib/Transaction' @@ -33,14 +34,14 @@ async function fetchDocumentVersionDetails({ .then((r) => r.value) const commitScope = new CommitsRepository(workspace.id) - const headCommit = await commitScope - .getHeadCommit(project.id) - .then((r) => r.unwrap()!) + const headCommit = await commitScope.getHeadCommit(project.id) + if (!headCommit) + return Result.error(new NotFoundError('Head commit not found')) const targetCommit = targetDraftUuid ? await commitScope - .getCommitByUuid({ uuid: targetDraftUuid, projectId: project.id }) - .then((r) => r.unwrap()) + .getCommitByUuid({ uuid: targetDraftUuid, projectId: project.id }) + .then((r) => r.unwrap()) : headCommit const targetDocument = await docsScope @@ -166,13 +167,13 @@ export async function resetDocumentToVersion({ const targetDraftResult = targetDraftUuid ? Result.ok(targetCommit) : await createCommit({ - project: project, - user: user, - data: { - title: `Reset "${oldDocumentPath}"`, - description: `Reset document "${oldDocumentPath}" to version "${targetCommit.title}"`, - }, - }) + project: project, + user: user, + data: { + title: `Reset "${oldDocumentPath}"`, + description: `Reset document "${oldDocumentPath}" to version "${targetCommit.title}"`, + }, + }) const targetDraft = targetDraftResult.unwrap() diff --git a/packages/core/src/services/history/resetProjectToCommit.ts b/packages/core/src/services/history/resetProjectToCommit.ts index 1a7c4c52cf..c2330d4492 100644 --- a/packages/core/src/services/history/resetProjectToCommit.ts +++ b/packages/core/src/services/history/resetProjectToCommit.ts @@ -1,3 +1,4 @@ +import { NotFoundError } from '@latitude-data/constants/errors' import { Commit, DraftChange, Project, User, Workspace } from '../../browser' import { database } from '../../client' import { Result } from '../../lib/Result' @@ -24,14 +25,14 @@ async function fetchCommitDetails({ try { const commitScope = new CommitsRepository(workspace.id) - const headCommit = await commitScope - .getHeadCommit(project.id) - .then((r) => r.unwrap()!) + const headCommit = await commitScope.getHeadCommit(project.id) + if (!headCommit) + return Result.error(new NotFoundError('Head commit not found')) const targetCommit = targetDraftUuid ? await commitScope - .getCommitByUuid({ uuid: targetDraftUuid, projectId: project.id }) - .then((r) => r.unwrap()) + .getCommitByUuid({ uuid: targetDraftUuid, projectId: project.id }) + .then((r) => r.unwrap()) : headCommit const originalCommit = await commitScope @@ -150,13 +151,13 @@ export async function resetProjectToCommit( const targetDraft = targetDraftUuid ? Result.ok(targetCommit) : await createCommit({ - project: project, - user: user, - data: { - title: `Reset project to v${originalCommit.version} "${originalCommit.title}"`, - description: `Resetted the project to the state of commit v${originalCommit.version} "${originalCommit.title}"`, - }, - }) + project: project, + user: user, + data: { + title: `Reset project to v${originalCommit.version} "${originalCommit.title}"`, + description: `Resetted the project to the state of commit v${originalCommit.version} "${originalCommit.title}"`, + }, + }) if (targetDraft.error) { return Result.error(targetDraft.error) diff --git a/packages/core/src/services/history/revertCommit.ts b/packages/core/src/services/history/revertCommit.ts index d12aa5b0f3..cadd73630d 100644 --- a/packages/core/src/services/history/revertCommit.ts +++ b/packages/core/src/services/history/revertCommit.ts @@ -1,3 +1,4 @@ +import { NotFoundError } from '@latitude-data/constants/errors' import { Commit, DraftChange, Project, User, Workspace } from '../../browser' import { Result } from '../../lib/Result' import Transaction, { PromisedResult } from '../../lib/Transaction' @@ -22,14 +23,14 @@ async function fetchCommitReversionDetails({ }) { try { const commitScope = new CommitsRepository(workspace.id) - const headCommit = await commitScope - .getHeadCommit(project.id) - .then((r) => r.unwrap()!) + const headCommit = await commitScope.getHeadCommit(project.id) + if (!headCommit) + return Result.error(new NotFoundError('Head commit not found')) const targetDraft = targetDraftUuid ? await commitScope - .getCommitByUuid({ uuid: targetDraftUuid, projectId: project.id }) - .then((r) => r.unwrap()) + .getCommitByUuid({ uuid: targetDraftUuid, projectId: project.id }) + .then((r) => r.unwrap()) : headCommit const changedCommit = await commitScope @@ -48,8 +49,8 @@ async function fetchCommitReversionDetails({ .then((r) => r.unwrap()) const originalDocuments = originalCommit ? await docsScope - .getDocumentsAtCommit(originalCommit) - .then((r) => r.unwrap()) + .getDocumentsAtCommit(originalCommit) + .then((r) => r.unwrap()) : [] return Result.ok({ @@ -204,16 +205,16 @@ export async function revertCommit( const finalDraft = targetDraftUuid ? Result.ok(targetDraft) : await createCommit( - { - project: project, - user: user, - data: { - title: `Revert changes for v${changedCommit.version} "${changedCommit.title}"`, - description: `Reverted changes of version v${changedCommit.version} "${changedCommit.title}"`, - }, + { + project: project, + user: user, + data: { + title: `Revert changes for v${changedCommit.version} "${changedCommit.title}"`, + description: `Reverted changes of version v${changedCommit.version} "${changedCommit.title}"`, }, - transaction, - ) + }, + transaction, + ) if (finalDraft.error) return Result.error(finalDraft.error) diff --git a/packages/core/src/services/history/revertDocumentVersion.ts b/packages/core/src/services/history/revertDocumentVersion.ts index 9e7e094ba4..840df0d58a 100644 --- a/packages/core/src/services/history/revertDocumentVersion.ts +++ b/packages/core/src/services/history/revertDocumentVersion.ts @@ -1,3 +1,4 @@ +import { NotFoundError } from '@latitude-data/constants/errors' import { Commit, DraftChange, Project, User, Workspace } from '../../browser' import { Result } from '../../lib/Result' import { PromisedResult } from '../../lib/Transaction' @@ -23,14 +24,14 @@ async function fetchDocumentReversionDetails({ }) { try { const commitScope = new CommitsRepository(workspace.id) - const headCommit = await commitScope - .getHeadCommit(project.id) - .then((r) => r.unwrap()!) + const headCommit = await commitScope.getHeadCommit(project.id) + if (!headCommit) + return Result.error(new NotFoundError('Head commit not found')) const targetDraft = targetDraftUuid ? await commitScope - .getCommitByUuid({ uuid: targetDraftUuid, projectId: project.id }) - .then((r) => r.unwrap()) + .getCommitByUuid({ uuid: targetDraftUuid, projectId: project.id }) + .then((r) => r.unwrap()) : headCommit const changedCommit = await commitScope @@ -57,11 +58,11 @@ async function fetchDocumentReversionDetails({ const originalDocument = originalCommit ? await docsScope - .getDocumentAtCommit({ - commitUuid: originalCommit.uuid, - documentUuid: documentUuid, - }) - .then((r) => r.value) + .getDocumentAtCommit({ + commitUuid: originalCommit.uuid, + documentUuid: documentUuid, + }) + .then((r) => r.value) : undefined return Result.ok({ @@ -199,13 +200,13 @@ export async function revertChangesToDocument({ const finalDraft = targetDraftUuid ? Result.ok(targetDraft) : await createCommit({ - project: project, - user: user, - data: { - title: `Revert changes for "${oldDocumentPath}"`, - description: `Reverted changes of "${oldDocumentPath}" made in version ${changedCommit.title}`, - }, - }) + project: project, + user: user, + data: { + title: `Revert changes for "${oldDocumentPath}"`, + description: `Reverted changes of "${oldDocumentPath}" made in version ${changedCommit.title}`, + }, + }) if (finalDraft.error) return Result.error(finalDraft.error) diff --git a/packages/core/src/services/publishedDocuments/create.ts b/packages/core/src/services/publishedDocuments/create.ts index 17ecc5b59c..60ddff7cf3 100644 --- a/packages/core/src/services/publishedDocuments/create.ts +++ b/packages/core/src/services/publishedDocuments/create.ts @@ -29,10 +29,7 @@ export async function createPublishedDocument( transaction = new Transaction(), ) { const commitRepo = new CommitsRepository(workspace.id) - const liveCommit = await commitRepo - .getHeadCommit(project.id) - .then((r) => r.unwrap()) - + const liveCommit = await commitRepo.getHeadCommit(project.id) if (!liveCommit) { return Result.error( new UnprocessableEntityError('Project has no commits.', { diff --git a/packages/core/src/services/publishedDocuments/findSharedDocument.ts b/packages/core/src/services/publishedDocuments/findSharedDocument.ts index 214296d50e..ad87fe3a04 100644 --- a/packages/core/src/services/publishedDocuments/findSharedDocument.ts +++ b/packages/core/src/services/publishedDocuments/findSharedDocument.ts @@ -51,10 +51,7 @@ export async function findSharedDocument( if (!workspace) return NotFound const commitsRepo = new CommitsRepository(shared.workspaceId, db) - const commitResult = await commitsRepo.getHeadCommit(shared.projectId) - - if (commitResult.error) return NotFound - const commit = commitResult.value + const commit = await commitsRepo.getHeadCommit(shared.projectId) if (!commit) return NotFound const repo = new DocumentVersionsRepository(shared.workspaceId, db)