@orchesty/connector-personio 1.0.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +77 -0
- package/dist/package.json +2 -2
- package/package.json +6 -3
package/README.md
ADDED
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Personio Connector
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@orchesty/connector-personio)
|
|
4
|
+
[](https://github.com/Orchesty/orchesty-nodejs-connectors/blob/master/LICENSE)
|
|
5
|
+
|
|
6
|
+
An [Orchesty](https://orchesty.io) connector for Personio, an HR software platform that automates and simplifies HR tasks within a single solution.
|
|
7
|
+
|
|
8
|
+
## Application Type
|
|
9
|
+
|
|
10
|
+
**Basic (client credentials)**
|
|
11
|
+
|
|
12
|
+
This connector uses a Client ID and Client Secret to obtain a Bearer token from the Personio authentication endpoint (`GET /v1/auth`) on each request. The application requires a `CurlSender` instance to be injected via its constructor.
|
|
13
|
+
|
|
14
|
+
| Field | Description |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `client_id` | Client ID from the Personio API credentials |
|
|
17
|
+
| `client_secret` | Client Secret from the Personio API credentials |
|
|
18
|
+
|
|
19
|
+
## Components
|
|
20
|
+
|
|
21
|
+
| Class | Type | Description |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| `PersonioGetProjectsBatch` | Batch | Fetches all attendance projects in a single request via `GET /company/attendances/projects` |
|
|
24
|
+
| `PersonioListEmployeesBatch` | Batch | Paginates through all employees (200 per page) via `GET /company/employees` |
|
|
25
|
+
|
|
26
|
+
## Setup
|
|
27
|
+
|
|
28
|
+
### Credentials
|
|
29
|
+
|
|
30
|
+
1. Log in to your [Personio](https://app.personio.de/) account as an admin.
|
|
31
|
+
2. Navigate to **Settings → API credentials** and create a new API key pair.
|
|
32
|
+
3. Copy the **Client ID** and **Client Secret**.
|
|
33
|
+
4. In Orchesty, open the Personio application settings and fill in both fields.
|
|
34
|
+
|
|
35
|
+
### API Documentation
|
|
36
|
+
|
|
37
|
+
Personio API Reference: [https://developer.personio.de/reference/introduction](https://developer.personio.de/reference/introduction)
|
|
38
|
+
|
|
39
|
+
## Installation & Usage
|
|
40
|
+
|
|
41
|
+
Install the package:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm install @orchesty/connector-personio @orchesty/nodejs-sdk
|
|
45
|
+
# or
|
|
46
|
+
pnpm add @orchesty/connector-personio @orchesty/nodejs-sdk
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Register the application and nodes in your Orchesty DI container. The `PersonioApplication` requires a `CurlSender` instance:
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
import { container } from '@orchesty/nodejs-sdk';
|
|
53
|
+
import CurlSender from '@orchesty/nodejs-sdk/dist/lib/Transport/Curl/CurlSender';
|
|
54
|
+
import PersonioApplication from '@orchesty/connector-personio/dist/PersonioApplication';
|
|
55
|
+
import PersonioGetProjectsBatch from '@orchesty/connector-personio/dist/Batch/PersonioGetProjectsBatch';
|
|
56
|
+
import PersonioListEmployeesBatch from '@orchesty/connector-personio/dist/Batch/PersonioListEmployeesBatch';
|
|
57
|
+
|
|
58
|
+
const app = new PersonioApplication(container.get(CurlSender));
|
|
59
|
+
container.setApplication(app);
|
|
60
|
+
container.setNode(new PersonioGetProjectsBatch(), app);
|
|
61
|
+
container.setNode(new PersonioListEmployeesBatch(), app);
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## License
|
|
65
|
+
|
|
66
|
+
This connector is released under the **Apache License 2.0**. See the [LICENSE](https://github.com/Orchesty/orchesty-nodejs-connectors/blob/master/LICENSE) file for the full license text.
|
|
67
|
+
|
|
68
|
+
## Contributing
|
|
69
|
+
|
|
70
|
+
Contributions are welcome! This connector is part of the open-source [Orchesty Node.js Connectors](https://github.com/Orchesty/orchesty-nodejs-connectors) monorepo.
|
|
71
|
+
|
|
72
|
+
For guidelines on how to create or update connectors — including project setup, coding conventions, and how to write tests — please refer to the **[Contributing to Connectors](https://orchesty.io/community/contributing-to-connectors)** guide.
|
|
73
|
+
|
|
74
|
+
All contributions should include:
|
|
75
|
+
- Source code in `src/` following the existing connector structure
|
|
76
|
+
- Tests in `src/**/__tests__/` with `input.json`, `mock.json`, and `output.json` fixtures
|
|
77
|
+
- An updated `CHANGELOG.md` entry
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orchesty/connector-personio",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"url": "https://github.com/Orchesty/orchesty-nodejs-connectors",
|
|
7
7
|
"repository": "https://github.com/Orchesty/orchesty-nodejs-connectors",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"keywords": [],
|
|
18
18
|
"author": "info@hanaboso.com",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@orchesty/nodejs-sdk": "^
|
|
20
|
+
"@orchesty/nodejs-sdk": "^5.0.13"
|
|
21
21
|
},
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">=24"
|
package/package.json
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orchesty/connector-personio",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "2.0.1",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"url": "https://github.com/Orchesty/orchesty-nodejs-connectors",
|
|
7
|
-
"repository":
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/Orchesty/orchesty-nodejs-connectors"
|
|
10
|
+
},
|
|
8
11
|
"files": [
|
|
9
12
|
"dist"
|
|
10
13
|
],
|
|
11
14
|
"keywords": [],
|
|
12
15
|
"author": "info@hanaboso.com",
|
|
13
16
|
"dependencies": {
|
|
14
|
-
"@orchesty/nodejs-sdk": "^
|
|
17
|
+
"@orchesty/nodejs-sdk": "^5.0.13"
|
|
15
18
|
},
|
|
16
19
|
"engines": {
|
|
17
20
|
"node": ">=24"
|