diff options
author | Marius David Wieschollek <passwords.public@mdns.eu> | 2020-02-08 15:04:59 +0300 |
---|---|---|
committer | Marius David Wieschollek <passwords.public@mdns.eu> | 2020-02-08 15:04:59 +0300 |
commit | 90066169abbef45e9c22a42596ac8a763ee48470 (patch) | |
tree | 25ce41c1b9d2b8ab50c50ec80059b39859bdb066 /src | |
parent | fa87043f0b279274f13e08c63b3c2f5e08147e84 (diff) |
Added revision model
Signed-off-by: Marius David Wieschollek <passwords.public@mdns.eu>
Diffstat (limited to 'src')
-rw-r--r-- | src/Model/AbstractRevisionModel.js | 259 | ||||
-rw-r--r-- | src/Model/Folder/Folder.js | 20 | ||||
-rw-r--r-- | src/Model/Password/Password.js | 205 | ||||
-rw-r--r-- | src/Model/Tag/Tag.js | 20 |
4 files changed, 291 insertions, 213 deletions
diff --git a/src/Model/AbstractRevisionModel.js b/src/Model/AbstractRevisionModel.js new file mode 100644 index 0000000..36c2a05 --- /dev/null +++ b/src/Model/AbstractRevisionModel.js @@ -0,0 +1,259 @@ +import AbstractModel from './AbstractModel'; + +export default class AbstractRevisionModel extends AbstractModel { + + /** + * @return {String} + * @api + */ + getId() { + return this.getProperty('id'); + } + + /** + * @param {String} value + * + * @return {AbstractModel} + * @api + */ + setId(value) { + return this.setProperty('id', value); + } + + /** + * @return {string} + * @api + */ + getRevision() { + return this.getProperty('revision'); + } + + /** + * @param {string} value + * + * @return {Password} + * @api + */ + setRevision(value) { + return this.setProperty('revision', value); + } + + /** + * @return {string} + * @api + */ + getCseType() { + return this.getProperty('cseType'); + } + + /** + * @param {string} value + * + * @return {Password} + * @api + */ + setCseType(value) { + return this.setProperty('cseType', value); + } + + /** + * @return {string} + * @api + */ + getCseKey() { + return this.getProperty('cseKey'); + } + + /** + * + * @param {string} value + * @return {Password} + * @api + */ + setCseKey(value) { + return this.setProperty('cseKey', value); + } + + /** + * @return {string} + * @api + */ + getSseType() { + return this.getProperty('sseType'); + } + + /** + * @param {string} value + * + * @return {Password} + * @api + */ + setSseType(value) { + return this.setProperty('sseType', value); + } + + /** + * @return {string} + * @api + */ + getClient() { + return this.getProperty('client'); + } + + /** + * @param {string} value + * + * @return {Password} + * @api + */ + setClient(value) { + return this.setProperty('client', value); + } + + /** + * @return {Boolean} + * @api + */ + getHidden() { + return this.getProperty('hidden'); + } + + /** + * @param {Boolean} value + * + * @return {Password} + * @api + */ + setHidden(value) { + return this.setProperty('hidden', value); + } + + /** + * @return {Boolean} + * @api + */ + isTrashed() { + return this.getProperty('trashed'); + } + + /** + * @return {Boolean} + * @api + */ + getTrashed() { + return this.getProperty('trashed'); + } + + /** + * @param {Boolean} value + * + * @return {Password} + * @api + */ + setTrashed(value) { + return this.setProperty('trashed', value); + } + + /** + * @return {Boolean} + * @api + */ + isFavorite() { + return this.getProperty('favorite'); + } + + /** + * @return {Boolean} + * @api + */ + getFavorite() { + return this.getProperty('favorite'); + } + + /** + * @param {Boolean} value + * + * @return {Password} + * @api + */ + setFavorite(value) { + return this.setProperty('favorite', value); + } + + /** + * @return {Date} + * @api + */ + getEdited() { + return this.getProperty('edited'); + } + + /** + * @param {Date} value + * + * @return {Password} + * @api + */ + setEdited(value) { + return this.setProperty('edited', value); + } + + /** + * @return {Date} + * @api + */ + getCreated() { + return this.getProperty('created'); + } + + /** + * @param {Date} value + * + * @return {Password} + * @api + */ + setCreated(value) { + return this.setProperty('created', value); + } + + /** + * @return {Date} + * @api + */ + getUpdated() { + return this.getProperty('updated'); + } + + /** + * @param {Date} value + * + * @return {Password} + * @api + */ + setUpdated(value) { + return this.setProperty('updated', value); + } + + /** + * + * @return {{}} + * @api + */ + toJSON() { + let properties = this.getProperties(); + + if(properties.hasOwnProperty('created') && properties.created instanceof Date) { + properties.created = Math.floor(properties.created.getTime() / 1000); + } + + if(properties.hasOwnProperty('edited') && properties.edited instanceof Date) { + properties.edited = Math.floor(properties.edited.getTime() / 1000); + } + + if(properties.hasOwnProperty('updated') && properties.updated instanceof Date) { + properties.updated = Math.floor(properties.updated.getTime() / 1000); + } + + return properties; + } +}
\ No newline at end of file diff --git a/src/Model/Folder/Folder.js b/src/Model/Folder/Folder.js index e1f4f7d..cac6f17 100644 --- a/src/Model/Folder/Folder.js +++ b/src/Model/Folder/Folder.js @@ -1,7 +1,7 @@ -import AbstractModel from '../AbstractModel'; import Properties from '../../Configuration/Folder'; +import AbstractRevisionModel from '../AbstractRevisionModel'; -export default class Folder extends AbstractModel { +export default class Folder extends AbstractRevisionModel { /** * @@ -14,8 +14,8 @@ export default class Folder extends AbstractModel { /** * @return {String} */ - getId() { - return this.getProperty('id'); + getLabel() { + return this.getProperty('label'); } /** @@ -23,15 +23,15 @@ export default class Folder extends AbstractModel { * * @return {Folder} */ - setId(value) { - return this.setProperty('id', value); + setLabel(value) { + return this.setProperty('label', value); } /** * @return {String} */ - getLabel() { - return this.getProperty('label'); + getParent() { + return this.getProperty('parent'); } /** @@ -39,7 +39,7 @@ export default class Folder extends AbstractModel { * * @return {Folder} */ - setLabel(value) { - return this.setProperty('label', value); + setParent(value) { + return this.setProperty('parent', value); } }
\ No newline at end of file diff --git a/src/Model/Password/Password.js b/src/Model/Password/Password.js index 4fbabf0..dd69b68 100644 --- a/src/Model/Password/Password.js +++ b/src/Model/Password/Password.js @@ -1,7 +1,7 @@ import Properties from '../../Configuration/Password'; -import AbstractModel from '../AbstractModel'; +import AbstractRevisionModel from '../AbstractRevisionModel'; -export default class Password extends AbstractModel { +export default class Password extends AbstractRevisionModel { /** * @@ -14,22 +14,6 @@ export default class Password extends AbstractModel { /** * @return {String} */ - getId() { - return this.getProperty('id'); - } - - /** - * @param {String} value - * - * @return {Password} - */ - setId(value) { - return this.setProperty('id', value); - } - - /** - * @return {String} - */ getLabel() { return this.getProperty('label'); } @@ -107,12 +91,19 @@ export default class Password extends AbstractModel { return this.setProperty('notes', value); } + /** + * @return {CustomFieldCollection} + */ getCustomFields() { - return JSON.parse(this.getProperty('customFields')); + return this.getProperty('customFields'); } + /** + * @param {CustomFieldCollection} value + * @return {AbstractModel} + */ setCustomFields(value) { - return this.setProperty('customFields', JSON.stringify(value)); + return this.setProperty('customFields', value); } /** @@ -180,22 +171,6 @@ export default class Password extends AbstractModel { } /** - * @return {string} - */ - getRevision() { - return this.getProperty('revision'); - } - - /** - * @param {string} value - * - * @return {Password} - */ - setRevision(value) { - return this.setProperty('revision', value); - } - - /** * @return {(string|null)} */ getShare() { @@ -211,124 +186,32 @@ export default class Password extends AbstractModel { return this.setProperty('share', value); } - getShared() { - return this.getProperty('shared'); - } - - setShared(value) { - return this.setProperty('shared', value); - } - - /** - * @return {string} - */ - getCseType() { - return this.getProperty('cseType'); - } - - /** - * @param {string} value - * - * @return {Password} - */ - setCseType(value) { - return this.setProperty('cseType', value); - } - - /** - * @return {string} - */ - getCseKey() { - return this.getProperty('cseKey'); - } - - /** - * - * @param {string} value - * @return {Password} - */ - setCseKey(value) { - return this.setProperty('cseKey', value); - } - - /** - * @return {string} - */ - getSseType() { - return this.getProperty('sseType'); - } - - /** - * @param {string} value - * - * @return {Password} - */ - setSseType(value) { - return this.setProperty('sseType', value); - } - - /** - * @return {string} - */ - getClient() { - return this.getProperty('client'); - } - - /** - * @param {string} value - * - * @return {Password} - */ - setClient(value) { - return this.setProperty('client', value); - } - /** * @return {Boolean} */ - getHidden() { - return this.getProperty('hidden'); - } - - /** - * @param {Boolean} value - * - * @return {Password} - */ - setHidden(value) { - return this.setProperty('hidden', value); + isShared() { + return this.getProperty('shared'); } /** * @return {Boolean} */ - getTrashed() { - return this.getProperty('trashed'); - } - - /** - * @param {Boolean} value - * - * @return {Password} - */ - setTrashed(value) { - return this.setProperty('trashed', value); + getShared() { + return this.getProperty('shared'); } /** * @return {Boolean} */ - getFavorite() { - return this.getProperty('favorite'); + setShared(value) { + return this.setProperty('shared', value); } /** - * @param {Boolean} value - * - * @return {Password} + * @return {Boolean} */ - setFavorite(value) { - return this.setProperty('favorite', value); + isEditable() { + return this.getProperty('editable'); } /** @@ -346,52 +229,4 @@ export default class Password extends AbstractModel { setEditable(value) { return this.setProperty('editable', value); } - - /** - * @return {Date} - */ - getEdited() { - return this.getProperty('edited'); - } - - /** - * @param {Date} value - * - * @return {Password} - */ - setEdited(value) { - return this.setProperty('edited', value); - } - - /** - * @return {Date} - */ - getCreated() { - return this.getProperty('created'); - } - - /** - * @param {Date} value - * - * @return {Password} - */ - setCreated(value) { - return this.setProperty('created', value); - } - - /** - * @return {Date} - */ - getUpdated() { - return this.getProperty('updated'); - } - - /** - * @param {Date} value - * - * @return {Password} - */ - setUpdated(value) { - return this.setProperty('updated', value); - } }
\ No newline at end of file diff --git a/src/Model/Tag/Tag.js b/src/Model/Tag/Tag.js index 59a8d83..1cff8b7 100644 --- a/src/Model/Tag/Tag.js +++ b/src/Model/Tag/Tag.js @@ -1,7 +1,7 @@ -import AbstractModel from '../AbstractModel'; import Properties from '../../Configuration/Tag'; +import AbstractRevisionModel from '../AbstractRevisionModel'; -export default class Tag extends AbstractModel { +export default class Tag extends AbstractRevisionModel { /** * @@ -14,22 +14,6 @@ export default class Tag extends AbstractModel { /** * @return {String} */ - getId() { - return this.getProperty('id'); - } - - /** - * @param {String} value - * - * @return {Tag} - */ - setId(value) { - return this.setProperty('id', value); - } - - /** - * @return {String} - */ getLabel() { return this.getProperty('label'); } |