-
Notifications
You must be signed in to change notification settings - Fork 21
feat: add full clients architecture init #13
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I did not check the endpoints in detail but looks good overall!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quick question: would this generate a separate API client for each API, or would they still be part of the same package but in a different class?
The goal is to have a class generated for each API Client (Search, Perso, Recommend, Analytics, etc...) in the same package. I created the first spec files to stick to the REST API list you mentioned during the last meeting (https://www.algolia.com/doc/api-reference/rest-api/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems better like this, however I think we should abstract a little bit more and remove the ref of client
in the specs. Those are OpenApi not necessarily made for client.
I also think some hierarchy are inverted, schemas and responses can hardly be reused accros APIs.
I would go for somethings like this:
> specs
> search
> common
parameters.yml
> paths
> indexes
getObject.yml
> dictionnaries
spec.yml
> recommend
> abtesting
> perso
> query_suggestion
> common
wdyt?
You're right, it looks better that way, I reorganized the folders |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we have mixed commons
here:
Those are common to all the API clients.
Other than that, LGTM :D
Ah shit, good catch :p |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good ! I like the new structure, however there are issues with duplicate endpoints, I did not write them all but some files need to be merged like:
settings.yml
:
get:
...
put:
...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the content of specs/common/responses/common.yml
should be in specs/common/parameters.yml
@@ -0,0 +1,8 @@ | |||
appId: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
securitySchemes
can be a file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems like a good start, I guess we will fine tune/discover details once implementing the endpoints!
GG
Add full search client architecture init
Added:
Won't be added for now (but added in JIRA)