From edf7ae9e292c1673d7b6c280223d22f462a240d7 Mon Sep 17 00:00:00 2001 From: Kazakov Artem Date: Sat, 12 Oct 2019 20:41:00 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9D=8D=20WIP=20CMMT-32=20=E2=9D=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ☐-------------------------------☐ ✸ Developer: Kazakov Artem ✸ Date: Oct 12th [ 20:40:00 ] ☐-------------------------------☐ --- src/cli.js | 6 ++- src/config/words.js | 8 +++ src/modules/index.js | 4 +- src/modules/stores/questionaireStore.js | 27 ++++++++++ src/tasks/askForMoneyOrTimeTasks.js | 67 +++++++++++++++++++++++++ 5 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 src/modules/stores/questionaireStore.js create mode 100644 src/tasks/askForMoneyOrTimeTasks.js diff --git a/src/cli.js b/src/cli.js index 15272e1..f22177f 100644 --- a/src/cli.js +++ b/src/cli.js @@ -3,6 +3,7 @@ import { parseArgumentsIntoOptions } from './tasks/parseArgumentsIntoOptions' import { promptForMissingOptions } from './tasks/promptForMissingOptions' import { startUpTasks } from './tasks/startUpTasks' import { sendEmailTasks } from './tasks/sendEmailTasks' +import { askForMoneyOrTime } from './tasks/askForMoneyOrTimeTasks' import { submitChangesToGithub } from './tasks/submitChangesToGithub' // Stores @@ -27,7 +28,10 @@ export async function cli(args) { await startUpTasks() if (sendCommit) await submitChangesToGithub() - if (sendEmail) await sendEmailTasks() + if (sendEmail) { + await askForMoneyOrTime() + await sendEmailTasks() + } logFinish('All tasks were finished!') return logICWT() diff --git a/src/config/words.js b/src/config/words.js index 397a873..7f1e57e 100644 --- a/src/config/words.js +++ b/src/config/words.js @@ -42,6 +42,14 @@ const tasks = { sendEmail: { title: '# Sending email', error: '# There was an error while Sending email' + }, + askForMoney: { + title: '# Asking, how much money it is worth', + error: '# There was an error while Asking, how much money it is worth' + }, + askForTime: { + title: '# Asking, how much time the developer spent', + error: '# There was an error while Asking, how much time the developer spent' } } diff --git a/src/modules/index.js b/src/modules/index.js index 5b9d03a..84676e9 100644 --- a/src/modules/index.js +++ b/src/modules/index.js @@ -3,11 +3,13 @@ import { GitInfoStore } from './stores/gitInfoStore' import { ShellArgumentsStore } from './stores/shellArguments' import { FilesInfoStore } from './stores/filesInfoStore' import { EmailInfoStore } from './stores/emailInfoStore' +import { QuestionaireStore } from './stores/questionaireStore' export { ProjectInfoStore, GitInfoStore, ShellArgumentsStore, FilesInfoStore, - EmailInfoStore + EmailInfoStore, + QuestionaireStore } diff --git a/src/modules/stores/questionaireStore.js b/src/modules/stores/questionaireStore.js new file mode 100644 index 0000000..cf37ddf --- /dev/null +++ b/src/modules/stores/questionaireStore.js @@ -0,0 +1,27 @@ +import { observable, action, autorun } from 'mobx' + +// Handlers +import { logError, logAutorun, logStoreValues } from '../../handlers/outputHandler' + +// Helpers +import { __isEmpty } from '../../helpers/help' + +// This store asks questions +export const QuestionaireStore = observable({ + PROJECT_NAME: [], + // TODO - ing + askForMoney() { + try { + console.log('') + return this + } catch (err) { return logError('Asking for failed:', err) } + } + +}, { + askForMoney: action +}) + +autorun(() => { + // logAutorun('QuestionaireStore Info') + // logStoreValues(QuestionaireStore, 'QuestionaireStore') +}) diff --git a/src/tasks/askForMoneyOrTimeTasks.js b/src/tasks/askForMoneyOrTimeTasks.js new file mode 100644 index 0000000..c2c7cba --- /dev/null +++ b/src/tasks/askForMoneyOrTimeTasks.js @@ -0,0 +1,67 @@ +// Libs +import Listr from 'listr' +import nodemailer from 'nodemailer' + +// Words +import { tasks } from '../config/words' + +// Handlers +import { logSuccess, logInfo, logError } from '../handlers/outputHandler' +import { taskHandler } from '../handlers/taskHandler' + +// Helpers +import { __isEmpty } from '../helpers/help' + +// Stores +import { + QuestionaireStore, + ProjectInfoStore, + GitInfoStore, + FilesInfoStore, + EmailInfoStore, + ShellArgumentsStore +} from '../modules/index' + +// Functions + +async function askForMoney() { + // TODO - ing + await QuestionaireStore.askForMoney() + return false +} + +async function askForTime() { + return false +} + +/** + * These are startUp tasks. What is happening here? + ** - blabla task -> + * - blablalba + * - blablalba + */ +export async function askForMoneyOrTime() { + logInfo('Asking for money or time started') + + const tasksToRun = new Listr([ + { /* ** askForMoney ** */ + task: () => taskHandler('askForMoney', askForMoney), + title: tasks['askForMoney'].title + }, + { /* ** askForTime ** */ + task: () => taskHandler('askForTime', askForTime), + title: tasks['askForTime'].title, + enabled: false + } + ]) + + await tasksToRun.run() + .catch(err => { + console.log('\n\n') + logError('Asking for money or time failed:', err) + process.exit(1) + }) + + logSuccess('Asking for money or time are ready, let\'s continue') + return true +}