Skip to content

Commit e123bb3

Browse files
committed
Scope operational errors
1 parent 5980b8c commit e123bb3

File tree

9 files changed

+35
-26
lines changed

9 files changed

+35
-26
lines changed

lib/arbiquelize/index.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
const Arbiter = require('./arbiter');
44
const difference = require('lodash/difference');
5-
const errors = require('../errors');
65
const filter = require('lodash/filter');
76
const flatMap = require('lodash/flatMap');
87
const { format } = require('util');
@@ -16,6 +15,7 @@ const pick = require('lodash/pick');
1615
const Promise = require('bluebird');
1716
const reduce = require('lodash/reduce');
1817
const sortBy = require('lodash/sortBy');
18+
const { SfPersistanceError } = require('../errors');
1919
const Sqlize = require('../sqlize');
2020

2121
const { Sequelize } = Sqlize;
@@ -25,7 +25,6 @@ const isModel = Ctor => Ctor && Ctor.prototype instanceof Arbiquelize.Model;
2525
const isProduction = process.env.NODE_ENV === 'production';
2626

2727
const { DataTypes } = Sequelize;
28-
const { SfPersistanceError } = errors;
2928
const { validate } = DataTypes.STRING.prototype;
3029
DataTypes.STRING.prototype.validate = function (value, options) {
3130
let isValid = validate.call(this, value, options);

lib/errors/index.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
'use strict';
22

3-
exports.ErrorManager = require('./error-manager');
4-
5-
exports.SfPersistanceError = require('./sf-persistance-error');
6-
exports.SyncModulePullError = require('./sync-module-pull-error');
7-
exports.Validation = require('./validation');
3+
module.exports = {
4+
ErrorManager: require('./error-manager'),
5+
SyncError: require('./error-manager'),
6+
...require('./validation'),
7+
...require('./operational')
8+
};

lib/errors/operational/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
exports.OperationalError = require('./operational-error');
4+
exports.SfPersistanceError = require('./sf-persistance-error');
5+
exports.SyncModulePullError = require('./sync-module-pull-error');
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
const SyncError = require('../sync-error');
4+
5+
module.exports = class OperationalError extends SyncError {};

lib/errors/sf-persistance-error.js renamed to lib/errors/operational/sf-persistance-error.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
const find = require('lodash/find');
44
const matchAll = require('match-all');
5+
const OperationalError = require('./operational-error');
56

6-
class SfPersistanceError {
7+
class SfPersistanceError extends OperationalError {
78
constructor(original, Model, entries) {
8-
this.name = 'SfPersistanceError';
9+
super(`Unable to persist fetched ${Model.name} salesforce entries`);
910
this.original = original;
1011
this.Model = Model;
1112
this.entries = entries;
12-
this.message = `Unable to persist fetched ${Model.name} salesforce entries`;
1313

1414
if (!this[original.name]) throw original;
1515
this.failingField = this[original.name]();
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'use strict';
2+
3+
const OperationalError = require('./operational-error');
4+
5+
class SyncModulePullError extends OperationalError {
6+
constructor(original, SyncModule) {
7+
super(`Error pulling ${SyncModule.Model.name} salesforce records`);
8+
this.original = original;
9+
this.SyncModule = SyncModule;
10+
}
11+
}
12+
13+
module.exports = SyncModulePullError;

lib/errors/sync-module-pull-error.js

Lines changed: 0 additions & 12 deletions
This file was deleted.

lib/sync/sync-module-validator.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
const errors = require('../errors/validation');
3+
const errors = require('../errors');
44
const filter = require('lodash/filter');
55
const map = require('lodash/map');
66
const Promise = require('bluebird');

lib/sync/sync-module.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
'use strict';
22

3-
const errors = require('../errors');
3+
const { ErrorManager, SfPersistanceError, SyncModulePullError } = require('../errors');
44
const filter = require('lodash/filter');
55
const Loader = require('../utils/loader');
66
const once = require('lodash/once');
77
const partition = require('lodash/partition');
88
const Promise = require('bluebird');
99
const SyncModuleValidator = require('./sync-module-validator');
1010

11-
const { ErrorManager, SfPersistanceError, SyncModulePullError } = errors;
12-
1311
class SyncModule {
1412
constructor({ Model, sync }) {
1513
this.Model = Model;

0 commit comments

Comments
 (0)