ember-fryctoria
Advanced tools
Comparing version 0.1.4 to 0.1.5
@@ -56,2 +56,3 @@ import backup from '../../utils/backup'; | ||
// ---------- CRUD specific | ||
if(isCRUD) { | ||
@@ -69,3 +70,5 @@ var snapshot = args[2]; | ||
snapshot.fryctoria = true; | ||
args[2] = snapshot; | ||
} | ||
// ---------- CRUD specific END | ||
@@ -72,0 +75,0 @@ return localAdapter[methodName].apply(localAdapter, args) |
@@ -28,3 +28,3 @@ import Ember from 'ember'; | ||
if(finderType === 'all') { | ||
var typeName = result.get('firstObject.constructor.typeKey'); | ||
var typeName = result.get('type.typeKey'); | ||
syncer.syncDown(typeName); | ||
@@ -31,0 +31,0 @@ |
import Ember from 'ember'; | ||
import isOffline from './utils/is-offline'; | ||
import generateUniqueId from './utils/generate-unique-id'; | ||
import createRecordInLocalAdapter from './utils/create-record-in-local-adapter'; | ||
import reloadLocalRecords from './utils/reload-local-records'; | ||
@@ -130,2 +129,5 @@ import isModelInstance from './utils/is-model-instance'; | ||
/** | ||
* This method does not talk to remote store, it only need to get serializer | ||
* from a store. | ||
* | ||
* @method | ||
@@ -135,9 +137,10 @@ * @private | ||
syncDownRecord: function(record) { | ||
var localAdapter = this.lookupStore('local').get('adapter'); | ||
var localStore = this.lookupStore('local'); | ||
var localAdapter = localStore.get('adapter'); | ||
var snapshot = record._createSnapshot(); | ||
if(record.get('isDeleted')) { | ||
return localAdapter.deleteRecord(null, snapshot.type, snapshot); | ||
return localAdapter.deleteRecord(localStore, snapshot.type, snapshot); | ||
} else { | ||
return localAdapter.createRecord(null, snapshot.type, snapshot); | ||
return localAdapter.createRecord(localStore, snapshot.type, snapshot); | ||
} | ||
@@ -275,2 +278,3 @@ }, | ||
// This method does not talk to store, only to adapter | ||
function refreshLocalRecord(recordExtracted) { | ||
@@ -284,10 +288,11 @@ // NOTE: we should pass snapshot instead of rawRecord to deleteRecord, | ||
var localAdapter = localStore.get('adapter'); | ||
return localAdapter.deleteRecord( | ||
localStore, type, {id: recordIdBeforeCreate} | ||
).then(function() { | ||
).then(function() { | ||
// create new record with remoteId | ||
record.set('id', recordExtracted.id); | ||
return createRecordInLocalAdapter(store, type, record); | ||
var snapshot = record._createSnapshot(); | ||
return localAdapter.createRecord(localStore, type, snapshot); | ||
}); | ||
@@ -294,0 +299,0 @@ } |
@@ -6,2 +6,4 @@ import Ember from 'ember'; | ||
/* | ||
* This method does not change store, only change localforage | ||
* | ||
* @method reloadLocalRecords | ||
@@ -13,8 +15,8 @@ * @param {DS.Store} store store:main | ||
var store = container.lookup('store:main'); | ||
var modelType = store.modelFor(type); | ||
var localAdapter = container.lookup('store:local').get('adapter'); | ||
var localStore = container.lookup('store:local'); | ||
var localAdapter = localStore.get('adapter'); | ||
var reloadedRecords = localAdapter.findAll(null, modelType) | ||
var reloadedRecords = localAdapter.findAll(localStore, modelType) | ||
.then(deleteAll) | ||
@@ -27,3 +29,3 @@ .then(createAll); | ||
var deletedRecords = localRecords.map(function(record) { | ||
return localAdapter.deleteRecord(null, modelType, {id: record.id}); | ||
return localAdapter.deleteRecord(localStore, modelType, {id: record.id}); | ||
}); | ||
@@ -37,3 +39,3 @@ | ||
var createdRecords = records.map(function(record) { | ||
return createLocalRecord(localAdapter, modelType, record); | ||
return createLocalRecord(localAdapter, localStore, modelType, record); | ||
}); | ||
@@ -45,6 +47,6 @@ | ||
function createLocalRecord(localAdapter, modelType, record) { | ||
function createLocalRecord(localAdapter, localStore, modelType, record) { | ||
if(record.get('id')) { | ||
var snapshot = record._createSnapshot(); | ||
return localAdapter.createRecord(null, modelType, snapshot); | ||
return localAdapter.createRecord(localStore, modelType, snapshot); | ||
@@ -51,0 +53,0 @@ } else { |
{ | ||
"name": "ember-fryctoria", | ||
"version": "0.1.4", | ||
"version": "0.1.5", | ||
"description": "Make ember data work offline with automatic sync.", | ||
@@ -36,3 +36,3 @@ "directories": { | ||
"ember-export-application-global": "^1.0.2", | ||
"ember-localforage-adapter": "0.6.8", | ||
"ember-localforage-adapter": "0.6.9", | ||
"express": "^4.8.5", | ||
@@ -39,0 +39,0 @@ "glob": "^4.0.5", |
@@ -1,5 +0,2 @@ | ||
1. Refactor Model (Done) | ||
1. Refactor Syncer | ||
1. Refactor MainStore | ||
1. refreshLocalRecord create a helper and reuse | ||
1. Add a test for customized serialzier | ||
@@ -6,0 +3,0 @@ 1. Decorate adapter and serializer to use the correct one? |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
18724074
645
184590