# 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