UNPKG

projectmanager-sdk

Version:

Software development kit for the ProjectManager.com API. for TypeScript

205 lines (204 loc) 13.6 kB
/** * ProjectManager API for TypeScript * * (c) ProjectManager.com, Inc. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @author ProjectManager.com <support@projectmanager.com> * @copyright ProjectManager.com, Inc. * @link https://github.com/projectmgr/projectmanager-sdk-typescript */ import { ProjectManagerClient } from "../index.js"; import { AstroResult } from "../index.js"; import { TimesheetResponseDto } from "../index.js"; import { TimesheetCreateRequestDto } from "../index.js"; import { TimesheetDto } from "../index.js"; import { TimesheetUpdateRequestDto } from "../index.js"; import { TimesheetAdminTypeDto } from "../index.js"; import { TimeSheetApprovalResponseDto } from "../index.js"; import { TimeSheetApprovalDto } from "../index.js"; import { TimeSheetApprovalRejectDto } from "../index.js"; export declare class TimesheetClient { private readonly client; /** * Internal constructor for this client library */ constructor(client: ProjectManagerClient); /** * Creates new time entry for Resource on a given day. * * A Timesheet is a collection of time entries for a particular Resource for a specific week. Each time * entry records the number of whole minutes spent by this Resource on an activity. An activity can be a Task * in any project that Resource can access, or the activity can be an administrative task such as "Sick * Leave" or "Meetings". When a time entry is linked to a Task, the number of minutes spent on the time entry * are recorded as time spent on the Task. Time entries linked to an administrative tasks are grouped for * reporting but are not added to any Task within your Workspace. * * Time entries are recorded in whole minutes. If you specify a time entry in fractional hours, either using * the API or via the web application, the amount you specify will be converted to minutes and rounded to the * nearest neighbor using the rounding algorithm Midpoint-Away-From-Zero. * * When a Timesheet is submitted for approval or approved, users are no longer permitted to create, update, or * delete time entries for that week. Users with Global Admin level access can override this restriction and * continue to make changes to a Timesheet after approval. * * @param body The time entry you wish to create */ createTimeEntry(body: TimesheetCreateRequestDto): Promise<AstroResult<TimesheetResponseDto>>; /** * Retrieve a list of time entries that match an [OData formatted query](https://www.odata.org/). * * A Timesheet is a collection of time entries for a particular Resource for a specific week. Each time * entry records the number of whole minutes spent by this Resource on an activity. An activity can be a Task * in any project that Resource can access, or the activity can be an administrative task such as "Sick * Leave" or "Meetings". When a time entry is linked to a Task, the number of minutes spent on the time entry * are recorded as time spent on the Task. Time entries linked to an administrative tasks are grouped for * reporting but are not added to any Task within your Workspace. * * Time entries are recorded in whole minutes. If you specify a time entry in fractional hours, either using * the API or via the web application, the amount you specify will be converted to minutes and rounded to the * nearest neighbor using the rounding algorithm Midpoint-Away-From-Zero. * * When a Timesheet is submitted for approval or approved, users are no longer permitted to create, update, or * delete time entries for that week. Users with Global Admin level access can override this restriction and * continue to make changes to a Timesheet after approval. * * @param top The number of records to return * @param skip Skips the given number of records and then returns $top records * @param filter Filter the expression according to oData queries * @param orderby Order collection by this field. * @param expand Include related data in the response */ queryTimeEntries(top?: number, skip?: number, filter?: string, orderby?: string, expand?: string): Promise<AstroResult<TimesheetDto[]>>; /** * Delete time entry by its unique identifier. * * A Timesheet is a collection of time entries for a particular Resource for a specific week. Each time * entry records the number of whole minutes spent by this Resource on an activity. An activity can be a Task * in any project that Resource can access, or the activity can be an administrative task such as "Sick * Leave" or "Meetings". When a time entry is linked to a Task, the number of minutes spent on the time entry * are recorded as time spent on the Task. Time entries linked to an administrative tasks are grouped for * reporting but are not added to any Task within your Workspace. * * Time entries are recorded in whole minutes. If you specify a time entry in fractional hours, either using * the API or via the web application, the amount you specify will be converted to minutes and rounded to the * nearest neighbor using the rounding algorithm Midpoint-Away-From-Zero. * * When a Timesheet is submitted for approval or approved, users are no longer permitted to create, update, or * delete time entries for that week. Users with Global Admin level access can override this restriction and * continue to make changes to a Timesheet after approval. * * @param timesheetId The unique identifier of the time entry to delete */ deleteTimeEntry(timesheetId: string): Promise<AstroResult<object>>; /** * Updates a time entry by its unique identifier. * * A Timesheet is a collection of time entries for a particular Resource for a specific week. Each time * entry records the number of whole minutes spent by this Resource on an activity. An activity can be a Task * in any project that Resource can access, or the activity can be an administrative task such as "Sick * Leave" or "Meetings". When a time entry is linked to a Task, the number of minutes spent on the time entry * are recorded as time spent on the Task. Time entries linked to an administrative tasks are grouped for * reporting but are not added to any Task within your Workspace. * * Time entries are recorded in whole minutes. If you specify a time entry in fractional hours, either using * the API or via the web application, the amount you specify will be converted to minutes and rounded to the * nearest neighbor using the rounding algorithm Midpoint-Away-From-Zero. * * When a Timesheet is submitted for approval or approved, users are no longer permitted to create, update, or * delete time entries for that week. Users with Global Admin level access can override this restriction and * continue to make changes to a Timesheet after approval. * * @param timesheetId The unique identifier of the time entry to update * @param body The new information that should replace the previous time entry */ updateTimeEntry(timesheetId: string, body: TimesheetUpdateRequestDto): Promise<AstroResult<TimesheetResponseDto>>; /** * Retrieves a list of Administrative Tasks that are defined for use within your Workspace. * * Administrative tasks are a list of regular, recurring non-Task actions that are typically associated with * overhead, such as sick leave, travel, or attending meetings. * * A Timesheet is a collection of time entries for a particular Resource for a specific week. Each time * entry records the number of whole minutes spent by this Resource on an activity. An activity can be a Task * in any project that Resource can access, or the activity can be an administrative task such as "Sick * Leave" or "Meetings". When a time entry is linked to a Task, the number of minutes spent on the time entry * are recorded as time spent on the Task. Time entries linked to an administrative tasks are grouped for * reporting but are not added to any Task within your Workspace. * * Time entries are recorded in whole minutes. If you specify a time entry in fractional hours, either using * the API or via the web application, the amount you specify will be converted to minutes and rounded to the * nearest neighbor using the rounding algorithm Midpoint-Away-From-Zero. * * When a Timesheet is submitted for approval or approved, users are no longer permitted to create, update, or * delete time entries for that week. Users with Global Admin level access can override this restriction and * continue to make changes to a Timesheet after approval. * */ retrieveAdministrativeTasks(): Promise<AstroResult<TimesheetAdminTypeDto[]>>; /** * Submit a Timesheet for approval for a specific Resource and week. * * A Timesheet is a collection of time entries for a particular Resource for a specific week. Each time * entry records the number of whole minutes spent by this Resource on an activity. An activity can be a Task * in any project that Resource can access, or the activity can be an administrative task such as "Sick * Leave" or "Meetings". When a time entry is linked to a Task, the number of minutes spent on the time entry * are recorded as time spent on the Task. Time entries linked to an administrative tasks are grouped for * reporting but are not added to any Task within your Workspace. * * Time entries are recorded in whole minutes. If you specify a time entry in fractional hours, either using * the API or via the web application, the amount you specify will be converted to minutes and rounded to the * nearest neighbor using the rounding algorithm Midpoint-Away-From-Zero. * * When a Timesheet is submitted for approval or approved, users are no longer permitted to create, update, or * delete time entries for that week. Users with Global Admin level access can override this restriction and * continue to make changes to a Timesheet after approval. * * @param body The Timesheet to be submitted for approval */ submitTimeSheet(body: TimeSheetApprovalDto): Promise<AstroResult<TimeSheetApprovalResponseDto>>; /** * Approve an existing Timesheet approval request. * * A Timesheet is a collection of time entries for a particular Resource for a specific week. Each time * entry records the number of whole minutes spent by this Resource on an activity. An activity can be a Task * in any project that Resource can access, or the activity can be an administrative task such as "Sick * Leave" or "Meetings". When a time entry is linked to a Task, the number of minutes spent on the time entry * are recorded as time spent on the Task. Time entries linked to an administrative tasks are grouped for * reporting but are not added to any Task within your Workspace. * * Time entries are recorded in whole minutes. If you specify a time entry in fractional hours, either using * the API or via the web application, the amount you specify will be converted to minutes and rounded to the * nearest neighbor using the rounding algorithm Midpoint-Away-From-Zero. * * When a Timesheet is submitted for approval or approved, users are no longer permitted to create, update, or * delete time entries for that week. Users with Global Admin level access can override this restriction and * continue to make changes to a Timesheet after approval. * * @param body The Timesheet to approve */ approveTimeSheet(body: TimeSheetApprovalDto): Promise<AstroResult<TimeSheetApprovalResponseDto>>; /** * Rejects a specific resource's Timesheet approval request for a specific week. * * A Timesheet is a collection of time entries for a particular Resource for a specific week. Each time * entry records the number of whole minutes spent by this Resource on an activity. An activity can be a Task * in any project that Resource can access, or the activity can be an administrative task such as "Sick * Leave" or "Meetings". When a time entry is linked to a Task, the number of minutes spent on the time entry * are recorded as time spent on the Task. Time entries linked to an administrative tasks are grouped for * reporting but are not added to any Task within your Workspace. * * Time entries are recorded in whole minutes. If you specify a time entry in fractional hours, either using * the API or via the web application, the amount you specify will be converted to minutes and rounded to the * nearest neighbor using the rounding algorithm Midpoint-Away-From-Zero. * * When a Timesheet is submitted for approval or approved, users are no longer permitted to create, update, or * delete time entries for that week. Users with Global Admin level access can override this restriction and * continue to make changes to a Timesheet after approval. * * @param body Information about the Timesheet approval request to be rejected */ rejectTimeSheet(body: TimeSheetApprovalRejectDto): Promise<AstroResult<TimeSheetApprovalResponseDto>>; }