@livo.pro/api-client
v0.1.0
Published
Type-safe oRPC client for Livo API
Maintainers
Readme
@livo.pro/api-client
Type-safe oRPC client for Livo API.
Installation
npm install @livo.pro/api-client
# or
pnpm add @livo.pro/api-clientUsage
import { createLivoClient } from '@livo.pro/api-client'
const rpc = createLivoClient({
baseUrl: 'https://livo.pro',
getHeaders: async () => ({
'Authorization': `Bearer ${token}`
})
})
// Full TypeScript inference for all procedures
const invitations = await rpc.auth.invitations.getPending()
const sites = await rpc.org.sites.list({ orgSlug: 'my-org' })
const tickets = await rpc.site.tickets.list({ siteSlug: 'my-site' })Available Procedures
Auth
auth.invitations.getPending()- Get pending invitationsauth.invitations.accept(input)- Accept an invitationauth.invitations.decline(input)- Decline an invitation
Organization
org.sites.create(input)- Create a new siteorg.sites.list(input)- List sites in an organizationorg.sites.getDashboard(input)- Get organization dashboardorg.agenda.getUpcomingEvents(input)- Get upcoming eventsorg.agenda.getAgendaEvents(input)- Get agenda eventsorg.agenda.createEvent(input)- Create an eventorg.agenda.updateEvent(input)- Update an eventorg.agenda.deleteEvent(input)- Delete an eventorg.agenda.getEventById(input)- Get event by ID
Site
site.tickets.create(input)- Create a ticketsite.tickets.list(input)- List ticketssite.tickets.get(input)- Get a ticketsite.generic.getSiteDetails(input)- Get site detailssite.generic.getSiteSettings(input)- Get site settingssite.generic.updateSiteSettings(input)- Update site settingssite.announcements.get(input)- Get announcementssite.announcements.upsert(input)- Create/update announcementsite.votes.create(input)- Create a votesite.votes.list(input)- List votessite.votes.get(input)- Get a votesite.votes.getPending(input)- Get pending votessite.votes.cast(input)- Cast a votesite.votes.update(input)- Update a votesite.votes.remove(input)- Remove a votesite.votes.sendReminder(input)- Send vote remindersite.votes.getMyVotes(input)- Get user's votes
Exported Types
import type { LivoClient, Outputs, Inputs } from '@livo.pro/api-client'
// Use Outputs to type procedure return values
type PendingInvitations = Outputs['auth']['invitations']['getPending']
// Use Inputs to type procedure inputs
type CreateTicketInput = Inputs['site']['tickets']['create']Exported Constants
import {
ticketPriorityValues,
ticketStatusValues,
ticketVisibilityValues,
voteStatusValues,
type TicketPriority,
type TicketStatus,
type TicketVisibility,
type VoteStatus,
} from '@livo.pro/api-client'License
MIT
