UNPKG

bam-ticketing-sdk

Version:

SDK for B.A.M Ticketing API

286 lines 10.3 kB
import { AxiosInstance } from 'axios'; import { User, Wallet, NewUser, Organizer, UserInvite, UserUpdate, OrganizerId, NewOrganizer, EnrollmentId, SeatsWorkspace, PublicUserData, UserPermissions, UserPermissionChange, Email, MarketRuleset, Fee, FeeUpdate, FeeCreate, MarketRulesetCreate, MarketRulesetUpdate, MarketRulesetListQuery, GetOrganizerRequest, UserQuery, KYCLevel, ListQuery, Currency, ListUserQuery, OnboardStripePayload, OnboardStripeResponse, OnboardStripeStatus, OrganizerDomain, OrganizerDomainCreate, OrganizerDomainUpdate, OrganizerDomainQuery, NewsletterUpdate, Newsletter, NewsletterCreate } from './types'; import { HealthStatus, IdParam, QRCodePayload, StatusResponse, StringIdParam } from '../common/types'; /** * Service class for account API calls. */ export declare class AccountService { readonly client: AxiosInstance; readonly version: string; constructor(client: AxiosInstance, version: string); /** * Returns true if the service is reachable * * @returns Services' online status */ health(): Promise<HealthStatus>; /** * Returns the organizer with the given name or id. * Currently an organizer only has one workspace. * * @param req name of the organizer * @returns Seats workspaces for the organizer * @throws `NotFoundError` */ getSeatsWorkspacesForOrganizer(req: OrganizerId): Promise<SeatsWorkspace[]>; /** * List all organizers * * @returns array of Organizer objects */ listOrganizers(query?: ListQuery): Promise<Organizer[]>; /** * Returns the organizer with the given name or id. * * @param req id or name of the organizer * @returns Organizer object * @throws `NotFoundError` */ getOrganizer(req: GetOrganizerRequest): Promise<Organizer>; /** * Create an organizer * * @param org New organizer data * @returns Organizer object * @throws `BadRequestError` */ createOrganizer(org: NewOrganizer): Promise<Organizer>; /** * Updates an organizer * * @param id.id name or id of the organizer * @param org updated organizer data * @returns Organizer object */ updateOrganizer(id: OrganizerId, org: Partial<Organizer>): Promise<Organizer>; /** * Returns the user with the given id. * * @param req id of the user * @returns User object * @throws `NotFoundError` */ getUser(req: IdParam): Promise<User>; /** * Returns the user with the given email. * * @param email email of the user * @returns User object * @throws `NotFoundError` */ getUserByEmail(email: Email): Promise<PublicUserData>; /** * Creates a new user * * @param user User data * @returns User object * @throws `BadRequestError` */ createUser(user: NewUser): Promise<User>; /** * Creates and adds an user to an organizer * * @param user User data and permissions * @returns User object * @throws `BadRequestError` */ inviteUser(user: UserInvite): Promise<User>; /** * Update a user * If a new email is sent, it needs to be confirmed * * @param user User data * @returns User object * @throws `BadRequestError`, `NotFoundError` */ updateUser(id: IdParam, user: UserUpdate): Promise<User>; /** * Initiate password reset process for a given email (i.e. user) * * @param email E-Mail of user which wants to reset the password */ resetUserPassword(email: Email): Promise<StatusResponse>; /** * Resend the verification link to an unverified user. * * @param email Email of the user for which the verification link should be resent. * @throws BadRequestError if the user is already verified. */ resendUserVerification(email: Email): Promise<void>; /** * Deletes a user * * @param id ID of the user to delete * @throws `NotFoundError` */ deleteUser(id: IdParam): Promise<void>; /** * List users belonging to a specific organizer. * * @param id.id Id or name of the organizer * @param query Additional fields that should be fetched with the users. */ listUsersInOrganization(id: OrganizerId, query?: UserQuery): Promise<User[]>; /** * Use this method to list the users. * @param query.email Query the users by the email */ listUsers(query?: ListUserQuery): Promise<User[]>; /** * Gets public info for a user with the enrollment id * * @param id enrollment ID of the user * @throws `NotFoundError` */ checkEnrollment(id: EnrollmentId): Promise<PublicUserData>; /** * Set a user's permissions. * The caller need to have the `*.change_permission` permission for each class of permissions which are granted. * * @param id Id of the user * @param perms Set of new permissions for the user * @returns User object * @throws `BadRequestError`, `NotFoundError`, `ForbiddenError` */ setPermissions(id: IdParam, perms: UserPermissions): Promise<UserPermissionChange>; /** * Creates a new certificate and private key for a user. * If there is no authorization, a new user and their wallet will be created. * * @returns User IDs, certificate and private key */ createWallet(): Promise<Wallet>; /** * Renews the certificate and private key for a user. * * @returns User IDs, certificate and private key */ renewWallet(): Promise<Wallet>; /** * Return the market rules for the given ruleset * @param marketRulesetId * @returns */ getMarketControlSettings(marketRulesetId: StringIdParam): Promise<MarketRuleset>; /** * Create a secondary market ruleset for an organizer * @param marketRuleset Ruleset data */ createMarketControlSettings(marketRuleset: MarketRulesetCreate): Promise<MarketRuleset>; /** * Update a secondary market ruleset * @param id Id of the ruleset * @param marketRuleset Updated ruleset data */ updateMarketControlSettings(id: StringIdParam, marketRuleset: MarketRulesetUpdate): Promise<MarketRuleset>; /** * Delete a secondary market ruleset * @param id Id of the ruleset */ deleteMarketControlSettings(id: StringIdParam): Promise<void>; /** * Fetch QR code data for publishing the ruleset on the chain * @param id Id of the ruleset */ getMarketControlSettingsQRCodePayload(id: StringIdParam): Promise<QRCodePayload>; /** * List the secondary market rulesets */ listMarketControlSettings(query?: MarketRulesetListQuery): Promise<MarketRuleset[]>; /** * Get fee by id * @param id Id of the fee */ getFee(id: IdParam): Promise<Fee>; /** * Create a fee for the organizer. Requires administrative rights. * @param fee Fee data */ createFee(fee: FeeCreate): Promise<Fee>; /** * Update fee data. Requires administrative rights. * @param id Id of the fee * @param fee Updated fee data */ updateFee(id: IdParam, fee: FeeUpdate): Promise<Fee>; /** * List all registered KYC levels */ listKycLevels(query?: ListQuery): Promise<KYCLevel[]>; /** * List all registered currencies */ listCurrencies(query?: ListQuery): Promise<Currency[]>; /** * Starts the onboarding process for the payment provider * * @param id.id name or id of the organizer * @param onboardPayload return and refresh urls * @returns redirect url */ onboardStripeConnect(id: OrganizerId, onboardPayload: OnboardStripePayload): Promise<OnboardStripeResponse>; /** * Gets the onboarding status for the payment provider * * @param id.id name or id of the organizer * @returns data about the completeness of the onboarding process */ getStripeConnectStatus(id: OrganizerId): Promise<OnboardStripeStatus>; /** * Get a domain by its ID * @param id Id of the domain */ getDomain(id: IdParam): Promise<OrganizerDomain>; /** * Lists or searches for domains. Returns associated organizers for each domain. */ listDomains(queryReq: OrganizerDomainQuery): Promise<OrganizerDomain[]>; /** * Create a domain for the organizer. Requires permissions for that organizer. * @param domain Domain name and either the organizer ID or the organizer name */ createDomain(domain: OrganizerDomainCreate): Promise<OrganizerDomain>; /** * Update domain data. Requires permissions for that organizer. * @param id Id of the domain * @param domain Updated domain name */ updateDomain(id: IdParam, domain: OrganizerDomainUpdate): Promise<OrganizerDomain>; /** * Delete a domain. Requires permissions for that organizer. * @param id Id of the domain */ deleteDomain(id: IdParam): Promise<void>; /** * Get a newsletter by its ID */ getNewsletter(id: IdParam): Promise<Newsletter>; /** * Lists all newsletters */ listNewsletters(queryReq: OrganizerDomainQuery): Promise<Newsletter[]>; /** * Create a newsletter. Requires permissions for the main organizer. * @param newsletter Subject and content. It will be put in the `info` email template. */ createNewsletter(newsletter: NewsletterCreate): Promise<Newsletter>; /** * Update newsletter content. Requires permissions for the main organizer. * @param id ID of the newsletter * @param newsletter Updated content */ updateNewsletter(id: IdParam, newsletter: NewsletterUpdate): Promise<Newsletter>; /** * Delete a newsletter. Requires permissions for the main organizer. */ deleteNewsletter(id: IdParam): Promise<void>; /** * Sends out the emails containing the newsletter content. * Requires permissions for the main organizer. * The newsletter will be marked as sent, but it can still be updated and resent. * * @param id ID of the newsletter to send */ sendNewsletter(id: IdParam): Promise<Newsletter>; } //# sourceMappingURL=service.d.ts.map