mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-08-13 18:52:14 +01:00
move ui and api to seperate packages and add npm actions for them
This commit is contained in:
137
resources/js/packages/api/src/index.ts
Normal file
137
resources/js/packages/api/src/index.ts
Normal file
@@ -0,0 +1,137 @@
|
||||
import type {
|
||||
ApiOf,
|
||||
ZodiosResponseByAlias,
|
||||
ZodiosBodyByAlias,
|
||||
ZodiosQueryParamsByAlias,
|
||||
} from '@zodios/core';
|
||||
import { createApiClient } from './openapi.json.client';
|
||||
|
||||
export type SolidTimeApi = ApiOf<typeof api>;
|
||||
|
||||
export type InvitationsIndexResponse = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getInvitations'
|
||||
>;
|
||||
|
||||
export type CreateInvitationBody = ZodiosBodyByAlias<SolidTimeApi, 'invite'>;
|
||||
|
||||
export type Invitation = InvitationsIndexResponse['data'][0];
|
||||
|
||||
export type TimeEntryResponse = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getTimeEntries'
|
||||
>;
|
||||
export type TimeEntry = TimeEntryResponse['data'][0];
|
||||
|
||||
export type CreateTimeEntryBody = ZodiosBodyByAlias<
|
||||
SolidTimeApi,
|
||||
'createTimeEntry'
|
||||
>;
|
||||
|
||||
export type ProjectResponse = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getProjects'
|
||||
>;
|
||||
export type Project = ProjectResponse['data'][0];
|
||||
|
||||
export type CreateProjectBody = ZodiosBodyByAlias<
|
||||
SolidTimeApi,
|
||||
'createProject'
|
||||
>;
|
||||
|
||||
export type UpdateProjectBody = ZodiosBodyByAlias<
|
||||
SolidTimeApi,
|
||||
'updateProject'
|
||||
>;
|
||||
|
||||
export type ProjectMemberResponse = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getProjectMembers'
|
||||
>;
|
||||
|
||||
export type CreateProjectMemberBody = ZodiosBodyByAlias<
|
||||
SolidTimeApi,
|
||||
'createProjectMember'
|
||||
>;
|
||||
|
||||
export type UpdateProjectMemberBody = ZodiosBodyByAlias<
|
||||
SolidTimeApi,
|
||||
'updateProjectMember'
|
||||
>;
|
||||
|
||||
export type ProjectMember = ProjectMemberResponse['data'][0];
|
||||
|
||||
export type CreateTaskBody = ZodiosBodyByAlias<SolidTimeApi, 'createTask'>;
|
||||
|
||||
export type CreateClientBody = ZodiosBodyByAlias<SolidTimeApi, 'createClient'>;
|
||||
export type UpdateClientBody = ZodiosBodyByAlias<SolidTimeApi, 'updateClient'>;
|
||||
|
||||
export type TagIndexResponse = ZodiosResponseByAlias<SolidTimeApi, 'getTags'>;
|
||||
export type Tag = TagIndexResponse['data'][0];
|
||||
|
||||
export type TaskIndexResponse = ZodiosResponseByAlias<SolidTimeApi, 'getTasks'>;
|
||||
export type Task = TaskIndexResponse['data'][0];
|
||||
|
||||
export type UpdateTaskBody = ZodiosBodyByAlias<SolidTimeApi, 'updateTask'>;
|
||||
|
||||
export type ClientIndexResponse = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getClients'
|
||||
>;
|
||||
export type Client = ClientIndexResponse['data'][0];
|
||||
|
||||
export type MemberIndexResponse = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getMembers'
|
||||
>;
|
||||
export type Member = MemberIndexResponse['data'][0];
|
||||
|
||||
export type UpdateMemberBody = ZodiosBodyByAlias<SolidTimeApi, 'updateMember'>;
|
||||
|
||||
export type InviteMemberBody = ZodiosBodyByAlias<SolidTimeApi, 'invite'>;
|
||||
export type MemberRole = InviteMemberBody['role'];
|
||||
|
||||
export type CreateTagBody = ZodiosBodyByAlias<SolidTimeApi, 'createTag'>;
|
||||
|
||||
export type ImportType = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getImporters'
|
||||
>['data'][0];
|
||||
export type ImportReport = ZodiosResponseByAlias<SolidTimeApi, 'importData'>;
|
||||
|
||||
export type ReportingResponse = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getAggregatedTimeEntries'
|
||||
>;
|
||||
|
||||
export type AggregatedTimeEntries = ReportingResponse['data'];
|
||||
export type GroupedDataEntries = ReportingResponse['data']['grouped_data'];
|
||||
|
||||
export type AggregatedTimeEntriesQueryParams = ZodiosQueryParamsByAlias<
|
||||
SolidTimeApi,
|
||||
'getAggregatedTimeEntries'
|
||||
>;
|
||||
|
||||
export type OrganizationResponse = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getOrganization'
|
||||
>;
|
||||
|
||||
export type Organization = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getOrganization'
|
||||
>['data'];
|
||||
|
||||
export type UpdateOrganizationBody = ZodiosBodyByAlias<
|
||||
SolidTimeApi,
|
||||
'updateOrganization'
|
||||
>;
|
||||
|
||||
export type MyMemberships = ZodiosResponseByAlias<
|
||||
SolidTimeApi,
|
||||
'getMyMemberships'
|
||||
>['data'];
|
||||
|
||||
export type MyMembership = MyMemberships[0];
|
||||
|
||||
export const api = createApiClient('/api', { validate: 'none' });
|
||||
2555
resources/js/packages/api/src/openapi.json.client.ts
Normal file
2555
resources/js/packages/api/src/openapi.json.client.ts
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user