import type { ApiOf, ZodiosResponseByAlias, ZodiosBodyByAlias, ZodiosQueryParamsByAlias, } from '@zodios/core'; import { createApiClient } from './openapi.json.client'; export type SolidTimeApi = ApiOf; export type InvitationsIndexResponse = ZodiosResponseByAlias; export type CreateInvitationBody = ZodiosBodyByAlias; export type Invitation = InvitationsIndexResponse['data'][0]; export type TimeEntryResponse = ZodiosResponseByAlias; export type TimeEntry = TimeEntryResponse['data'][0]; export type CreateTimeEntryBody = ZodiosBodyByAlias; export type UpdateMultipleTimeEntriesBody = ZodiosBodyByAlias< SolidTimeApi, 'updateMultipleTimeEntries' >; export type UpdateMultipleTimeEntriesChangeset = UpdateMultipleTimeEntriesBody['changes']; export type ProjectResponse = ZodiosResponseByAlias; export type Project = ProjectResponse['data'][0]; export type CreateProjectBody = ZodiosBodyByAlias; export type UpdateProjectBody = ZodiosBodyByAlias; export type ProjectMemberResponse = ZodiosResponseByAlias; export type CreateProjectMemberBody = ZodiosBodyByAlias; export type UpdateProjectMemberBody = ZodiosBodyByAlias; export type ProjectMember = ProjectMemberResponse['data'][0]; export type CreateTaskBody = ZodiosBodyByAlias; export type CreateClientBody = ZodiosBodyByAlias; export type UpdateClientBody = ZodiosBodyByAlias; export type TagIndexResponse = ZodiosResponseByAlias; export type Tag = TagIndexResponse['data'][0]; export type TaskIndexResponse = ZodiosResponseByAlias; export type Task = TaskIndexResponse['data'][0]; export type UpdateTaskBody = ZodiosBodyByAlias; export type ClientIndexResponse = ZodiosResponseByAlias; export type Client = ClientIndexResponse['data'][0]; export type MemberIndexResponse = ZodiosResponseByAlias; export type Member = MemberIndexResponse['data'][0]; export type UpdateMemberBody = ZodiosBodyByAlias; export type InviteMemberBody = ZodiosBodyByAlias; export type MemberRole = InviteMemberBody['role']; export type CreateTagBody = ZodiosBodyByAlias; export type UpdateTagBody = ZodiosBodyByAlias; export type ImportType = ZodiosResponseByAlias['data'][0]; export type ImportReport = ZodiosResponseByAlias; export type ReportingResponse = ZodiosResponseByAlias; export type AggregatedTimeEntries = ReportingResponse['data']; export type GroupedDataEntries = ReportingResponse['data']['grouped_data']; export type TimeEntriesQueryParams = ZodiosQueryParamsByAlias; export type AggregatedTimeEntriesQueryParams = ZodiosQueryParamsByAlias< SolidTimeApi, 'getAggregatedTimeEntries' > & { start: string; end: string; rounding_type?: string; rounding_minutes?: number; }; export type OrganizationResponse = ZodiosResponseByAlias; export type Organization = ZodiosResponseByAlias['data']; export type UpdateOrganizationBody = ZodiosBodyByAlias; export type MyMemberships = ZodiosResponseByAlias['data']; export type MyMembership = MyMemberships[0]; export type OrganizationExportResponse = ZodiosResponseByAlias; export type ReportIndexResponse = ZodiosResponseByAlias; export type CreateReportBody = ZodiosBodyByAlias; export type UpdateReportBody = ZodiosBodyByAlias; export type CreateReportBodyProperties = CreateReportBody['properties']; export type Report = ReportIndexResponse['data'][0]; export type ApiTokenIndexResponse = ZodiosResponseByAlias; export type CreateApiTokenBody = ZodiosBodyByAlias; export type ApiToken = ApiTokenIndexResponse['data'][0]; export type DetailedInvoiceResponse = ZodiosResponseByAlias; export type InvoiceIndexEntry = ZodiosResponseByAlias['data'][0]; export type UpdateInvoiceSettings = ZodiosBodyByAlias; export type CreateInvoiceBody = ZodiosBodyByAlias; export type UpdateInvoiceBody = ZodiosBodyByAlias; const api = createApiClient('/api', { validate: 'none' }); export { createApiClient, api };