mirror of
https://github.com/standardnotes/server
synced 2026-07-14 00:01:54 -04:00
27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
import { MapperInterface, SyncUseCaseInterface } from '@standardnotes/domain-core'
|
|
|
|
import { RevisionMetadata } from '../../Domain/Revision/RevisionMetadata'
|
|
import { RevisionMetadataHttpRepresentation } from './RevisionMetadataHttpRepresentation'
|
|
|
|
export class RevisionMetadataHttpMapper
|
|
implements MapperInterface<RevisionMetadata, RevisionMetadataHttpRepresentation>
|
|
{
|
|
constructor(private getRequiredRoleToViewRevision: SyncUseCaseInterface<string>) {}
|
|
|
|
toDomain(_projection: RevisionMetadataHttpRepresentation): RevisionMetadata {
|
|
throw new Error('Method not implemented.')
|
|
}
|
|
|
|
toProjection(domain: RevisionMetadata): RevisionMetadataHttpRepresentation {
|
|
return {
|
|
uuid: domain.id.toString(),
|
|
item_uuid: domain.props.itemUuid.value,
|
|
content_type: domain.props.contentType.value as string,
|
|
created_at: domain.props.dates.createdAt.toISOString(),
|
|
updated_at: domain.props.dates.updatedAt.toISOString(),
|
|
required_role: this.getRequiredRoleToViewRevision.execute({ createdAt: domain.props.dates.createdAt }).getValue(),
|
|
shared_vault_uuid: domain.props.sharedVaultUuid ? domain.props.sharedVaultUuid.value : null,
|
|
}
|
|
}
|
|
}
|