Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.mdns.eu/nextcloud/passwords-client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarius David Wieschollek <passwords.public@mdns.eu>2020-02-08 15:04:59 +0300
committerMarius David Wieschollek <passwords.public@mdns.eu>2020-02-08 15:04:59 +0300
commit90066169abbef45e9c22a42596ac8a763ee48470 (patch)
tree25ce41c1b9d2b8ab50c50ec80059b39859bdb066 /src
parentfa87043f0b279274f13e08c63b3c2f5e08147e84 (diff)
Added revision model
Signed-off-by: Marius David Wieschollek <passwords.public@mdns.eu>
Diffstat (limited to 'src')
-rw-r--r--src/Model/AbstractRevisionModel.js259
-rw-r--r--src/Model/Folder/Folder.js20
-rw-r--r--src/Model/Password/Password.js205
-rw-r--r--src/Model/Tag/Tag.js20
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');
}