ff-admin-webapi-client/README.md
2025-03-12 09:37:33 +01:00

87 lines
No EOL
2.3 KiB
Markdown

# ff-admin-webapi-client
FF Admin Webapi Client ist ein NPM-Package, welches die Verbindung zu einem FF Admin-Server vereinfacht.
Zur Verfügung gestellt werden Requests mit den benötigten Models, Types und Enums für FF Admin.
Der WebApiClient realisiert den automatischen refresh von Zugangs-Tokens.
Installation:
``` npmrc
@ff-admin:registry=https://npm.registry.jk-effects.cloud
//npm.registry.jk-effects.cloud/:_authToken="xxx" # hier optional token einfügen - ff-admin packages sind öffentlich
```
``` bash
npm install @ff-admin/webapi-client
```
Beispiele:
1. Verwendung des Clients:
``` ts
import { WebApiClient, AdminRequests } from "@ff-admin/webapi-client"
let myClient = new WebApiClient({
serverAdress: "",
webapiToken: ""
});
myClient.initialize() // asynchrone Funktion - muss vollständig ausgeführt sein, bevor irgendwelche Anfragen gestellt werden
```
2. Nutzung der Requests
```ts
let data = AdminRequests.MemberRequests.getAllMembers(myClient)
.then((res) => {
console.log(res)
})
.catch((err) => {
console.log(err)
})
let newMemberId = AdminRequests.MemberRequests.updateMember(myClient, {
body: {
salutationId: 0,
firstname: "",
lastname: "",
nameaffix: "",
birthdate: new Date("")
}
})
.then(() => {})
.catch(() => {});
AdminRequests.MemberRequests.updateMember(myClient, {
params: { id: "123" },
body: {
salutationId: 0,
firstname: "",
lastname: "",
nameaffix: "",
birthdate: new Date(""),
},
})
.then(() => {})
.catch(() => {});
```
3. Zugriff auf Typen, Models und Enums:
``` ts
import { AdminModels, AdminTypes, AdminEnums } from "@ff-admin/webapi-client"
let model: AdminModels.MemberModels.CreateMemberViewModel;
let type: AdminTypes.DynamicQueries.DynamicQueryStructure
let enum = AdminEnums.NewsletterType.NewsletterConfigType.mail
```
4. http Events:
Es können Events wie Fehler oder Informationen direkt aus der Middleware des Clients angezapft werden.
``` ts
import { WebApiClient, AdminRequests } from "@ff-admin/webapi-client"
let myClient = new WebApiClient({
serverAdress: "",
webapiToken: ""
});
myClient.initialize()
client.httpEvents.on(<"error" | "info">, (data) => {})
```
zum Package: https://npm.registry.jk-effects.cloud/-/web/detail/@ff-admin/webapi-client