From 08600f05c7cbac6e8a57c124e441e94ef702aa9c Mon Sep 17 00:00:00 2001 From: Nazar Gargol Date: Fri, 19 Jun 2020 17:58:33 +1200 Subject: [PATCH] Extracted members csv input serialization logic into separate module refs 772ec13ac49a1d80877bb7b0f90ad57899f868dd - This is prep work for extraction into members repository. --- ghost/members-csv/parse | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 ghost/members-csv/parse diff --git a/ghost/members-csv/parse b/ghost/members-csv/parse new file mode 100644 index 0000000000..54e77c4072 --- /dev/null +++ b/ghost/members-csv/parse @@ -0,0 +1,36 @@ +const fsLib = require('../../../../../../lib/fs'); + +const parse = async (filePath) => { + const columnsToExtract = [{ + name: 'email', + lookup: /^email/i + }, { + name: 'name', + lookup: /name/i + }, { + name: 'note', + lookup: /note/i + }, { + name: 'subscribed_to_emails', + lookup: /subscribed_to_emails/i + }, { + name: 'stripe_customer_id', + lookup: /stripe_customer_id/i + }, { + name: 'complimentary_plan', + lookup: /complimentary_plan/i + }, { + name: 'labels', + lookup: /labels/i + }, { + name: 'created_at', + lookup: /created_at/i + }]; + + return await fsLib.readCSV({ + path: filePath, + columnsToExtract: columnsToExtract + }); +}; + +module.exports.parse = parse;