fix for #65
This commit is contained in:
parent
54c0cadaa0
commit
ccfb0fa9ee
9 changed files with 49 additions and 16 deletions
|
|
@ -377,8 +377,12 @@ export default class MediaDbPlugin extends Plugin {
|
||||||
throw new Error('MDB | active note is not a Media DB entry or is missing metadata');
|
throw new Error('MDB | active note is not a Media DB entry or is missing metadata');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let oldMediaTypeModel = this.mediaTypeManager.createMediaTypeModelFromMediaType(metadata, metadata.type);
|
let oldMediaTypeModel = this.mediaTypeManager.createMediaTypeModelFromMediaType(metadata, metadata.type);
|
||||||
|
|
||||||
|
// console.debug(oldMediaTypeModel);
|
||||||
|
|
||||||
let newMediaTypeModel = await this.apiManager.queryDetailedInfoById(metadata.id, metadata.dataSource);
|
let newMediaTypeModel = await this.apiManager.queryDetailedInfoById(metadata.id, metadata.dataSource);
|
||||||
if (!newMediaTypeModel) {
|
if (!newMediaTypeModel) {
|
||||||
return;
|
return;
|
||||||
|
|
@ -386,6 +390,8 @@ export default class MediaDbPlugin extends Plugin {
|
||||||
|
|
||||||
newMediaTypeModel = Object.assign(oldMediaTypeModel, newMediaTypeModel.getWithOutUserData());
|
newMediaTypeModel = Object.assign(oldMediaTypeModel, newMediaTypeModel.getWithOutUserData());
|
||||||
|
|
||||||
|
// console.debug(newMediaTypeModel);
|
||||||
|
|
||||||
// deletion not happening anymore why is this log statement still here
|
// deletion not happening anymore why is this log statement still here
|
||||||
console.debug('MDB | deleting old entry');
|
console.debug('MDB | deleting old entry');
|
||||||
if (onlyMetadata) {
|
if (onlyMetadata) {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import {MediaTypeModel} from './MediaTypeModel';
|
import {MediaTypeModel} from './MediaTypeModel';
|
||||||
import {mediaDbTag} from '../utils/Utils';
|
import {mediaDbTag, migrateObject} from '../utils/Utils';
|
||||||
import {MediaType} from '../utils/MediaType';
|
import {MediaType} from '../utils/MediaType';
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -28,7 +28,11 @@ export class BoardGameModel extends MediaTypeModel {
|
||||||
personalRating: undefined,
|
personalRating: undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.assign(this, obj);
|
migrateObject(this, obj, this);
|
||||||
|
|
||||||
|
if(!obj.hasOwnProperty('userData')) {
|
||||||
|
migrateObject(this.userData, obj, this.userData);
|
||||||
|
}
|
||||||
|
|
||||||
this.type = this.getMediaType();
|
this.type = this.getMediaType();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import {MediaTypeModel} from './MediaTypeModel';
|
import {MediaTypeModel} from './MediaTypeModel';
|
||||||
import {mediaDbTag} from '../utils/Utils';
|
import {mediaDbTag, migrateObject} from '../utils/Utils';
|
||||||
import {MediaType} from '../utils/MediaType';
|
import {MediaType} from '../utils/MediaType';
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -30,7 +30,11 @@ export class GameModel extends MediaTypeModel {
|
||||||
personalRating: undefined,
|
personalRating: undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.assign(this, obj);
|
migrateObject(this, obj, this);
|
||||||
|
|
||||||
|
if(!obj.hasOwnProperty('userData')) {
|
||||||
|
migrateObject(this.userData, obj, this.userData);
|
||||||
|
}
|
||||||
|
|
||||||
this.type = this.getMediaType();
|
this.type = this.getMediaType();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import {MediaTypeModel} from './MediaTypeModel';
|
import {MediaTypeModel} from './MediaTypeModel';
|
||||||
import {mediaDbTag} from '../utils/Utils';
|
import {mediaDbTag, migrateObject} from '../utils/Utils';
|
||||||
import {MediaType} from '../utils/MediaType';
|
import {MediaType} from '../utils/MediaType';
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -35,7 +35,11 @@ export class MovieModel extends MediaTypeModel {
|
||||||
personalRating: undefined,
|
personalRating: undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.assign(this, obj);
|
migrateObject(this, obj, this);
|
||||||
|
|
||||||
|
if(!obj.hasOwnProperty('userData')) {
|
||||||
|
migrateObject(this.userData, obj, this.userData);
|
||||||
|
}
|
||||||
|
|
||||||
this.type = this.getMediaType();
|
this.type = this.getMediaType();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import {MediaTypeModel} from './MediaTypeModel';
|
import {MediaTypeModel} from './MediaTypeModel';
|
||||||
import {mediaDbTag} from '../utils/Utils';
|
import {mediaDbTag, migrateObject} from '../utils/Utils';
|
||||||
import {MediaType} from '../utils/MediaType';
|
import {MediaType} from '../utils/MediaType';
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -31,7 +31,11 @@ export class MusicReleaseModel extends MediaTypeModel {
|
||||||
personalRating: undefined,
|
personalRating: undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.assign(this, obj);
|
migrateObject(this, obj, this);
|
||||||
|
|
||||||
|
if(!obj.hasOwnProperty('userData')) {
|
||||||
|
migrateObject(this.userData, obj, this.userData);
|
||||||
|
}
|
||||||
|
|
||||||
this.type = this.getMediaType();
|
this.type = this.getMediaType();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import {MediaTypeModel} from './MediaTypeModel';
|
import {MediaTypeModel} from './MediaTypeModel';
|
||||||
import {mediaDbTag} from '../utils/Utils';
|
import {mediaDbTag, migrateObject} from '../utils/Utils';
|
||||||
import {MediaType} from '../utils/MediaType';
|
import {MediaType} from '../utils/MediaType';
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -50,7 +50,11 @@ export class SeriesModel extends MediaTypeModel {
|
||||||
personalRating: undefined,
|
personalRating: undefined,
|
||||||
};
|
};
|
||||||
|
|
||||||
Object.assign(this, obj);
|
migrateObject(this, obj, this);
|
||||||
|
|
||||||
|
if(!obj.hasOwnProperty('userData')) {
|
||||||
|
migrateObject(this.userData, obj, this.userData);
|
||||||
|
}
|
||||||
|
|
||||||
this.type = this.getMediaType();
|
this.type = this.getMediaType();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import {MediaTypeModel} from './MediaTypeModel';
|
import {MediaTypeModel} from './MediaTypeModel';
|
||||||
import {mediaDbTag} from '../utils/Utils';
|
import {mediaDbTag, migrateObject} from '../utils/Utils';
|
||||||
import {MediaType} from '../utils/MediaType';
|
import {MediaType} from '../utils/MediaType';
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -29,7 +29,11 @@ export class WikiModel extends MediaTypeModel {
|
||||||
this.article = undefined;
|
this.article = undefined;
|
||||||
this.userData = {};
|
this.userData = {};
|
||||||
|
|
||||||
Object.assign(this, obj);
|
migrateObject(this, obj, this);
|
||||||
|
|
||||||
|
if(!obj.hasOwnProperty('userData')) {
|
||||||
|
migrateObject(this.userData, obj, this.userData);
|
||||||
|
}
|
||||||
|
|
||||||
this.type = this.getMediaType();
|
this.type = this.getMediaType();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,17 +22,14 @@ export class PropertyMapper {
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('test2');
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
console.log(obj.type);
|
// console.log(obj.type);
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
if (MEDIA_TYPES.filter(x => x.toString() == obj.type).length < 1) {
|
if (MEDIA_TYPES.filter(x => x.toString() == obj.type).length < 1) {
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('test3');
|
|
||||||
|
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
const propertyMappings = this.plugin.settings.propertyMappingModels.find(x => x.type === obj.type).properties;
|
const propertyMappings = this.plugin.settings.propertyMappingModels.find(x => x.type === obj.type).properties;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -212,3 +212,9 @@ export interface CreateNoteOptions {
|
||||||
attachFile?: TFile,
|
attachFile?: TFile,
|
||||||
openNote?: boolean,
|
openNote?: boolean,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function migrateObject<T extends object>(object: T, oldData: any, defaultData: T): void {
|
||||||
|
for (const key in object) {
|
||||||
|
object[key] = oldData.hasOwnProperty(key) ? oldData[key] : defaultData[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue