mirror of
https://github.com/hex248/sprint.git
synced 2026-02-08 10:33:01 +00:00
added member-time-tracking route
This commit is contained in:
@@ -227,6 +227,13 @@ export const OrgMembersQuerySchema = z.object({
|
||||
|
||||
export type OrgMembersQuery = z.infer<typeof OrgMembersQuerySchema>;
|
||||
|
||||
export const OrgMemberTimeTrackingQuerySchema = z.object({
|
||||
organisationId: z.coerce.number().int().positive("organisationId must be a positive integer"),
|
||||
fromDate: z.coerce.date().optional(),
|
||||
});
|
||||
|
||||
export type OrgMemberTimeTrackingQuery = z.infer<typeof OrgMemberTimeTrackingQuerySchema>;
|
||||
|
||||
export const OrgAddMemberRequestSchema = z.object({
|
||||
organisationId: z.number().int().positive("organisationId must be a positive integer"),
|
||||
userId: z.number().int().positive("userId must be a positive integer"),
|
||||
|
||||
@@ -29,6 +29,7 @@ import {
|
||||
OrgCreateRequestSchema,
|
||||
OrgDeleteRequestSchema,
|
||||
OrgMembersQuerySchema,
|
||||
OrgMemberTimeTrackingQuerySchema,
|
||||
OrgRemoveMemberRequestSchema,
|
||||
OrgUpdateMemberRoleRequestSchema,
|
||||
OrgUpdateRequestSchema,
|
||||
@@ -379,6 +380,30 @@ export const apiContract = c.router({
|
||||
200: z.array(OrganisationMemberResponseSchema),
|
||||
},
|
||||
},
|
||||
organisationMemberTimeTracking: {
|
||||
method: "GET",
|
||||
path: "/organisation/member-time-tracking",
|
||||
query: OrgMemberTimeTrackingQuerySchema,
|
||||
responses: {
|
||||
200: z.array(
|
||||
z.object({
|
||||
id: z.number(),
|
||||
userId: z.number(),
|
||||
issueId: z.number(),
|
||||
issueNumber: z.number(),
|
||||
projectKey: z.string(),
|
||||
timestamps: z.array(z.string()),
|
||||
endedAt: z.string().nullable(),
|
||||
createdAt: z.string().nullable(),
|
||||
workTimeMs: z.number(),
|
||||
breakTimeMs: z.number(),
|
||||
isRunning: z.boolean(),
|
||||
}),
|
||||
),
|
||||
403: ApiErrorSchema,
|
||||
404: ApiErrorSchema,
|
||||
},
|
||||
},
|
||||
organisationRemoveMember: {
|
||||
method: "POST",
|
||||
path: "/organisation/remove-member",
|
||||
|
||||
@@ -25,6 +25,7 @@ export type {
|
||||
OrgCreateRequest,
|
||||
OrgDeleteRequest,
|
||||
OrgMembersQuery,
|
||||
OrgMemberTimeTrackingQuery,
|
||||
OrgRemoveMemberRequest,
|
||||
OrgUpdateMemberRoleRequest,
|
||||
OrgUpdateRequest,
|
||||
@@ -87,6 +88,7 @@ export {
|
||||
OrgCreateRequestSchema,
|
||||
OrgDeleteRequestSchema,
|
||||
OrgMembersQuerySchema,
|
||||
OrgMemberTimeTrackingQuerySchema,
|
||||
OrgRemoveMemberRequestSchema,
|
||||
OrgUpdateMemberRoleRequestSchema,
|
||||
OrgUpdateRequestSchema,
|
||||
@@ -153,6 +155,8 @@ export type {
|
||||
OrganisationMemberResponse as OrganisationMemberResponseRecord,
|
||||
OrganisationRecord,
|
||||
OrganisationResponse as OrganisationResponseRecord,
|
||||
PaymentInsert,
|
||||
PaymentRecord,
|
||||
ProjectInsert,
|
||||
ProjectRecord,
|
||||
ProjectResponse as ProjectResponseRecord,
|
||||
@@ -160,6 +164,8 @@ export type {
|
||||
SessionRecord,
|
||||
SprintInsert,
|
||||
SprintRecord,
|
||||
SubscriptionInsert,
|
||||
SubscriptionRecord,
|
||||
TimedSessionInsert,
|
||||
TimedSessionRecord,
|
||||
TimerState,
|
||||
@@ -188,6 +194,9 @@ export {
|
||||
OrganisationMemberInsertSchema,
|
||||
OrganisationMemberSelectSchema,
|
||||
OrganisationSelectSchema,
|
||||
Payment,
|
||||
PaymentInsertSchema,
|
||||
PaymentSelectSchema,
|
||||
Project,
|
||||
ProjectInsertSchema,
|
||||
ProjectSelectSchema,
|
||||
@@ -197,6 +206,9 @@ export {
|
||||
Sprint,
|
||||
SprintInsertSchema,
|
||||
SprintSelectSchema,
|
||||
Subscription,
|
||||
SubscriptionInsertSchema,
|
||||
SubscriptionSelectSchema,
|
||||
TimedSession,
|
||||
TimedSessionInsertSchema,
|
||||
TimedSessionSelectSchema,
|
||||
|
||||
Reference in New Issue
Block a user