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

Rewrite http webhook api #478

Merged
merged 47 commits into from
May 4, 2023
Merged

Rewrite http webhook api #478

merged 47 commits into from
May 4, 2023

Conversation

abitofevrything
Copy link
Member

Description

Implement the HTTP Webhook resource API

Prerequisite: #469

Connected issues & other potential problems

Closes #466

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist:

  • Ran dart analyze or make analyze and fixed all issues
  • Ran dart format --set-exit-if-changed -l 160 ./lib or make format and fixed all issues
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked my changes haven't lowered code coverage

@abitofevrything abitofevrything added this to the 6.0 milestone Apr 30, 2023
@abitofevrything abitofevrything self-assigned this Apr 30, 2023
@abitofevrything abitofevrything linked an issue Apr 30, 2023 that may be closed by this pull request
@abitofevrything abitofevrything merged commit 7709271 into rewrite May 4, 2023
@abitofevrything abitofevrything deleted the rewrite-http-webhook-api branch May 4, 2023 18:49
Rapougnac pushed a commit that referenced this pull request May 22, 2023
* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Move test samples to global scope

* Implement the webhook http api

* Rewrite integration test & add webhook integration test

* Fix issues found by webhook tests

* Document webhooks
abitofevrything added a commit that referenced this pull request Jun 19, 2023
* Models for invites

* Add ToStringHelper to Invite

Co-authored-by: Abitofevrything <54505189+abitofevrything@users.noreply.github.com>

* Rewrite http channels API (#469)

* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Rewrite http webhook api (#478)

* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Move test samples to global scope

* Implement the webhook http api

* Rewrite integration test & add webhook integration test

* Fix issues found by webhook tests

* Document webhooks

* Rewrite http application api (#477)

* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Implement the HTTP Application API

* Add application manager to client

* Rewrite http voice api (#479)

* Create models for channels

* Add channel manager

* Export channel models & manager

* Add tests for ChannelManager

* Fix bugs found by tests

* Add maybeParseMany parsing helper

* Add flags to threads

* Add channel update method

* Allow flags to be combined

* Allow single flags to be used as a set of flags

* Add channel tests

* Fix issues found by tests

* Add channel delete method

* Add message object classes

* Add channels manager to client

* Implement message parsing

* Implement channel endpoints

* Simplify channel model structure

* Move sentinels to their own files

* Use specific builder types

* Add message manager to channels

* Add helper shortcuts

* Correct test folder name

* Give each fetch test a unique name

* Add channel endpoint tests

* Add additional ChannelManager parsing tests

* Add message manager test

* Add missing message endpoint tests

* Fix issues found by tests

* Remove embed.type field

* Add builder tests for channels

* Add extra tests & fix bugs found by tests

* Update test

* Remove async test

* Only load channel id if environment variable is provided

* Move channel methods to concrete subclasses

* Normalize cache accesses between resources of the same type

* Prefer getters over late final

* Remove FlagsCombinable as it is no longer needed

* Start adding documentation to channel classes

* Docuument channel and message managers

* Move test samples to global scope

* Implement the webhook http api

* Rewrite integration test & add webhook integration test

* Fix issues found by webhook tests

* Document webhooks

* Implement the HTTP Application API

* Add application manager to client

* Implement the voice http api

* Add voice tests

* Add documentation

* Expose members, add manager and fix various issues

* Fix channel prop and add endpoints, add manager to mixin

* Format

* Testing

* Finish implementing invites

---------

Co-authored-by: Abitofevrything <54505189+abitofevrything@users.noreply.github.com>
Co-authored-by: Abitofevrything <mylo.fawcett@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

[rewrite] Implement HTTP Webhook API
2 participants