Change Log
All notable changes to this project will be documented in this file.
[1.4.1] - 2025-08-xx
Added
Changed
Fixed
[1.3.2] - 2025-08-19
Added
Mutation: allow parameters other than input.- Location Structure
Draftmodels Interface::LocationStructure::NodesforLocationStructureandDraft::Structureraw_responseas optional query parameter (for debugging)Logic::Input(out of consistency)- Fragments:
LocationDraftLocationsError
- Query to include
draftlist when fetching an RS. - Location
Draftqueries:Draft#byIdDraft#createDraft#deleteDraft#addCommandsDraft#publishDraft#dropBadCommands
- Error tracking througout the payload models of location mutations
Changed
- Upgrade dependency (
ecoportal-apigem). - Moved rescue on fragment definition to
#defineitself. NodeInterfacemoved toInterface::LocationStructure::Node- Code: Shorten namespace referral.
- Swap to
Logic::BaseModel Mutationto introduce:inputrequired parameter by using parent class.
Fixed
QueryConnection: bad code.conflictingIdsshould be array.
[1.3.1] - 2025-06-11
Changed
- upgraded gem dependencies
- Moded
Ecoportal::API::GraphQL::Base::Modelto- >
Ecoportal::API::GraphQL::BaseModel
- >
- Added
Interface::LocationNode - Added
Interface::BasePage
Fixed
- Fragments
Actionfragment to usePageUnion(upgrade)- Memoize fragments.
- Add what fragment failed in the error.
[1.2.1] - 2025-05-16
Changed
- upgrade
ecoportal-apigem - upgrade
ecoportal-api-v2gem
[1.1.1] - 2025-05-14
Added
MemberChangeshelpers 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 justidproperty alone. - The operation property has been renamed to
api_operation(to ensure no collisions). And the operation types are symbols, and renamed to::delete,:updateand:create. This can show up to be useful when, for instance, reusing the output of#as_updateto generate actual input objects (i.e.#as_input) that feed some GraphQL query. - The data property has been renamed to
change_data. Hashkeys 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
HashDiffNestinghelpers. - It has capability to
ignorecertain 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_callbacksthroughout the nested models.
- It uses the
Changed
Common::GraphQL::Model::Diffableby usingDiffable::DiffService(withcascaded_callbacksimplementation).#as_update#dirty?
- upgraded
ecoportal-apigem - updraded
ecoportal-api-v2gem
[0.4.7] - 2025-04-02
Added
page.idto Action linked resources.
[0.4.6] - 2025-04-02
Added
Ecoportal::API::GraphQL::Logic::QueryConnection- Require
default_connection_blockto child classes - This aims to not having have client code having to define the block for
#each
- Require
Changed
- upgraded
ecoportal-apigem - upgraded
ecoportal-api-v2gem
[0.4.5] - 2025-03-14
Added
- Query
actionCategories - Mutation create
Action
Changed
Actionmodel to havelocations(RS upgrade)
[0.4.4] - 2025-02-23
Changed
- Upgraded
ecoportal-apigem (maintanance) - Upgraded
ecoportal-api-v2gem (to provisionroot!class method) - Defined some models that hand on their own as
root! - Refactored
Base::Modelby 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-apiecoportal-api-v2
Ecoportal::API::Common::GraphQL::HttpClient.newceased to defaultversiontov1(now it defaults tonil)
[0.4.2] - 2024-10-01
Changed
- upgrade gems
ecoportal-api-v2
- add explicit dependency onto
ecoportal-apigem (client)
[0.4.1] - 2024-08-09
Added
ContractorEntityadded 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_nameshould add up to the path
[0.3.16] - 2024-04-29
Added
- Exposed
graphqlContractorEntitydestroy
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_pathclass instance var.
- query to retrieve
currentOrganization.classifications
Fixed
- upgraded
ecoportal-api-v2gem
[0.3.14] - 2024-03-13
Added
- some benchmarking on
- core graphql base
query
- core graphql base
#parent_idto location node model
Changed
- upgraded
ecoportal-v2-apigem
Fixed
- Optimized
treeifyand locations structure class
[0.3.13] - 2024-02-03
Changed
- upgrade
ecoportal-api-v2
[0.3.12] - 2024-01-27
Added
- Exposed
graphqlActionupdateand get a singleaction
[0.3.11] - 2023-09-19
Added
- Exposed
graphqlContractorEntitycreateandupdate
[0.3.10] - 2023-08-12
Fixed
Ecopotal::API::GraphQL::Query::LocationStructurequeryin 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 forclassificationsTreeifyto dump more data per node (classifications)
Fixed
- Silenced waning messages when redefining
Fragments
[0.3.7] - 2023-05-23
Fixed
Ecoportal::API::Common::GraphQL::Clientadjustedread_timeoutandwrite_timeoutto90seconds.
[0.3.6] - 2023-04-17
Changed
- Softened max version of gem dependencies
Fixed
Ecoportal::API::GraphQL::Fragment#definewas 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_tokenadded 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::LocationNodeadded attributearchivedToken
[0.3.2] - 2023-04-02
Changed
Ecoportal::API::GraphQL::Helpers::LocationsTree#treeifyadded 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
graphlientgem dependency (support for framents)- removed patch in this gem
- Slight internal refactor of
Ecoportal::API::GraphQL::Base::Query - Upgraded
ecoportal-api-v2gem dependency
[0.1.10] - 2022-09-29
Changed
- upgraded
ecoportal-api-v2gem dependency
Fixed
- Remove debugging message
[0.1.9] - 2022-09-26
Added
Ecoportal::API::GraphQL::Query::TagTree
Changed
- upgraded
ecoportal-api-v2gem dependency - added
Ecoportal::API::Common::GraphQL::QueryIntegration- restructured
Ecoportal::API::GraphQL::Model::Organizationclass
- restructured
- Patch on
Graphlient::Queryfor fragments support (pull request: https://github.com/ashkan18/graphlient/pull/94)
[0.1.8] - 2022-09-23
Added
currentOrganization.tagTreesquery
Changed
- upgraded
ecoportal-api-v2gem dependency - Restructured the
Queryinheritance chain to make things simpler
[0.1.6] - 2022-09-19
Fixed
- Call to private method
remove_constinEcoportal::API::GraphQL::Fragment#define
[0.1.5] - 2022-09-19
Added
- Patch
GraphQL::Query#append_nodeso 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#defineprovided that client scripts can create their own fragments in their own namespace- Exposed
Ecoportal::API::GraphQL#fragments - It will always (re)define in the
Fragmentroot namespace
- Exposed
[0.1.4] - 2022-09-16
Fixed
- Able to inject connection block to
each - Error handling delegated to parent class (
QueryConnection) - Retrieve
idon elements ofArray
[0.1.3] - 2022-09-15
Fixed
- Fixed circular reference to
org_idinEcoportal::API::Common::GraphQL::Client
[0.1.2] - 2022-09-15
Changed
Ecoportal::API::GraphQLadddedemailandpassparameters on initialization- This allows for integration in some client lib
[0.1.0] - 2022-09-15
Added
- First commit with some basic structure