Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Code Examples #18

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Add Code Examples #18

wants to merge 2 commits into from

Conversation

shaun-scale
Copy link
Contributor

No description provided.

@evanmoss evanmoss removed their request for review January 2, 2020 21:36
Copy link
Contributor

@james-lennon james-lennon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are definitely helpful examples! Left some style / cleanliness comments.

Are these intended to be used off the shelf? If so then we should change scripts to take command-line arguments.
Also you should use a linter to check for lint errors that I may have missed.

examples/getAllTasks.js Show resolved Hide resolved
examples/getAllTasks.js Outdated Show resolved Hide resolved
examples/getAllTasks.js Outdated Show resolved Hide resolved
examples/getAllTasks.js Outdated Show resolved Hide resolved
examples/cancelTasks.js Outdated Show resolved Hide resolved
examples/createNewTasks.js Outdated Show resolved Hide resolved
examples/createNewTasks.js Outdated Show resolved Hide resolved
examples/createNewTasks.js Outdated Show resolved Hide resolved
// Process each row as needed
rows = rows.map(
row => row.split(',')[0].trim()
);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would make more sense for splitting by ',' should be handled by readCsv()

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to use a csv library. split(',') fails when you have string values that contain commas 😉

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point - csv-parse is a good one that I use in my own scripts!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the logic a bit to handle this better, I'd like to try and not add any more packages to the package.json beyond request and I don't think fancy .csv handling is worth the extra dev hassle to get value from this script. If it's cool with you guys, I'll leave my little helper function here instead of doing the fully correct solution.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't agree with that. You're providing a csv parser that doesn't handle edge cases. Why does the example need CSV? Why not just use a text file with task ids on new lines? I would also expect any service or API we provide to correctly handle input validation (e.g., testing id string length).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll go with the .txt file approach, that seems really reasonable.

I think somewhere else I had input validation, I'll add that here as well.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I meant the API side should handle it so the customers shouldn't have to worry about it

examples/cancelTasks.js Outdated Show resolved Hide resolved
// === CANCEL TASKS ===
// ====================

await Promise.map(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an external library called Bluebird that our environment automatically monkey patches in. There is no Promise.map in node.js

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah!! This makes SO much more sense. I thought my google-fu was just off and I was missing something but couldn't explain how this worked otherwise. Will update.

@evanmoss
Copy link

@shaun-scale James and I probably are not the best people to review this. You should go with the team that maintains the API.

Copy link
Contributor

@james-lennon james-lennon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just clearing this out - generally looks good after updates, and I'm with evan that we should have someone who works with the public API more check it out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants