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

[62077] Fix adding a tracking object to an existing draft #153

Conversation

mrashed-dev
Copy link
Collaborator

Description

The Python SDK creates a special payload specifically for sending an already-existing draft object that extracts the draft ID and the draft's version and sends that as a payload. However, it does not check if a tracking object exists, and thus if a user were to save a draft, and come add a tracking object to it (or if the user saves the draft with the tracking object first) and tries to send it after the save, the SDK never sends the tracking object in the payload. This PR adds a check to add a tracking object if present in the draft.

License

I confirm that this contribution is made under the terms of the MIT license and that I have the authority necessary to make this contribution on behalf of its copyright owner.

@shortcut-integration
Copy link

def callback(request):
payload = json.loads(request.body)
payload["draft_id"] = "2h111aefv8pzwzfykrn7hercj"
return values.pop()
Copy link

Choose a reason for hiding this comment

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

what happens with the payload? its parsed but isn't used?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Great call out. I copied over the mock from another existing mock but I agree it doesn't make too much sense nor does it need to be so complicated. I simplified the mock to fit what is actually needed. For the specific test case I used this for I don't need the payload but for the sake of mocking I still return a payload. I think this SDK needs a refactor of the test cases at some point.

There's no need for a mocked body and we need to return the payload
@mrashed-dev mrashed-dev requested a review from jseller June 11, 2021 18:37
@mrashed-dev mrashed-dev merged commit 41b27d0 into main Jun 11, 2021
@mrashed-dev mrashed-dev deleted the mostafarashed/ch62077/draft-tracking-object-not-being-passed-to branch June 11, 2021 19:05
mrashed-dev added a commit that referenced this pull request Jul 21, 2021
New `nylas` v5.0.0 release bringing in the following additions:
* Add support for the Nylas Neural API (#163)
* Add `metadata` support (#152)
* Add new Room Resource fields  (#156)
* Add `Nylas-API-Version` header support (#157, #151)

as well as the following changes:
* Transitioned from `app_id` and `app_secret` naming to `client_id` and `client_secret` (#159, #86)
* Fix adding a tracking object to an existing `draft` (#153)
* Fix issue when converting offset-aware `datetime` objects to `timestamp` (#154, #143)
* Fix `limit` value in filter not being used when making `.all()` call (#155)
* Fix `from_` field set by attribute on draft ignored (#162, #160)
* Remove `bumpversion` from a required dependency to an extra dependency (#158, #144)
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.

None yet

2 participants