Change Log
All notable changes to this project will be documented in this file.
[1.3.4] - 2025-08-xx
Added
Changed
Fixed
[1.3.3] - 2025-08-29
Added
- Better error handling
Fixed
- Unused parameter/variable
$includeArchivedNodes
[1.3.2] - 2025-08-19
Added
Mutation
: allow parameters other than input.- Location Structure
Draft
models Interface::LocationStructure::Nodes
forLocationStructure
andDraft::Structure
raw_response
as optional query parameter (for debugging)Logic::Input
(out of consistency)- Fragments:
LocationDraft
LocationsError
- Query to include
draft
list when fetching an RS. - Location
Draft
queries:Draft#byId
Draft#create
Draft#delete
Draft#addCommands
Draft#publish
Draft#dropBadCommands
- Error tracking througout the payload models of location mutations
Changed
- Upgrade dependency (
ecoportal-api
gem). - Moved rescue on fragment definition to
#define
itself. NodeInterface
moved toInterface::LocationStructure::Node
- Code: Shorten namespace referral.
- Swap to
Logic::BaseModel
Mutation
to introduce:input
required parameter by using parent class.
Fixed
QueryConnection
: bad code.conflictingIds
should be array.
[1.3.1] - 2025-06-11
Changed
- upgraded gem dependencies
- Moded
Ecoportal::API::GraphQL::Base::Model
to- >
Ecoportal::API::GraphQL::BaseModel
- >
- Added
Interface::LocationNode
- Added
Interface::BasePage
Fixed
- Fragments
Action
fragment to usePageUnion
(upgrade)- Memoize fragments.
- Add what fragment failed in the error.
[1.2.1] - 2025-05-16
Changed
- upgrade
ecoportal-api
gem - upgrade
ecoportal-api-v2
gem
[1.1.1] - 2025-05-14
Added
MemberChanges
helpers forBase::ContractorEntity
- Custom Diff logic that can be used in GraphQL content:
Common::GraphQL::Model::Diffable::HashDiffNesting
- Reused from
HashDiffPatch
(ecoportal-api-v2
):- It does not use
patch_ver
, but rather justid
property alone. - The operation property has been renamed to
api_operation
(to ensure no collisions). And the operation types are symbols, and renamed to::delete
,:update
and:create
. This can show up to be useful when, for instance, reusing the output of#as_update
to generate actual input objects (i.e.#as_input
) that feed some GraphQL query. - The data property has been renamed to
change_data
. Hash
keys are of typeSymbol
.
- It does not use
Common::GraphQL::Model::Diffable::DiffService
. In a GraphQL context, this aims to be able to implement a function called#as_input
(equivalent to#as_update
):- It uses the
HashDiffNesting
helpers. - It has capability to
ignore
certain keys. - It can calculate diff excluding nested models (i.e. those that are
root?
and, therefore, not part of the changed target model). This functionality is an optimization tocascaded_callbacks
throughout the nested models.
- It uses the
Changed
Common::GraphQL::Model::Diffable
by usingDiffable::DiffService
(withcascaded_callbacks
implementation).#as_update
#dirty?
- upgraded
ecoportal-api
gem - updraded
ecoportal-api-v2
gem
[0.4.7] - 2025-04-02
Added
page.id
to Action linked resources.
[0.4.6] - 2025-04-02
Added
Ecoportal::API::GraphQL::Logic::QueryConnection
- Require
default_connection_block
to child classes - This aims to not having have client code having to define the block for
#each
- Require
Changed
- upgraded
ecoportal-api
gem - upgraded
ecoportal-api-v2
gem
[0.4.5] - 2025-03-14
Added
- Query
actionCategories
- Mutation create
Action
Changed
Action
model to havelocations
(RS upgrade)
[0.4.4] - 2025-02-23
Changed
- Upgraded
ecoportal-api
gem (maintanance) - Upgraded
ecoportal-api-v2
gem (to provisionroot!
class method) - Defined some models that hand on their own as
root!
- Refactored
Base::Model
by moving its loggic toCommon::GraphQL
Fixed
Ecoportal::API::Common::GraphQL::HashHelpers
- Truly make the iterator generic
[0.4.3] - 2024-11-21
Changed
- upgrade gems
ecoportal-api
ecoportal-api-v2
Ecoportal::API::Common::GraphQL::HttpClient.new
ceased to defaultversion
tov1
(now it defaults tonil
)
[0.4.2] - 2024-10-01
Changed
- upgrade gems
ecoportal-api-v2
- add explicit dependency onto
ecoportal-api
gem (client)
[0.4.1] - 2024-08-09
Added
ContractorEntity
added fieldexternalId
Changed
- gem upgrade
ecoportal-api-v2
[0.4.0] - 2024-08-01
Changed
- require
ruby 3
[0.3.18] - 2024-05-16
Fixed
Ecoportal::API::GraphQL::Payload::LocationStructure::CommandExecutionResult
- Error is nullable
[0.3.17] - 2024-05-14
Fixed
field_name
should add up to the path
[0.3.16] - 2024-04-29
Added
- Exposed
graphql
ContractorEntity
destroy
Fixed
- incorrect loading
Changed
- Input for ContractorEntity create moved as
update
(as it wasn't correct)
[0.3.15] - 2024-04-13
Added
Ecoportal::API::GraphQL::Logic::BaseQuery
::base_path
class instance var.
- query to retrieve
currentOrganization.classifications
Fixed
- upgraded
ecoportal-api-v2
gem
[0.3.14] - 2024-03-13
Added
- some benchmarking on
- core graphql base
query
- core graphql base
#parent_id
to location node model
Changed
- upgraded
ecoportal-v2-api
gem
Fixed
- Optimized
treeify
and locations structure class
[0.3.13] - 2024-02-03
Changed
- upgrade
ecoportal-api-v2
[0.3.12] - 2024-01-27
Added
- Exposed
graphql
Action
update
and get a singleaction
[0.3.11] - 2023-09-19
Added
- Exposed
graphql
ContractorEntity
create
andupdate
[0.3.10] - 2023-08-12
Fixed
Ecopotal::API::GraphQL::Query::LocationStructure
query
in basic_block missed an explicitly declared parameter.
[0.3.9] - 2023-08-03
Added
Ecoportal::API::GraphQL::Logic::BaseQuery
- Added support for default values.
[0.3.8] - 2023-07-18
Added
- Integration for archiving actions.
LocationNodeInterface
-> support forclassifications
Treeify
to dump more data per node (classifications)
Fixed
- Silenced waning messages when redefining
Fragment
s
[0.3.7] - 2023-05-23
Fixed
Ecoportal::API::Common::GraphQL::Client
adjustedread_timeout
andwrite_timeout
to90
seconds.
[0.3.6] - 2023-04-17
Changed
- Softened max version of gem dependencies
Fixed
Ecoportal::API::GraphQL::Fragment#define
was not removing previous constants- Changed check method to be
::const_defined?
- Changed check method to be
[0.3.5] - 2023-04-03
Fixed
Ecoportal::API::GraphQL::Helpers::LocationsTree#treeify
- Make it real id-case-insensitive (parents in lower case were being missed due to this)
[0.3.4] - 2023-04-03
Added
Ecoportal::API::Common::GraphQL::AuthService
#session_token
added token auto-renew functionality (when token expires in less than 90 minutes)#session_token_renewed
Fixed
- Enabled to specify
host
(other thanlive.ecoportal.com
) by the user
[0.3.3] - 2023-04-02
Fixed
Ecoportal::API::GraphQL::Base::LocationNode
added attributearchivedToken
[0.3.2] - 2023-04-02
Changed
Ecoportal::API::GraphQL::Helpers::LocationsTree#treeify
added support forarchived_token
[0.3.1] - 2023-03-09
Changed
- Upgraded core gem dependency
ecoportal-api-v2
[0.2.3] - 2023-02-27
Fixed
- Typo in tests LocationsStructures... should read
locationStructures
[0.2.2] - 2023-02-24
Fixed
- Build gem correctly
[0.2.1] - 2023-02-24
Changed
- Migrate from TagTrees to reporting structures (breaking change)
Added
- Basics for reporting structure mutations
[0.1.11] - 2022-11-29
Added
Ecoportal::API::GraphQL::Base::Mutation
- Added
createContractorEntity
Changed
- upgraded
graphlient
gem dependency (support for framents)- removed patch in this gem
- Slight internal refactor of
Ecoportal::API::GraphQL::Base::Query
- Upgraded
ecoportal-api-v2
gem dependency
[0.1.10] - 2022-09-29
Changed
- upgraded
ecoportal-api-v2
gem dependency
Fixed
- Remove debugging message
[0.1.9] - 2022-09-26
Added
Ecoportal::API::GraphQL::Query::TagTree
Changed
- upgraded
ecoportal-api-v2
gem dependency - added
Ecoportal::API::Common::GraphQL::QueryIntegration
- restructured
Ecoportal::API::GraphQL::Model::Organization
class
- restructured
- Patch on
Graphlient::Query
for fragments support (pull request: https://github.com/ashkan18/graphlient/pull/94)
[0.1.8] - 2022-09-23
Added
currentOrganization.tagTrees
query
Changed
- upgraded
ecoportal-api-v2
gem dependency - Restructured the
Query
inheritance chain to make things simpler
[0.1.6] - 2022-09-19
Fixed
- Call to private method
remove_const
inEcoportal::API::GraphQL::Fragment#define
[0.1.5] - 2022-09-19
Added
- Patch
GraphQL::Query#append_node
so we can use Fragments in blocks using___
as start of the constant, and__
for namespace separator- Issue/feature request: https://github.com/ashkan18/graphlient/issues/93
Ecoportal::API::GraphQL::Fragment#define
provided that client scripts can create their own fragments in their own namespace- Exposed
Ecoportal::API::GraphQL#fragments
- It will always (re)define in the
Fragment
root namespace
- Exposed
[0.1.4] - 2022-09-16
Fixed
- Able to inject connection block to
each
- Error handling delegated to parent class (
QueryConnection
) - Retrieve
id
on elements ofArray
[0.1.3] - 2022-09-15
Fixed
- Fixed circular reference to
org_id
inEcoportal::API::Common::GraphQL::Client
[0.1.2] - 2022-09-15
Changed
Ecoportal::API::GraphQL
adddedemail
andpass
parameters on initialization- This allows for integration in some client lib
[0.1.0] - 2022-09-15
Added
- First commit with some basic structure