diff --git a/src/revisions/revisions.service.ts b/src/revisions/revisions.service.ts index f93e17eb2..dad768872 100644 --- a/src/revisions/revisions.service.ts +++ b/src/revisions/revisions.service.ts @@ -1,9 +1,16 @@ import { Injectable, Logger } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; import { RevisionMetadataDto } from './revision-metadata.dto'; import { RevisionDto } from './revision.dto'; +import { Revision } from './revision.entity'; @Injectable() export class RevisionsService { + constructor( + @InjectRepository(Revision) + private revisionRepository: Repository, + ) {} private readonly logger = new Logger(RevisionsService.name); getNoteRevisionMetadatas(noteIdOrAlias: string): RevisionMetadataDto[] { this.logger.warn('Using hardcoded data!'); @@ -24,4 +31,25 @@ export class RevisionsService { patch: 'barfoo', }; } + + getLatestRevision(noteId: string): Promise { + return this.revisionRepository.findOne({ + where: { + note: noteId, + }, + order: { + createdAt: 'DESC', + }, + }); + } + + createRevision(content: string) { + // TODO: Add previous revision + // TODO: Calculate patch + return this.revisionRepository.create({ + content: content, + length: content.length, + patch: '', + }); + } }