48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
|
import { ZitaldelUser } from './classes.zitadeluser.js';
|
||
|
import * as plugins from './zitadel.plugins.js';
|
||
|
|
||
|
export interface IZitadelContructorOptions {
|
||
|
url: string;
|
||
|
accessToken: string;
|
||
|
}
|
||
|
|
||
|
export class ZitaldelClient {
|
||
|
private options: IZitadelContructorOptions;
|
||
|
public authClient: plugins.zitadel.AuthServiceClient;
|
||
|
public userClient: plugins.zitadel.UserServiceClient;
|
||
|
|
||
|
constructor(optionsArg: IZitadelContructorOptions) {
|
||
|
this.options = optionsArg;
|
||
|
console.log(this.options);
|
||
|
this.authClient = plugins.zitadel.createAuthClient(
|
||
|
this.options.url,
|
||
|
plugins.zitadel.createAccessTokenInterceptor(this.options.accessToken)
|
||
|
);
|
||
|
this.userClient = plugins.zitadel.createUserClient(
|
||
|
this.options.url,
|
||
|
plugins.zitadel.createAccessTokenInterceptor(this.options.accessToken)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
public async listOwnUser() {
|
||
|
const response = await this.authClient.getMyUser({});
|
||
|
console.log(response.user)
|
||
|
}
|
||
|
|
||
|
public async listUsers() {
|
||
|
const response = await this.userClient.listUsers({});
|
||
|
const returnArray: ZitaldelUser[] = [];
|
||
|
for (const userObject of response.result) {
|
||
|
returnArray.push(await ZitaldelUser.fromApiUserObject(userObject));
|
||
|
}
|
||
|
return returnArray;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* invites a new user by email
|
||
|
*/
|
||
|
public async inviteNewUserByEmail() {
|
||
|
|
||
|
}
|
||
|
}
|