Try to retrieve schema from all schemas cache if not found in individual cache (#2912)

* Try to get schema from main schema if not found in single schema

* Add newline

* Add missing return

* Add missing done to tests
This commit is contained in:
Steven Shipton
2016-10-23 16:59:39 +01:00
committed by Florent Vilmart
parent af55cd1efb
commit 151bea25ee
2 changed files with 52 additions and 1 deletions

View File

@@ -50,7 +50,21 @@ export default class SchemaCache {
if (!this.ttl) {
return Promise.resolve(null);
}
return this.cache.get(this.prefix+className);
return this.cache.get(this.prefix+className).then((schema) => {
if (schema) {
return Promise.resolve(schema);
}
return this.cache.get(this.prefix+MAIN_SCHEMA).then((cachedSchemas) => {
cachedSchemas = cachedSchemas || [];
schema = cachedSchemas.find((cachedSchema) => {
return cachedSchema.className === className;
});
if (schema) {
return Promise.resolve(schema);
}
return Promise.resolve(null);
});
});
}
clear() {