mirror of
https://github.com/laurent22/joplin.git
synced 2025-04-11 11:12:03 +02:00
Desktop: Fixes #6129: Exported JEX notebook should not contain share metadata
This commit is contained in:
parent
ed20604ad2
commit
a70f9b1a13
@ -7,7 +7,7 @@ import Note from '../../models/Note';
|
||||
import Tag from '../../models/Tag';
|
||||
import Resource from '../../models/Resource';
|
||||
import * as fs from 'fs-extra';
|
||||
import { NoteEntity, ResourceEntity } from '../database/types';
|
||||
import { FolderEntity, NoteEntity, ResourceEntity } from '../database/types';
|
||||
import { ModelType } from '../../BaseModel';
|
||||
const ArrayUtils = require('../../ArrayUtils');
|
||||
|
||||
@ -520,8 +520,11 @@ describe('services_InteropService', function() {
|
||||
}));
|
||||
|
||||
it('should not export certain note properties', (async () => {
|
||||
const folder = await Folder.save({ title: 'folder' });
|
||||
await Note.save({ title: 'note', is_shared: 1, share_id: 'someid', parent_id: folder.id });
|
||||
const folder = await Folder.save({ title: 'folder', share_id: 'some_id', is_shared: 1 });
|
||||
let note = await Note.save({ title: 'note', is_shared: 1, share_id: 'someid', parent_id: folder.id });
|
||||
note = await shim.attachFileToNote(note, `${supportDir}/photo.jpg`);
|
||||
const resourceId = (await Note.linkedResourceIds(note.body))[0];
|
||||
await Resource.save({ id: resourceId, share_id: 'some_id', is_shared: 1 });
|
||||
|
||||
const service = InteropService.instance();
|
||||
const { result, module } = memoryExportModule();
|
||||
@ -534,6 +537,16 @@ describe('services_InteropService', function() {
|
||||
const exportedNote = (result.items.find(i => i.type === ModelType.Note)).object as NoteEntity;
|
||||
expect(exportedNote.share_id).toBe('');
|
||||
expect(exportedNote.is_shared).toBe(0);
|
||||
|
||||
const exportedFolder = (result.items.find(i => i.type === ModelType.Folder)).object as FolderEntity;
|
||||
expect(exportedFolder.share_id).toBe('');
|
||||
expect(exportedFolder.is_shared).toBe(0);
|
||||
|
||||
const exportedResource = (result.items.find(i => i.type === ModelType.Resource)).object as ResourceEntity;
|
||||
expect(exportedResource.share_id).toBe('');
|
||||
expect(exportedResource.is_shared).toBe(0);
|
||||
|
||||
console.info(result.items);
|
||||
}));
|
||||
|
||||
it('should allow registering new import modules', (async () => {
|
||||
|
@ -9,7 +9,6 @@ import Resource from '../../models/Resource';
|
||||
import Folder from '../../models/Folder';
|
||||
import NoteTag from '../../models/NoteTag';
|
||||
import Note from '../../models/Note';
|
||||
import { NoteEntity } from '../database/types';
|
||||
const ArrayUtils = require('../../ArrayUtils');
|
||||
const { sprintf } = require('sprintf-js');
|
||||
const { fileExtension } = require('../../path-utils');
|
||||
@ -320,12 +319,16 @@ export default class InteropService {
|
||||
return result;
|
||||
}
|
||||
|
||||
private normalizeItemForExport(itemType: ModelType, item: any): any {
|
||||
if (itemType === ModelType.Note) {
|
||||
const output: NoteEntity = { ...item };
|
||||
output.is_shared = 0;
|
||||
output.share_id = '';
|
||||
return output;
|
||||
private normalizeItemForExport(_itemType: ModelType, item: any): any {
|
||||
const override: any = {};
|
||||
if ('is_shared' in item) override.is_shared = 0;
|
||||
if ('share_id' in item) override.share_id = '';
|
||||
|
||||
if (Object.keys(override).length) {
|
||||
return {
|
||||
...item,
|
||||
...override,
|
||||
};
|
||||
} else {
|
||||
return item;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user