Skip to content
This repository has been archived by the owner on Jun 22, 2023. It is now read-only.

[SDK 201] Added JSON API and reworked serialization and deserialization #46

Merged
merged 14 commits into from
Jun 13, 2022

Conversation

BishopJohnson
Copy link
Contributor

No description provided.

Bishop S Johnson added 10 commits June 6, 2022 19:51
…s own `to_string` member-function

- Added addition
- Renamed try-getters for number values in `JsonValue` to `JsonValue::try_get_number` with overloads
- Renamed try-setters for number values in `JsonValue` to `JsonValue::try_set_number` with overloads
- Added member-functions to `JsonValue` for JSON object functionality
- Reworked serialization in classes implementing `ISerializable` to use new JSON features
- Argument interfaces no longer override parent functions to access internal implementations
- Removed internal argument implementation classes
…`long`

- Added specializations to `JsonUtils` for getting enum fields
- Fixed validation check in `JsonUtils::try_get_object_as_type()` function
- Removed `GraphqlResponseUtils`
- `get_cursor()` and `is_paginated()` member-functions in `AbstractGraphqlResponse` are now unimplemented-virtual functions
- Removed `cursor` and `error` member-fields from protected access level in `AbstractGraphqlResponse`
- Changed `process_data()` member-function in `AbstractGraphqlResponse` to take type of `JsonValue` as an argument instead of a string
- Removed `result` member-field from protected access level in `GraphqlResponse`
@BishopJohnson BishopJohnson added the refactor Refactor of project features label Jun 9, 2022
@BishopJohnson BishopJohnson self-assigned this Jun 9, 2022
Bishop S Johnson added 2 commits June 9, 2022 04:31
…ion for vector of `JsonValue` type

- Replaced vector of string types in `TransactionEvent` and `TransactionLog` with vector of JsonValue types
@BishopJohnson BishopJohnson merged commit 3c20a42 into v2/beta Jun 13, 2022
@BishopJohnson BishopJohnson deleted the refactor/SDK-201/json-api branch June 13, 2022 09:16
BishopJohnson added a commit that referenced this pull request Jul 6, 2022
* Moved `EnumUtils.hpp` to public headers space

- Added `JsonValue` class
- Added `JsonUtils` class

- Added `to_json()` member-function to `ISerializable`
- Reworked serialization in classes implementing `ISerializable` to use new JSON features
- Argument interfaces no longer override parent functions to access internal implementations
- Removed internal argument implementation classes

* Reworked deserialization in classes implementing `IDeserializable` to use new JSON features

- Reworked `GraphqlResponse` to use new JSON features
- `get_cursor()` and `is_paginated()` member-functions in `AbstractGraphqlResponse` are now unimplemented-virtual functions
- Removed `cursor` and `error` member-fields from protected access level in `AbstractGraphqlResponse`
- Changed `process_data()` member-function in `AbstractGraphqlResponse` to take type of `JsonValue` as an argument instead of a string
- Removed `result` member-field from protected access level in `GraphqlResponse`
- Removed `GraphqlResponseUtils`

* Replaced vector of string types in `TransactionEvent` and `TransactionLog` with vector of JsonValue types

* Disabled HTTP tests on Linux for CI test runners
BishopJohnson added a commit that referenced this pull request Jul 18, 2022
* Improved builder usages (#22)

* Using `static_cast` over `dynamic_cast` in fragment arguments (#24)

* Null HTTP client check in middleware (#26)

* Transition to pass-by-value (#29)

* Logging utility restructure (#31)

* HTTP restructure (#32)

* Automatic reauthentication for `ProjectClient` (#34)

* Reworked platform middleware (#41)

* Replaced upper-snake-case in API with pascal case (#45)

* Added JSON API and reworked serialization and deserialization (#46)

* Renamed model and request classes (#47)

* Refactored model classes to utilize Pimpl idiom (#48)

* Improved `PusherEventService` implementation (#49)

* Created static class `EnjinHosts` and moved host URIs into it (#50)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
refactor Refactor of project features
Development

Successfully merging this pull request may close these issues.

2 participants