UNPKG

@bit-ui-libs/common

Version:
100 lines (86 loc) 3.31 kB
import { BaseService } from '../api/services/base-service'; import { PagedResponse } from '../common'; import { OrganizationVdt } from '../web3'; import { AddContactRequest, AddContactResponse, AddOrganizationAddressRequest, AddOrganizationAddressResponse, InitVdtRequest, ListOrganizationRequest, OrganizationAddressResponse, OrganizationResponse, OrganizationWallet, SearchOrganizationAddressRequest, ShareOrganizationDeepLinkRequest, UpdateOrganizationRequest, } from './interfaces'; export class OrganizationService extends BaseService { async getOrganizations() { // The interface for this is missing return this.get<any>(`${this.apiUrl}/common-admin/v1/organizations`, {}, { timeout: 5000 }); } async getOrganizationList(params: ListOrganizationRequest) { return this.get<OrganizationResponse[]>(`${this.apiUrl}/common-admin/v1/organizations/list`, params); } async getOrganization(orgId: string) { return this.get<OrganizationResponse>(`${this.apiUrl}/common-admin/v1/organizations/${orgId}`, {}); } async searchOrganizationAddresses(req: SearchOrganizationAddressRequest) { return this.get<PagedResponse<OrganizationAddressResponse>>( `${this.apiUrl}/common-admin/v1/organization-profiles/addresses`, req ); } async getOrganizationMainAddress(orgId: string) { return this.get<OrganizationAddressResponse>( `${this.apiUrl}/common-admin/v1/organization-profiles/${orgId}/addresses/main`, {} ); } async getWallet(orgId: string) { return this.get<OrganizationWallet>( `${this.apiUrl}/common-admin/v1/organizations/${orgId}/wallet`, {}, { timeout: 5000 } ); } async initVdt(orgId: string, payload: InitVdtRequest) { return this.post<void, InitVdtRequest>( `${this.apiUrl}/common-admin/v1/organizations/${orgId}/initiate-vdt`, payload, { headers: { 'x-organization-id': orgId } } ); } async canSetupOrg(orgId: string) { return this.get<boolean>(`${this.apiUrl}/common-admin/v1/organizations/${orgId}/can-setup`, {}); } async getOrganizationVdt(orgId: string) { return this.get<OrganizationVdt>(`${this.apiUrl}/web3/v1/nft/organization-vdt/${orgId}`, {}); } async update(orgId: string, payload: UpdateOrganizationRequest) { return this.put<void, UpdateOrganizationRequest>(`${this.apiUrl}/common-admin/v1/organizations/${orgId}`, payload, { headers: { 'x-organization-id': orgId }, }); } async addContact(orgId: string, payload: AddContactRequest) { return this.post<AddContactResponse, AddContactRequest>( `${this.apiUrl}/common-admin/v1/organizations/${orgId}/contacts`, payload, { headers: { 'x-organization-id': orgId } } ); } async addAddress(payload: AddOrganizationAddressRequest) { return this.post<AddOrganizationAddressResponse, AddOrganizationAddressRequest>( `${this.apiUrl}/common-admin/v1/organization-profiles/addresses`, payload, { headers: { 'x-organization-id': payload?.orgId } } ); } async shareDeepLink(orgId: string, req: ShareOrganizationDeepLinkRequest) { return this.post<void, ShareOrganizationDeepLinkRequest>( `${this.apiUrl}/common-admin/v1/organizations/${orgId}/share-deep-link`, req ); } }