Skip to content
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

Provide abstractions over common record types. #6

Open
3 tasks
PaulusParssinen opened this issue Sep 12, 2022 · 0 comments
Open
3 tasks

Provide abstractions over common record types. #6

PaulusParssinen opened this issue Sep 12, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request high-priority

Comments

@PaulusParssinen
Copy link
Member

PaulusParssinen commented Sep 12, 2022

Wilma has the most inconsistent API schema I have ever come across. This requires us to do dirty-tricks to make the API more developer friendly such as the NestedArrayConverter to handle ugly hierarchy of the legacy APIs for simple arrays. We should move to newer endpoints (#5).

We should attempt to create some abstractions over the common user group properties and various reoccurring patterns. These will probably involve some custom S.T.Json converters folding and flatteting types as the Wilma API just splats all fields into flat object. One step further could be to generate these using Source Generators at the build-time but I'll investigate simpler JsonConverter options first. This all may not even be necessary because I have yet to investigate the newer endpoints and with quick skim they seem to have improved things.

TODO

  • Provide interfaces for common user groups/roles.
  • Investigate whats the state of Wilma API support. SaaS model should have them pretty consistent and up-to-date hopefully.
  • etc. Try recognize "Start"/"End" patterns for date related fields.
@PaulusParssinen PaulusParssinen added enhancement New feature or request high-priority labels Sep 12, 2022
@PaulusParssinen PaulusParssinen self-assigned this Sep 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request high-priority
Projects
None yet
Development

No branches or pull requests

1 participant