- FullSyncPolicy
+ new FullSyncPolicy(value: string, action: function): FullSyncPolicy
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:948
Parameters:
▪ value: string
▪ action: function
▸ (_Object: any, Object: any): any
Parameters:
| Name | Type |
|---|---|
_Object |
any |
Object |
any |
Returns: FullSyncPolicy
• action: function
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:948
▸ (PouchDB: any, Object: any, subPolicy?: any): any
Parameters:
| Name | Type |
|---|---|
PouchDB |
any |
Object |
any |
subPolicy? |
any |
• value: string
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:947
▪ CREATE: FullSyncPolicy = new FullSyncPolicy(C8oCore.FS_POLICY_CREATE, (database: any, newProperties: Object) => { return new Promise((resolve, reject) => { try { delete newProperties[C8oFullSync.FULL_SYNC__ID]; delete newProperties[C8oFullSync.FULL_SYNC__REV]; database.post(newProperties).then((createdDocument) => { resolve(createdDocument); }); } catch (error) { reject(new C8oCouchBaseLiteException(C8oExceptionMessage.fullSyncPutProperties(newProperties), error)); } }); })
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:840
▪ MERGE: FullSyncPolicy = new FullSyncPolicy(C8oCore.FS_POLICY_MERGE, (database: any, newProperties: Object, subPolicy = null) => { return new Promise((resolve, reject) => { try { const documentId: string = C8oUtilsCore.getParameterStringValue(newProperties, C8oFullSync.FULL_SYNC__ID, false); // delete newProperties[C8oFullSync.FULL_SYNC__ID]; delete newProperties[C8oFullSync.FULL_SYNC__REV]; // copy newProperties object to be able to apply subPolicy merge let copyNewProperties = C8oFullSyncCbl.deepCloneObject(newProperties); if (documentId == null) { // Apply subPolicy for merge (here can only be delete since, there is no previous doc) C8oFullSyncCbl.applySubPolicyForMerge(false, copyNewProperties, newProperties , subPolicy); // Put document database.put(newProperties) .then((createdDocument) => { resolve(createdDocument); }).catch((error) => { reject(new C8oCouchBaseLiteException(C8oExceptionMessage.fullSyncPutProperties(newProperties), error)); });
} else {
database.get(documentId)
.then((doc) => {
// Apply Policy merge
C8oFullSyncCbl.mergeProperties(newProperties, doc);
// Apply subPolicy for merge
C8oFullSyncCbl.applySubPolicyForMerge(true, copyNewProperties, newProperties , subPolicy);
// Put document
database.put(newProperties)
.then((createdDocument) => {
resolve(createdDocument);
})
.catch((error) => {
reject(new C8oCouchBaseLiteException(C8oExceptionMessage.fullSyncPutProperties(newProperties), error));
});
}).catch((error) => {
if (error.status === 404) {
// Apply subPolicy for merge (here can only be delete since, there is no previous doc)
C8oFullSyncCbl.applySubPolicyForMerge(false, copyNewProperties, newProperties , subPolicy);
// Put document
database.put(newProperties)
.then((createdDocument) => {
resolve(createdDocument);
})
.catch((error) => {
reject(new C8oCouchBaseLiteException(C8oExceptionMessage.fullSyncPutProperties(newProperties), error));
});
} else {
reject(new C8oCouchBaseLiteException(C8oExceptionMessage.fullSyncPutProperties(newProperties), error));
}
});
}
} catch (error) {
reject(new C8oCouchBaseLiteException(C8oExceptionMessage.fullSyncPutProperties(newProperties), error));
}
});
})
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:889
▪ NONE: FullSyncPolicy = new FullSyncPolicy(C8oCore.FS_POLICY_NONE, (database: any, newProperties: Object) => { let documentId = C8oUtilsCore.getParameterStringValue(newProperties, C8oFullSync.FULL_SYNC__ID, false); if (documentId === "") { documentId = null; } return new Promise((resolve, reject) => { database.post(newProperties).then((createdDocument) => { resolve(createdDocument); }).catch((error) => { reject(new C8oCouchBaseLiteException(C8oExceptionMessage.fullSyncPutProperties(newProperties), error)); }); }); })
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:826
▪ OVERRIDE: FullSyncPolicy = new FullSyncPolicy(C8oCore.FS_POLICY_OVERRIDE, (database: any, newProperties: Object) => { return new Promise((resolve, reject) => { try { const documentId: string = C8oUtilsCore.getParameterStringValue(newProperties, C8oFullSync.FULL_SYNC__ID, false); delete newProperties[C8oFullSync.FULL_SYNC__ID]; delete newProperties[C8oFullSync.FULL_SYNC__REV]; if (documentId == null) { database.post(newProperties).then((createdDocument) => { resolve(createdDocument); }); } else { database.get(documentId).then((doc) => { newProperties["_id"] = documentId; newProperties["_rev"] = doc._rev; return database.put(newProperties); }).then((createdDocument) => { resolve(createdDocument); }).catch((error) => { if (error.status === "404" || error.status === 404) { newProperties["_id"] = documentId; return database.post(newProperties); } else { reject(error); } }, ).then((createdDocument) => { resolve(createdDocument); }); } } catch (error) { reject(new C8oCouchBaseLiteException(C8oExceptionMessage.fullSyncPutProperties(newProperties), error)); } }); })
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:854
▸ getFullSyncPolicy(value: string): FullSyncPolicy
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:960
Parameters:
| Name | Type |
|---|---|
value |
string |
Returns: FullSyncPolicy
▸ values(): FullSyncPolicy[]
Defined in c8osdk-js-core/src/c8o/c8oCore.ts:956
Returns: FullSyncPolicy[]