@knpkv/clockify-api-client 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -27,12 +27,12 @@ export type AuthorizationSourceDtoV1 = { readonly "id"?: string, readonly "type"
|
|
|
27
27
|
export const AuthorizationSourceDtoV1 = Schema.Struct({ "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents authorization source identifier across the system." })), "type": Schema.optionalKey(Schema.Literal("USER_GROUP").annotate({ "description": "Represents a valid authorization source type." })) }).annotate({ "description": "Represents an authorization data transfer object." })
|
|
28
28
|
export type AutomaticAccrualDto = { readonly "amount"?: number, readonly "period"?: "MONTH" | "YEAR", readonly "timeUnit"?: "DAYS" | "HOURS" }
|
|
29
29
|
export const AutomaticAccrualDto = Schema.Struct({ "amount": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents automatic accrual's amount", "format": "double" }).check(Schema.isFinite())), "period": Schema.optionalKey(Schema.Literals(["MONTH", "YEAR"]).annotate({ "description": "Represents automatic accrual's period" })), "timeUnit": Schema.optionalKey(Schema.Literals(["DAYS", "HOURS"]).annotate({ "description": "Represents automatic accrual's time unit" })) }).annotate({ "description": "Represents automatic approval settings." })
|
|
30
|
-
export type AutomaticAccrualRequest = { readonly "amount": number, readonly "period"?: "MONTH" | "YEAR"
|
|
31
|
-
export const AutomaticAccrualRequest = Schema.Struct({ "amount": Schema.Number.annotate({ "description": "Represents amount of automatic accrual.", "format": "double" }).check(Schema.isFinite()).check(Schema.isGreaterThanOrEqualTo(0)), "period": Schema.optionalKey(Schema.Literals(["MONTH", "YEAR"]).annotate({ "description": "Represents automatic accrual period." }))
|
|
30
|
+
export type AutomaticAccrualRequest = { readonly "amount": number, readonly "period"?: "MONTH" | "YEAR" }
|
|
31
|
+
export const AutomaticAccrualRequest = Schema.Struct({ "amount": Schema.Number.annotate({ "description": "Represents amount of automatic accrual.", "format": "double" }).check(Schema.isFinite()).check(Schema.isGreaterThanOrEqualTo(0)), "period": Schema.optionalKey(Schema.Literals(["MONTH", "YEAR"]).annotate({ "description": "Represents automatic accrual period." })) }).annotate({ "description": "Provide automatic accrual settings." })
|
|
32
32
|
export type AutomaticLockDtoV1 = { readonly "changeDay"?: "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY", readonly "dayOfMonth"?: number, readonly "firstDay"?: "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY", readonly "olderThanPeriod"?: "DAYS" | "WEEKS" | "MONTHS", readonly "olderThanValue"?: number, readonly "type"?: "WEEKLY" | "MONTHLY" | "OLDER_THAN" }
|
|
33
33
|
export const AutomaticLockDtoV1 = Schema.Struct({ "changeDay": Schema.optionalKey(Schema.Literals(["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]).annotate({ "description": "Represents a day of the week." })), "dayOfMonth": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents a day of month as integer.", "format": "int32" }).check(Schema.isInt())), "firstDay": Schema.optionalKey(Schema.Literals(["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]).annotate({ "description": "Represents a day of the week." })), "olderThanPeriod": Schema.optionalKey(Schema.Literals(["DAYS", "WEEKS", "MONTHS"]).annotate({ "description": "Represents a time entry automatic lock period enum." })), "olderThanValue": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents an integer as the criteria for locking time entries.", "format": "int32" }).check(Schema.isInt())), "type": Schema.optionalKey(Schema.Literals(["WEEKLY", "MONTHLY", "OLDER_THAN"]).annotate({ "description": "Represents a time entry automatic lock type enum." })) }).annotate({ "description": "Represents an automatic lock object." })
|
|
34
|
-
export type BalanceDtoV1 = { readonly "balance"?: number, readonly "id"?: string, readonly "negativeBalanceAmount"?: number, readonly "negativeBalanceLimit"?: boolean, readonly "policyArchived"?: boolean, readonly "policyId"?: string, readonly "policyName"?: string, readonly "policyTimeUnit"?: "DAYS" | "HOURS", readonly "total"?: number, readonly "used"?: number, readonly "userId"?: string, readonly "userName"?: string, readonly "workspaceId"?: string }
|
|
35
|
-
export const BalanceDtoV1 = Schema.Struct({ "balance": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents the balance amount of the time unit", "format": "double" }).check(Schema.isFinite())), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represent balance identifier across the system." })), "negativeBalanceAmount": Schema.optionalKey(Schema.Number.annotate({ "description": "Represent negative balance amount.", "format": "double" }).check(Schema.isFinite())), "negativeBalanceLimit": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the negative balance limit is allowed." })), "policyArchived": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the policy is archived." })), "policyId": Schema.optionalKey(Schema.String.annotate({ "description": "Represent policy identifier across the system." })), "policyName": Schema.optionalKey(Schema.String.annotate({ "description": "Represent policy name." })), "policyTimeUnit": Schema.optionalKey(Schema.Literals(["DAYS", "HOURS"]).annotate({ "description": "Represent policy time unit." })), "total": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents the total amount", "format": "double" }).check(Schema.isFinite())), "used": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents the balance used amount", "format": "double" }).check(Schema.isFinite())), "userId": Schema.optionalKey(Schema.String.annotate({ "description": "Represent user identifier across the system." })), "userName": Schema.optionalKey(Schema.String.annotate({ "description": "Represent user's username." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represent workspace identifier across the system." })) }).annotate({ "description": "Represent the list of balances." })
|
|
34
|
+
export type BalanceDtoV1 = { readonly "balance"?: number, readonly "id"?: string, readonly "negativeBalanceAmount"?: number, readonly "negativeBalanceLimit"?: boolean, readonly "negativeBalanceUsed"?: number, readonly "policyArchived"?: boolean, readonly "policyId"?: string, readonly "policyName"?: string, readonly "policyTimeUnit"?: "DAYS" | "HOURS", readonly "total"?: number, readonly "used"?: number, readonly "userId"?: string, readonly "userName"?: string, readonly "workspaceId"?: string }
|
|
35
|
+
export const BalanceDtoV1 = Schema.Struct({ "balance": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents the balance amount of the time unit", "format": "double" }).check(Schema.isFinite())), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represent balance identifier across the system." })), "negativeBalanceAmount": Schema.optionalKey(Schema.Number.annotate({ "description": "Represent negative balance amount.", "format": "double" }).check(Schema.isFinite())), "negativeBalanceLimit": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the negative balance limit is allowed." })), "negativeBalanceUsed": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents the amount of balance used outside of existing balance and validity period", "format": "double" }).check(Schema.isFinite())), "policyArchived": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the policy is archived." })), "policyId": Schema.optionalKey(Schema.String.annotate({ "description": "Represent policy identifier across the system." })), "policyName": Schema.optionalKey(Schema.String.annotate({ "description": "Represent policy name." })), "policyTimeUnit": Schema.optionalKey(Schema.Literals(["DAYS", "HOURS"]).annotate({ "description": "Represent policy time unit." })), "total": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents the total amount", "format": "double" }).check(Schema.isFinite())), "used": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents the balance used amount", "format": "double" }).check(Schema.isFinite())), "userId": Schema.optionalKey(Schema.String.annotate({ "description": "Represent user identifier across the system." })), "userName": Schema.optionalKey(Schema.String.annotate({ "description": "Represent user's username." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represent workspace identifier across the system." })) }).annotate({ "description": "Represent the list of balances." })
|
|
36
36
|
export type BaseFilterRequest = { readonly "contains"?: "CONTAINS" | "DOES_NOT_CONTAIN" | "CONTAINS_ONLY", readonly "ids"?: ReadonlyArray<string> }
|
|
37
37
|
export const BaseFilterRequest = Schema.Struct({ "contains": Schema.optionalKey(Schema.Literals(["CONTAINS", "DOES_NOT_CONTAIN", "CONTAINS_ONLY"]).annotate({ "description": "Filter type." })), "ids": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents a list of filter identifiers." })).annotate({ "description": "Represents a list of filter identifiers." }).check(Schema.isUnique())) }).annotate({ "description": "Represents a company filter object. If provided, you'll get a filtered list of invoices that matches the specified company filter." })
|
|
38
38
|
export type CalculationType = never
|
|
@@ -61,8 +61,10 @@ export type CostRateRequest = { readonly "amount"?: number, readonly "since"?: s
|
|
|
61
61
|
export const CostRateRequest = Schema.Struct({ "amount": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents an amount as integer.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(0))), "since": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a datetime in yyyy-MM-ddThh:mm:ssZ format." })), "sinceAsInstant": Schema.optionalKey(Schema.String.annotate({ "format": "date-time" })) }).annotate({ "description": "Represents a cost rate request object." })
|
|
62
62
|
export type CostRateRequestV1 = { readonly "amount": number, readonly "since"?: string }
|
|
63
63
|
export const CostRateRequestV1 = Schema.Struct({ "amount": Schema.Number.annotate({ "description": "Represents an amount as integer.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(0)), "since": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a date and time in yyyy-MM-ddThh:mm:ssZ format." })) })
|
|
64
|
-
export type CreateApprovalRequest = { readonly "period"?: "WEEKLY" | "SEMI_MONTHLY" | "MONTHLY", readonly "periodStart": string }
|
|
65
|
-
export const CreateApprovalRequest = Schema.Struct({ "period": Schema.optionalKey(Schema.Literals(["WEEKLY", "SEMI_MONTHLY", "MONTHLY"]).annotate({ "description": "Specifies the approval period. It has to match the workspace approval period setting." })), "periodStart": Schema.String.annotate({ "description": "Specifies an approval period start date in yyyy-MM-ddThh:mm:ssZ format." }).check(Schema.isMinLength(1)) })
|
|
64
|
+
export type CreateApprovalRequest = { readonly "period"?: "WEEKLY" | "SEMI_MONTHLY" | "MONTHLY", readonly "periodStart": string, readonly "type"?: string }
|
|
65
|
+
export const CreateApprovalRequest = Schema.Struct({ "period": Schema.optionalKey(Schema.Literals(["WEEKLY", "SEMI_MONTHLY", "MONTHLY"]).annotate({ "description": "Specifies the approval period. It has to match the workspace approval period setting." })), "periodStart": Schema.String.annotate({ "description": "Specifies an approval period start date in yyyy-MM-ddThh:mm:ssZ format." }).check(Schema.isMinLength(1)), "type": Schema.optionalKey(Schema.String.check(Schema.isPattern(new RegExp("TIMESHEET|EXPENSE")))) })
|
|
66
|
+
export type CreateApprovalRequestNoType = { readonly "period"?: "WEEKLY" | "SEMI_MONTHLY" | "MONTHLY", readonly "periodStart": string }
|
|
67
|
+
export const CreateApprovalRequestNoType = Schema.Struct({ "period": Schema.optionalKey(Schema.Literals(["WEEKLY", "SEMI_MONTHLY", "MONTHLY"]).annotate({ "description": "Specifies the approval period. It has to match the workspace approval period setting." })), "periodStart": Schema.String.annotate({ "description": "Specifies an approval period start date in yyyy-MM-ddThh:mm:ssZ format." }).check(Schema.isMinLength(1)) })
|
|
66
68
|
export type CreateClientRequestV1 = { readonly "address"?: string, readonly "email"?: string, readonly "name"?: string, readonly "note"?: string }
|
|
67
69
|
export const CreateClientRequestV1 = Schema.Struct({ "address": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a client's address." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(3000))), "email": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a client email.", "format": "email" })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a client name." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(100))), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents additional notes for the client." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(3000))) })
|
|
68
70
|
export type CreateCustomAttributeRequest = { readonly "name": string, readonly "namespace": string, readonly "value": string }
|
|
@@ -79,8 +81,6 @@ export type CreateInvoiceRequest = { readonly "clientId": string, readonly "curr
|
|
|
79
81
|
export const CreateInvoiceRequest = Schema.Struct({ "clientId": Schema.String.annotate({ "description": "Represents a client identifier across the system." }).check(Schema.isMinLength(1)), "currency": Schema.String.annotate({ "description": "Represents the currency used by the invoice." }).check(Schema.isMinLength(1)), "dueDate": Schema.String.annotate({ "description": "Represents an invoice due date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" }), "issuedDate": Schema.String.annotate({ "description": "Represents an invoice issued date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" }), "number": Schema.String.annotate({ "description": "Represents an invoice number." }).check(Schema.isMinLength(1)), "timeViewMode": Schema.optionalKey(Schema.Literals(["TIME_SENSITIVE_VIEW", "AGGREGATED_TIME_VIEW"])) })
|
|
80
82
|
export type CreateProjectFromTemplateV1 = { readonly "clientId"?: string, readonly "color"?: string, readonly "isPublic"?: boolean, readonly "name": string, readonly "templateProjectId": string }
|
|
81
83
|
export const CreateProjectFromTemplateV1 = Schema.Struct({ "clientId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a client identifier across the system." })), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Color format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." }).check(Schema.isPattern(new RegExp("^#(?:[0-9a-fA-F]{6}){1}$")))), "isPublic": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the project is public or not." })), "name": Schema.String.annotate({ "description": "Represents a project name." }).check(Schema.isMinLength(2)).check(Schema.isMaxLength(250)), "templateProjectId": Schema.String.annotate({ "description": "Represents a project identifier across the system." }).check(Schema.isMinLength(1)) })
|
|
82
|
-
export type CreateRecurringAssignmentRequestV1 = { readonly "repeat"?: boolean, readonly "weeks": number }
|
|
83
|
-
export const CreateRecurringAssignmentRequestV1 = Schema.Struct({ "repeat": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether assignment is recurring or not." })), "weeks": Schema.Number.annotate({ "description": "Indicates number of weeks for assignment.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(99)) }).annotate({ "description": "Represents a recurring assignment object. This parameter is optional." })
|
|
84
84
|
export type CreateWebhookRequestV1 = { readonly "name"?: string, readonly "triggerSource": ReadonlyArray<string>, readonly "triggerSourceType": "PROJECT_ID" | "USER_ID" | "TAG_ID" | "TASK_ID" | "WORKSPACE_ID" | "ASSIGNMENT_ID" | "EXPENSE_ID", readonly "url": string, readonly "webhookEvent": "NEW_PROJECT" | "NEW_TASK" | "NEW_CLIENT" | "NEW_TIMER_STARTED" | "TIMER_STOPPED" | "TIME_ENTRY_UPDATED" | "TIME_ENTRY_DELETED" | "TIME_ENTRY_SPLIT" | "NEW_TIME_ENTRY" | "TIME_ENTRY_RESTORED" | "NEW_TAG" | "USER_DELETED_FROM_WORKSPACE" | "USER_JOINED_WORKSPACE" | "USER_DEACTIVATED_ON_WORKSPACE" | "USER_ACTIVATED_ON_WORKSPACE" | "USER_EMAIL_CHANGED" | "USER_UPDATED" | "NEW_INVOICE" | "INVOICE_UPDATED" | "NEW_APPROVAL_REQUEST" | "APPROVAL_REQUEST_STATUS_UPDATED" | "TIME_OFF_REQUESTED" | "TIME_OFF_REQUEST_UPDATED" | "TIME_OFF_REQUEST_APPROVED" | "TIME_OFF_REQUEST_REJECTED" | "TIME_OFF_REQUEST_STARTED" | "TIME_OFF_REQUEST_WITHDRAWN" | "BALANCE_UPDATED" | "TAG_UPDATED" | "TAG_DELETED" | "TASK_UPDATED" | "CLIENT_UPDATED" | "TASK_DELETED" | "CLIENT_DELETED" | "EXPENSE_RESTORED" | "ASSIGNMENT_CREATED" | "ASSIGNMENT_DELETED" | "ASSIGNMENT_PUBLISHED" | "ASSIGNMENT_UPDATED" | "EXPENSE_CREATED" | "EXPENSE_DELETED" | "EXPENSE_UPDATED" | "PROJECT_UPDATED" | "PROJECT_DELETED" | "USER_GROUP_CREATED" | "USER_GROUP_UPDATED" | "USER_GROUP_DELETED" | "USERS_INVITED_TO_WORKSPACE" | "LIMITED_USERS_ADDED_TO_WORKSPACE" | "COST_RATE_UPDATED" | "BILLABLE_RATE_UPDATED" }
|
|
85
85
|
export const CreateWebhookRequestV1 = Schema.Struct({ "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a webhook name." }).check(Schema.isMinLength(2)).check(Schema.isMaxLength(30))), "triggerSource": Schema.Array(Schema.String.annotate({ "description": "Represents a list of trigger sources." })).annotate({ "description": "Represents a list of trigger sources." }), "triggerSourceType": Schema.Literals(["PROJECT_ID", "USER_ID", "TAG_ID", "TASK_ID", "WORKSPACE_ID", "ASSIGNMENT_ID", "EXPENSE_ID"]).annotate({ "description": "Represents a webhook event trigger source type." }), "url": Schema.String.annotate({ "description": "Represents a webhook target url." }).check(Schema.isMinLength(1)), "webhookEvent": Schema.Literals(["NEW_PROJECT", "NEW_TASK", "NEW_CLIENT", "NEW_TIMER_STARTED", "TIMER_STOPPED", "TIME_ENTRY_UPDATED", "TIME_ENTRY_DELETED", "TIME_ENTRY_SPLIT", "NEW_TIME_ENTRY", "TIME_ENTRY_RESTORED", "NEW_TAG", "USER_DELETED_FROM_WORKSPACE", "USER_JOINED_WORKSPACE", "USER_DEACTIVATED_ON_WORKSPACE", "USER_ACTIVATED_ON_WORKSPACE", "USER_EMAIL_CHANGED", "USER_UPDATED", "NEW_INVOICE", "INVOICE_UPDATED", "NEW_APPROVAL_REQUEST", "APPROVAL_REQUEST_STATUS_UPDATED", "TIME_OFF_REQUESTED", "TIME_OFF_REQUEST_UPDATED", "TIME_OFF_REQUEST_APPROVED", "TIME_OFF_REQUEST_REJECTED", "TIME_OFF_REQUEST_STARTED", "TIME_OFF_REQUEST_WITHDRAWN", "BALANCE_UPDATED", "TAG_UPDATED", "TAG_DELETED", "TASK_UPDATED", "CLIENT_UPDATED", "TASK_DELETED", "CLIENT_DELETED", "EXPENSE_RESTORED", "ASSIGNMENT_CREATED", "ASSIGNMENT_DELETED", "ASSIGNMENT_PUBLISHED", "ASSIGNMENT_UPDATED", "EXPENSE_CREATED", "EXPENSE_DELETED", "EXPENSE_UPDATED", "PROJECT_UPDATED", "PROJECT_DELETED", "USER_GROUP_CREATED", "USER_GROUP_UPDATED", "USER_GROUP_DELETED", "USERS_INVITED_TO_WORKSPACE", "LIMITED_USERS_ADDED_TO_WORKSPACE", "COST_RATE_UPDATED", "BILLABLE_RATE_UPDATED"]).annotate({ "description": "Represents a webhook event type." }) })
|
|
86
86
|
export type CreateWorkspaceRequestV1 = { readonly "name"?: string, readonly "organizationId"?: string }
|
|
@@ -103,12 +103,18 @@ export type DatePeriod = { readonly "endDate"?: string, readonly "startDate"?: s
|
|
|
103
103
|
export const DatePeriod = Schema.Struct({ "endDate": Schema.optionalKey(Schema.String.annotate({ "format": "date" })), "startDate": Schema.optionalKey(Schema.String.annotate({ "format": "date" })) }).annotate({ "description": "Represents startDate and endDate of the holiday. Date is in format yyyy-mm-dd" })
|
|
104
104
|
export type DatePeriodRequest = { readonly "endDate": string, readonly "startDate": string }
|
|
105
105
|
export const DatePeriodRequest = Schema.Struct({ "endDate": Schema.String.annotate({ "description": "yyyy-MM-dd format date" }).check(Schema.isMinLength(1)), "startDate": Schema.String.annotate({ "description": "yyyy-MM-dd format date" }).check(Schema.isMinLength(1)) }).annotate({ "description": "Provide startDate and endDate for the holiday." })
|
|
106
|
+
export type DateRange = { readonly "end"?: string, readonly "start"?: string }
|
|
107
|
+
export const DateRange = Schema.Struct({ "end": Schema.optionalKey(Schema.String.annotate({ "format": "date-time" })), "start": Schema.optionalKey(Schema.String.annotate({ "format": "date-time" })) })
|
|
106
108
|
export type DateRangeDto = { readonly "end"?: string, readonly "start"?: string }
|
|
107
109
|
export const DateRangeDto = Schema.Struct({ "end": Schema.optionalKey(Schema.String.annotate({ "format": "date-time" })), "start": Schema.optionalKey(Schema.String.annotate({ "format": "date-time" })) }).annotate({ "description": "Represents date range object." })
|
|
110
|
+
export type DateRangeV1Request = { readonly "end"?: string, readonly "start"?: string }
|
|
111
|
+
export const DateRangeV1Request = Schema.Struct({ "end": Schema.optionalKey(Schema.String.annotate({ "description": "Provide end date in YYYY-MM-DD format." })), "start": Schema.optionalKey(Schema.String.annotate({ "description": "Provide start date in YYYY-MM-DD format." })) }).annotate({ "description": "Represents the date range when the new balance will be usable. If null, this will default to the current day until the same day next year." })
|
|
108
112
|
export type DefaultEntitiesDto = { readonly "projectId"?: string, readonly "taskId"?: string }
|
|
109
113
|
export const DefaultEntitiesDto = Schema.Struct({ "projectId": Schema.optionalKey(Schema.String), "taskId": Schema.optionalKey(Schema.String) })
|
|
110
114
|
export type DefaultEntitiesRequest = { readonly "projectId"?: string, readonly "taskId"?: string }
|
|
111
115
|
export const DefaultEntitiesRequest = Schema.Struct({ "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Default project for automatically created time entries" })), "taskId": Schema.optionalKey(Schema.String.annotate({ "description": "Default task for automatically created time entries" })) }).annotate({ "description": "Provides information about default project and task for automatically created time entries." })
|
|
116
|
+
export type DeleteBalanceAssignmentV1Request = { readonly "note": string }
|
|
117
|
+
export const DeleteBalanceAssignmentV1Request = Schema.Struct({ "note": Schema.String.annotate({ "description": "Represents a note explaining balance deletion" }).check(Schema.isMinLength(1)) })
|
|
112
118
|
export type EntityCreationPermission = never
|
|
113
119
|
export const EntityCreationPermission = Schema.Never
|
|
114
120
|
export type EntityIdNameDto = { readonly "id"?: string, readonly "name"?: string }
|
|
@@ -143,6 +149,8 @@ export type Feature = never
|
|
|
143
149
|
export const Feature = Schema.Never
|
|
144
150
|
export type FeaturePlan = never
|
|
145
151
|
export const FeaturePlan = Schema.Never
|
|
152
|
+
export type GetTimeEntriesByIdsRequest = { readonly "hydrated"?: boolean, readonly "timeEntryIds": ReadonlyArray<string> }
|
|
153
|
+
export const GetTimeEntriesByIdsRequest = Schema.Struct({ "hydrated": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Flag to set whether to include additional information of time entries or not." })), "timeEntryIds": Schema.Array(Schema.String.annotate({ "description": "Represents time entry identifiers across the system." })).annotate({ "description": "Represents time entry identifiers across the system." }).check(Schema.isMinLength(1)) })
|
|
146
154
|
export type GetTimeOffRequestsV1Request = { readonly "end"?: string, readonly "page"?: number, readonly "pageSize"?: number, readonly "start"?: string, readonly "statuses"?: ReadonlyArray<"PENDING" | "APPROVED" | "REJECTED" | "ALL">, readonly "userGroups"?: ReadonlyArray<string>, readonly "users"?: ReadonlyArray<string> }
|
|
147
155
|
export const GetTimeOffRequestsV1Request = Schema.Struct({ "end": Schema.optionalKey(Schema.String.annotate({ "description": "Provide the end of the filtering period. Used with `start` to filter for time-off requests periods that occur (fully or partially) within this range. Both parameters must be provided for filtering to take effect. Provide end in format YYYY-MM-DDTHH:MM:SS.ssssssZ", "format": "date-time" })), "page": Schema.optionalKey(Schema.Number.annotate({ "description": "Page number.", "format": "int32" }).check(Schema.isInt()).check(Schema.isLessThanOrEqualTo(1000))), "pageSize": Schema.optionalKey(Schema.Number.annotate({ "description": "Page size.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(200))), "start": Schema.optionalKey(Schema.String.annotate({ "description": "Provide the beginning of the filtering period. Used with `end` to filter for time-off requests periods that occur (fully or partially) within this range. Both parameters must be provided for filtering to take effect. Provide start in format YYYY-MM-DDTHH:MM:SS.ssssssZ", "format": "date-time" })), "statuses": Schema.optionalKey(Schema.Array(Schema.Literals(["PENDING", "APPROVED", "REJECTED", "ALL"]).annotate({ "description": "Filters time off requests by status." })).annotate({ "description": "Filters time off requests by status." }).check(Schema.isUnique())), "userGroups": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Provide the user group ids of time off requests." })).annotate({ "description": "Provide the user group ids of time off requests." }).check(Schema.isUnique())), "users": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Provide the user ids of time off requests. If empty, will return time off requests of all users (with a maximum of 5000 users)." })).annotate({ "description": "Provide the user ids of time off requests. If empty, will return time off requests of all users (with a maximum of 5000 users)." }).check(Schema.isUnique())) })
|
|
148
156
|
export type GetUsersRequestV1 = { readonly "accountStatuses"?: ReadonlyArray<string>, readonly "email"?: string, readonly "includeRoles"?: boolean, readonly "memberships"?: "ALL" | "NONE" | "WORKSPACE" | "PROJECT" | "USERGROUP", readonly "name"?: string, readonly "page"?: number, readonly "pageSize"?: number, readonly "projectId"?: string, readonly "roles"?: ReadonlyArray<"WORKSPACE_ADMIN" | "OWNER" | "TEAM_MANAGER" | "PROJECT_MANAGER">, readonly "sortColumn"?: "ID" | "EMAIL" | "NAME" | "NAME_LOWERCASE" | "ACCESS" | "HOURLYRATE" | "COSTRATE", readonly "sortOrder"?: "ASCENDING" | "DESCENDING", readonly "status"?: "PENDING" | "ACTIVE" | "DECLINED" | "INACTIVE" | "ALL", readonly "userGroups"?: ReadonlyArray<string> }
|
|
@@ -173,6 +181,8 @@ export type LogBinDocumentDto = { readonly "deletedAt"?: string, readonly "docum
|
|
|
173
181
|
export const LogBinDocumentDto = Schema.Struct({ "deletedAt": Schema.optionalKey(Schema.String.annotate({ "format": "date-time" })), "document": Schema.optionalKey(Schema.Struct({ })), "documentCode": Schema.optionalKey(Schema.String), "id": Schema.optionalKey(Schema.String) })
|
|
174
182
|
export type MilestoneDto = { readonly "date"?: string, readonly "id"?: string, readonly "name"?: string, readonly "projectId"?: string, readonly "workspaceId"?: string }
|
|
175
183
|
export const MilestoneDto = Schema.Struct({ "date": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" })), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents milestone identifier across the system." })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents milestone name." })), "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project identifier across the system." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) }).annotate({ "description": "Represents a list of milestone objects." })
|
|
184
|
+
export type MonthlyRecurringType = never
|
|
185
|
+
export const MonthlyRecurringType = Schema.Never
|
|
176
186
|
export type NegativeBalanceDto = { readonly "amount"?: number, readonly "period"?: string, readonly "shouldReset"?: boolean, readonly "timeUnit"?: string }
|
|
177
187
|
export const NegativeBalanceDto = Schema.Struct({ "amount": Schema.optionalKey(Schema.Number.annotate({ "format": "double" }).check(Schema.isFinite())), "period": Schema.optionalKey(Schema.String), "shouldReset": Schema.optionalKey(Schema.Boolean), "timeUnit": Schema.optionalKey(Schema.String) }).annotate({ "description": "Represents the data about negative balance including amount, time unit and period." })
|
|
178
188
|
export type NegativeBalanceRequest = { readonly "amount": number, readonly "period"?: "MONTH" | "YEAR", readonly "shouldReset"?: boolean }
|
|
@@ -199,10 +209,10 @@ export type RateDtoV1 = { readonly "amount"?: number, readonly "currency"?: stri
|
|
|
199
209
|
export const RateDtoV1 = Schema.Struct({ "amount": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents an amount as integer.", "format": "int32" }).check(Schema.isInt())), "currency": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a currency." })) }).annotate({ "description": "Represents cost rate object." })
|
|
200
210
|
export type RateWithCurrencyRequestV1 = { readonly "amount": number, readonly "currency": string, readonly "since"?: string }
|
|
201
211
|
export const RateWithCurrencyRequestV1 = Schema.Struct({ "amount": Schema.Number.annotate({ "description": "Represents an amount as integer.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(0)), "currency": Schema.String.annotate({ "description": "Represents a currency." }).check(Schema.isMinLength(1)).check(Schema.isMaxLength(100)), "since": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a date and time in yyyy-MM-ddThh:mm:ssZ format." })) })
|
|
202
|
-
export type
|
|
203
|
-
export const
|
|
204
|
-
export type
|
|
205
|
-
export const
|
|
212
|
+
export type RecurringEndType = never
|
|
213
|
+
export const RecurringEndType = Schema.Never
|
|
214
|
+
export type RecurringFrequency = never
|
|
215
|
+
export const RecurringFrequency = Schema.Never
|
|
206
216
|
export type RoleRequestV1 = { readonly "entityId": string, readonly "role": "WORKSPACE_ADMIN" | "TEAM_MANAGER" | "PROJECT_MANAGER", readonly "sourceType"?: "USER_GROUP" }
|
|
207
217
|
export const RoleRequestV1 = Schema.Struct({ "entityId": Schema.String.annotate({ "description": "Represents an entity identifier across the system." }).check(Schema.isMinLength(1)), "role": Schema.Literals(["WORKSPACE_ADMIN", "TEAM_MANAGER", "PROJECT_MANAGER"]).annotate({ "description": "Represents a valid role." }), "sourceType": Schema.optionalKey(Schema.Literal("USER_GROUP").annotate({ "description": "Optional field used to indicate that the target of the operation is a\nuser group, in which case the value USER_GROUP should be used, alongside a valid user group\nID for the entityId field. If omitted, a user ID should be used for the entityId field.\n" })) })
|
|
208
218
|
export type RoundDto = { readonly "minutes"?: string, readonly "round"?: string }
|
|
@@ -251,8 +261,6 @@ export type TotalsPerDayDto = { readonly "date"?: string, readonly "totalHours"?
|
|
|
251
261
|
export const TotalsPerDayDto = Schema.Struct({ "date": Schema.optionalKey(Schema.String.annotate({ "format": "date-time" })), "totalHours": Schema.optionalKey(Schema.Number.annotate({ "format": "double" }).check(Schema.isFinite())) }).annotate({ "description": "Represents total hours per day object." })
|
|
252
262
|
export type UpdateApprovalRequest = { readonly "note"?: string, readonly "state": "PENDING" | "APPROVED" | "WITHDRAWN_SUBMISSION" | "WITHDRAWN_APPROVAL" | "REJECTED" }
|
|
253
263
|
export const UpdateApprovalRequest = Schema.Struct({ "note": Schema.optionalKey(Schema.String.annotate({ "description": "Additional notes for the approval request." })), "state": Schema.Literals(["PENDING", "APPROVED", "WITHDRAWN_SUBMISSION", "WITHDRAWN_APPROVAL", "REJECTED"]).annotate({ "description": "Specifies the approval state to set." }) })
|
|
254
|
-
export type UpdateBalanceRequestV1 = { readonly "note"?: string, readonly "userIds": ReadonlyArray<string>, readonly "value": number }
|
|
255
|
-
export const UpdateBalanceRequestV1 = Schema.Struct({ "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a new balance note value." })), "userIds": Schema.Array(Schema.String.annotate({ "description": "Represents the list of users' identifiers whose balance is to be updated." })).annotate({ "description": "Represents the list of users' identifiers whose balance is to be updated." }).check(Schema.isMinLength(1)).check(Schema.isUnique()), "value": Schema.Number.annotate({ "description": "Represents a new balance value.", "format": "double" }).check(Schema.isFinite()).check(Schema.isGreaterThanOrEqualTo(-10000)).check(Schema.isLessThanOrEqualTo(10000)) })
|
|
256
264
|
export type UpdateClientRequestV1 = { readonly "address"?: string, readonly "archived"?: boolean, readonly "ccEmails"?: ReadonlyArray<string>, readonly "currencyId"?: string, readonly "email"?: string, readonly "name"?: string, readonly "note"?: string }
|
|
257
265
|
export const UpdateClientRequestV1 = Schema.Struct({ "address": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a client's address." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(3000))), "archived": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates if client will be archived or not." })), "ccEmails": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "format": "email" })).check(Schema.isMinLength(0)).check(Schema.isMaxLength(3))), "currencyId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a currency identifier across the system." })), "email": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a client email.", "format": "email" })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a client name." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(100))), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents additional notes for the client." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(3000))) })
|
|
258
266
|
export type UpdateCustomFieldRequest = { readonly "customFieldId": string, readonly "sourceType"?: "WORKSPACE" | "PROJECT" | "TIMEENTRY", readonly "value"?: { } }
|
|
@@ -371,18 +379,22 @@ export type GetUserTotalsRequestV1 = { readonly "end": string, readonly "page"?:
|
|
|
371
379
|
export const GetUserTotalsRequestV1 = Schema.Struct({ "end": Schema.String.annotate({ "description": "Represents an end date in the yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" }), "page": Schema.optionalKey(Schema.Number.annotate({ "description": "Page number.", "format": "int32" }).check(Schema.isInt())), "pageSize": Schema.optionalKey(Schema.Number.annotate({ "description": "Page size.", "format": "int32" }).check(Schema.isInt()).check(Schema.isLessThanOrEqualTo(200))), "search": Schema.optionalKey(Schema.String.annotate({ "description": "Represents the keyword for searching users by name or email." })), "start": Schema.String.annotate({ "description": "Represents a start date in the yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" }), "statusFilter": Schema.optionalKey(Schema.Literals(["PUBLISHED", "UNPUBLISHED", "ALL"]).annotate({ "description": "Filters assignments by status." })), "userFilter": Schema.optionalKey(ContainsUsersFilterRequestV1), "userGroupFilter": Schema.optionalKey(ContainsUserGroupFilterRequestV1) })
|
|
372
380
|
export type PublishAssignmentsRequestV1 = { readonly "end": string, readonly "notifyUsers"?: boolean, readonly "search"?: string, readonly "start": string, readonly "userFilter"?: ContainsUsersFilterRequestV1, readonly "userGroupFilter"?: ContainsUserGroupFilterRequestV1, readonly "viewType"?: "PROJECTS" | "TEAM" | "ALL" }
|
|
373
381
|
export const PublishAssignmentsRequestV1 = Schema.Struct({ "end": Schema.String.annotate({ "description": "Represents end date in yyyy-MM-ddThh:mm:ssZ format." }), "notifyUsers": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether to notify users when assignment is published." })), "search": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a search string." })), "start": Schema.String.annotate({ "description": "Represents start date in yyyy-MM-ddThh:mm:ssZ format." }), "userFilter": Schema.optionalKey(ContainsUsersFilterRequestV1), "userGroupFilter": Schema.optionalKey(ContainsUserGroupFilterRequestV1), "viewType": Schema.optionalKey(Schema.Literals(["PROJECTS", "TEAM", "ALL"]).annotate({ "description": "Represents view type." })) })
|
|
374
|
-
export type AssignmentCreateRequestV1 = { readonly "billable"?: boolean, readonly "end": string, readonly "hoursPerDay": number, readonly "includeNonWorkingDays"?: boolean, readonly "note"?: string, readonly "projectId": string, readonly "recurringAssignment"?: CreateRecurringAssignmentRequestV1, readonly "start": string, readonly "startTime"?: string, readonly "taskId"?: string, readonly "userId": string }
|
|
375
|
-
export const AssignmentCreateRequestV1 = Schema.Struct({ "billable": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether assignment is billable or not." })), "end": Schema.String.annotate({ "description": "Represents an end date in the yyyy-MM-ddThh:mm:ssZ format." }), "hoursPerDay": Schema.Number.annotate({ "description": "Represents assignment total hours per day.", "format": "double" }).check(Schema.isFinite()), "includeNonWorkingDays": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether to include non-working days or not." })), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents an assignment note." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(100))), "projectId": Schema.String.annotate({ "description": "Represents a project identifier across the system." }).check(Schema.isMinLength(1)), "recurringAssignment": Schema.optionalKey(CreateRecurringAssignmentRequestV1), "start": Schema.String.annotate({ "description": "Represents a start date in the yyyy-MM-ddThh:mm:ssZ format." }), "startTime": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a start time in the hh:mm:ss format." })), "taskId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a task identifier across the system." })), "userId": Schema.String.annotate({ "description": "Represents a user identifier across the system." }).check(Schema.isMinLength(1)) })
|
|
376
382
|
export type CustomFieldDtoV1 = { readonly "allowedValues"?: ReadonlyArray<string>, readonly "description"?: string, readonly "entityType"?: string, readonly "id"?: string, readonly "name"?: string, readonly "onlyAdminCanEdit"?: boolean, readonly "placeholder"?: string, readonly "projectDefaultValues"?: ReadonlyArray<CustomFieldDefaultValuesDtoV1>, readonly "required"?: boolean, readonly "status"?: string, readonly "type"?: string, readonly "workspaceDefaultValue"?: { }, readonly "workspaceId"?: string }
|
|
377
383
|
export const CustomFieldDtoV1 = Schema.Struct({ "allowedValues": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents a list of custom field's allowed values." })).annotate({ "description": "Represents a list of custom field's allowed values." })), "description": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field description." })), "entityType": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field entity type" })), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field identifier across the system." })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field name." })), "onlyAdminCanEdit": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Flag to set whether custom field is modifiable only by admin users." })), "placeholder": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field placeholder value." })), "projectDefaultValues": Schema.optionalKey(Schema.Array(CustomFieldDefaultValuesDtoV1).annotate({ "description": "Represents a list of custom field default values data transfer objects." })), "required": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Flag to set whether custom field is mandatory or not." })), "status": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field status" })), "type": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field type." })), "workspaceDefaultValue": Schema.optionalKey(Schema.Struct({ }).annotate({ "description": "Represents a custom field's default value in the workspace." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
378
384
|
export type UserCustomFieldValueDtoV1 = { readonly "customFieldId"?: string, readonly "customFieldName"?: string, readonly "customFieldType"?: CustomFieldType, readonly "userId"?: string, readonly "value"?: { } }
|
|
379
385
|
export const UserCustomFieldValueDtoV1 = Schema.Struct({ "customFieldId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field identifier across the system." })), "customFieldName": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field name." })), "customFieldType": Schema.optionalKey(CustomFieldType), "userId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user identifier across the system." })), "value": Schema.optionalKey(Schema.Struct({ }).annotate({ "description": "Represents custom field value." })) }).annotate({ "description": "Represents a list of value objects for user’s custom fields." })
|
|
380
386
|
export type HolidayDtoV1 = { readonly "automaticTimeEntryCreation"?: boolean, readonly "datePeriod"?: DatePeriod, readonly "everyoneIncludingNew"?: boolean, readonly "id"?: string, readonly "name"?: string, readonly "occursAnnually"?: boolean, readonly "projectId"?: string, readonly "taskId"?: string, readonly "userGroupIds"?: ReadonlyArray<string>, readonly "userIds"?: ReadonlyArray<string>, readonly "workspaceId"?: string }
|
|
381
387
|
export const HolidayDtoV1 = Schema.Struct({ "automaticTimeEntryCreation": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates that time entries will be automatically created for this holiday." })), "datePeriod": Schema.optionalKey(DatePeriod), "everyoneIncludingNew": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the holiday is shown to new users." })), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents holiday identifier across the system." })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents the name of the holiday." })), "occursAnnually": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the holiday occurs annually." })), "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents projectId for automatic time entry creation." })), "taskId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents taskId for automatic time entry creation." })), "userGroupIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Indicates which user groups are included." })).annotate({ "description": "Indicates which user groups are included." }).check(Schema.isUnique())), "userIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Indicates which users are included." })).annotate({ "description": "Indicates which users are included." }).check(Schema.isUnique())), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
382
|
-
export type ApprovalRequestDtoV1 = { readonly "creator"?: ApprovalRequestCreatorDtoV1, readonly "dateRange"?: DateRangeDto, readonly "id"?: string, readonly "owner"?: ApprovalRequestOwnerDtoV1, readonly "status"?: ApprovalRequestStatusDtoV1, readonly "workspaceId"?: string }
|
|
383
|
-
export const ApprovalRequestDtoV1 = Schema.Struct({ "creator": Schema.optionalKey(ApprovalRequestCreatorDtoV1), "dateRange": Schema.optionalKey(DateRangeDto), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents approval request identifier across the workspace." })), "owner": Schema.optionalKey(ApprovalRequestOwnerDtoV1), "status": Schema.optionalKey(ApprovalRequestStatusDtoV1), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) }).annotate({ "description": "Represents a valid approval request data transfer object." })
|
|
388
|
+
export type ApprovalRequestDtoV1 = { readonly "creator"?: ApprovalRequestCreatorDtoV1, readonly "dateRange"?: DateRangeDto, readonly "id"?: string, readonly "owner"?: ApprovalRequestOwnerDtoV1, readonly "status"?: ApprovalRequestStatusDtoV1, readonly "type"?: string, readonly "workspaceId"?: string }
|
|
389
|
+
export const ApprovalRequestDtoV1 = Schema.Struct({ "creator": Schema.optionalKey(ApprovalRequestCreatorDtoV1), "dateRange": Schema.optionalKey(DateRangeDto), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents approval request identifier across the workspace." })), "owner": Schema.optionalKey(ApprovalRequestOwnerDtoV1), "status": Schema.optionalKey(ApprovalRequestStatusDtoV1), "type": Schema.optionalKey(Schema.String.annotate({ "description": "Represents approval request type." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) }).annotate({ "description": "Represents a valid approval request data transfer object." })
|
|
384
390
|
export type AssignmentHydratedDtoV1 = { readonly "billable"?: boolean, readonly "clientId"?: string, readonly "clientName"?: string, readonly "hoursPerDay"?: number, readonly "id"?: string, readonly "note"?: string, readonly "period"?: DateRangeDto, readonly "projectArchived"?: boolean, readonly "projectBillable"?: boolean, readonly "projectColor"?: string, readonly "projectId"?: string, readonly "projectName"?: string, readonly "startTime"?: string, readonly "taskId"?: string, readonly "taskName"?: string, readonly "userId"?: string, readonly "userName"?: string, readonly "workspaceId"?: string }
|
|
385
391
|
export const AssignmentHydratedDtoV1 = Schema.Struct({ "billable": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether assignment is billable or not." })), "clientId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents client identifier across the system." })), "clientName": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project name." })), "hoursPerDay": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents number of hours per day as double.", "format": "double" }).check(Schema.isFinite())), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents assignment identifier across the system." })), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents assignment note." })), "period": Schema.optionalKey(DateRangeDto), "projectArchived": Schema.optionalKey(Schema.Boolean), "projectBillable": Schema.optionalKey(Schema.Boolean), "projectColor": Schema.optionalKey(Schema.String.annotate({ "description": "Color format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." })), "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project identifier across the system." })), "projectName": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project name." })), "startTime": Schema.optionalKey(Schema.String.annotate({ "description": "Represents start time in hh:mm:ss format." })), "taskId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents task identifier across the system." })), "taskName": Schema.optionalKey(Schema.String.annotate({ "description": "Represents task name." })), "userId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user identifier across the system." })), "userName": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user name." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
392
|
+
export type CreateBalanceAssignmentV1Request = { readonly "balance": number, readonly "dateRange"?: DateRangeV1Request, readonly "note"?: string, readonly "policyId": string, readonly "userIds": ReadonlyArray<string> }
|
|
393
|
+
export const CreateBalanceAssignmentV1Request = Schema.Struct({ "balance": Schema.Number.annotate({ "description": "Represents the amount of balance to be created", "format": "double" }).check(Schema.isFinite()).check(Schema.isLessThanOrEqualTo(10000)), "dateRange": Schema.optionalKey(DateRangeV1Request), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents note attached to updating balance." })), "policyId": Schema.String.annotate({ "description": "Represents the identifier of the policy where the balance assignment will be created" }).check(Schema.isMinLength(1)), "userIds": Schema.Array(Schema.String.annotate({ "description": "Represents list of users' identifiers whose balance is to be updated." })).annotate({ "description": "Represents list of users' identifiers whose balance is to be updated." }).check(Schema.isMinLength(1)).check(Schema.isUnique()) })
|
|
394
|
+
export type UpdateBalanceAssignmentV1Request = { readonly "balanceChange": number, readonly "dateRange"?: DateRangeV1Request, readonly "note"?: string }
|
|
395
|
+
export const UpdateBalanceAssignmentV1Request = Schema.Struct({ "balanceChange": Schema.Number.annotate({ "description": "Represents the change in balance of the balance assignment", "format": "double" }).check(Schema.isFinite()).check(Schema.isGreaterThanOrEqualTo(-10000)).check(Schema.isLessThanOrEqualTo(10000)), "dateRange": Schema.optionalKey(DateRangeV1Request), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents note attached to updating balance." })) })
|
|
396
|
+
export type UpdateBalanceRequestV1 = { readonly "dateRange"?: DateRangeV1Request, readonly "note"?: string, readonly "sync"?: boolean, readonly "userIds": ReadonlyArray<string>, readonly "value": number }
|
|
397
|
+
export const UpdateBalanceRequestV1 = Schema.Struct({ "dateRange": Schema.optionalKey(DateRangeV1Request), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a new balance note value." })), "sync": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the call should be executed synchronously. By default, call is done asynchronously" })), "userIds": Schema.Array(Schema.String.annotate({ "description": "Represents the list of users' identifiers whose balance is to be updated." })).annotate({ "description": "Represents the list of users' identifiers whose balance is to be updated." }).check(Schema.isMinLength(1)).check(Schema.isUnique()), "value": Schema.Number.annotate({ "description": "Represents the change in balance value.", "format": "double" }).check(Schema.isFinite()).check(Schema.isGreaterThanOrEqualTo(-10000)).check(Schema.isLessThanOrEqualTo(10000)) })
|
|
386
398
|
export type AutomaticTimeEntryCreationDto = { readonly "defaultEntities"?: DefaultEntitiesDto, readonly "enabled"?: boolean }
|
|
387
399
|
export const AutomaticTimeEntryCreationDto = Schema.Struct({ "defaultEntities": Schema.optionalKey(DefaultEntitiesDto), "enabled": Schema.optionalKey(Schema.Boolean) }).annotate({ "description": "Represents automatic time entry creation settings." })
|
|
388
400
|
export type AutomaticTimeEntryCreationRequest = { readonly "defaultEntities": DefaultEntitiesRequest, readonly "enabled"?: boolean }
|
|
@@ -417,8 +429,12 @@ export type TemplateRequest = { readonly "name": string, readonly "projectsAndTa
|
|
|
417
429
|
export const TemplateRequest = Schema.Struct({ "name": Schema.String.annotate({ "description": "Represents a template name." }).check(Schema.isMinLength(1)), "projectsAndTasks": Schema.Array(ProjectTaskTupleRequest).annotate({ "description": "Represents a list of template's projects and tasks." }), "timeEntryIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents a set of template time entry ids." })).annotate({ "description": "Represents a set of template time entry ids." }).check(Schema.isUnique())), "weekStart": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a date of the starting day of the week in the yyyy-MM-dd format.", "format": "date" })) })
|
|
418
430
|
export type MembershipDtoV1 = { readonly "costRate"?: RateDtoV1, readonly "hourlyRate"?: HourlyRateDtoV1, readonly "membershipStatus"?: "PENDING" | "ACTIVE" | "DECLINED" | "INACTIVE" | "ALL", readonly "membershipType"?: "WORKSPACE" | "PROJECT" | "USERGROUP", readonly "targetId"?: string, readonly "userId"?: string }
|
|
419
431
|
export const MembershipDtoV1 = Schema.Struct({ "costRate": Schema.optionalKey(RateDtoV1), "hourlyRate": Schema.optionalKey(HourlyRateDtoV1), "membershipStatus": Schema.optionalKey(Schema.Literals(["PENDING", "ACTIVE", "DECLINED", "INACTIVE", "ALL"]).annotate({ "description": "Represents a membership status enum." })), "membershipType": Schema.optionalKey(Schema.Literals(["WORKSPACE", "PROJECT", "USERGROUP"]).annotate({ "description": "Represents membership type enum." })), "targetId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents target identifier across the system." })), "userId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user identifier across the system." })) }).annotate({ "description": "Represents a list of membership objects." })
|
|
420
|
-
export type
|
|
421
|
-
export const
|
|
432
|
+
export type CreateRecurringAssignmentRequestV1 = { readonly "frequency"?: RecurringFrequency, readonly "interval"?: number, readonly "monthlyRecurringType"?: MonthlyRecurringType, readonly "occurrences"?: number, readonly "recurringEndType"?: RecurringEndType, readonly "repeat"?: boolean, readonly "until"?: string, readonly "weeks"?: number }
|
|
433
|
+
export const CreateRecurringAssignmentRequestV1 = Schema.Struct({ "frequency": Schema.optionalKey(RecurringFrequency), "interval": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents interval for recurring (1 - every week/month, 2 - biweekly).", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(2))), "monthlyRecurringType": Schema.optionalKey(MonthlyRecurringType), "occurrences": Schema.optionalKey(Schema.Number.annotate({ "description": "Indicates number of occurrences for assignment.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(99))), "recurringEndType": Schema.optionalKey(RecurringEndType), "repeat": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the assignment is recurring. This field is deprecated in favor of a more flexible recurrence model. To define recurrence, use the following fields instead: `frequency`, `interval`, `monthlyRecurringType`, `recurringEndType`, `until`, and `occurrences`." })), "until": Schema.optionalKey(Schema.String.annotate({ "description": "Date by which recurring assignments will be created", "format": "date-time" })), "weeks": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents number of weeks for this assignment. This field is deprecated in favor of a more flexible recurrence model. To define recurrence, use the following fields instead: `frequency`, `interval`, `monthlyRecurringType`, `recurringEndType`, `until`, and `occurrences`.", "format": "int32" }).check(Schema.isInt())) })
|
|
434
|
+
export type RecurringAssignmentDtoV1 = { readonly "frequency": RecurringFrequency, readonly "interval"?: number, readonly "monthlyRecurringType"?: MonthlyRecurringType, readonly "occurrences"?: number, readonly "repeat"?: boolean, readonly "seriesId"?: string, readonly "until"?: string, readonly "weeks"?: number }
|
|
435
|
+
export const RecurringAssignmentDtoV1 = Schema.Struct({ "frequency": RecurringFrequency, "interval": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents interval for recurring (1 - every week/month, 2 - biweekly).", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(2))), "monthlyRecurringType": Schema.optionalKey(MonthlyRecurringType), "occurrences": Schema.optionalKey(Schema.Number.annotate({ "description": "Number of occurrences", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(99))), "repeat": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the assignment is recurring. This field is deprecated in favor of a more flexible recurrence model. To define recurrence, use the following fields instead: `frequency`, `interval`, `monthlyRecurringType`, `until`, and `occurrences`." })), "seriesId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents series identifier." })), "until": Schema.optionalKey(Schema.String.annotate({ "description": "Date by which recurring assignments will be created", "format": "date-time" })), "weeks": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents number of weeks for this assignment. This field is deprecated in favor of a more flexible recurrence model. To define recurrence, use the following fields instead: `frequency`, `interval`, `monthlyRecurringType`, `until`, and `occurrences`.", "format": "int32" }).check(Schema.isInt())) }).annotate({ "description": "Represents recurring assignment object." })
|
|
436
|
+
export type RecurringAssignmentRequestV1 = { readonly "frequency"?: RecurringFrequency, readonly "interval"?: number, readonly "monthlyRecurringType"?: MonthlyRecurringType, readonly "occurrences"?: number, readonly "recurringEndType"?: RecurringEndType, readonly "repeat"?: boolean, readonly "until"?: string, readonly "weeks"?: number }
|
|
437
|
+
export const RecurringAssignmentRequestV1 = Schema.Struct({ "frequency": Schema.optionalKey(RecurringFrequency), "interval": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents interval for recurring (1 - every week/month, 2 - biweekly).", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(2))), "monthlyRecurringType": Schema.optionalKey(MonthlyRecurringType), "occurrences": Schema.optionalKey(Schema.Number.annotate({ "description": "Indicates number of occurrences for assignment.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(99))), "recurringEndType": Schema.optionalKey(RecurringEndType), "repeat": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the assignment is recurring. This field is deprecated in favor of a more flexible recurrence model. To define recurrence, use the following fields instead: `frequency`, `interval`, `monthlyRecurringType`, `recurringEndType`, `until`, and `occurrences`." })), "until": Schema.optionalKey(Schema.String.annotate({ "description": "Date by which recurring assignments will be created", "format": "date-time" })), "weeks": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents number of weeks for this assignment. This field is deprecated in favor of a more flexible recurrence model. To define recurrence, use the following fields instead: `frequency`, `interval`, `monthlyRecurringType`, `recurringEndType`, `until`, and `occurrences`.", "format": "int32" }).check(Schema.isInt())) })
|
|
422
438
|
export type UserSettingsDtoV1 = { readonly "alerts"?: boolean, readonly "approval"?: boolean, readonly "collapseAllProjectLists"?: boolean, readonly "dashboardPinToTop"?: boolean, readonly "dashboardSelection"?: "ME" | "TEAM", readonly "dashboardViewType"?: "PROJECT" | "BILLABILITY", readonly "dateFormat": string, readonly "groupSimilarEntriesDisabled"?: boolean, readonly "invoiceReminders"?: boolean, readonly "isCompactViewOn"?: boolean, readonly "lang"?: string, readonly "longRunning"?: boolean, readonly "multiFactorEnabled"?: boolean, readonly "myStartOfDay"?: string, readonly "onboarding"?: boolean, readonly "projectListCollapse"?: number, readonly "projectPickerTaskFilter"?: boolean, readonly "pto"?: boolean, readonly "reminders"?: boolean, readonly "scheduledReports"?: boolean, readonly "scheduling"?: boolean, readonly "sendNewsletter"?: boolean, readonly "showOnlyWorkingDays"?: boolean, readonly "summaryReportSettings"?: SummaryReportSettingsDtoV1, readonly "theme"?: "DARK" | "DEFAULT", readonly "timeFormat": "HOUR12" | "HOUR24", readonly "timeTrackingManual"?: boolean, readonly "timeZone": string, readonly "weekStart"?: "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY", readonly "weeklyUpdates"?: boolean }
|
|
423
439
|
export const UserSettingsDtoV1 = Schema.Struct({ "alerts": Schema.optionalKey(Schema.Boolean), "approval": Schema.optionalKey(Schema.Boolean), "collapseAllProjectLists": Schema.optionalKey(Schema.Boolean), "dashboardPinToTop": Schema.optionalKey(Schema.Boolean), "dashboardSelection": Schema.optionalKey(Schema.Literals(["ME", "TEAM"])), "dashboardViewType": Schema.optionalKey(Schema.Literals(["PROJECT", "BILLABILITY"])), "dateFormat": Schema.String.annotate({ "description": "Represents a date format." }).check(Schema.isMinLength(1)), "groupSimilarEntriesDisabled": Schema.optionalKey(Schema.Boolean), "invoiceReminders": Schema.optionalKey(Schema.Boolean), "isCompactViewOn": Schema.optionalKey(Schema.Boolean), "lang": Schema.optionalKey(Schema.String), "longRunning": Schema.optionalKey(Schema.Boolean), "multiFactorEnabled": Schema.optionalKey(Schema.Boolean), "myStartOfDay": Schema.optionalKey(Schema.String), "onboarding": Schema.optionalKey(Schema.Boolean), "projectListCollapse": Schema.optionalKey(Schema.Number.annotate({ "format": "int32" }).check(Schema.isInt())), "projectPickerTaskFilter": Schema.optionalKey(Schema.Boolean), "pto": Schema.optionalKey(Schema.Boolean), "reminders": Schema.optionalKey(Schema.Boolean), "scheduledReports": Schema.optionalKey(Schema.Boolean), "scheduling": Schema.optionalKey(Schema.Boolean), "sendNewsletter": Schema.optionalKey(Schema.Boolean), "showOnlyWorkingDays": Schema.optionalKey(Schema.Boolean), "summaryReportSettings": Schema.optionalKey(SummaryReportSettingsDtoV1), "theme": Schema.optionalKey(Schema.Literals(["DARK", "DEFAULT"])), "timeFormat": Schema.Literals(["HOUR12", "HOUR24"]).annotate({ "description": "Represents a time format enum." }), "timeTrackingManual": Schema.optionalKey(Schema.Boolean), "timeZone": Schema.String.annotate({ "description": "Represents a valid timezone ID" }).check(Schema.isMinLength(1)), "weekStart": Schema.optionalKey(Schema.Literals(["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]).annotate({ "description": "Represents a day of the week." })), "weeklyUpdates": Schema.optionalKey(Schema.Boolean) }).annotate({ "description": "Represents user settings object." })
|
|
424
440
|
export type ExpenseHydratedDto = { readonly "approvalRequestId"?: string, readonly "approvalStatus"?: "PENDING" | "APPROVED" | "UNSUBMITTED" | "REJECTED" | "WITHDRAWN_APPROVAL" | "WITHDRAWN_SUBMISSION", readonly "billable"?: boolean, readonly "category"?: ExpenseCategoryDto, readonly "currency"?: string, readonly "date"?: string, readonly "detailedApprovalStatus"?: "PENDING" | "APPROVED" | "UNSUBMITTED" | "REJECTED" | "WITHDRAWN_APPROVAL" | "WITHDRAWN_SUBMISSION", readonly "fileId"?: string, readonly "fileName"?: string, readonly "fileUrl"?: string, readonly "id"?: string, readonly "isLocked"?: boolean, readonly "locked"?: boolean, readonly "notes"?: string, readonly "project"?: ProjectInfoDto, readonly "quantity"?: number, readonly "task"?: TaskInfoDto, readonly "total"?: number, readonly "userId"?: string, readonly "workspaceId"?: string }
|
|
@@ -448,7 +464,7 @@ export const InvoiceFilterRequestV1 = Schema.Struct({ "clients": Schema.optional
|
|
|
448
464
|
export type SchedulingUsersTotalsDtoV1 = { readonly "capacityPerDay"?: number, readonly "totalHoursPerDay"?: ReadonlyArray<TotalsPerDayDto>, readonly "userId"?: string, readonly "userImage"?: string, readonly "userName"?: string, readonly "userStatus"?: string, readonly "workingDays"?: "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY", readonly "workspaceId"?: string }
|
|
449
465
|
export const SchedulingUsersTotalsDtoV1 = Schema.Struct({ "capacityPerDay": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents capacity per day in seconds. For a 7hr work day, value is 25200.", "format": "double" }).check(Schema.isFinite())), "totalHoursPerDay": Schema.optionalKey(Schema.Array(TotalsPerDayDto).annotate({ "description": "Represents total hours per day object." })), "userId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user identifier across the system." })), "userImage": Schema.optionalKey(Schema.String.annotate({ "description": "Represents url path to user image." })), "userName": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user name." })), "userStatus": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user status." })), "workingDays": Schema.optionalKey(Schema.Literals(["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]).annotate({ "description": "Represents list of days of the week." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
450
466
|
export type CreateTimeEntryRequest = { readonly "billable"?: boolean, readonly "customAttributes"?: ReadonlyArray<CreateCustomAttributeRequest>, readonly "customFields"?: ReadonlyArray<UpdateCustomFieldRequest>, readonly "description": string, readonly "end"?: string, readonly "projectId"?: string, readonly "start": string, readonly "tagIds"?: ReadonlyArray<string>, readonly "taskId"?: string, readonly "type"?: "REGULAR" | "BREAK" }
|
|
451
|
-
export const CreateTimeEntryRequest = Schema.Struct({ "billable": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether a time entry is billable or not." })), "customAttributes": Schema.optionalKey(Schema.Array(CreateCustomAttributeRequest).annotate({ "description": "Represents a list of create custom field request objects." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(10))), "customFields": Schema.optionalKey(Schema.Array(UpdateCustomFieldRequest).annotate({ "description": "Represents a list of
|
|
467
|
+
export const CreateTimeEntryRequest = Schema.Struct({ "billable": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether a time entry is billable or not." })), "customAttributes": Schema.optionalKey(Schema.Array(CreateCustomAttributeRequest).annotate({ "description": "Represents a list of create custom field request objects." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(10))), "customFields": Schema.optionalKey(Schema.Array(UpdateCustomFieldRequest).annotate({ "description": "Represents a list of values for time entry custom fields defined in the workspace settings." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(50))), "description": Schema.String.annotate({ "description": "Represents time entry description." }).check(Schema.isMaxLength(3000)), "end": Schema.optionalKey(Schema.String.annotate({ "description": "Represents an end date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" })), "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a project identifier across the system." })), "start": Schema.String.annotate({ "description": "Represents a start date in yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" }), "tagIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents a list of tag ids." })).annotate({ "description": "Represents a list of tag ids." })), "taskId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a task identifier across the system." })), "type": Schema.optionalKey(Schema.Literals(["REGULAR", "BREAK"]).annotate({ "description": "Valid time entry type." })) })
|
|
452
468
|
export type UpdateTimeEntryBulkRequest = { readonly "billable"?: boolean, readonly "customFields"?: ReadonlyArray<UpdateCustomFieldRequest>, readonly "description"?: string, readonly "end"?: string, readonly "id": string, readonly "projectId"?: string, readonly "start"?: string, readonly "tagIds"?: ReadonlyArray<string>, readonly "taskId"?: string, readonly "type"?: "REGULAR" | "BREAK" }
|
|
453
469
|
export const UpdateTimeEntryBulkRequest = Schema.Struct({ "billable": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether a time entry is billable or not." })), "customFields": Schema.optionalKey(Schema.Array(UpdateCustomFieldRequest).check(Schema.isMinLength(0)).check(Schema.isMaxLength(50))), "description": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a time entry description." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(3000))), "end": Schema.optionalKey(Schema.String.annotate({ "description": "Represents an end date in the yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" })), "id": Schema.String.annotate({ "description": "Represents a time entry identifier across the system." }).check(Schema.isMinLength(1)), "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a project identifier across the system." })), "start": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a start date in the yyyy-MM-ddThh:mm:ssZ format.", "format": "date-time" })), "tagIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents a list of tag ids." })).annotate({ "description": "Represents a list of tag ids." })), "taskId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a task identifier across the system." })), "type": Schema.optionalKey(Schema.Literals(["REGULAR", "BREAK"])) })
|
|
454
470
|
export type UpdateTimeEntryRequest = { readonly "billable"?: boolean, readonly "customFields"?: ReadonlyArray<UpdateCustomFieldRequest>, readonly "description"?: string, readonly "end"?: string, readonly "projectId"?: string, readonly "start": string, readonly "tagIds"?: ReadonlyArray<string>, readonly "taskId"?: string, readonly "type"?: "REGULAR" | "BREAK" }
|
|
@@ -491,16 +507,16 @@ export type UserCustomFieldValueFullDtoV1 = { readonly "customField"?: CustomFie
|
|
|
491
507
|
export const UserCustomFieldValueFullDtoV1 = Schema.Struct({ "customField": Schema.optionalKey(CustomFieldDtoV1), "customFieldId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents custom field identifier across the system." })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user custom field name." })), "sourceType": Schema.optionalKey(Schema.Literals(["WORKSPACE", "USER"]).annotate({ "description": "Represents user custom field source type." })), "type": Schema.optionalKey(Schema.Literals(["TXT", "NUMBER", "DROPDOWN_SINGLE", "DROPDOWN_MULTIPLE", "CHECKBOX", "LINK"]).annotate({ "description": "Represents custom field type." })), "userId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user identifier across the system." })), "value": Schema.optionalKey(Schema.Struct({ }).annotate({ "description": "Represents user custom field value." })) }).annotate({ "description": "Represents a list of value objects for user’s custom fields." })
|
|
492
508
|
export type HolidayDto = { readonly "automaticTimeEntryCreation"?: AutomaticTimeEntryCreationDto, readonly "color"?: string, readonly "datePeriod"?: DatePeriod, readonly "everyoneIncludingNew"?: boolean, readonly "id"?: string, readonly "name"?: string, readonly "occursAnnually"?: boolean, readonly "userGroupIds"?: ReadonlyArray<string>, readonly "userGroups"?: ReadonlyArray<EntityIdNameDto>, readonly "userIds"?: ReadonlyArray<string>, readonly "users"?: ReadonlyArray<EntityIdNameDto>, readonly "workspaceId"?: string }
|
|
493
509
|
export const HolidayDto = Schema.Struct({ "automaticTimeEntryCreation": Schema.optionalKey(AutomaticTimeEntryCreationDto), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Provide color in format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." })), "datePeriod": Schema.optionalKey(DatePeriod), "everyoneIncludingNew": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the holiday is shown to new users." })), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents holiday identifier across the system." })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents the name of the holiday." })), "occursAnnually": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the holiday occurs annually." })), "userGroupIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Indicates which user groups are included." })).annotate({ "description": "Indicates which user groups are included." }).check(Schema.isUnique())), "userGroups": Schema.optionalKey(Schema.Array(EntityIdNameDto).annotate({ "description": "Contains names of user groups that are assigned to holiday." })), "userIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Indicates which users are included." })).annotate({ "description": "Indicates which users are included." }).check(Schema.isUnique())), "users": Schema.optionalKey(Schema.Array(EntityIdNameDto).annotate({ "description": "Contains names of users that are assigned to holiday." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
494
|
-
export type PolicyDtoV1 = { readonly "allowHalfDay"?: boolean, readonly "allowNegativeBalance"?: boolean, readonly "approve"?: PolicyApprovalDto, readonly "archived"?: boolean, readonly "automaticAccrual"?: AutomaticAccrualDto, readonly "automaticTimeEntryCreation"?: AutomaticTimeEntryCreationDto, readonly "everyoneIncludingNew"?: boolean, readonly "id"?: string, readonly "name"?: string, readonly "negativeBalance"?: NegativeBalanceDto, readonly "projectId"?: string, readonly "timeUnit"?: "DAYS" | "HOURS", readonly "userGroupIds"?: ReadonlyArray<string>, readonly "userIds"?: ReadonlyArray<string>, readonly "workspaceId"?: string }
|
|
495
|
-
export const PolicyDtoV1 = Schema.Struct({ "allowHalfDay": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the half day is allowed." })), "allowNegativeBalance": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the negative balance is allowed." })), "approve": Schema.optionalKey(PolicyApprovalDto), "archived": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the policy is archived." })), "automaticAccrual": Schema.optionalKey(AutomaticAccrualDto), "automaticTimeEntryCreation": Schema.optionalKey(AutomaticTimeEntryCreationDto), "everyoneIncludingNew": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the policy is applied to future new users." })), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents policy identifier across the system." })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents the name of the policy." })), "negativeBalance": Schema.optionalKey(NegativeBalanceDto), "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project identifier across the system." })), "timeUnit": Schema.optionalKey(Schema.Literals(["DAYS", "HOURS"]).annotate({ "description": "Represents the time unit of the policy." })), "userGroupIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents user groups' identifiers across the system. Indicates which user groups are included in the policy." })).annotate({ "description": "Represents user groups' identifiers across the system. Indicates which user groups are included in the policy." }).check(Schema.isUnique())), "userIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents users' identifiers across the system. Indicates which users are included in the policy." })).annotate({ "description": "Represents users' identifiers across the system. Indicates which users are included in the policy." }).check(Schema.isUnique())), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
510
|
+
export type PolicyDtoV1 = { readonly "allowHalfDay"?: boolean, readonly "allowNegativeBalance"?: boolean, readonly "approve"?: PolicyApprovalDto, readonly "archived"?: boolean, readonly "automaticAccrual"?: AutomaticAccrualDto, readonly "automaticTimeEntryCreation"?: AutomaticTimeEntryCreationDto, readonly "color"?: string, readonly "everyoneIncludingNew"?: boolean, readonly "icon"?: "UMBRELLA" | "SNOWFLAKE" | "FAMILY" | "PLANE" | "STETHOSCOPE" | "HEALTH_METRICS" | "CHILDCARE" | "LUGGAGE" | "MONETIZATION" | "CALENDAR", readonly "id"?: string, readonly "name"?: string, readonly "negativeBalance"?: NegativeBalanceDto, readonly "projectId"?: string, readonly "timeUnit"?: "DAYS" | "HOURS", readonly "userGroupIds"?: ReadonlyArray<string>, readonly "userIds"?: ReadonlyArray<string>, readonly "workspaceId"?: string }
|
|
511
|
+
export const PolicyDtoV1 = Schema.Struct({ "allowHalfDay": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the half day is allowed." })), "allowNegativeBalance": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the negative balance is allowed." })), "approve": Schema.optionalKey(PolicyApprovalDto), "archived": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the policy is archived." })), "automaticAccrual": Schema.optionalKey(AutomaticAccrualDto), "automaticTimeEntryCreation": Schema.optionalKey(AutomaticTimeEntryCreationDto), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Represents the color assigned to the policy." })), "everyoneIncludingNew": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the policy is applied to future new users." })), "icon": Schema.optionalKey(Schema.Literals(["UMBRELLA", "SNOWFLAKE", "FAMILY", "PLANE", "STETHOSCOPE", "HEALTH_METRICS", "CHILDCARE", "LUGGAGE", "MONETIZATION", "CALENDAR"]).annotate({ "description": "Represents the icon assigned to the policy." })), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents policy identifier across the system." })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents the name of the policy." })), "negativeBalance": Schema.optionalKey(NegativeBalanceDto), "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project identifier across the system." })), "timeUnit": Schema.optionalKey(Schema.Literals(["DAYS", "HOURS"]).annotate({ "description": "Represents the time unit of the policy." })), "userGroupIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents user groups' identifiers across the system. Indicates which user groups are included in the policy." })).annotate({ "description": "Represents user groups' identifiers across the system. Indicates which user groups are included in the policy." }).check(Schema.isUnique())), "userIds": Schema.optionalKey(Schema.Array(Schema.String.annotate({ "description": "Represents users' identifiers across the system. Indicates which users are included in the policy." })).annotate({ "description": "Represents users' identifiers across the system. Indicates which users are included in the policy." }).check(Schema.isUnique())), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
496
512
|
export type CreateHolidayRequestV1 = { readonly "automaticTimeEntryCreation"?: AutomaticTimeEntryCreationRequest, readonly "color"?: string, readonly "datePeriod": DatePeriodRequest, readonly "everyoneIncludingNew"?: boolean, readonly "name": string, readonly "occursAnnually"?: boolean, readonly "userGroups"?: UserGroupIdsSchema, readonly "users"?: UserIdsSchema }
|
|
497
513
|
export const CreateHolidayRequestV1 = Schema.Struct({ "automaticTimeEntryCreation": Schema.optionalKey(AutomaticTimeEntryCreationRequest), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Provide color in format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." }).check(Schema.isPattern(new RegExp("^#(?:[0-9a-fA-F]{6}){1}$")))), "datePeriod": DatePeriodRequest, "everyoneIncludingNew": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the holiday is shown to new users." })), "name": Schema.String.annotate({ "description": "Provide the name of the holiday." }).check(Schema.isMinLength(2)).check(Schema.isMaxLength(100)), "occursAnnually": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the holiday occurs annually." })), "userGroups": Schema.optionalKey(UserGroupIdsSchema), "users": Schema.optionalKey(UserIdsSchema) })
|
|
498
514
|
export type CreatePolicyRequestV1 = { readonly "allowHalfDay"?: boolean, readonly "allowNegativeBalance"?: boolean, readonly "approve": PolicyApprovalDto, readonly "archived"?: boolean, readonly "automaticAccrual"?: AutomaticAccrualRequest, readonly "automaticTimeEntryCreation"?: AutomaticTimeEntryCreationRequest, readonly "color"?: string, readonly "everyoneIncludingNew"?: boolean, readonly "hasExpiration"?: boolean, readonly "icon"?: "UMBRELLA" | "SNOWFLAKE" | "FAMILY" | "PLANE" | "STETHOSCOPE" | "HEALTH_METRICS" | "CHILDCARE" | "LUGGAGE" | "MONETIZATION" | "CALENDAR", readonly "name": string, readonly "negativeBalance"?: NegativeBalanceRequest, readonly "timeUnit"?: "DAYS" | "HOURS", readonly "userGroups"?: UserGroupIdsSchema, readonly "users"?: UserIdsSchema }
|
|
499
515
|
export const CreatePolicyRequestV1 = Schema.Struct({ "allowHalfDay": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether policy allows half days." })), "allowNegativeBalance": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether policy allows negative balances." })), "approve": PolicyApprovalDto, "archived": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether policy is archived." })), "automaticAccrual": Schema.optionalKey(AutomaticAccrualRequest), "automaticTimeEntryCreation": Schema.optionalKey(AutomaticTimeEntryCreationRequest), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Provide color in format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." }).check(Schema.isPattern(new RegExp("^#(?:[0-9a-fA-F]{6}){1}$")))), "everyoneIncludingNew": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the policy is to be applied to future new users." })), "hasExpiration": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the policy balance should have expiration" })), "icon": Schema.optionalKey(Schema.Literals(["UMBRELLA", "SNOWFLAKE", "FAMILY", "PLANE", "STETHOSCOPE", "HEALTH_METRICS", "CHILDCARE", "LUGGAGE", "MONETIZATION", "CALENDAR"]).annotate({ "description": "Provide icon." })), "name": Schema.String.annotate({ "description": "Represents a name of new policy." }).check(Schema.isMinLength(2)).check(Schema.isMaxLength(100)), "negativeBalance": Schema.optionalKey(NegativeBalanceRequest), "timeUnit": Schema.optionalKey(Schema.Literals(["DAYS", "HOURS"]).annotate({ "description": "Indicates time unit of the policy. " })), "userGroups": Schema.optionalKey(UserGroupIdsSchema), "users": Schema.optionalKey(UserIdsSchema) })
|
|
500
516
|
export type UpdateHolidayRequestV1 = { readonly "automaticTimeEntryCreation"?: AutomaticTimeEntryCreationRequest, readonly "color"?: string, readonly "datePeriod": DatePeriodRequest, readonly "everyoneIncludingNew"?: boolean, readonly "name": string, readonly "occursAnnually": boolean, readonly "userGroups"?: ContainsUserGroupFilterRequest, readonly "users"?: ContainsUsersFilterRequestForHoliday }
|
|
501
517
|
export const UpdateHolidayRequestV1 = Schema.Struct({ "automaticTimeEntryCreation": Schema.optionalKey(AutomaticTimeEntryCreationRequest), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Provide color in format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." }).check(Schema.isPattern(new RegExp("^#(?:[0-9a-fA-F]{6}){1}$")))), "datePeriod": DatePeriodRequest, "everyoneIncludingNew": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether the holiday is shown to new users." })), "name": Schema.String.annotate({ "description": "Provide the name you would like to use for updating the holiday." }).check(Schema.isMinLength(1)), "occursAnnually": Schema.Boolean.annotate({ "description": "Indicates whether the holiday occurs annually." }), "userGroups": Schema.optionalKey(ContainsUserGroupFilterRequest), "users": Schema.optionalKey(ContainsUsersFilterRequestForHoliday) })
|
|
502
|
-
export type UpdatePolicyRequestV1 = { readonly "allowHalfDay": boolean, readonly "allowNegativeBalance": boolean, readonly "approve": PolicyApprovalDto, readonly "archived": boolean, readonly "automaticAccrual"?: AutomaticAccrualRequest, readonly "automaticTimeEntryCreation"?: AutomaticTimeEntryCreationRequest, readonly "color"?: string, readonly "everyoneIncludingNew": boolean, readonly "hasExpiration": boolean, readonly "icon"?: "UMBRELLA" | "SNOWFLAKE" | "FAMILY" | "PLANE" | "STETHOSCOPE" | "HEALTH_METRICS" | "CHILDCARE" | "LUGGAGE" | "MONETIZATION" | "CALENDAR", readonly "name": string, readonly "negativeBalance"?: NegativeBalanceRequest, readonly "userGroups"
|
|
503
|
-
export const UpdatePolicyRequestV1 = Schema.Struct({ "allowHalfDay": Schema.Boolean.annotate({ "description": "Indicates whether policy allows half day." }), "allowNegativeBalance": Schema.Boolean.annotate({ "description": "Indicates whether policy allows negative balance." }), "approve": PolicyApprovalDto, "archived": Schema.Boolean.annotate({ "description": "Indicates whether policy is archived." }), "automaticAccrual": Schema.optionalKey(AutomaticAccrualRequest), "automaticTimeEntryCreation": Schema.optionalKey(AutomaticTimeEntryCreationRequest), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Provide color in format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." }).check(Schema.isPattern(new RegExp("^#(?:[0-9a-fA-F]{6}){1}$")))), "everyoneIncludingNew": Schema.Boolean.annotate({ "description": "Indicates whether the policy is shown to new users." }), "hasExpiration": Schema.Boolean.annotate({ "description": "Indicates whether the policy has expiration." }), "icon": Schema.optionalKey(Schema.Literals(["UMBRELLA", "SNOWFLAKE", "FAMILY", "PLANE", "STETHOSCOPE", "HEALTH_METRICS", "CHILDCARE", "LUGGAGE", "MONETIZATION", "CALENDAR"]).annotate({ "description": "Provide icon." })), "name": Schema.String.annotate({ "description": "Provide the name you would like to use for updating the policy." }).check(Schema.isMinLength(2)).check(Schema.isMaxLength(100)), "negativeBalance": Schema.optionalKey(NegativeBalanceRequest), "userGroups": UserGroupIdsSchema, "users": UserIdsSchema })
|
|
518
|
+
export type UpdatePolicyRequestV1 = { readonly "allowHalfDay": boolean, readonly "allowNegativeBalance": boolean, readonly "approve": PolicyApprovalDto, readonly "archived": boolean, readonly "automaticAccrual"?: AutomaticAccrualRequest, readonly "automaticTimeEntryCreation"?: AutomaticTimeEntryCreationRequest, readonly "color"?: string, readonly "everyoneIncludingNew": boolean, readonly "hasExpiration": boolean, readonly "icon"?: "UMBRELLA" | "SNOWFLAKE" | "FAMILY" | "PLANE" | "STETHOSCOPE" | "HEALTH_METRICS" | "CHILDCARE" | "LUGGAGE" | "MONETIZATION" | "CALENDAR", readonly "name": string, readonly "negativeBalance"?: NegativeBalanceRequest, readonly "userGroups"?: UserGroupIdsSchema, readonly "users"?: UserIdsSchema }
|
|
519
|
+
export const UpdatePolicyRequestV1 = Schema.Struct({ "allowHalfDay": Schema.Boolean.annotate({ "description": "Indicates whether policy allows half day." }), "allowNegativeBalance": Schema.Boolean.annotate({ "description": "Indicates whether policy allows negative balance." }), "approve": PolicyApprovalDto, "archived": Schema.Boolean.annotate({ "description": "Indicates whether policy is archived." }), "automaticAccrual": Schema.optionalKey(AutomaticAccrualRequest), "automaticTimeEntryCreation": Schema.optionalKey(AutomaticTimeEntryCreationRequest), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Provide color in format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." }).check(Schema.isPattern(new RegExp("^#(?:[0-9a-fA-F]{6}){1}$")))), "everyoneIncludingNew": Schema.Boolean.annotate({ "description": "Indicates whether the policy is shown to new users." }), "hasExpiration": Schema.Boolean.annotate({ "description": "Indicates whether the policy has expiration." }), "icon": Schema.optionalKey(Schema.Literals(["UMBRELLA", "SNOWFLAKE", "FAMILY", "PLANE", "STETHOSCOPE", "HEALTH_METRICS", "CHILDCARE", "LUGGAGE", "MONETIZATION", "CALENDAR"]).annotate({ "description": "Provide icon." })), "name": Schema.String.annotate({ "description": "Provide the name you would like to use for updating the policy." }).check(Schema.isMinLength(2)).check(Schema.isMaxLength(100)), "negativeBalance": Schema.optionalKey(NegativeBalanceRequest), "userGroups": Schema.optionalKey(UserGroupIdsSchema), "users": Schema.optionalKey(UserIdsSchema) })
|
|
504
520
|
export type WorkspaceSettingsDtoV1 = { readonly "activeBillableHours"?: boolean, readonly "adminOnlyPages"?: "PROJECT" | "TEAM" | "REPORTS", readonly "automaticLock"?: AutomaticLockDtoV1, readonly "canSeeTimeSheet"?: boolean, readonly "canSeeTracker"?: boolean, readonly "currencyFormat"?: "CURRENCY_SPACE_VALUE" | "VALUE_SPACE_CURRENCY" | "CURRENCY_VALUE" | "VALUE_CURRENCY", readonly "defaultBillableProjects"?: boolean, readonly "durationFormat"?: "FULL" | "COMPACT" | "DECIMAL", readonly "entityCreationPermissions"?: EntityCreationPermissionsDtoV1, readonly "forceDescription"?: boolean, readonly "forceProjects"?: boolean, readonly "forceTags"?: boolean, readonly "forceTasks"?: boolean, readonly "isProjectPublicByDefault"?: boolean, readonly "lockTimeEntries"?: string, readonly "lockTimeZone"?: string, readonly "multiFactorEnabled"?: boolean, readonly "numberFormat"?: "COMMA_PERIOD" | "PERIOD_COMMA" | "QUOTATION_MARK_PERIOD" | "SPACE_COMMA", readonly "onlyAdminsCanChangeBillableStatus"?: boolean, readonly "onlyAdminsCreateProject"?: boolean, readonly "onlyAdminsCreateTag"?: boolean, readonly "onlyAdminsCreateTask"?: boolean, readonly "onlyAdminsSeeAllTimeEntries"?: boolean, readonly "onlyAdminsSeeBillableRates"?: boolean, readonly "onlyAdminsSeeDashboard"?: boolean, readonly "onlyAdminsSeePublicProjectsEntries"?: boolean, readonly "projectFavorites"?: boolean, readonly "projectGroupingLabel"?: string, readonly "projectLabel"?: string, readonly "projectPickerSpecialFilter"?: boolean, readonly "round"?: RoundDto, readonly "taskLabel"?: string, readonly "timeRoundingInReports"?: boolean, readonly "timeTrackingMode"?: "DEFAULT" | "STOPWATCH_ONLY", readonly "trackTimeDownToSecond"?: boolean, readonly "workingDays"?: ReadonlyArray<"MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"> }
|
|
505
521
|
export const WorkspaceSettingsDtoV1 = Schema.Struct({ "activeBillableHours": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether billable hours is active." })), "adminOnlyPages": Schema.optionalKey(Schema.Literals(["PROJECT", "TEAM", "REPORTS"]).annotate({ "description": "Represents a unique list of protected page enums." })), "automaticLock": Schema.optionalKey(AutomaticLockDtoV1), "canSeeTimeSheet": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether timesheets are visible or not." })), "canSeeTracker": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether time trackers are visible or not." })), "currencyFormat": Schema.optionalKey(Schema.Literals(["CURRENCY_SPACE_VALUE", "VALUE_SPACE_CURRENCY", "CURRENCY_VALUE", "VALUE_CURRENCY"]).annotate({ "description": "Represents a clockify currency format enum." })), "defaultBillableProjects": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether projects are billable by default." })), "durationFormat": Schema.optionalKey(Schema.Literals(["FULL", "COMPACT", "DECIMAL"]).annotate({ "description": "Represents a clockify duration format enum. Used to set Duration format instead of setting decimalFormat and trackTimeDownToSecond." })), "entityCreationPermissions": Schema.optionalKey(EntityCreationPermissionsDtoV1), "forceDescription": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether description are forced or not." })), "forceProjects": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether projects are forced or not." })), "forceTags": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether tags are forced or not." })), "forceTasks": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether tasks are forced or not." })), "isProjectPublicByDefault": Schema.optionalKey(Schema.Boolean), "lockTimeEntries": Schema.optionalKey(Schema.String), "lockTimeZone": Schema.optionalKey(Schema.String), "multiFactorEnabled": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether two-factor authentication is enabled or not." })), "numberFormat": Schema.optionalKey(Schema.Literals(["COMMA_PERIOD", "PERIOD_COMMA", "QUOTATION_MARK_PERIOD", "SPACE_COMMA"]).annotate({ "description": "Represents a clockify number format enum." })), "onlyAdminsCanChangeBillableStatus": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether only admins can change billable status." })), "onlyAdminsCreateProject": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether only admins can create projects." })), "onlyAdminsCreateTag": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether only admins can create tags." })), "onlyAdminsCreateTask": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether only admins can create task." })), "onlyAdminsSeeAllTimeEntries": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether only admins can see all time entries." })), "onlyAdminsSeeBillableRates": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether only admins can see billable rates." })), "onlyAdminsSeeDashboard": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether only admins can see dashboard." })), "onlyAdminsSeePublicProjectsEntries": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether only admins can see public project entries." })), "projectFavorites": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether project favorites are allowed." })), "projectGroupingLabel": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a project grouping label." })), "projectLabel": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a project label." })), "projectPickerSpecialFilter": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether project picker special filter is enabled." })), "round": Schema.optionalKey(RoundDto), "taskLabel": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a task label." })), "timeRoundingInReports": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether time rounding is enabled in reports." })), "timeTrackingMode": Schema.optionalKey(Schema.Literals(["DEFAULT", "STOPWATCH_ONLY"]).annotate({ "description": "Represents a time tracking mode enum." })), "trackTimeDownToSecond": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether time tracking is seconds-accurate. This is now deprecated and durationFormat can now be used to manage Time Duration Format." })), "workingDays": Schema.optionalKey(Schema.Array(Schema.Literals(["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"]).annotate({ "description": "Represents a list of working days." })).annotate({ "description": "Represents a list of working days." }).check(Schema.isUnique())) }).annotate({ "description": "Workspace settings also include Time Duration Format settings.\n\nSetting Time Duration Format by changing the boolean fields\ndecimalFormat and trackTimeDownToSecond is now deprecated.\n\nTime Duration Format can be set by durationFormat enum field.\n\nThree different Time Duration modes will still map the boolean fields:\n\n 1. Full (hh:mm:ss) -> decimalFormat = false, trackTimeDownToSecond = true,\n\n 2. Compact (h:mm) -> decimalFormat = false, trackTimeDownToSecond = false,\n\n 3. Decimal (h:hh) -> decimalFormat = true, trackTimeDownToSecond = true\n\n" })
|
|
506
522
|
export type ProjectRequest = { readonly "billable"?: boolean, readonly "clientId"?: string, readonly "color"?: string, readonly "costRate"?: CostRateRequestV1, readonly "estimate"?: EstimateRequest, readonly "hourlyRate"?: HourlyRateRequestV1, readonly "isPublic"?: boolean, readonly "memberships"?: ReadonlyArray<MembershipRequest>, readonly "name": string, readonly "note"?: string, readonly "tasks"?: ReadonlyArray<TaskRequest> }
|
|
@@ -517,6 +533,10 @@ export type ProjectDtoImplV1 = { readonly "archived"?: boolean, readonly "billab
|
|
|
517
533
|
export const ProjectDtoImplV1 = Schema.Struct({ "archived": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether project is archived or not." })), "billable": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether project is billable or not." })), "budgetEstimate": Schema.optionalKey(EstimateWithOptionsDto), "clientId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents client identifier across the system." })), "clientName": Schema.optionalKey(Schema.String.annotate({ "description": "Represents client name." })), "color": Schema.optionalKey(Schema.String.annotate({ "description": "Color format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." })), "costRate": Schema.optionalKey(RateDtoV1), "duration": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project duration in milliseconds." })), "estimate": Schema.optionalKey(EstimateDtoV1), "estimateReset": Schema.optionalKey(EstimateResetDto), "hourlyRate": Schema.optionalKey(RateDtoV1), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project identifier across the system." })), "isPublic": Schema.optionalKey(Schema.Boolean.annotate({ "writeOnly": true })), "isTemplate": Schema.optionalKey(Schema.Boolean.annotate({ "writeOnly": true })), "memberships": Schema.optionalKey(Schema.Array(MembershipDtoV1).annotate({ "description": "Represents a list of membership objects." })), "name": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a project name." })), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project note." })), "public": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether project is public or not." })), "template": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether project is a template or not." })), "timeEstimate": Schema.optionalKey(TimeEstimateDto), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
518
534
|
export type ProjectDtoV1 = { readonly "archived": boolean, readonly "billable": boolean, readonly "budgetEstimate"?: EstimateWithOptionsDto, readonly "color": string, readonly "costRate"?: RateDtoV1, readonly "duration"?: string, readonly "estimate"?: EstimateDtoV1, readonly "hourlyRate"?: RateDtoV1, readonly "id": string, readonly "memberships"?: ReadonlyArray<MembershipDtoV1>, readonly "name": string, readonly "note"?: string, readonly "public"?: boolean, readonly "template"?: boolean, readonly "timeEstimate"?: TimeEstimateDto, readonly "workspaceId": string }
|
|
519
535
|
export const ProjectDtoV1 = Schema.Struct({ "archived": Schema.Boolean.annotate({ "description": "Indicates whether project is archived or not." }), "billable": Schema.Boolean.annotate({ "description": "Indicates whether project is billable or not." }), "budgetEstimate": Schema.optionalKey(EstimateWithOptionsDto), "color": Schema.String.annotate({ "description": "Color format ^#(?:[0-9a-fA-F]{6}){1}$. Explanation: A valid color code should start with '#' and consist of six hexadecimal characters, representing a color in hexadecimal format. Color value is in standard RGB hexadecimal format." }), "costRate": Schema.optionalKey(RateDtoV1), "duration": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project duration in milliseconds." })), "estimate": Schema.optionalKey(EstimateDtoV1), "hourlyRate": Schema.optionalKey(RateDtoV1), "id": Schema.String.annotate({ "description": "Represents project identifier across the system." }), "memberships": Schema.optionalKey(Schema.Array(MembershipDtoV1).annotate({ "description": "Represents a list of membership objects." })), "name": Schema.String, "note": Schema.optionalKey(Schema.String), "public": Schema.optionalKey(Schema.Boolean), "template": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether project is a template or not." })), "timeEstimate": Schema.optionalKey(TimeEstimateDto), "workspaceId": Schema.String })
|
|
536
|
+
export type AssignmentCreateRequestV1 = { readonly "billable"?: boolean, readonly "end": string, readonly "hoursPerDay": number, readonly "includeNonWorkingDays"?: boolean, readonly "note"?: string, readonly "projectId": string, readonly "recurringAssignment"?: CreateRecurringAssignmentRequestV1, readonly "start": string, readonly "startTime"?: string, readonly "taskId"?: string, readonly "userId": string }
|
|
537
|
+
export const AssignmentCreateRequestV1 = Schema.Struct({ "billable": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether assignment is billable or not." })), "end": Schema.String.annotate({ "description": "Represents an end date in the yyyy-MM-ddThh:mm:ssZ format." }), "hoursPerDay": Schema.Number.annotate({ "description": "Represents assignment total hours per day.", "format": "double" }).check(Schema.isFinite()), "includeNonWorkingDays": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether to include non-working days or not." })), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents an assignment note." }).check(Schema.isMinLength(0)).check(Schema.isMaxLength(100))), "projectId": Schema.String.annotate({ "description": "Represents a project identifier across the system." }).check(Schema.isMinLength(1)), "recurringAssignment": Schema.optionalKey(CreateRecurringAssignmentRequestV1), "start": Schema.String.annotate({ "description": "Represents a start date in the yyyy-MM-ddThh:mm:ssZ format." }), "startTime": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a start time in the hh:mm:ss format." })), "taskId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents a task identifier across the system." })), "userId": Schema.String.annotate({ "description": "Represents a user identifier across the system." }).check(Schema.isMinLength(1)) })
|
|
538
|
+
export type AssignmentDtoV1 = { readonly "billable"?: boolean, readonly "excludeDays"?: ReadonlyArray<SchedulingExcludeDay>, readonly "hoursPerDay"?: number, readonly "id"?: string, readonly "includeNonWorkingDays"?: boolean, readonly "note"?: string, readonly "period"?: DateRangeDto, readonly "projectId"?: string, readonly "published"?: boolean, readonly "recurring"?: RecurringAssignmentDtoV1, readonly "startTime"?: string, readonly "taskId"?: string, readonly "userId"?: string, readonly "workspaceId"?: string }
|
|
539
|
+
export const AssignmentDtoV1 = Schema.Struct({ "billable": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether assignment is billable or not." })), "excludeDays": Schema.optionalKey(Schema.Array(SchedulingExcludeDay).annotate({ "description": "Represents a list of excluded days objects" }).check(Schema.isUnique())), "hoursPerDay": Schema.optionalKey(Schema.Number.annotate({ "description": "Represents assignment total hours per day.", "format": "double" }).check(Schema.isFinite())), "id": Schema.optionalKey(Schema.String.annotate({ "description": "Represents assignment identifier across the system." })), "includeNonWorkingDays": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether assignment should include non-working days or not." })), "note": Schema.optionalKey(Schema.String.annotate({ "description": "Represents assignment note." })), "period": Schema.optionalKey(DateRangeDto), "projectId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents project identifier across the system." })), "published": Schema.optionalKey(Schema.Boolean.annotate({ "description": "Indicates whether assignment is published or not." })), "recurring": Schema.optionalKey(RecurringAssignmentDtoV1), "startTime": Schema.optionalKey(Schema.String.annotate({ "description": "Represents start time in hh:mm:ss format." })), "taskId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents task identifier across the system." })), "userId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user identifier across the system." })), "workspaceId": Schema.optionalKey(Schema.String.annotate({ "description": "Represents workspace identifier across the system." })) })
|
|
520
540
|
export type UserDtoV1 = { readonly "activeWorkspace"?: string, readonly "customFields"?: ReadonlyArray<UserCustomFieldValueDtoV1>, readonly "defaultWorkspace"?: string, readonly "email": string, readonly "id": string, readonly "memberships"?: ReadonlyArray<MembershipDtoV1>, readonly "name": string, readonly "profilePicture"?: string, readonly "settings"?: UserSettingsDtoV1, readonly "status"?: AccountStatus }
|
|
521
541
|
export const UserDtoV1 = Schema.Struct({ "activeWorkspace": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user's active workspace identifier across the system." })), "customFields": Schema.optionalKey(Schema.Array(UserCustomFieldValueDtoV1).annotate({ "description": "Represents a list of value objects for user’s custom fields." })), "defaultWorkspace": Schema.optionalKey(Schema.String.annotate({ "description": "Represents user default workspace identifier across the system." })), "email": Schema.String.annotate({ "description": "Represents email address of the user." }), "id": Schema.String.annotate({ "description": "Represents user identifier across the system." }), "memberships": Schema.optionalKey(Schema.Array(MembershipDtoV1).annotate({ "description": "Represents a list of membership objects." })), "name": Schema.String.annotate({ "description": "Represents name of the user." }), "profilePicture": Schema.optionalKey(Schema.String.annotate({ "description": "Represents profile image path of the user." })), "settings": Schema.optionalKey(UserSettingsDtoV1), "status": Schema.optionalKey(AccountStatus) })
|
|
522
542
|
export type ExpensesWithCountDtoV1 = { readonly "count"?: number, readonly "expenses"?: ReadonlyArray<ExpenseHydratedDtoV1> }
|
|
@@ -577,8 +597,8 @@ export type GetWorkspaceOfUser200 = WorkspaceDtoV1
|
|
|
577
597
|
export const GetWorkspaceOfUser200 = WorkspaceDtoV1
|
|
578
598
|
export type GetAddonWebhooks200 = WebhooksDtoV1
|
|
579
599
|
export const GetAddonWebhooks200 = WebhooksDtoV1
|
|
580
|
-
export type GetApprovalRequestsParams = { readonly "status"?: "PENDING" | "APPROVED" | "WITHDRAWN_APPROVAL", readonly "sort-column"?: "ID" | "USER_ID" | "START" | "UPDATED_AT", readonly "sort-order"?: "ASCENDING" | "DESCENDING", readonly "page"?: number, readonly "page-size"?: number }
|
|
581
|
-
export const GetApprovalRequestsParams = Schema.Struct({ "status": Schema.optionalKey(Schema.Literals(["PENDING", "APPROVED", "WITHDRAWN_APPROVAL"])), "sort-column": Schema.optionalKey(Schema.Literals(["ID", "USER_ID", "START", "UPDATED_AT"])), "sort-order": Schema.optionalKey(Schema.Literals(["ASCENDING", "DESCENDING"])), "page": Schema.optionalKey(Schema.Number.annotate({ "description": "Page number.", "format": "int32" }).check(Schema.isInt())), "page-size": Schema.optionalKey(Schema.Number.annotate({ "description": "Page size.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1))) })
|
|
600
|
+
export type GetApprovalRequestsParams = { readonly "status"?: "PENDING" | "APPROVED" | "WITHDRAWN_APPROVAL", readonly "sort-column"?: "ID" | "USER_ID" | "START" | "UPDATED_AT", readonly "sort-order"?: "ASCENDING" | "DESCENDING", readonly "page"?: number, readonly "page-size"?: number, readonly "types"?: ReadonlyArray<"TIMESHEET" | "EXPENSE" | "TIMESHEET_AND_EXPENSE"> }
|
|
601
|
+
export const GetApprovalRequestsParams = Schema.Struct({ "status": Schema.optionalKey(Schema.Literals(["PENDING", "APPROVED", "WITHDRAWN_APPROVAL"])), "sort-column": Schema.optionalKey(Schema.Literals(["ID", "USER_ID", "START", "UPDATED_AT"])), "sort-order": Schema.optionalKey(Schema.Literals(["ASCENDING", "DESCENDING"])), "page": Schema.optionalKey(Schema.Number.annotate({ "description": "Page number.", "format": "int32" }).check(Schema.isInt())), "page-size": Schema.optionalKey(Schema.Number.annotate({ "description": "Page size.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1))), "types": Schema.optionalKey(Schema.Array(Schema.Literals(["TIMESHEET", "EXPENSE", "TIMESHEET_AND_EXPENSE"])).check(Schema.isUnique())) })
|
|
582
602
|
export type GetApprovalRequests200 = ReadonlyArray<ApprovalDetailsDtoV1>
|
|
583
603
|
export const GetApprovalRequests200 = Schema.Array(ApprovalDetailsDtoV1)
|
|
584
604
|
export type CreateApprrovalRequestRequestJson = CreateApprovalRequest
|
|
@@ -587,16 +607,24 @@ export type CreateApprrovalRequest201 = ApprovalRequestDtoV1
|
|
|
587
607
|
export const CreateApprrovalRequest201 = ApprovalRequestDtoV1
|
|
588
608
|
export type ResubmitApprovalRequestRequestJson = CreateApprovalRequest
|
|
589
609
|
export const ResubmitApprovalRequestRequestJson = CreateApprovalRequest
|
|
590
|
-
export type
|
|
591
|
-
export const
|
|
592
|
-
export type
|
|
593
|
-
export const
|
|
610
|
+
export type CreateApprovalForOtherDeprecatedRequestJson = CreateApprovalRequest
|
|
611
|
+
export const CreateApprovalForOtherDeprecatedRequestJson = CreateApprovalRequest
|
|
612
|
+
export type CreateApprovalForOtherDeprecated201 = ApprovalRequestDtoV1
|
|
613
|
+
export const CreateApprovalForOtherDeprecated201 = ApprovalRequestDtoV1
|
|
594
614
|
export type ResubmitApprovalRequestForOtherRequestJson = CreateApprovalRequest
|
|
595
615
|
export const ResubmitApprovalRequestForOtherRequestJson = CreateApprovalRequest
|
|
616
|
+
export type CreateApprovalForOtherWithTypeRequestJson = CreateApprovalRequestNoType
|
|
617
|
+
export const CreateApprovalForOtherWithTypeRequestJson = CreateApprovalRequestNoType
|
|
618
|
+
export type CreateApprovalForOtherWithType201 = ApprovalRequestDtoV1
|
|
619
|
+
export const CreateApprovalForOtherWithType201 = ApprovalRequestDtoV1
|
|
596
620
|
export type UpdateApprovalStatusRequestJson = UpdateApprovalRequest
|
|
597
621
|
export const UpdateApprovalStatusRequestJson = UpdateApprovalRequest
|
|
598
622
|
export type UpdateApprovalStatus200 = ApprovalRequestDtoV1
|
|
599
623
|
export const UpdateApprovalStatus200 = ApprovalRequestDtoV1
|
|
624
|
+
export type CreateApprrovalRequest1RequestJson = CreateApprovalRequestNoType
|
|
625
|
+
export const CreateApprrovalRequest1RequestJson = CreateApprovalRequestNoType
|
|
626
|
+
export type CreateApprrovalRequest1201 = ApprovalRequestDtoV1
|
|
627
|
+
export const CreateApprrovalRequest1201 = ApprovalRequestDtoV1
|
|
600
628
|
export type GetClientsParams = { readonly "name"?: string, readonly "sort-column"?: string, readonly "sort-order"?: string, readonly "page"?: number, readonly "page-size"?: number, readonly "archived"?: string }
|
|
601
629
|
export const GetClientsParams = Schema.Struct({ "name": Schema.optionalKey(Schema.String.annotate({ "description": "Filters client results that matches with the string provided in their client name." })), "sort-column": Schema.optionalKey(Schema.String.annotate({ "description": "Column name that will be used as criteria for sorting results." })), "sort-order": Schema.optionalKey(Schema.String), "page": Schema.optionalKey(Schema.Number.annotate({ "description": "Page number.", "format": "int32" }).check(Schema.isInt())), "page-size": Schema.optionalKey(Schema.Number.annotate({ "description": "Page size.", "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1))), "archived": Schema.optionalKey(Schema.String) })
|
|
602
630
|
export type GetClients200 = ReadonlyArray<ClientWithCurrencyDtoV1>
|
|
@@ -915,6 +943,10 @@ export type CreateTimeEntryRequestJson = CreateTimeEntryRequest
|
|
|
915
943
|
export const CreateTimeEntryRequestJson = CreateTimeEntryRequest
|
|
916
944
|
export type CreateTimeEntry201 = TimeEntryDtoImplV1
|
|
917
945
|
export const CreateTimeEntry201 = TimeEntryDtoImplV1
|
|
946
|
+
export type GetMultipleTimeEntriesRequestJson = GetTimeEntriesByIdsRequest
|
|
947
|
+
export const GetMultipleTimeEntriesRequestJson = GetTimeEntriesByIdsRequest
|
|
948
|
+
export type GetMultipleTimeEntries200 = ReadonlyArray<TimeEntryWithRatesDtoV1>
|
|
949
|
+
export const GetMultipleTimeEntries200 = Schema.Array(TimeEntryWithRatesDtoV1)
|
|
918
950
|
export type UpdateInvoicedStatusRequestJson = UpdateInvoicedStatusRequest
|
|
919
951
|
export const UpdateInvoicedStatusRequestJson = UpdateInvoicedStatusRequest
|
|
920
952
|
export type GetInProgressTimeEntriesParams = { readonly "page"?: number, readonly "page-size"?: number }
|
|
@@ -927,6 +959,12 @@ export type UpdateTimeEntryRequestJson = UpdateTimeEntryRequest
|
|
|
927
959
|
export const UpdateTimeEntryRequestJson = UpdateTimeEntryRequest
|
|
928
960
|
export type UpdateTimeEntry200 = TimeEntryDtoImplV1
|
|
929
961
|
export const UpdateTimeEntry200 = TimeEntryDtoImplV1
|
|
962
|
+
export type CreateBalanceAssignmentRequestJson = CreateBalanceAssignmentV1Request
|
|
963
|
+
export const CreateBalanceAssignmentRequestJson = CreateBalanceAssignmentV1Request
|
|
964
|
+
export type UpdateBalanceAssignmentRequestJson = UpdateBalanceAssignmentV1Request
|
|
965
|
+
export const UpdateBalanceAssignmentRequestJson = UpdateBalanceAssignmentV1Request
|
|
966
|
+
export type DeleteBalanceAssignmentRequestJson = DeleteBalanceAssignmentV1Request
|
|
967
|
+
export const DeleteBalanceAssignmentRequestJson = DeleteBalanceAssignmentV1Request
|
|
930
968
|
export type GetBalancesForPolicyParams = { readonly "page"?: number, readonly "page-size"?: number, readonly "sort"?: "USER" | "POLICY" | "USED" | "BALANCE" | "TOTAL", readonly "sort-order"?: "ASCENDING" | "DESCENDING" }
|
|
931
969
|
export const GetBalancesForPolicyParams = Schema.Struct({ "page": Schema.optionalKey(Schema.Number.annotate({ "format": "int32" }).check(Schema.isInt()).check(Schema.isLessThanOrEqualTo(1000))), "page-size": Schema.optionalKey(Schema.Number.annotate({ "format": "int32" }).check(Schema.isInt()).check(Schema.isGreaterThanOrEqualTo(1)).check(Schema.isLessThanOrEqualTo(200))), "sort": Schema.optionalKey(Schema.Literals(["USER", "POLICY", "USED", "BALANCE", "TOTAL"])), "sort-order": Schema.optionalKey(Schema.Literals(["ASCENDING", "DESCENDING"])) })
|
|
932
970
|
export type UpdateBalanceRequestJson = UpdateBalanceRequestV1
|
|
@@ -1213,7 +1251,7 @@ export const make = (
|
|
|
1213
1251
|
}))
|
|
1214
1252
|
),
|
|
1215
1253
|
"getApprovalRequests": (workspaceId, options) => HttpClientRequest.get(`/v1/workspaces/${workspaceId}/approval-requests`).pipe(
|
|
1216
|
-
HttpClientRequest.setUrlParams({ "status": options?.params?.["status"] as any, "sort-column": options?.params?.["sort-column"] as any, "sort-order": options?.params?.["sort-order"] as any, "page": options?.params?.["page"] as any, "page-size": options?.params?.["page-size"] as any }),
|
|
1254
|
+
HttpClientRequest.setUrlParams({ "status": options?.params?.["status"] as any, "sort-column": options?.params?.["sort-column"] as any, "sort-order": options?.params?.["sort-order"] as any, "page": options?.params?.["page"] as any, "page-size": options?.params?.["page-size"] as any, "types": options?.params?.["types"] as any }),
|
|
1217
1255
|
withResponse(options?.config)(HttpClientResponse.matchStatus({
|
|
1218
1256
|
"2xx": decodeSuccess(GetApprovalRequests200),
|
|
1219
1257
|
orElse: unexpectedStatus
|
|
@@ -1232,10 +1270,10 @@ export const make = (
|
|
|
1232
1270
|
orElse: unexpectedStatus
|
|
1233
1271
|
}))
|
|
1234
1272
|
),
|
|
1235
|
-
"
|
|
1273
|
+
"createApprovalForOtherDeprecated": (workspaceId, userId, options) => HttpClientRequest.post(`/v1/workspaces/${workspaceId}/approval-requests/users/${userId}`).pipe(
|
|
1236
1274
|
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
1237
1275
|
withResponse(options.config)(HttpClientResponse.matchStatus({
|
|
1238
|
-
"2xx": decodeSuccess(
|
|
1276
|
+
"2xx": decodeSuccess(CreateApprovalForOtherDeprecated201),
|
|
1239
1277
|
orElse: unexpectedStatus
|
|
1240
1278
|
}))
|
|
1241
1279
|
),
|
|
@@ -1244,6 +1282,13 @@ export const make = (
|
|
|
1244
1282
|
withResponse(options.config)(HttpClientResponse.matchStatus({
|
|
1245
1283
|
orElse: unexpectedStatus
|
|
1246
1284
|
}))
|
|
1285
|
+
),
|
|
1286
|
+
"createApprovalForOtherWithType": (workspaceId, userId, type, options) => HttpClientRequest.post(`/v1/workspaces/${workspaceId}/approval-requests/users/${userId}/${type}`).pipe(
|
|
1287
|
+
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
1288
|
+
withResponse(options.config)(HttpClientResponse.matchStatus({
|
|
1289
|
+
"2xx": decodeSuccess(CreateApprovalForOtherWithType201),
|
|
1290
|
+
orElse: unexpectedStatus
|
|
1291
|
+
}))
|
|
1247
1292
|
),
|
|
1248
1293
|
"updateApprovalStatus": (workspaceId, approvalRequestId, options) => HttpClientRequest.patch(`/v1/workspaces/${workspaceId}/approval-requests/${approvalRequestId}`).pipe(
|
|
1249
1294
|
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
@@ -1251,6 +1296,13 @@ export const make = (
|
|
|
1251
1296
|
"2xx": decodeSuccess(UpdateApprovalStatus200),
|
|
1252
1297
|
orElse: unexpectedStatus
|
|
1253
1298
|
}))
|
|
1299
|
+
),
|
|
1300
|
+
"createApprrovalRequest1": (workspaceId, type, options) => HttpClientRequest.post(`/v1/workspaces/${workspaceId}/approval-requests/${type}`).pipe(
|
|
1301
|
+
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
1302
|
+
withResponse(options.config)(HttpClientResponse.matchStatus({
|
|
1303
|
+
"2xx": decodeSuccess(CreateApprrovalRequest1201),
|
|
1304
|
+
orElse: unexpectedStatus
|
|
1305
|
+
}))
|
|
1254
1306
|
),
|
|
1255
1307
|
"getClients": (workspaceId, options) => HttpClientRequest.get(`/v1/workspaces/${workspaceId}/clients`).pipe(
|
|
1256
1308
|
HttpClientRequest.setUrlParams({ "name": options?.params?.["name"] as any, "sort-column": options?.params?.["sort-column"] as any, "sort-order": options?.params?.["sort-order"] as any, "page": options?.params?.["page"] as any, "page-size": options?.params?.["page-size"] as any, "archived": options?.params?.["archived"] as any }),
|
|
@@ -1892,6 +1944,13 @@ export const make = (
|
|
|
1892
1944
|
"2xx": decodeSuccess(CreateTimeEntry201),
|
|
1893
1945
|
orElse: unexpectedStatus
|
|
1894
1946
|
}))
|
|
1947
|
+
),
|
|
1948
|
+
"getMultipleTimeEntries": (workspaceId, options) => HttpClientRequest.post(`/v1/workspaces/${workspaceId}/time-entries/batch`).pipe(
|
|
1949
|
+
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
1950
|
+
withResponse(options.config)(HttpClientResponse.matchStatus({
|
|
1951
|
+
"2xx": decodeSuccess(GetMultipleTimeEntries200),
|
|
1952
|
+
orElse: unexpectedStatus
|
|
1953
|
+
}))
|
|
1895
1954
|
),
|
|
1896
1955
|
"updateInvoicedStatus": (workspaceId, options) => HttpClientRequest.patch(`/v1/workspaces/${workspaceId}/time-entries/invoiced`).pipe(
|
|
1897
1956
|
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
@@ -1925,6 +1984,32 @@ export const make = (
|
|
|
1925
1984
|
"204": () => Effect.void,
|
|
1926
1985
|
orElse: unexpectedStatus
|
|
1927
1986
|
}))
|
|
1987
|
+
),
|
|
1988
|
+
"createBalanceAssignment": (workspaceId, options) => HttpClientRequest.post(`/v1/workspaces/${workspaceId}/time-off/balance/assignment`).pipe(
|
|
1989
|
+
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
1990
|
+
withResponse(options.config)(HttpClientResponse.matchStatus({
|
|
1991
|
+
"201": () => Effect.void,
|
|
1992
|
+
orElse: unexpectedStatus
|
|
1993
|
+
}))
|
|
1994
|
+
),
|
|
1995
|
+
"getBalanceAssignmentsForUserAndPolicy": (workspaceId, userId, policyId, options) => HttpClientRequest.get(`/v1/workspaces/${workspaceId}/time-off/balance/assignment/user/${userId}/policy/${policyId}`).pipe(
|
|
1996
|
+
withResponse(options?.config)(HttpClientResponse.matchStatus({
|
|
1997
|
+
orElse: unexpectedStatus
|
|
1998
|
+
}))
|
|
1999
|
+
),
|
|
2000
|
+
"updateBalanceAssignment": (workspaceId, balanceAssignmentId, userId, policyId, options) => HttpClientRequest.put(`/v1/workspaces/${workspaceId}/time-off/balance/assignment/${balanceAssignmentId}/user/${userId}/policy/${policyId}`).pipe(
|
|
2001
|
+
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
2002
|
+
withResponse(options.config)(HttpClientResponse.matchStatus({
|
|
2003
|
+
"204": () => Effect.void,
|
|
2004
|
+
orElse: unexpectedStatus
|
|
2005
|
+
}))
|
|
2006
|
+
),
|
|
2007
|
+
"deleteBalanceAssignment": (workspaceId, balanceAssignmentId, userId, policyId, options) => HttpClientRequest.delete(`/v1/workspaces/${workspaceId}/time-off/balance/assignment/${balanceAssignmentId}/user/${userId}/policy/${policyId}`).pipe(
|
|
2008
|
+
HttpClientRequest.bodyJsonUnsafe(options.payload),
|
|
2009
|
+
withResponse(options.config)(HttpClientResponse.matchStatus({
|
|
2010
|
+
"200": () => Effect.void,
|
|
2011
|
+
orElse: unexpectedStatus
|
|
2012
|
+
}))
|
|
1928
2013
|
),
|
|
1929
2014
|
"getBalancesForPolicy": (workspaceId, policyId, options) => HttpClientRequest.get(`/v1/workspaces/${workspaceId}/time-off/balance/policy/${policyId}`).pipe(
|
|
1930
2015
|
HttpClientRequest.setUrlParams({ "page": options?.params?.["page"] as any, "page-size": options?.params?.["page-size"] as any, "sort": options?.params?.["sort"] as any, "sort-order": options?.params?.["sort-order"] as any }),
|
|
@@ -2343,18 +2428,26 @@ readonly "createApprrovalRequest": <Config extends OperationConfig>(workspaceId:
|
|
|
2343
2428
|
*/
|
|
2344
2429
|
readonly "resubmitApprovalRequest": <Config extends OperationConfig>(workspaceId: string, options: { readonly payload: typeof ResubmitApprovalRequestRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2345
2430
|
/**
|
|
2346
|
-
* Submit
|
|
2431
|
+
* Submit approval request for user
|
|
2347
2432
|
*/
|
|
2348
|
-
readonly "
|
|
2433
|
+
readonly "createApprovalForOtherDeprecated": <Config extends OperationConfig>(workspaceId: string, userId: string, options: { readonly payload: typeof CreateApprovalForOtherDeprecatedRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateApprovalForOtherDeprecated201.Type, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2349
2434
|
/**
|
|
2350
2435
|
* Re-submit rejected/withdrawn entries/expenses for an approval of a user
|
|
2351
2436
|
*/
|
|
2352
2437
|
readonly "resubmitApprovalRequestForOther": <Config extends OperationConfig>(workspaceId: string, userId: string, options: { readonly payload: typeof ResubmitApprovalRequestForOtherRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2353
2438
|
/**
|
|
2439
|
+
* Submit approval request for user with type
|
|
2440
|
+
*/
|
|
2441
|
+
readonly "createApprovalForOtherWithType": <Config extends OperationConfig>(workspaceId: string, userId: string, type: string, options: { readonly payload: typeof CreateApprovalForOtherWithTypeRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateApprovalForOtherWithType201.Type, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2442
|
+
/**
|
|
2354
2443
|
* Update an approval request
|
|
2355
2444
|
*/
|
|
2356
2445
|
readonly "updateApprovalStatus": <Config extends OperationConfig>(workspaceId: string, approvalRequestId: string, options: { readonly payload: typeof UpdateApprovalStatusRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof UpdateApprovalStatus200.Type, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2357
2446
|
/**
|
|
2447
|
+
* Submit approval request with type
|
|
2448
|
+
*/
|
|
2449
|
+
readonly "createApprrovalRequest1": <Config extends OperationConfig>(workspaceId: string, type: string, options: { readonly payload: typeof CreateApprrovalRequest1RequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateApprrovalRequest1201.Type, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2450
|
+
/**
|
|
2358
2451
|
* Find clients on a workspace
|
|
2359
2452
|
*/
|
|
2360
2453
|
readonly "getClients": <Config extends OperationConfig>(workspaceId: string, options: { readonly params?: typeof GetClientsParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<typeof GetClients200.Type, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
@@ -2740,10 +2833,14 @@ readonly "delete1": <Config extends OperationConfig>(workspaceId: string, templa
|
|
|
2740
2833
|
*/
|
|
2741
2834
|
readonly "update": <Config extends OperationConfig>(workspaceId: string, templateId: string, options: { readonly payload: typeof UpdateRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof Update200.Type, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2742
2835
|
/**
|
|
2743
|
-
*
|
|
2836
|
+
* Important: if workspace has time entry custom fields configured that are marked as required you must provide them in the `customFields` array.
|
|
2744
2837
|
*/
|
|
2745
2838
|
readonly "createTimeEntry": <Config extends OperationConfig>(workspaceId: string, options: { readonly payload: typeof CreateTimeEntryRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof CreateTimeEntry201.Type, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2746
2839
|
/**
|
|
2840
|
+
* Get multiple time entries on a workspace
|
|
2841
|
+
*/
|
|
2842
|
+
readonly "getMultipleTimeEntries": <Config extends OperationConfig>(workspaceId: string, options: { readonly payload: typeof GetMultipleTimeEntriesRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<typeof GetMultipleTimeEntries200.Type, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2843
|
+
/**
|
|
2747
2844
|
* Mark time entries as invoiced
|
|
2748
2845
|
*/
|
|
2749
2846
|
readonly "updateInvoicedStatus": <Config extends OperationConfig>(workspaceId: string, options: { readonly payload: typeof UpdateInvoicedStatusRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
@@ -2764,6 +2861,22 @@ readonly "updateTimeEntry": <Config extends OperationConfig>(workspaceId: string
|
|
|
2764
2861
|
*/
|
|
2765
2862
|
readonly "deleteTimeEntry": <Config extends OperationConfig>(workspaceId: string, id: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2766
2863
|
/**
|
|
2864
|
+
* Creates a new balance assignment for a user in policy
|
|
2865
|
+
*/
|
|
2866
|
+
readonly "createBalanceAssignment": <Config extends OperationConfig>(workspaceId: string, options: { readonly payload: typeof CreateBalanceAssignmentRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2867
|
+
/**
|
|
2868
|
+
* Get all balance assignments of a user in policy
|
|
2869
|
+
*/
|
|
2870
|
+
readonly "getBalanceAssignmentsForUserAndPolicy": <Config extends OperationConfig>(workspaceId: string, userId: string, policyId: string, options: { readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2871
|
+
/**
|
|
2872
|
+
* Updates a specific balance assignment
|
|
2873
|
+
*/
|
|
2874
|
+
readonly "updateBalanceAssignment": <Config extends OperationConfig>(workspaceId: string, balanceAssignmentId: string, userId: string, policyId: string, options: { readonly payload: typeof UpdateBalanceAssignmentRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2875
|
+
/**
|
|
2876
|
+
* Deletes a specific balance assignment
|
|
2877
|
+
*/
|
|
2878
|
+
readonly "deleteBalanceAssignment": <Config extends OperationConfig>(workspaceId: string, balanceAssignmentId: string, userId: string, policyId: string, options: { readonly payload: typeof DeleteBalanceAssignmentRequestJson.Encoded; readonly config?: Config | undefined }) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|
|
2879
|
+
/**
|
|
2767
2880
|
* Get balances for a policy
|
|
2768
2881
|
*/
|
|
2769
2882
|
readonly "getBalancesForPolicy": <Config extends OperationConfig>(workspaceId: string, policyId: string, options: { readonly params?: typeof GetBalancesForPolicyParams.Encoded | undefined; readonly config?: Config | undefined } | undefined) => Effect.Effect<WithOptionalResponse<void, Config>, HttpClientError.HttpClientError | SchemaError>
|