at-gmbh / personio-py

a lightweight Personio API client
https://at-gmbh.github.io/personio-py
Apache License 2.0
26 stars 17 forks source link

Refactoring for personio-py 1.0 #24

Open klamann opened 2 years ago

klamann commented 2 years ago

refactoring of personio-py. Planned changes:

codecov-commenter commented 2 years ago

Codecov Report

Patch coverage: 89.1% and project coverage change: -0.6% :warning:

Comparison is base (b5ead78) 87.3% compared to head (0181d55) 86.7%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #24 +/- ## ======================================== - Coverage 87.3% 86.7% -0.6% ======================================== Files 7 8 +1 Lines 946 860 -86 ======================================== - Hits 826 746 -80 + Misses 120 114 -6 ``` | [Files Changed](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh) | Coverage Δ | | |---|---|---| | [src/personio\_py/g.py](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh#diff-c3JjL3BlcnNvbmlvX3B5L2cucHk=) | `77.7% <77.7%> (ø)` | | | [src/personio\_py/client.py](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh#diff-c3JjL3BlcnNvbmlvX3B5L2NsaWVudC5weQ==) | `80.7% <78.2%> (-1.1%)` | :arrow_down: | | [src/personio\_py/util.py](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh#diff-c3JjL3BlcnNvbmlvX3B5L3V0aWwucHk=) | `83.3% <83.3%> (ø)` | | | [src/personio\_py/models.py](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh#diff-c3JjL3BlcnNvbmlvX3B5L21vZGVscy5weQ==) | `91.9% <91.6%> (+1.4%)` | :arrow_up: | | [src/personio\_py/\_\_init\_\_.py](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh#diff-c3JjL3BlcnNvbmlvX3B5L19faW5pdF9fLnB5) | `100.0% <100.0%> (ø)` | | | [src/personio\_py/errors.py](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh#diff-c3JjL3BlcnNvbmlvX3B5L2Vycm9ycy5weQ==) | `74.3% <100.0%> (ø)` | | | [src/personio\_py/search.py](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh#diff-c3JjL3BlcnNvbmlvX3B5L3NlYXJjaC5weQ==) | `83.5% <100.0%> (+0.2%)` | :arrow_up: | | [src/personio\_py/version.py](https://app.codecov.io/gh/at-gmbh/personio-py/pull/24?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=at-gmbh#diff-c3JjL3BlcnNvbmlvX3B5L3ZlcnNpb24ucHk=) | `100.0% <100.0%> (ø)` | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

pietzschke commented 1 year ago

What's the status of this pr? Would like to push the library a bit.

klamann commented 1 year ago

Hi, I don't have a roadmap for this PR. @fatemetardasti96 (who has made the recent update possible) has signaled interest to continue this work, but no timeline as well.

@pietzschke what about you? anything in particular that you would be interested in?

pietzschke commented 1 year ago

Hi, I don't have a roadmap for this PR. @fatemetardasti96 (who has made the recent update possible) has signaled interest to continue this work, but no timeline as well.

@pietzschke what about you? anything in particular that you would be interested in?

I'd like to add additional support for projects in the attendances. Atm the start and end field in attendance uses DurationFieldMapping, that does not make sense, also the pagination is broken. I haven't looked at the pr yet, so if this is the one you favor, then i'll have a closer look and would like to contribute.

Would be great to have all sorts of filters and fields in the serializers.

klamann commented 1 year ago

I see. If it's just about adding support for projects and fixing some details about attendances, a smaller PR based on the current main branch would probably be easier to do. This one here will tike some more effort to figure out (resolving the merge conflicts, writing the remaining unit tests, adjusting documentation, etc.)

pietzschke commented 1 year ago

How much time do you think is necessary for getting everything ready? In general i would prefer to go with the new implementation. Maybe you can give me an introduction and i'll try to get it a step ahead.