Created
October 22, 2021 18:29
-
-
Save joyblanks/5cd8c26c2efb806032b71bc1f0b5bef4 to your computer and use it in GitHub Desktop.
Smartsheet declarations WIP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface SmartsheetPaged { | |
pageNumber: number; | |
pageSize: number; | |
totalPages: number; | |
totalCount: number; | |
} | |
export interface SmartsheetClientOptions { | |
accessToken?: string; | |
logLevel?: string; | |
} | |
export interface CurrentUser { | |
id: number; | |
firstName: string; | |
lastName: string; | |
email: string; | |
locale: string; | |
timeZone: string; | |
account: { | |
name: string; | |
id: number; | |
}, | |
admin: boolean; | |
licensedSheetCreator: boolean; | |
groupAdmin: boolean; | |
resourceViewer: boolean; | |
jiraAdmin: boolean; | |
salesforceAdmin: boolean; | |
salesforceUser: boolean; | |
alternateEmails: { | |
id: number; | |
email: string; | |
confirmed: boolean; | |
}[]; | |
title: string; | |
department: string; | |
company: string; | |
workPhone: string; | |
mobilePhone: string; | |
role: string; | |
profileImage: { | |
imageId: string; | |
height: number; | |
width: number; | |
}; | |
sheetCount: number; | |
lastLogin: string; | |
customWelcomeScreenViewed: string; | |
} | |
export interface SmartsheetToken { | |
access_token: string; | |
token_type: string; | |
expires_in: number; | |
refresh_token: string; | |
} | |
export interface SmartsheetResponse { | |
message: string; | |
resultCode: number; | |
} | |
export interface SmartsheetWebhook { | |
id: number; | |
name: string; | |
scope: string; | |
scopeObjectId: number; | |
events: string[]; | |
callbackUrl: string; | |
sharedSecret?: string; | |
enabled: boolean; | |
status: string; | |
version: number; | |
subscope: { | |
columnIds: number[]; | |
} | |
createdAt: Date; | |
modifiedAt: Date; | |
} | |
export interface SmartsheetWebhooks extends SmartsheetPaged { | |
data: SmartsheetWebhook[]; | |
} | |
export interface SmartsheetWebookCreated extends SmartsheetResponse { | |
result: SmartsheetWebhook; | |
} | |
export interface SmartsheetWebhookCallbackEvent { | |
objectType: string; | |
eventType: string; | |
id: number; | |
columnId?: number; | |
rowId?: number; | |
changeAgent?: string; | |
userId: number; | |
Date: Date; | |
} | |
export interface SmartsheetWebhookCallback { | |
nonce: string; | |
Date: Date; | |
webhookId: number; | |
scope: string; | |
scopeObjectId: number; | |
newWebhookStatus?: string; | |
events: SmartsheetWebhookCallbackEvent[]; | |
} | |
export interface SmartsheetCreated extends SmartsheetResponse { | |
result: { | |
accessLevel: string; | |
id: number; | |
name: string; | |
permalink: string; | |
} | |
} | |
export interface SmartsheetFolderCreated extends SmartsheetResponse { | |
result: { | |
id: number; | |
name: string; | |
} | |
} | |
export interface SmartsheetFolder { | |
id: number; | |
name: string; | |
permalink: string; | |
} | |
export interface SmartsheetFolderList extends SmartsheetPaged { | |
data: SmartsheetFolder[]; | |
} | |
export interface SmartsheetItem { | |
id: number; | |
name: string; | |
accessLevel?: string; | |
permalink: string; | |
createdAt?: Date | |
modifiedAt?: Date; | |
} | |
export interface SmartsheetFolderResponse { | |
id: number; | |
name: string; | |
permalink: string; | |
sheets: SmartsheetItem[]; | |
reports: SmartsheetItem[]; | |
sights: SmartsheetItem[]; | |
} | |
export interface SmartsheetUser { | |
id: number; | |
admin: boolean; | |
customWelcomeScreenViewed: Date; | |
email: string; | |
firstName: string; | |
groupAdmin: boolean; | |
lastLogin: Date; | |
lastName: string; | |
licensedSheetCreator: boolean; | |
name: string; | |
profileImage: { | |
id: string; | |
altText: string; | |
height: number; | |
width: number; | |
}; | |
resourceViewer: boolean; | |
sheetCount: number; | |
status: string; | |
} | |
export interface SmartsheetAttachment { | |
id: number; | |
parentId: number; | |
attachmentType: string; | |
attachmentSubType: string; | |
mimeType: string; | |
parentType: string; | |
createdAt: Date; | |
createdBy: SmartsheetUser; | |
name: string; | |
sizeInKb: number; | |
url: string; | |
urlExpiresInMillis: number; | |
} | |
export interface SmartsheetDiscussion { | |
id: number; | |
parentId: number; | |
parentType: string; | |
accessLevel: string; | |
commentAttachments: SmartsheetAttachment[]; | |
commentCount: number; | |
comments: Comment[]; | |
createdBy: SmartsheetUser; | |
lastCommentedAt: Date; | |
lastCommentedUser: SmartsheetUser; | |
readOnly: boolean; | |
title: string; | |
} | |
interface SmartsheetCellLink { | |
columnId: number; | |
rowId: number; | |
sheetId: number; | |
sheetName: string; | |
status: string; | |
} | |
export interface SmartsheetCell { | |
columnId: number; | |
columnType: string; | |
conditionalFormat: string; | |
displayValue: string; | |
format: string; | |
formula: string; | |
hyperlink: { | |
reportId: number; | |
sheetId: number; | |
sightId: number; | |
url: string; | |
}; | |
image: { | |
id: string; | |
altText: string; | |
height: number; | |
width: number; | |
}; | |
linkInFromCell: SmartsheetCellLink; | |
linksOutToCells: SmartsheetCellLink[]; | |
objectValue: { | |
objectType: string; | |
value?: string | number | boolean; | |
values?: (string | number | boolean)[]; | |
}; | |
overrideValidation: boolean; | |
strict: boolean; | |
value: string | number | boolean; | |
} | |
export interface SmartsheetColumn { | |
id: number; | |
systemColumnType: string; | |
type: string; | |
contactOptions: { | |
name: string; | |
email: string; | |
}[]; | |
description: string; | |
format: string; | |
formula: string; | |
hidden: boolean; | |
index: number; | |
locked: boolean; | |
lockedForUser: boolean; | |
options: string[]; | |
primary: boolean; | |
symbol: string; | |
tags: string[]; | |
title: string; | |
validation: boolean; | |
version: number; | |
width: number; | |
} | |
export interface SmartsheetRow { | |
id: number; | |
sheetId: number; | |
accessLevel: string; | |
attachments: SmartsheetAttachment[]; | |
cells: SmartsheetCell[]; | |
columns: SmartsheetColumn[]; | |
conditionalFormat: string; | |
createdAt: Date; | |
createdBy: SmartsheetUser; | |
discussions: SmartsheetDiscussion[]; | |
expanded: boolean; | |
filteredOut: boolean; | |
format: string; | |
inCriticalPath: boolean; | |
locked: boolean; | |
lockedForUser: boolean; | |
modifiedAt: Date; | |
modifiedBy: SmartsheetUser; | |
permalink: string; | |
rowNumber: number; | |
version: number; | |
} | |
export interface Smartsheet { | |
id: number; | |
fromId: number; | |
ownerId: number; | |
accessLevel: string; | |
attachments: SmartsheetAttachment[]; | |
columns: SmartsheetColumn[]; | |
createdAt: Date; | |
crossSheetReferences: { | |
id: number; | |
endColumnId: number; | |
endRowId: number; | |
sourceSheetId: number; | |
startColumnId: number; | |
startRowId: number; | |
name: string; | |
status: string; | |
}[]; | |
dependenciesEnabled: boolean; | |
discussions: SmartsheetDiscussion[]; | |
effectiveAttachmentOptions: string[]; | |
favorite: boolean; | |
ganttEnabled: boolean; | |
hasSummaryFields: boolean; | |
modifiedAt: Date; | |
name: string; | |
owner: string; | |
permalink: string; | |
projectSettings: { | |
lengthOfDay: number; | |
nonWorkingDays: Date[]; | |
workingDays: String[]; | |
}; | |
proofs: {}[]; | |
readOnly: boolean; | |
resourceManagementEnabled: boolean; | |
rows: SmartsheetRow[]; | |
showParentRowsForFilters: boolean; | |
source: { | |
id: number; | |
type: string; | |
}; | |
summary: {}; | |
totalRowCount: number; | |
userPermissions: { summaryPermissions: string; }; | |
userSettings: { | |
criticalPathEnabled: boolean; | |
displaySummaryTasks: boolean; | |
}; | |
version: number; | |
workspace: { | |
id: number; | |
name: string; | |
}; | |
} | |
export interface SmartsheetWorkspaceResponse { | |
sheets: SmartsheetItem[]; | |
reports: SmartsheetItem[]; | |
sights: SmartsheetItem[]; | |
templates: SmartsheetItem[]; | |
accessLevel: string; | |
id: number; | |
name: string; | |
permalink: string; | |
} | |
export interface SmartsheetSheetShare { | |
id: string; | |
type: string; | |
userId: number; | |
email: string; | |
name: string; | |
accessLevel: string; | |
scope: string; | |
createdAt?: Date; | |
modifiedAt?: Date; | |
} | |
export interface SmartsheetSheetShareResponse extends SmartsheetPaged { | |
data: SmartsheetSheetShare[]; | |
} | |
export interface SmartsheetSheetShareCreatedResponse extends SmartsheetResponse { | |
result: SmartsheetSheetShare[]; | |
} | |
export interface SmartsheetSheetShareUpdatedResponse extends SmartsheetResponse { | |
result: SmartsheetSheetShare; | |
} | |
export interface SmartsheetRowsResponse extends SmartsheetResponse { | |
result: SmartsheetRow[]; | |
} | |
export interface SmartsheetRowsDeleteResponse extends SmartsheetResponse { | |
result: number[]; | |
} | |
export interface SmartsheetColumns extends SmartsheetPaged { | |
data: SmartsheetColumn[]; | |
} | |
export interface SmartsheetColumnsResult extends SmartsheetResponse { | |
result: SmartsheetColumn; | |
} | |
export interface SmartsheetAttachmentResult extends SmartsheetResponse { | |
result: SmartsheetAttachment; | |
version: number; | |
} | |
export interface SmartsheetAttachmentResponse extends SmartsheetPaged { | |
data: SmartsheetAttachment[]; | |
} | |
export interface SmartsheetClient { | |
contacts: { | |
getContact: (getOptions: any, callback: any) => any; | |
listContacts: (getOptions: any, callback: any) => any; | |
}; | |
events: { | |
getEvents: (getOptions: any, callback: any) => any; | |
}; | |
favorites: { | |
listFavorites: (getOptions: any, callback: any) => any; | |
addItemsToFavorites: (postOptions: any, callback: any) => any; | |
addSheetToFavorites: (postOptions: any, callback: any) => any; | |
addFolderToFavorites: (postOptions: any, callback: any) => any; | |
addReportToFavorites: (postOptions: any, callback: any) => any; | |
addTemplateToFavorites: (postOptions: any, callback: any) => any; | |
addSightToFavorites: (postOptions: any, callback: any) => any; | |
addWorkspaceToFavorites: (postOptions: any, callback: any) => any; | |
addMultipleToFavorites: (postOptions: any, callback: any) => any; | |
removeSheetFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeFolderFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeReportFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeTemplateFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeSightFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeWorkspaceFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeSheetsFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeFoldersFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeReportsFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeTemplatesFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeSightsFromFavorites: (deleteOptions: any, callback: any) => any; | |
removeWorkspacesFromFavorites: (deleteOptions: any, callback: any) => any; | |
}; | |
folders: { | |
getFolder: (getOptions?: any, callback?: (_: SmartsheetFolderResponse) => void) => Promise<SmartsheetFolderResponse>; | |
listChildFolders: (getOptions?: any, callback?: (_: SmartsheetFolderList) => void) => Promise<SmartsheetFolderList>; | |
createChildFolder: (postOptions?: any, callback?: (_: SmartsheetFolderCreated) => void) => Promise<SmartsheetFolderCreated>; | |
updateFolder: (putOptions: any, callback: any) => any; | |
deleteFolder: (deleteOptions: any, callback: any) => any; | |
moveFolder: (postOptions: any, callback: any) => any; | |
copyFolder: (postOptions: any, callback: any) => any; | |
}; | |
groups: { | |
listGroups: (getOptions: any, callback: any) => any; | |
getGroup: (getOptions: any, callback: any) => any; | |
createGroup: (postOptions: any, callback: any) => any; | |
addGroupMembers: (postOptions: any, callback: any) => any; | |
updateGroup: (putOptions: any, callback: any) => any; | |
deleteGroup: (deleteOptions: any, callback: any) => any; | |
removeGroupMember: (deleteOptions: any, callback: any) => any; | |
}; | |
home: { | |
listContents: (getOptions: any, callback: any) => any; | |
listFolders: (getOptions: any, callback: any) => any; | |
createFolder: (postOptions: any, callback: any) => any; | |
}; | |
images: { | |
listImageUrls: (postOptions: any, callback: any) => any; | |
}; | |
reports: any; | |
request: { | |
get: <T>(getOptions?: any, callback?: (_: T) => void) => Promise<T>; | |
post: <T>(postOptions?: any, callback?: (_: T) => void) => Promise<T>; | |
put: <T>(putOptions?: any, callback?: (_: T) => void) => Promise<T>; | |
postFile: <T>(postOptions?: any, callback?: (_: T) => void) => Promise<T>; | |
delete: <T>(deleteOptions?: any, callback?: (_: T) => void) => Promise<T>; | |
}; | |
search: { | |
searchAll: (getOptions: any, callback: any) => any; | |
searchSheet: (getOptions: any, callback: any) => any; | |
}; | |
server: { | |
getInfo: (getOptions: any, callback: any) => any; | |
}; | |
sheets: { | |
getSheet: (getOptions?: any, callback?: (_: Smartsheet) => void) => Promise<Smartsheet>; | |
sendSheetViaEmail: (postOptions: any, callback: any) => any; | |
getPublishStatus: (getOptions: any, callback: any) => any; | |
setPublishStatus: (putOptions: any, callback: any) => any; | |
updateSheet: (putOptions: any, callback: any) => any; | |
deleteSheet: (deleteOptions: any, callback?: (_: SmartsheetResponse) => void) => Promise<SmartsheetResponse>; | |
moveSheet: (postOptions: any, callback: any) => any; | |
sortRowsInSheet: (postOptions: any, callback: any) => any; | |
createSheetFromExisting: (postOptions?: any, callback?: (_: SmartsheetCreated) => void) => Promise<SmartsheetCreated>; | |
share: (postOptions?: any, callback?: (_: SmartsheetSheetShareCreatedResponse) => void) => Promise<SmartsheetSheetShareCreatedResponse>; | |
updateShare: (putOptions?: any, callback?: (_: SmartsheetSheetShareUpdatedResponse) => void) => Promise<SmartsheetSheetShareUpdatedResponse>; | |
deleteShare: (deleteOptions?: any, callback?: (_: SmartsheetResponse) => void) => Promise<SmartsheetResponse>; | |
listShares: (getOptions?: any, callback?: (_: SmartsheetSheetShareResponse) => void) => Promise<SmartsheetSheetShareResponse>; | |
updateRow: (postOptions?: any, callback?: (_: SmartsheetRowsResponse) => void) => Promise<SmartsheetRowsResponse>; | |
getColumns: (getOptions?: any, callback?: (_: SmartsheetColumns) => void) => Promise<SmartsheetColumns>; | |
updateColumn: (postOptions?: any, callback?: (_: SmartsheetColumnsResult) => void) => Promise<SmartsheetColumnsResult>; | |
addFileAttachment: (postOptions?: any, callback?: (_: SmartsheetAttachmentResult) => void) => Promise<SmartsheetAttachmentResult>; | |
addRowFileAttachment: (postOptions?: any, callback?: (_: SmartsheetAttachmentResult) => void) => Promise<SmartsheetAttachmentResult>; | |
deleteAttachment: (deleteOptions?: any, callback?: (_: SmartsheetResponse) => void) => Promise<SmartsheetResponse>; | |
getRowAttachments: (getOptions?: any, callback?: (_: SmartsheetAttachmentResponse) => void) => Promise<SmartsheetAttachmentResponse>; | |
getAttachment: (getOptions?: any, callback?: (_: SmartsheetAttachment) => void) => Promise<SmartsheetAttachment>; | |
}; | |
sights: { | |
listSights: (getOptions: any, callback: any) => any; | |
getSight: (getOptions: any, callback: any) => any; | |
deleteSight: (deleteOptions: any, callback: any) => any; | |
updateSight: (putOptions: any, callback: any) => any; | |
copySight: (postOptions: any, callback: any) => any; | |
moveSight: (postOptions: any, callback: any) => any; | |
getSightPublishStatus: (getOptions: any, callback: any) => any; | |
setSightPublishStatus: (putOptions: any, callback: any) => any; | |
}; | |
templates: { | |
listUserCreatedTemplates: (getOptions: any, callback: any) => any; | |
listPublicTemplates: (getOptions: any, callback: any) => any; | |
}; | |
tokens: { | |
getAccessToken: (postOptions?: any, callback?: (_: SmartsheetToken) => void) => Promise<SmartsheetToken>; | |
refreshAccessToken: (postOptions?: any, callback?: (_: SmartsheetToken) => void) => Promise<SmartsheetToken>; | |
revokeAccessToken: (deleteOptions: any, callback: any) => any; | |
}; | |
users: { | |
getUser: (getOptions: any, callback: any) => any; | |
listAllUsers: (getOptions: any, callback: any) => any; | |
getCurrentUser: (getOptions?: any, callback?: (_: CurrentUser) => void) => Promise<CurrentUser>; | |
addUser: (postOptions: any, callback: any) => any; | |
addUserAndSendEmail: (postOptions: any, callback: any) => any; | |
updateUser: (putOptions: any, callback: any) => any; | |
removeUser: (deleteOptions: any, callback: any) => any; | |
addProfileImage: (postOptions: any, callback: any) => any; | |
}; | |
webhooks: { | |
createWebhook: (postOptions?: any, callback?: (_: SmartsheetWebookCreated) => void) => Promise<SmartsheetWebookCreated>; | |
getWebhook: (getOptions: any, callback: any) => any; | |
listWebhooks: (getOptions?: any, callback?: (_: SmartsheetWebhooks) => void) => Promise<SmartsheetWebhooks>; | |
deleteWebhook: (deleteOptions?: any, callback?: (_: SmartsheetResponse) => void) => Promise<SmartsheetResponse>; | |
updateWebhook: (putOptions?: any, callback?: (_: SmartsheetWebookCreated) => void) => Promise<SmartsheetWebookCreated>; | |
resetSharedSecret: (postOptions: any, callback: any) => any; | |
}; | |
workspaces: { | |
listWorkspaces: (getOptions: any, callback: any) => any; | |
getWorkspace: (getOptions?: any, callback?: (_: SmartsheetWorkspaceResponse) => void) => Promise<SmartsheetWorkspaceResponse>; | |
listWorkspaceFolders: (getOptions?: any, callback?: (_: SmartsheetFolderList) => void) => Promise<SmartsheetFolderList>; | |
createWorkspace: (postOptions: any, callback: any) => any; | |
createFolder: (postOptions?: any, callback?: (_: SmartsheetFolderCreated) => void) => Promise<SmartsheetFolderCreated>; | |
deleteWorkspace: (deleteOptions: any, callback: any) => any; | |
updateWorkspace: (putOptions: any, callback: any) => any; | |
copyWorkspace: (postOptions: any, callback: any) => any; | |
}; | |
} | |
export function createClient(clientOptions: SmartsheetClientOptions): SmartsheetClient; | |
export namespace smartSheetURIs { | |
const defaultBaseURI: string; | |
const govBaseURI: string; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment