Comments (2)
I agree with you. In this PR: #23, I updated and fixed a few things in credentials module. To keep all the information exchanged by a partner, we will store its list of CredentialsRole
(it includes countryCode / partyId).
Then in your implementation, you can extend PlatformRepository
to add your custom methods to retrieve a Platform
object from its countryCode / partyId or anything else.
As long as the ocpi-toolkit does not directly need countryCode / partyId to work, we do not need to add methods to retrieve this information in PlatformRepository
. It's up to the user of the lib to implement its own method to return the right information in each OCPI endpoint.
I may miss something as I am currently only testing credentials and version module with real partners. I started working on Location module recently, that is why I found out that the lib needed to store countryCode / partyId.
I am not totally convinced about having a Platform
domain object yet. Real world feedback may convice me, but for now I prefer that the user of the lib keeps freedom on their Platform
definition
PS: I will rename Platform
to Partner
as platform is not really clear in PR #23
from ocpi-toolkit.
oh .. and maybe also a retrieval method for the identifiers, similar to the getEndpoints method
suspend fun getPlatformIdentifiers(platformUrl: String): List<IdentifierPair>
... though at this point I wonder if it would be easier to have a Platform
domain object, containing all this info (url, versions, endpoints, identifiers) so it is expandable, and simplifies the interface by removing a few getters
from ocpi-toolkit.
Related Issues (20)
- Request Parameter vs. Owned Object values validation
- DELETE endpoint of Credentials module HOT 1
- Credentials PUT/DELETE methods should return 405 METHOD NOT ALLOWED when the partner is not registered
- If there is an exception, the debug headers are not included in the response.
- Question on the validation of objects HOT 3
- Implement CDR module HOT 3
- Java compatibility
- Module separation HOT 2
- Don't publish annotation-processor & common module to maven central HOT 5
- Credentials sample does not work
- DateTime without the timezone cannot be parsed
- UTF-8 validator only allows for ASCII characters
- If there is an exception, the Message Routing Headers are not included in the response.
- Parsing errors in the JSON request body are not reported to the requester
- Not Base64-encoded authorization token results in HTTP 500 error
- Ignore unknown properties.
- Skip NULL values in Connector.tariff_ids HOT 1
- Partner URL is not a unique identifier HOT 4
- date_from in Sessions Sender Interface must be required HOT 1
- twentyforseven should be "twentyforseven" not "twenty_for_seven" HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ocpi-toolkit.