https://github.com/focus-shift/urlaubsverwaltung-extension-api
Urlaubsverwaltung Extension Java API
https://github.com/focus-shift/urlaubsverwaltung-extension-api
java urlaubsverwaltung
Last synced: 6 months ago
JSON representation
Urlaubsverwaltung Extension Java API
- Host: GitHub
- URL: https://github.com/focus-shift/urlaubsverwaltung-extension-api
- Owner: focus-shift
- License: apache-2.0
- Created: 2023-01-13T00:45:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-12-10T21:46:50.000Z (7 months ago)
- Last Synced: 2025-12-11T08:54:48.046Z (7 months ago)
- Topics: java, urlaubsverwaltung
- Language: Java
- Homepage:
- Size: 400 KB
- Stars: 1
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Urlaubsverwaltung Extension Java API
This project provides DTOs and service interfaces to write own extensions for [Urlaubsverwaltung](https://github.com/urlaubsverwaltung/urlaubsverwaltung).
## Requirements
This project requires Java 21 compiler.
## Usage
Include Urlaubsverwaltung Extension Java API to your project:
```xml
de.focus-shift.urlaubsverwaltung.extension.api
service
...
```
After that, create a java class and use one of the *ServiceExtension classes like `PersonServiceExtension`:
```java
package my.custom.package;
import java.util.Set;
import java.util.UUID;
public class PersonServiceExtensionDemo {
private final PersonServiceExtension personServiceExtension;
public PersonServiceExtensionTest(PersonServiceExtension personServiceExtension) {
this.personServiceExtension = personServiceExtension;
}
void doSomething() {
PersonDTO myPerson = PersonDTO.builder()
.firstName("Marlene")
.lastName("Muster")
.username(UUID.randomUUID().toString())
.email("office@example.org")
.permissions(Set.of(RoleDTO.OFFICE))
.build();
PersonDTO createdPerson = personServiceExtension.create(myPerson);
}
}
```
Package your extension and run Urlaubsverwaltung with [PropertiesLauncher](https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#appendix.executable-jar.property-launcher)
## Implementation Status
The following extension points are provided:
* [ ] absence
* [ ] account
* [x] application
* [ ] department
* [ ] overtime
* [x] person
* [ ] publicholiday
* [ ] settings
* [x] sicknote
* [ ] user
* [ ] workingtime
## Compatibility
| Extension API Version | Urlaubsverwaltung Version | Java Version |
|-----------------------|---------------------------|--------------|
| 3.x.x | 5.x.x | 21.x |
| 2.x.x | 5.x.x | 21.x |
| 1.x.x | 5.x.x | 21.x |
| 0.x.x | 4.x.x | 11.x |
## License
Urlaubsverwaltung Extension Java API is Open Source software released under the [Apache License 2.0](LICENSE).