0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-02-03 23:00:14 -05:00

Moved member importer declaration for readability

refs https://github.com/TryGhost/Team/issues/912

- Exposing a single method out of the service makes the API surface smaller - more readable.
- Additionlally having a wrapping method in service will be helpful for other triggers that are going to be executed in later iterations
This commit is contained in:
Naz 2021-07-23 16:58:35 +04:00
parent 191f732115
commit ec8b49ea42
3 changed files with 18 additions and 12 deletions

View file

@ -479,7 +479,7 @@ module.exports = {
const pathToCSV = frame.file.path;
const headerMapping = frame.data.mapping;
return membersService.importer.process({
return membersService.processImport({
pathToCSV,
headerMapping,
globalLabels,

View file

@ -351,7 +351,7 @@ module.exports = {
const pathToCSV = frame.file.path;
const headerMapping = frame.data.mapping;
return membersService.importer.process({
return membersService.processImport({
pathToCSV,
headerMapping,
globalLabels,

View file

@ -48,6 +48,21 @@ function reconfigureMembersAPI() {
logging.error(err);
});
}
const membersImporter = new MembersCSVImporter({
storagePath: config.getContentPath('data'),
getTimezone: () => settingsCache.get('timezone'),
getMembersApi: () => membersApi,
sendEmail: ghostMailer.send.bind(ghostMailer),
isSet: labsService.isSet.bind(labsService),
addJob: jobsService.addJob.bind(jobsService),
knex: db.knex,
urlFor: urlUtils.urlFor.bind(urlUtils),
importThreshold: config.get('hostSettings.emailVerification.importThreshold')
});
const processImport = async (options) => {
return membersImporter.process(options);
};
const debouncedReconfigureMembersAPI = _.debounce(reconfigureMembersAPI, 600);
@ -127,16 +142,7 @@ const membersService = {
stripeConnect: require('./stripe-connect'),
importer: new MembersCSVImporter({
storagePath: config.getContentPath('data'),
getTimezone: () => settingsCache.get('timezone'),
getMembersApi: () => membersApi,
sendEmail: ghostMailer.send.bind(ghostMailer),
isSet: labsService.isSet.bind(labsService),
addJob: jobsService.addJob.bind(jobsService),
knex: db.knex,
urlFor: urlUtils.urlFor.bind(urlUtils)
}),
processImport: processImport,
stats: new MembersStats({
db: db,