{"version":3,"sources":["store/OrganisationState.ts","store/UserState.ts","config/Config.js","store/languageResourcesActions.js","store/LanguageResourcesReducer.js","store/index.ts","components/loading/loading.tsx","ApiClient.ts","AuthorizedApiBase.ts","ApiConfig.ts","Language/LanguageContext.js","Language/TranslateableText.js","components/organisation/ChangeOrganisation.tsx","components/language/ChangeLanguage.tsx","components/Logout.tsx","components/NavMenuSide.tsx","components/Layout.tsx","components/chart/StatusChart.js","components/chart/TagsChart.js","components/dashboard/StatusTippy.tsx","components/dashboard/TagsTippy.tsx","components/settings/AssignedTippy.tsx","pages/CasesTable.tsx","components/caseEntryList/CaseEntryNote.tsx","components/caseEntryList/CaseEntryComment.tsx","components/caseEntryList/CaseEntryFile.tsx","components/caseEntryList/CaseEntryInternalFile.tsx","components/caseEntryList/CaseEntryTag.tsx","components/comments/CommentForm.tsx","components/notes/NoteForm.tsx","components/caseEntryList/CaseEntryStatus.tsx","components/caseEntryList/CaseEntryList.tsx","components/caseEntryList/CaseEntryLog.tsx","components/fileUpload/FileUpload.jsx","pages/ViewCase.tsx","components/settings/AssignCaseToUser.tsx","components/settings/OrganisationTinNumbers.tsx","pages/CompanySettings.tsx","pages/Guides.tsx","components/textEditor/TextEditor.jsx","components/toggle/Toggle.tsx","pages/ArchivedCases.tsx","App.tsx","components/validator/FormValidator.js","appSource/sign-up/ApiClientSignUp.ts","appSource/sign-up/AnonymousApiBase.ts","appSource/sign-up/sign-up.tsx","index.tsx","store/configureStore.ts"],"names":["SET_ORGANISATION_INFORMATION","SET_ORGANISATIONS","actionCreators","organisationId","name","tinNumber","type","organisations","SET_USER_INFORMATION","userActionCreators","id","isAdmin","Config","port","server_url","api_prefix","languages","value","FETCH_LANGUAGE_RESOURCES_BEGIN","FETCH_LANGUAGE_RESOURCES_SUCCESS","FETCH_LANGUAGE_RESOURCES_FAILURE","GLOBALIZATION_API_URL","initialState","language_resources","reducers","organisation","state","incomingAction","undefined","currentOrganisationId","currentOrganisationName","currentOrganisationTinNumber","currentOrganisationTinNumbers","loading","action","tinNumbers","org","find","o","selected","organisationTinNumbers","user","language","payload","Loading","className","alt","src","InlineLoading","props","PulseLoader","cssOverride","display","margin","borderColor","size","color","Status","AuthorizedApiBase","apiConfig","transformOptions","options","a","store","getState","headers","getAuthToken","Authorization","Promise","resolve","this","baseUrl","process","UserClient","configuration","instance","jsonParseReviver","axios","create","getBaseUrl","body","cancelToken","url_","replace","options_","data","JSON","stringify","method","url","then","transformedOptions_","request","catch","_error","isAxiosError","response","_response","processAdmin","status","_headers","k","hasOwnProperty","throwException","processAllUsers","result200","resultData200","Array","isArray","item","push","GetAllUsersResponse","fromJS","processUser","processCurrentUser","GetCurrentUserResponse","processCurrentUserRole","GetCurrentUserRoleResponse","processOrgansation","UserResponse","processOrgansationInvite","processOrgansationWithRole","UserRoleResponse","Error","encodeURIComponent","processOrgansationWithRoleByOrganisationId","processPartner","processPartnerInvite","processUpdateUserName","AttachmentClient","responseType","processDownload","contentDisposition","fileNameMatch","exec","fileName","length","Blob","CaseClient","processCaseGet","CaseResponse","processCasePost","processCasePut","processCaseDelete","processAssignCase","processByCaseWorkerId","processById","caseId","processDownloadCaseReport","processGetDeletedCases","GetAllDeletedCasesResponse","processHasCaseWorker","HasCaseWorkerResponse","CaseEntryClient","CaseEntryResponse","CaseEntryCommentClient","processCaseEntryComment","processComment","CaseEntryCommentResponse","CaseEntryFileClient","processCaseEntryFile","processFile","CaseEntryFileResponse","CaseEntryFileInternalClient","CaseEntryFileInternalResponse","file","content_","FormData","append","toString","processUploadInternalFile","CaseEntryNoteClient","processCaseEntryNote","processNote","CaseEntryNoteResponse","CaseEntryStatusClient","processCaseEntryStatus","processId","CaseEntryStatusResponse","CaseEntryTagClient","processCaseEntryTagGet","CaseEntryTagResponse","processCaseEntryTagDelete","processCaseEntryTagPost","processNew","ContactClient","processCaseUpdateByAdministratorEmail","processSendInformationEmail","DocumentClient","processDocument","OrganisationClient","processOrganisationGet","OrganisationResponse","processOrganisationPost","processChangeOrganisation","processCreateNewTinNumber","processDeleteOrganisation","processDownloadCompanyLogo","processUpload","processHasCompanyLogo","_responseText","processTinNumber","StatusClient","StatusResponse","TagClient","processTag","CreateTagResponse","processCase","TagResponse","processOrganisation","UpdateUserRequest","email","property","_data","result","init","userId","organisationName","userName","role","createdOn","Date","toISOString","OrganisationTinNumberResponse","displayName","CaseResponseUser","title","description","organisationTinNumber","organisationTin","detectedLanguage","translatedLanguage","translatedTitle","translatedDescription","modifiedOn","deletedOn","deletedBy","users","toJSON","UpdateCaseRequest","DeleteCaseRequest","AssignCaseRequest","caseWorkerEmails","hasCaseWorker","createdBy","modifiedBy","entryType","comment","fileId","caseEntryFileInternal_FileId","note","tagId","tagTitle","Sentence","sentenceText","sentenceSentiment","sentenceNegativeScore","sentenceNeutralScore","sentencePositiveScore","sentimentId","sentiment","Sentiment","documentSentiment","documentNegativeScore","documentNeutralScore","documentPositiveScore","case","sentences","Case","BaseCaseEntry","Role","User","UserOrganisation","roleId","UserPartner","partnerId","externalId","partners","cases","currentPartnerId","CaseUser","caseEntries","CreateCaseEntryCommentRequest","UpdateCaseEntryFileRequest","publicDownload","CreateCaseEntryNoteRequest","CreateCaseEntryStatusRequest","CaseEntryTag","tag","Tag","DeleteCaseEntryTagRequest","CreateCaseEntryTagRequest","CreateCaseEntryTagsRequest","tags","SendCaseUpdateByAdministratorEmailCommand","SendInformationEmailCommand","receivingEmail","emailBody","CreateTagsRequest","tagTitles","DeleteUserRequest","isLegalTechPartner","organisationAdministrator","ApiException","message","isApiException","obj","ApiConfig","client","createAuth0Client","domain","client_id","redirect_uri","audience","scope","useRefreshTokens","cacheLocation","getTokenSilently","LanguageConsumer","React","createContext","Consumer","TranslatableText","translationKey","Component","connect","ChangeOrganisation","organisationClient","orgToggle","setState","prevState","orgDropdownOpen","changeCurrentOrganisation","changeOrganisation","r","dispatch","renderOrganisations","items","sort","map","DropdownItem","key","active","onClick","bind","header","divider","Navbar","expand","Collapse","navbar","Nav","Dropdown","isOpen","toggle","style","zIndex","float","placement","content","DropdownToggle","outline","icon","faBuilding","DropdownMenu","right","ChangeLanguage","languageToggle","languageDropdownOpen","lang","localStorage","getItem","currLang","faGlobe","e","setItem","window","location","reload","faFlagCheckered","faFlag","LogoutButton","logout","useAuth0","returnTo","origin","faSignOutAlt","userClient","useState","hasCompanyLogo","setHasCompanyLogo","imgUrl","setImgUrl","downloadCompanyLogo","imageBlob","reader","FileReader","readAsDataURL","onloadend","base64data","currentUser","vertical","height","to","NavItem","NavLink","Link","faHome","faInfoCircle","faArchive","faCogs","Row","Col","md","sm","xs","Layout","children","all","organisationGet","toast","error","finally","populateState","getUserLocale","substring","fetchLanguageResources","Container","fluid","mapDispatchToProps","get","res","console","log","fetchLanguageResourcesFailure","handleStatus","statuses","i","trimmedName","trimData","s","CustomTooltip","backgroundColor","width","textAlign","padding","endWithDots","trimmedData","statusClient","containerHeight","StatusChart","handleResize","windowHeight","innerHeight","statusForChart","faFolderOpen","faCheckSquare","faBriefcase","faCheckDouble","faTimesCircle","new","addEventListener","removeEventListener","ResponsiveContainer","BarChart","top","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","allowDecimals","Tooltip","Bar","fill","PureComponent","COLORS","Math","PI","cy","TagsChart","handleTagsOccurence","caseEntryTags","filter","v","handleTags","amount","some","el","renderData","PieChart","Pie","isAnimationActive","cx","outerRadius","innerRadius","paddingAngle","entry","index","Cell","handleEmumToString","StatusTippy","trigger","handleIcon","TagsTippy","t","Badge","pill","AssignedTippy","join","toArray","CasesTable","caseClient","caseEntryTagClient","tagsToggle","displayAllTags","caseEntryTagsChart","displayTagsChart","prevProps","byCaseWorkerId","caseEntryTagGet","cursor","handleSortList","faSort","align","history","handleTimeStamp","sortedList_byCreateOn","b","sortedList_byModifiedOn","tagAmount","tempTagList","indexOf","includes","now","comparisonDate","moment","subtract","dateObject","isBefore","handleDeleteOnSubmit","config","caseDelete","format","lg","offset","Card","CardBody","handleTagsForChart","Table","renderTableHeader","renderTableData","CaseEntryNote","Alert","CaseEntryComment","CaseEntryFile","setPublicDownload","caseEntryFileClient","attachmentClient","download","text","dataText","ReactDOM","render","position","parentElement","dataBlob","URL","createObjectURL","link","document","createElement","href","setAttribute","appendChild","click","remove","downloadFile","target","faEye","faEyeSlash","isVisible","Swal","fire","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","isConfirmed","caseEntryFile","handleSetPublicDownload","CaseEntryInternalFile","isDeleted","deleted","CommentForm","handleChange","handleSubmit","preventDefault","commentClient","contactClient","caseEntryComment","handleOnSuccess","caseUpdateByAdministratorEmail","callback","onSubmit","onChange","rows","placeholder","NoteForm","caseEntryNote","CaseEntryStatus","toLowerCase","handleStatusTranslation","caseEntryClient","CaseEntryList","statusAsString","handleCommentCallback","newComment","byId","handleNoteCallback","newNote","listItems","entryTypeArray","split","isRemoved","renderEntries","TagsComp","listTags","prop","label","StatusComp","currentStatus","colorPicker","FilesComp","listFiles","faSave","CaseEntryLog","loadingTags","loadingFiles","loadingStatus","faTags","files","FileUpload","handleAlert","configure","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","fileChangeHandler","event","currentTarget","acceptedFile","checkFile","accept","tagClient","caseEntryFileInternalClient","ViewCase","handleGetAssignedUsers","organsationWithRole","assignedUserEmails","u","us","tempAssignedUserEmails","handleGetCaseFiles","internalFiles","handleHasCaseWorkerAssigned","hasCaseWorkerAssigned","selectedOption","handleStatusSubmit","handlePromptUserToAssignCase","caseEntryStatusClient","casePut","caseEntryStatus","statusUpdated","setTimeout","handleTagChange","actionMeta","newTags","handleDeleteCaseEntryTag","removedValue","tagsUpdated","caseEntryTagDelete","updateTags","handleTagsSubmit","entryTagClient","caseEntryTagPost","isLoading","loadingCaseEntryList","loadingCaseEntryLog","loadingTagsSelect","loadingStatusSelect","handleDeleteCase","displaySpinner","handleRemoveFile","array","selectedFiles","splice","joinedArray","concat","displayFilesList","handleDownloadReport","prepToast","info","downloadCaseReport","dismiss","handleAddUserEmail","emails","newCaseWorkersAssigned","handleAssignUser","assignCase","toggleAssignUserDropdown","assignUserDropdownOpen","handleAssignedEmailsChange","dropdownValues","x","arraysEqual","companyTags","availableCompanyTags","caseTags","caseEntryLog","amountOfComments","displayDeleteBox","handleUploadFiles","getCaseIdRoutingProps","handleSelect","responses","companyTag","caseTag","param","match","params","slice","uploadInternalFile","refId","Button","Modal","ModalHeader","ModalBody","Spinner","Popover","PopoverHeader","isMulti","isClearable","closeMenuOnSelect","defaultValue","disabled","striped","faTrashAlt","AssignCaseToUser","notifyToast","handleNotify","admin","dropdownOpen","modaltoggle","displayAssignModal","assignedCaseId","renderTable","caret","FormGroup","OrganisationTinNumbers","CompanySettings","handlePrivilegesCheck","privilegesEmail","privilegesName","userToDelete","displayUserSettingsDegradePriv","displayUserSettingsUpgradePriv","renderAdminState","faUserShield","faUserCog","handleInviteUser","organsationInvite","organsation","displayInviteBox","handleChangePrivileges","selectedFile","currUserId","displayDeleteUser","displayUploadBox","logo","upload","_","Form","Label","for","Input","handleUploadLogo","marginTop","handleDeleteUser","Guides","onGetOrganisationDocument","fName","faQuestionCircle","CardTitle","CardSubtitle","MailTextEditor","onSubmitHandler","emailAddress","sendInformationEmail","popoverOpen","orgName","standardText","finalText","editor","ClassicEditor","onReady","getData","onBlur","onFocus","Toggle","onToggle","isEnabled","setIsEnabled","checked","ArchivedCases","userIsAdmin","filteredCases","casesFilteredByCurrentUser","getDeletedCases","snapshot","val","filterCasesByCurrentUser","enableFilter","App","isAuthenticated","loginWithRedirect","getAccessTokenSilently","useSelector","exact","path","component","FormValidator","validations","validation","valid","forEach","rule","field","isInvalid","field_value","args","validator","validWhen","isValid","SignUpClient","aadToken","processSignUp","CreateOrganisationResponse","processAadGetData","SaasSubscriptions","CreateOrganisationAppSourceRequest","companyName","companyEmail","companyTin","companyAddress","Beneficiary","emailId","objectId","tenantId","puid","Purchaser","Term","termUnit","Subscription","publisherId","offerId","saasSubscriptionStatus","beneficiary","purchaser","planId","term","autoRenew","isTest","isFreeTrial","allowedCustomerOperations","sandboxType","created","lastModified","sessionMode","subscriptionName","subscription","SignUp","isEmail","signUnClient","signUp","validate","token","URLSearchParams","search","err","companyAadId","completed","gettingData","handleInputChange","aadGetData","bsSize","block","getElementsByTagName","getAttribute","createBrowserHistory","basename","middleware","thunk","routerMiddleware","rootReducer","combineReducers","router","connectRouter","enhancers","windowIfDefined","__REDUX_DEVTOOLS_EXTENSION__","createStore","compose","applyMiddleware","configureStore","sessionStorage","removeItem","getElementById","clientId","redirectUri"],"mappings":"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","file":"static/js/main.847da363.chunk.js","sourcesContent":["import { Action, Reducer } from 'redux'\r\nimport { OrganisationResponse, OrganisationTinNumberResponse } from '../ApiClient'\r\n\r\nconst SET_ORGANISATION_INFORMATION = 'SET_ORGANISATION_INFORMATION'\r\nconst SET_ORGANISATIONS = 'SET_ORGANISATIONS'\r\n\r\nexport interface OrganisationState {\r\n currentOrganisationId: string,\r\n currentOrganisationName: string,\r\n currentOrganisationTinNumber: string, //!\r\n currentOrganisationTinNumbers: OrganisationTinNumberResponse[], //!\r\n organisations: OrganisationResponse[],\r\n loading: boolean\r\n}\r\n\r\nexport interface SetOrganisationInformationAction { \r\n readonly type: 'SET_ORGANISATION_INFORMATION',\r\n organisationId: string,\r\n name: string,\r\n tinNumber: string \r\n}\r\n\r\nexport interface SetOrganisationsAction {\r\n readonly type: 'SET_ORGANISATIONS',\r\n organisations: OrganisationResponse[]\r\n}\r\n\r\nexport type OrganisationActions = SetOrganisationInformationAction | SetOrganisationsAction;\r\n\r\nexport const actionCreators = {\r\n setCurrentOrganisationInformation: (organisationId: string, name: string, tinNumber: string) => (\r\n { \r\n type: SET_ORGANISATION_INFORMATION,\r\n organisationId: organisationId,\r\n name: name,\r\n tinNumber: tinNumber \r\n } as SetOrganisationInformationAction),\r\n setOrganisations: (organisations: OrganisationResponse[]) => (\r\n {\r\n type: SET_ORGANISATIONS,\r\n organisations: organisations\r\n } as SetOrganisationsAction),\r\n};\r\n\r\nexport const reducer: Reducer = (state: OrganisationState | undefined, incomingAction: Action): OrganisationState => {\r\n if (state === undefined) {\r\n return { currentOrganisationId: '', currentOrganisationName: '', currentOrganisationTinNumber: '', currentOrganisationTinNumbers: [], organisations: [], loading: true }\r\n }\r\n\r\n const action = incomingAction as OrganisationActions\r\n switch (action.type) {\r\n case SET_ORGANISATION_INFORMATION:\r\n return {\r\n currentOrganisationId: (action as SetOrganisationInformationAction).organisationId,\r\n currentOrganisationName: (action as SetOrganisationInformationAction).name,\r\n currentOrganisationTinNumber: (action as SetOrganisationInformationAction).tinNumber,\r\n currentOrganisationTinNumbers: (action as SetOrganisationInformationAction).tinNumbers,\r\n organisations: state.organisations,\r\n loading: true\r\n }\r\n case SET_ORGANISATIONS: \r\n let org = (action as SetOrganisationsAction).organisations.find(o => o.selected === true);\r\n \r\n if (org === undefined){\r\n org = (action as SetOrganisationsAction).organisations[0]; \r\n }\r\n \r\n return {\r\n currentOrganisationId: org.id!,\r\n currentOrganisationName: org.name!,\r\n currentOrganisationTinNumber: org.tinNumber!,\r\n currentOrganisationTinNumbers: org.organisationTinNumbers!,\r\n organisations: (action as SetOrganisationsAction).organisations,\r\n loading: true\r\n }\r\n default:\r\n return state\r\n }\r\n};","import { Action, Reducer } from 'redux'\r\nimport {IGetCurrentUserResponse} from '../ApiClient'\r\n\r\nconst SET_USER_INFORMATION = 'SET_USER_INFORMATION'\r\ntype SET_USER_INFORMATION_TYPE = 'SET_USER_INFORMATION'\r\n\r\nexport type UserState = {\r\n loading: boolean\r\n} & IGetCurrentUserResponse;\r\n\r\nexport type SetUserInformationAction = {\r\n type: SET_USER_INFORMATION_TYPE\r\n} & IGetCurrentUserResponse;\r\n\r\nexport type UserActions = SetUserInformationAction;\r\n\r\nexport const userActionCreators = {\r\n setCurrentUserInformation: (id: string, isAdmin: boolean) => (\r\n {\r\n type: SET_USER_INFORMATION,\r\n id: id,\r\n isAdmin: isAdmin\r\n } as SetUserInformationAction),\r\n};\r\n\r\nexport const reducer: Reducer = (state: UserState | undefined, incomingAction: Action): UserState => {\r\n if (state === undefined) {\r\n return { id: '', isAdmin: false, loading: true }\r\n }\r\n\r\n const action = incomingAction as UserActions\r\n switch (action.type) {\r\n case SET_USER_INFORMATION:\r\n return {\r\n id: (action as SetUserInformationAction).id,\r\n isAdmin: (action as SetUserInformationAction).isAdmin,\r\n loading: true\r\n }\r\n default:\r\n return state\r\n }\r\n};","const prod = {\r\n port: 443,\r\n server_url: \"https://globalize.360-advisor.com\",\r\n api_prefix: \"/api\",\r\n languages: [\r\n { value: \"da\", name: \"Dansk\" },\r\n { value: \"en\", name: \"Engelsk\" },\r\n { value: \"de\", name: \"Tysk\" },\r\n { value: \"sv\", name: \"Svensk\" },\r\n { value: \"no\", name: \"Norsk\" },\r\n { value: \"fi\", name: \"Finsk\" },\r\n { value: \"pl\", name: \"Polsk\" },\r\n { value: \"nl\", name: \"Hollandsk\" },\r\n { value: \"cs\", name: \"Tjekkisk\" },\r\n { value: \"fr\", name: \"Fransk\" }\r\n ]\r\n};\r\n\r\nconst dev = {\r\n port: 443,\r\n server_url: \"https://globalize.360-advisor.com\",\r\n api_prefix: \"/api\",\r\n languages: [\r\n { value: \"da\", name: \"Dansk\" },\r\n { value: \"en\", name: \"Engelsk\" },\r\n { value: \"de\", name: \"Tysk\" },\r\n { value: \"sv\", name: \"Svensk\" },\r\n { value: \"no\", name: \"Norsk\" },\r\n { value: \"fi\", name: \"Finsk\" },\r\n { value: \"pl\", name: \"Polsk\" },\r\n { value: \"nl\", name: \"Hollandsk\" },\r\n { value: \"cs\", name: \"Tjekkisk\" },\r\n { value: \"fr\", name: \"Fransk\" }\r\n ]\r\n};\r\n\r\nexport let Config = process.env.NODE_ENV === \"development\" ? dev : prod;\r\n","import axios from \"axios\";\r\nimport { Config } from \"../config/Config\";\r\n\r\nexport const FETCH_LANGUAGE_RESOURCES_BEGIN = \"FETCH_LANGUAGE_RESOURCES_BEGIN\";\r\nexport const FETCH_LANGUAGE_RESOURCES_SUCCESS = \"FETCH_LANGUAGE_RESOURCES_SUCCESS\";\r\nexport const FETCH_LANGUAGE_RESOURCES_FAILURE = \"FETCH_LANGUAGE_RESOURCES_FAILURE\";\r\n\r\nexport const fetchLanguageResourcesBegin = () => ({\r\n type: FETCH_LANGUAGE_RESOURCES_BEGIN\r\n});\r\n\r\nexport const fetchLanguageResourcesSuccess = language_resources => ({\r\n type: FETCH_LANGUAGE_RESOURCES_SUCCESS,\r\n payload: { language_resources }\r\n});\r\n\r\nexport const fetchLanguageResourcesFailure = error => ({\r\n type: FETCH_LANGUAGE_RESOURCES_FAILURE,\r\n payload: { error }\r\n});\r\n// use staic endpoint\r\nconst GLOBALIZATION_API_URL = `${Config.server_url}:${Config.port}${Config.api_prefix}/Globalize/`; \r\n\r\n\r\nexport function fetchLanguageResources(language) {\r\n return dispatch => {\r\n dispatch(fetchLanguageResourcesBegin());\r\n\r\n return axios\r\n .get(`${GLOBALIZATION_API_URL}?localeId=${language}&resourceSet=WhistleAdvisor`)\r\n .then(res => {\r\n dispatch(fetchLanguageResourcesSuccess(res.data)); \r\n return res.data;\r\n })\r\n .catch(error => {\r\n console.log('error:', error);\r\n dispatch(fetchLanguageResourcesFailure(error)\r\n )}\r\n );\r\n };\r\n}","import {\r\n FETCH_LANGUAGE_RESOURCES_BEGIN,\r\n FETCH_LANGUAGE_RESOURCES_SUCCESS,\r\n FETCH_LANGUAGE_RESOURCES_FAILURE\r\n } from \"./languageResourcesActions\";\r\n \r\n export const initialState = {\r\n language_resources: []\r\n };\r\n \r\n export default function languageResourcesReducer(state = initialState, action) {\r\n switch (action.type) {\r\n case FETCH_LANGUAGE_RESOURCES_BEGIN:\r\n // Mark the state as \"loading\" so we can show a spinner or something\r\n // Also, reset any errors. We're starting fresh.\r\n return {\r\n ...state\r\n };\r\n \r\n case FETCH_LANGUAGE_RESOURCES_SUCCESS:\r\n // All done: set loading \"false\".\r\n // Also, replace the items with the ones from the server\r\n return {\r\n ...state,\r\n language_resources: action.payload.language_resources\r\n };\r\n \r\n case FETCH_LANGUAGE_RESOURCES_FAILURE:\r\n // The request failed. It's done. So set loading to \"false\".\r\n // Save the error, so we can display it somewhere.\r\n // Since it failed, we don't have items to display anymore, so set `items` empty.\r\n //\r\n // This is all up to you and your app though:\r\n // maybe you want to keep the items around!\r\n // Do whatever seems right for your use case.\r\n return {\r\n ...state,\r\n language_resources: []\r\n };\r\n \r\n default:\r\n // ALWAYS have a default case in a reducer\r\n return state;\r\n }\r\n }\r\n ","import * as Organisation from './OrganisationState'\r\nimport * as User from './UserState'\r\nimport languageResourcesReducer from './LanguageResourcesReducer'\r\nimport {UserState} from \"./UserState\";\r\n\r\n// The top-level state object\r\nexport interface ApplicationState {\r\n organisation: Organisation.OrganisationState | undefined,\r\n user: UserState | undefined,\r\n language: any | undefined\r\n}\r\n\r\n// Whenever an action is dispatched, Redux will update each top-level application state property using\r\n// the reducer with the matching name. It's important that the names match exactly, and that the reducer\r\n// acts on the corresponding ApplicationState property type.\r\nexport const reducers = {\r\n organisation: Organisation.reducer,\r\n user: User.reducer,\r\n language: languageResourcesReducer\r\n};\r\n\r\n// This type can be used as a hint on action creators so that its 'dispatch' and 'getState' params are\r\n// correctly typed to match your store.\r\nexport interface AppThunkAction {\r\n (dispatch: (action: TAction) => void, getState: () => ApplicationState): void;\r\n}\r\n","import * as React from 'react';\r\nimport { PulseLoader } from 'react-spinners';\r\n\r\nimport \"./loader.scss\";\r\nexport const Loading: React.FC<{}> = ({}) => {\r\n return (\r\n
\r\n \"\"\r\n
\r\n );\r\n};\r\n\r\nexport function InlineLoading(props: { loading?: boolean } = { loading: true }) {\r\n return (\r\n \r\n );\r\n}","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.16.1.0 (NJsonSchema v10.7.2.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { AuthorizedApiBase } from \"./AuthorizedApiBase\";\r\nimport { ApiConfig } from './ApiConfig'; import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\n\r\nexport class UserClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n admin(body?: UpdateUserRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/admin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAdmin(_response);\r\n });\r\n }\r\n\r\n protected processAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n allUsers(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/allUsers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAllUsers(_response);\r\n });\r\n }\r\n\r\n protected processAllUsers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(GetAllUsersResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n user(body?: DeleteUserRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUser(_response);\r\n });\r\n }\r\n\r\n protected processUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n currentUser(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/currentUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCurrentUser(_response);\r\n });\r\n }\r\n\r\n protected processCurrentUser(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = GetCurrentUserResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n currentUserRole(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/currentUserRole\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCurrentUserRole(_response);\r\n });\r\n }\r\n\r\n protected processCurrentUserRole(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = GetCurrentUserRoleResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n organsation(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/organsation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrgansation(_response);\r\n });\r\n }\r\n\r\n protected processOrgansation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n organsationInvite(body?: UserResponse | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/organsation-invite\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrgansationInvite(_response);\r\n });\r\n }\r\n\r\n protected processOrgansationInvite(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n organsationWithRole(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/organsationWithRole\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrgansationWithRole(_response);\r\n });\r\n }\r\n\r\n protected processOrgansationWithRole(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserRoleResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param organisationId (optional) \r\n * @return Success\r\n */\r\n organsationWithRoleByOrganisationId(organisationId?: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/organsationWithRoleByOrganisationId?\";\r\n if (organisationId === null)\r\n throw new Error(\"The parameter 'organisationId' cannot be null.\");\r\n else if (organisationId !== undefined)\r\n url_ += \"organisationId=\" + encodeURIComponent(\"\" + organisationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrgansationWithRoleByOrganisationId(_response);\r\n });\r\n }\r\n\r\n protected processOrgansationWithRoleByOrganisationId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserRoleResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n partner(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/partner\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPartner(_response);\r\n });\r\n }\r\n\r\n protected processPartner(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n partnerInvite(body?: UserResponse | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/partner-invite\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPartnerInvite(_response);\r\n });\r\n }\r\n\r\n protected processPartnerInvite(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n updateUserName(body?: UpdateUserNameRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/updateUserName\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateUserName(_response);\r\n });\r\n }\r\n\r\n protected processUpdateUserName(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class AttachmentClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n download(id: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Attachment/download/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownload(_response);\r\n });\r\n }\r\n\r\n protected processDownload(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CaseClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n caseGet(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseGet(_response);\r\n });\r\n }\r\n\r\n protected processCaseGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n casePost(body?: CreateCaseRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCasePost(_response);\r\n });\r\n }\r\n\r\n protected processCasePost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n casePut(body?: UpdateCaseRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCasePut(_response);\r\n });\r\n }\r\n\r\n protected processCasePut(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n caseDelete(body?: DeleteCaseRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseDelete(_response);\r\n });\r\n }\r\n\r\n protected processCaseDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n assignCase(body?: AssignCaseRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case/AssignCase\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAssignCase(_response);\r\n });\r\n }\r\n\r\n protected processAssignCase(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n byCaseWorkerId(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case/byCaseWorkerId\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processByCaseWorkerId(_response);\r\n });\r\n }\r\n\r\n protected processByCaseWorkerId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n byId(id: string | null, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case/byId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processById(_response);\r\n });\r\n }\r\n\r\n protected processById(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CaseResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n downloadCaseReport(caseId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case/DownloadCaseReport/{CaseId}\";\r\n if (caseId === undefined || caseId === null)\r\n throw new Error(\"The parameter 'caseId' must be defined.\");\r\n url_ = url_.replace(\"{CaseId}\", encodeURIComponent(\"\" + caseId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadCaseReport(_response);\r\n });\r\n }\r\n\r\n protected processDownloadCaseReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n getDeletedCases(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case/getDeletedCases\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGetDeletedCases(_response);\r\n });\r\n }\r\n\r\n protected processGetDeletedCases(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(GetAllDeletedCasesResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n hasCaseWorker(id: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Case/hasCaseWorker/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processHasCaseWorker(_response);\r\n });\r\n }\r\n\r\n protected processHasCaseWorker(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = HasCaseWorkerResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CaseEntryClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n byId(id: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntry/byId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processById(_response);\r\n });\r\n }\r\n\r\n protected processById(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseEntryResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CaseEntryCommentClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n caseEntryComment(body?: CreateCaseEntryCommentRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryComment\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseEntryComment(_response);\r\n });\r\n }\r\n\r\n protected processCaseEntryComment(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n comment(id: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryComment/comment/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processComment(_response);\r\n });\r\n }\r\n\r\n protected processComment(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseEntryCommentResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CaseEntryFileClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n caseEntryFile(body?: UpdateCaseEntryFileRequest | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseEntryFile(_response);\r\n });\r\n }\r\n\r\n protected processCaseEntryFile(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n file(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryFile/file/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFile(_response);\r\n });\r\n }\r\n\r\n protected processFile(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseEntryFileResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CaseEntryFileInternalClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n file(id: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryFileInternal/file/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFile(_response);\r\n });\r\n }\r\n\r\n protected processFile(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseEntryFileInternalResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @param file (optional) \r\n * @param caseId (optional) \r\n * @return Success\r\n */\r\n uploadInternalFile(body?: Body | undefined, file?: FileParameter | null | undefined, caseId?: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryFileInternal/file/uploadInternalFile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file !== null && file !== undefined)\r\n content_.append(\"File\", file.data, file.fileName ? file.fileName : \"File\");\r\n if (caseId === null || caseId === undefined)\r\n throw new Error(\"The parameter 'caseId' cannot be null.\");\r\n else\r\n content_.append(\"CaseId\", caseId.toString());\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUploadInternalFile(_response);\r\n });\r\n }\r\n\r\n protected processUploadInternalFile(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CaseEntryNoteClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n caseEntryNote(body?: CreateCaseEntryNoteRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryNote\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseEntryNote(_response);\r\n });\r\n }\r\n\r\n protected processCaseEntryNote(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n note(id: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryNote/note/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNote(_response);\r\n });\r\n }\r\n\r\n protected processNote(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseEntryNoteResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CaseEntryStatusClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n caseEntryStatus(body?: CreateCaseEntryStatusRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryStatus\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseEntryStatus(_response);\r\n });\r\n }\r\n\r\n protected processCaseEntryStatus(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param id (optional) \r\n * @return Success\r\n */\r\n id(id?: string | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryStatus/id?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processId(_response);\r\n });\r\n }\r\n\r\n protected processId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseEntryStatusResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CaseEntryTagClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n caseEntryTagGet(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryTag\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseEntryTagGet(_response);\r\n });\r\n }\r\n\r\n protected processCaseEntryTagGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseEntryTagResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n caseEntryTagDelete(body?: DeleteCaseEntryTagRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryTag\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseEntryTagDelete(_response);\r\n });\r\n }\r\n\r\n protected processCaseEntryTagDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n caseEntryTagPost(body?: CreateCaseEntryTagsRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryTag\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseEntryTagPost(_response);\r\n });\r\n }\r\n\r\n protected processCaseEntryTagPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n new(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/CaseEntryTag/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNew(_response);\r\n });\r\n }\r\n\r\n protected processNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CaseEntryTagResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ContactClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n caseUpdateByAdministratorEmail(body?: SendCaseUpdateByAdministratorEmailCommand | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Contact/caseUpdateByAdministratorEmail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCaseUpdateByAdministratorEmail(_response);\r\n });\r\n }\r\n\r\n protected processCaseUpdateByAdministratorEmail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n sendInformationEmail(body?: SendInformationEmailCommand | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Contact/sendInformationEmail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendInformationEmail(_response);\r\n });\r\n }\r\n\r\n protected processSendInformationEmail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DocumentClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n document(organisationId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Document/{organisationId}\";\r\n if (organisationId === undefined || organisationId === null)\r\n throw new Error(\"The parameter 'organisationId' must be defined.\");\r\n url_ = url_.replace(\"{organisationId}\", encodeURIComponent(\"\" + organisationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDocument(_response);\r\n });\r\n }\r\n\r\n protected processDocument(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class OrganisationClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n organisationGet(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrganisationGet(_response);\r\n });\r\n }\r\n\r\n protected processOrganisationGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OrganisationResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n organisationPost(body?: CreateOrganisationRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrganisationPost(_response);\r\n });\r\n }\r\n\r\n protected processOrganisationPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n byId(id: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/byId/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processById(_response);\r\n });\r\n }\r\n\r\n protected processById(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = OrganisationResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n changeOrganisation(organisationId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/change-organisation/{organisationId}\";\r\n if (organisationId === undefined || organisationId === null)\r\n throw new Error(\"The parameter 'organisationId' must be defined.\");\r\n url_ = url_.replace(\"{organisationId}\", encodeURIComponent(\"\" + organisationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processChangeOrganisation(_response);\r\n });\r\n }\r\n\r\n protected processChangeOrganisation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n createNewTinNumber(body?: CreateNewTinNumberRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/CreateNewTinNumber\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateNewTinNumber(_response);\r\n });\r\n }\r\n\r\n protected processCreateNewTinNumber(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n deleteOrganisation(body?: DeleteOrganisationRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/deleteOrganisation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteOrganisation(_response);\r\n });\r\n }\r\n\r\n protected processDeleteOrganisation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n downloadCompanyLogo(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/downloadCompanyLogo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDownloadCompanyLogo(_response);\r\n });\r\n }\r\n\r\n protected processDownloadCompanyLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @param file (optional) \r\n * @return Success\r\n */\r\n upload(body?: Body2 | undefined, file?: FileParameter | null | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/file/upload\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file !== null && file !== undefined)\r\n content_.append(\"File\", file.data, file.fileName ? file.fileName : \"File\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpload(_response);\r\n });\r\n }\r\n\r\n protected processUpload(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n hasCompanyLogo(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/HasCompanyLogo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processHasCompanyLogo(_response);\r\n });\r\n }\r\n\r\n protected processHasCompanyLogo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n document(organisationId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/organisation/byTinNumber/{organisationId}/document\";\r\n if (organisationId === undefined || organisationId === null)\r\n throw new Error(\"The parameter 'organisationId' must be defined.\");\r\n url_ = url_.replace(\"{organisationId}\", encodeURIComponent(\"\" + organisationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDocument(_response);\r\n });\r\n }\r\n\r\n protected processDocument(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n const fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n const fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n tinNumber(tinNumber: string | null, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Organisation/tin-number/{tinNumber}\";\r\n if (tinNumber === undefined || tinNumber === null)\r\n throw new Error(\"The parameter 'tinNumber' must be defined.\");\r\n url_ = url_.replace(\"{tinNumber}\", encodeURIComponent(\"\" + tinNumber));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTinNumber(_response);\r\n });\r\n }\r\n\r\n protected processTinNumber(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PartnerClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n partnerGet(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Partner\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPartnerGet(_response);\r\n });\r\n }\r\n\r\n protected processPartnerGet(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PartnerResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n partnerPost(body?: CreatePartnerRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Partner\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPartnerPost(_response);\r\n });\r\n }\r\n\r\n protected processPartnerPost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n changePartner(partnerId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Partner/change-partner/{partnerId}\";\r\n if (partnerId === undefined || partnerId === null)\r\n throw new Error(\"The parameter 'partnerId' must be defined.\");\r\n url_ = url_.replace(\"{partnerId}\", encodeURIComponent(\"\" + partnerId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processChangePartner(_response);\r\n });\r\n }\r\n\r\n protected processChangePartner(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n organisations(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Partner/organisations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrganisations(_response);\r\n });\r\n }\r\n\r\n protected processOrganisations(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OrganisationResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n subPartners(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Partner/sub-partners\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubPartners(_response);\r\n });\r\n }\r\n\r\n protected processSubPartners(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PartnerResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n tinNumber(tinNumber: string | null, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Partner/tin-number/{tinNumber}\";\r\n if (tinNumber === undefined || tinNumber === null)\r\n throw new Error(\"The parameter 'tinNumber' must be defined.\");\r\n url_ = url_.replace(\"{tinNumber}\", encodeURIComponent(\"\" + tinNumber));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTinNumber(_response);\r\n });\r\n }\r\n\r\n protected processTinNumber(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class StatusClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n new(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Status/new\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNew(_response);\r\n });\r\n }\r\n\r\n protected processNew(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StatusResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TagClient extends AuthorizedApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfig, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n tag(body?: CreateTagsRequest | undefined, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Tag\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTag(_response);\r\n });\r\n }\r\n\r\n protected processTag(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CreateTagResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n case(caseId: string, cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Tag/case/{caseId}\";\r\n if (caseId === undefined || caseId === null)\r\n throw new Error(\"The parameter 'caseId' must be defined.\");\r\n url_ = url_.replace(\"{caseId}\", encodeURIComponent(\"\" + caseId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCase(_response);\r\n });\r\n }\r\n\r\n protected processCase(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TagResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n organisation(cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Tag/organisation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrganisation(_response);\r\n });\r\n }\r\n\r\n protected processOrganisation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TagResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 401) {\r\n const _responseText = response.data;\r\n return throwException(\"Unauthorized\", status, _responseText, _headers);\r\n\r\n } else if (status === 403) {\r\n const _responseText = response.data;\r\n return throwException(\"Forbidden\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UpdateUserRequest implements IUpdateUserRequest {\r\n email?: string | undefined;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IUpdateUserRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateUserRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateUserRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateUserRequest {\r\n email?: string | undefined;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class GetAllUsersResponse implements IGetAllUsersResponse {\r\n userId?: string;\r\n organisationName?: string | undefined;\r\n userName?: string | undefined;\r\n email?: string | undefined;\r\n role?: string | undefined;\r\n createdOn?: Date;\r\n\r\n constructor(data?: IGetAllUsersResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userId = _data[\"userId\"];\r\n this.organisationName = _data[\"organisationName\"];\r\n this.userName = _data[\"userName\"];\r\n this.email = _data[\"email\"];\r\n this.role = _data[\"role\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetAllUsersResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetAllUsersResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userId\"] = this.userId;\r\n data[\"organisationName\"] = this.organisationName;\r\n data[\"userName\"] = this.userName;\r\n data[\"email\"] = this.email;\r\n data[\"role\"] = this.role;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetAllUsersResponse {\r\n userId?: string;\r\n organisationName?: string | undefined;\r\n userName?: string | undefined;\r\n email?: string | undefined;\r\n role?: string | undefined;\r\n createdOn?: Date;\r\n}\r\n\r\nexport class OrganisationTinNumberResponse implements IOrganisationTinNumberResponse {\r\n id?: string;\r\n organisationId?: string;\r\n tinNumber?: string | undefined;\r\n displayName?: string | undefined;\r\n\r\n constructor(data?: IOrganisationTinNumberResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.organisationId = _data[\"organisationId\"];\r\n this.tinNumber = _data[\"tinNumber\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OrganisationTinNumberResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OrganisationTinNumberResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"tinNumber\"] = this.tinNumber;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOrganisationTinNumberResponse {\r\n id?: string;\r\n organisationId?: string;\r\n tinNumber?: string | undefined;\r\n displayName?: string | undefined;\r\n}\r\n\r\nexport enum Status {\r\n _5 = 5,\r\n _10 = 10,\r\n _20 = 20,\r\n _30 = 30,\r\n _40 = 40,\r\n}\r\n\r\nexport class CaseResponseUser implements ICaseResponseUser {\r\n id?: string;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n\r\n constructor(data?: ICaseResponseUser) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseResponseUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseResponseUser();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseResponseUser {\r\n id?: string;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n}\r\n\r\nexport class CaseResponse implements ICaseResponse {\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n organisationTinNumber?: string | undefined;\r\n organisationTin?: OrganisationTinNumberResponse;\r\n status?: Status;\r\n detectedLanguage?: string | undefined;\r\n translatedLanguage?: string | undefined;\r\n translatedTitle?: string | undefined;\r\n translatedDescription?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date | undefined;\r\n deletedOn?: Date | undefined;\r\n deletedBy?: string | undefined;\r\n users?: CaseResponseUser[] | undefined;\r\n\r\n constructor(data?: ICaseResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.organisationTinNumber = _data[\"organisationTinNumber\"];\r\n this.organisationTin = _data[\"organisationTin\"] ? OrganisationTinNumberResponse.fromJS(_data[\"organisationTin\"]) : undefined;\r\n this.status = _data[\"status\"];\r\n this.detectedLanguage = _data[\"detectedLanguage\"];\r\n this.translatedLanguage = _data[\"translatedLanguage\"];\r\n this.translatedTitle = _data[\"translatedTitle\"];\r\n this.translatedDescription = _data[\"translatedDescription\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(CaseResponseUser.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"organisationTinNumber\"] = this.organisationTinNumber;\r\n data[\"organisationTin\"] = this.organisationTin ? this.organisationTin.toJSON() : undefined;\r\n data[\"status\"] = this.status;\r\n data[\"detectedLanguage\"] = this.detectedLanguage;\r\n data[\"translatedLanguage\"] = this.translatedLanguage;\r\n data[\"translatedTitle\"] = this.translatedTitle;\r\n data[\"translatedDescription\"] = this.translatedDescription;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseResponse {\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n organisationTinNumber?: string | undefined;\r\n organisationTin?: OrganisationTinNumberResponse;\r\n status?: Status;\r\n detectedLanguage?: string | undefined;\r\n translatedLanguage?: string | undefined;\r\n translatedTitle?: string | undefined;\r\n translatedDescription?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date | undefined;\r\n deletedOn?: Date | undefined;\r\n deletedBy?: string | undefined;\r\n users?: CaseResponseUser[] | undefined;\r\n}\r\n\r\nexport class CreateCaseRequest implements ICreateCaseRequest {\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n status?: Status;\r\n detectedLanguage?: string | undefined;\r\n translatedLanguage?: string | undefined;\r\n translatedTitle?: string | undefined;\r\n translatedDescription?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date | undefined;\r\n deletedOn?: Date | undefined;\r\n deletedBy?: string | undefined;\r\n users?: CaseResponseUser[] | undefined;\r\n\r\n constructor(data?: ICreateCaseRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.status = _data[\"status\"];\r\n this.detectedLanguage = _data[\"detectedLanguage\"];\r\n this.translatedLanguage = _data[\"translatedLanguage\"];\r\n this.translatedTitle = _data[\"translatedTitle\"];\r\n this.translatedDescription = _data[\"translatedDescription\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(CaseResponseUser.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCaseRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCaseRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"status\"] = this.status;\r\n data[\"detectedLanguage\"] = this.detectedLanguage;\r\n data[\"translatedLanguage\"] = this.translatedLanguage;\r\n data[\"translatedTitle\"] = this.translatedTitle;\r\n data[\"translatedDescription\"] = this.translatedDescription;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCaseRequest {\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n status?: Status;\r\n detectedLanguage?: string | undefined;\r\n translatedLanguage?: string | undefined;\r\n translatedTitle?: string | undefined;\r\n translatedDescription?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date | undefined;\r\n deletedOn?: Date | undefined;\r\n deletedBy?: string | undefined;\r\n users?: CaseResponseUser[] | undefined;\r\n}\r\n\r\nexport class UpdateCaseRequest implements IUpdateCaseRequest {\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n status?: Status;\r\n detectedLanguage?: string | undefined;\r\n translatedLanguage?: string | undefined;\r\n translatedTitle?: string | undefined;\r\n translatedDescription?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date | undefined;\r\n deletedOn?: Date | undefined;\r\n deletedBy?: string | undefined;\r\n users?: CaseResponseUser[] | undefined;\r\n\r\n constructor(data?: IUpdateCaseRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.status = _data[\"status\"];\r\n this.detectedLanguage = _data[\"detectedLanguage\"];\r\n this.translatedLanguage = _data[\"translatedLanguage\"];\r\n this.translatedTitle = _data[\"translatedTitle\"];\r\n this.translatedDescription = _data[\"translatedDescription\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(CaseResponseUser.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateCaseRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateCaseRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"status\"] = this.status;\r\n data[\"detectedLanguage\"] = this.detectedLanguage;\r\n data[\"translatedLanguage\"] = this.translatedLanguage;\r\n data[\"translatedTitle\"] = this.translatedTitle;\r\n data[\"translatedDescription\"] = this.translatedDescription;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateCaseRequest {\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n status?: Status;\r\n detectedLanguage?: string | undefined;\r\n translatedLanguage?: string | undefined;\r\n translatedTitle?: string | undefined;\r\n translatedDescription?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date | undefined;\r\n deletedOn?: Date | undefined;\r\n deletedBy?: string | undefined;\r\n users?: CaseResponseUser[] | undefined;\r\n}\r\n\r\nexport class DeleteCaseRequest implements IDeleteCaseRequest {\r\n id?: string;\r\n\r\n constructor(data?: IDeleteCaseRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteCaseRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteCaseRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteCaseRequest {\r\n id?: string;\r\n}\r\n\r\nexport class AssignCaseRequest implements IAssignCaseRequest {\r\n caseId?: string;\r\n caseWorkerEmails?: string[] | undefined;\r\n\r\n constructor(data?: IAssignCaseRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.caseId = _data[\"caseId\"];\r\n if (Array.isArray(_data[\"caseWorkerEmails\"])) {\r\n this.caseWorkerEmails = [] as any;\r\n for (let item of _data[\"caseWorkerEmails\"])\r\n this.caseWorkerEmails!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AssignCaseRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AssignCaseRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"caseId\"] = this.caseId;\r\n if (Array.isArray(this.caseWorkerEmails)) {\r\n data[\"caseWorkerEmails\"] = [];\r\n for (let item of this.caseWorkerEmails)\r\n data[\"caseWorkerEmails\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAssignCaseRequest {\r\n caseId?: string;\r\n caseWorkerEmails?: string[] | undefined;\r\n}\r\n\r\nexport class GetAllDeletedCasesResponse implements IGetAllDeletedCasesResponse {\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date | undefined;\r\n deletedOn?: Date | undefined;\r\n deletedBy?: string | undefined;\r\n email?: string | undefined;\r\n users?: CaseResponseUser[] | undefined;\r\n\r\n constructor(data?: IGetAllDeletedCasesResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.title = _data[\"title\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.email = _data[\"email\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(CaseResponseUser.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetAllDeletedCasesResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetAllDeletedCasesResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"title\"] = this.title;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"email\"] = this.email;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetAllDeletedCasesResponse {\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date | undefined;\r\n deletedOn?: Date | undefined;\r\n deletedBy?: string | undefined;\r\n email?: string | undefined;\r\n users?: CaseResponseUser[] | undefined;\r\n}\r\n\r\nexport class HasCaseWorkerResponse implements IHasCaseWorkerResponse {\r\n hasCaseWorker?: boolean;\r\n\r\n constructor(data?: IHasCaseWorkerResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hasCaseWorker = _data[\"hasCaseWorker\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HasCaseWorkerResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HasCaseWorkerResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasCaseWorker\"] = this.hasCaseWorker;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHasCaseWorkerResponse {\r\n hasCaseWorker?: boolean;\r\n}\r\n\r\nexport class CaseEntryResponse implements ICaseEntryResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date;\r\n modifiedBy?: string;\r\n entryType?: string | undefined;\r\n comment?: string | undefined;\r\n fileId?: string;\r\n caseEntryFileInternal_FileId?: string;\r\n note?: string | undefined;\r\n tagId?: string;\r\n tagTitle?: string | undefined;\r\n status?: Status;\r\n\r\n constructor(data?: ICaseEntryResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.modifiedBy = _data[\"modifiedBy\"];\r\n this.entryType = _data[\"entryType\"];\r\n this.comment = _data[\"comment\"];\r\n this.fileId = _data[\"fileId\"];\r\n this.caseEntryFileInternal_FileId = _data[\"caseEntryFileInternal_FileId\"];\r\n\r\n this.note = _data[\"note\"];\r\n this.tagId = _data[\"tagId\"];\r\n this.tagTitle = _data[\"tagTitle\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseEntryResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseEntryResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"modifiedBy\"] = this.modifiedBy;\r\n data[\"entryType\"] = this.entryType;\r\n data[\"comment\"] = this.comment;\r\n data[\"fileId\"] = this.fileId;\r\n data[\"caseEntryFileInternal_FileId\"] = this.caseEntryFileInternal_FileId;\r\n\r\n data[\"note\"] = this.note;\r\n data[\"tagId\"] = this.tagId;\r\n data[\"tagTitle\"] = this.tagTitle;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseEntryResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n modifiedOn?: Date;\r\n modifiedBy?: string;\r\n entryType?: string | undefined;\r\n comment?: string | undefined;\r\n fileId?: string;\r\n caseEntryFileInternal_FileId?: string;\r\n\r\n note?: string | undefined;\r\n tagId?: string;\r\n tagTitle?: string | undefined;\r\n status?: Status;\r\n}\r\n\r\nexport class Sentence implements ISentence {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n sentenceText?: string | undefined;\r\n sentenceSentiment?: string | undefined;\r\n sentenceNegativeScore?: number;\r\n sentenceNeutralScore?: number;\r\n sentencePositiveScore?: number;\r\n sentimentId?: string;\r\n sentiment?: Sentiment;\r\n\r\n constructor(data?: ISentence) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.sentenceText = _data[\"sentenceText\"];\r\n this.sentenceSentiment = _data[\"sentenceSentiment\"];\r\n this.sentenceNegativeScore = _data[\"sentenceNegativeScore\"];\r\n this.sentenceNeutralScore = _data[\"sentenceNeutralScore\"];\r\n this.sentencePositiveScore = _data[\"sentencePositiveScore\"];\r\n this.sentimentId = _data[\"sentimentId\"];\r\n this.sentiment = _data[\"sentiment\"] ? Sentiment.fromJS(_data[\"sentiment\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Sentence {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Sentence();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"sentenceText\"] = this.sentenceText;\r\n data[\"sentenceSentiment\"] = this.sentenceSentiment;\r\n data[\"sentenceNegativeScore\"] = this.sentenceNegativeScore;\r\n data[\"sentenceNeutralScore\"] = this.sentenceNeutralScore;\r\n data[\"sentencePositiveScore\"] = this.sentencePositiveScore;\r\n data[\"sentimentId\"] = this.sentimentId;\r\n data[\"sentiment\"] = this.sentiment ? this.sentiment.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISentence {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n sentenceText?: string | undefined;\r\n sentenceSentiment?: string | undefined;\r\n sentenceNegativeScore?: number;\r\n sentenceNeutralScore?: number;\r\n sentencePositiveScore?: number;\r\n sentimentId?: string;\r\n sentiment?: Sentiment;\r\n}\r\n\r\nexport class Sentiment implements ISentiment {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n documentSentiment?: string | undefined;\r\n documentNegativeScore?: number;\r\n documentNeutralScore?: number;\r\n documentPositiveScore?: number;\r\n caseId?: string;\r\n case?: Case;\r\n sentences?: Sentence[] | undefined;\r\n\r\n constructor(data?: ISentiment) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.documentSentiment = _data[\"documentSentiment\"];\r\n this.documentNegativeScore = _data[\"documentNegativeScore\"];\r\n this.documentNeutralScore = _data[\"documentNeutralScore\"];\r\n this.documentPositiveScore = _data[\"documentPositiveScore\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n if (Array.isArray(_data[\"sentences\"])) {\r\n this.sentences = [] as any;\r\n for (let item of _data[\"sentences\"])\r\n this.sentences!.push(Sentence.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Sentiment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Sentiment();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"documentSentiment\"] = this.documentSentiment;\r\n data[\"documentNegativeScore\"] = this.documentNegativeScore;\r\n data[\"documentNeutralScore\"] = this.documentNeutralScore;\r\n data[\"documentPositiveScore\"] = this.documentPositiveScore;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n if (Array.isArray(this.sentences)) {\r\n data[\"sentences\"] = [];\r\n for (let item of this.sentences)\r\n data[\"sentences\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISentiment {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n documentSentiment?: string | undefined;\r\n documentNegativeScore?: number;\r\n documentNeutralScore?: number;\r\n documentPositiveScore?: number;\r\n caseId?: string;\r\n case?: Case;\r\n sentences?: Sentence[] | undefined;\r\n}\r\n\r\nexport class BaseCaseEntry implements IBaseCaseEntry {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string;\r\n case?: Case;\r\n\r\n constructor(data?: IBaseCaseEntry) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseCaseEntry {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseCaseEntry();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseCaseEntry {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string;\r\n case?: Case;\r\n}\r\n\r\nexport class Role implements IRole {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n id?: string;\r\n name?: string | undefined;\r\n users?: User[] | undefined;\r\n\r\n constructor(data?: IRole) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(User.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Role {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Role();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRole {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n id?: string;\r\n name?: string | undefined;\r\n users?: User[] | undefined;\r\n}\r\n\r\nexport class UserOrganisation implements IUserOrganisation {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n userId?: string;\r\n user?: User;\r\n roleId?: string;\r\n role?: Role;\r\n\r\n constructor(data?: IUserOrganisation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\r\n this.roleId = _data[\"roleId\"];\r\n this.role = _data[\"role\"] ? Role.fromJS(_data[\"role\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserOrganisation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserOrganisation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"role\"] = this.role ? this.role.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserOrganisation {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n userId?: string;\r\n user?: User;\r\n roleId?: string;\r\n role?: Role;\r\n}\r\n\r\nexport class UserPartner implements IUserPartner {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n partnerId?: string;\r\n userId?: string;\r\n user?: User;\r\n roleId?: string;\r\n role?: Role;\r\n\r\n constructor(data?: IUserPartner) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.partnerId = _data[\"partnerId\"];\r\n this.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\r\n this.roleId = _data[\"roleId\"];\r\n this.role = _data[\"role\"] ? Role.fromJS(_data[\"role\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserPartner {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserPartner();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"partnerId\"] = this.partnerId;\r\n data[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"role\"] = this.role ? this.role.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserPartner {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n partnerId?: string;\r\n userId?: string;\r\n user?: User;\r\n roleId?: string;\r\n role?: Role;\r\n}\r\n\r\nexport class User implements IUser {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n id?: string;\r\n externalId?: string | undefined;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n organisations?: UserOrganisation[] | undefined;\r\n partners?: UserPartner[] | undefined;\r\n cases?: CaseUser[] | undefined;\r\n currentOrganisationId?: string;\r\n currentPartnerId?: string;\r\n\r\n constructor(data?: IUser) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.id = _data[\"id\"];\r\n this.externalId = _data[\"externalId\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n if (Array.isArray(_data[\"organisations\"])) {\r\n this.organisations = [] as any;\r\n for (let item of _data[\"organisations\"])\r\n this.organisations!.push(UserOrganisation.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"partners\"])) {\r\n this.partners = [] as any;\r\n for (let item of _data[\"partners\"])\r\n this.partners!.push(UserPartner.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"cases\"])) {\r\n this.cases = [] as any;\r\n for (let item of _data[\"cases\"])\r\n this.cases!.push(CaseUser.fromJS(item));\r\n }\r\n this.currentOrganisationId = _data[\"currentOrganisationId\"];\r\n this.currentPartnerId = _data[\"currentPartnerId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): User {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new User();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"id\"] = this.id;\r\n data[\"externalId\"] = this.externalId;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n if (Array.isArray(this.organisations)) {\r\n data[\"organisations\"] = [];\r\n for (let item of this.organisations)\r\n data[\"organisations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.partners)) {\r\n data[\"partners\"] = [];\r\n for (let item of this.partners)\r\n data[\"partners\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.cases)) {\r\n data[\"cases\"] = [];\r\n for (let item of this.cases)\r\n data[\"cases\"].push(item.toJSON());\r\n }\r\n data[\"currentOrganisationId\"] = this.currentOrganisationId;\r\n data[\"currentPartnerId\"] = this.currentPartnerId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUser {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n id?: string;\r\n externalId?: string | undefined;\r\n name?: string | undefined;\r\n email?: string | undefined;\r\n organisations?: UserOrganisation[] | undefined;\r\n partners?: UserPartner[] | undefined;\r\n cases?: CaseUser[] | undefined;\r\n currentOrganisationId?: string;\r\n currentPartnerId?: string;\r\n}\r\n\r\nexport class CaseUser implements ICaseUser {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n userId?: string;\r\n user?: User;\r\n caseId?: string;\r\n case?: Case;\r\n\r\n constructor(data?: ICaseUser) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? User.fromJS(_data[\"user\"]) : undefined;\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseUser();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseUser {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n userId?: string;\r\n user?: User;\r\n caseId?: string;\r\n case?: Case;\r\n}\r\n\r\nexport class Case implements ICase {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n status?: Status;\r\n detectedLanguage?: string | undefined;\r\n translatedLanguage?: string | undefined;\r\n translatedTitle?: string | undefined;\r\n translatedDescription?: string | undefined;\r\n sentimentId?: string;\r\n sentiment?: Sentiment;\r\n caseEntries?: BaseCaseEntry[] | undefined;\r\n users?: CaseUser[] | undefined;\r\n\r\n constructor(data?: ICase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.title = _data[\"title\"];\r\n this.description = _data[\"description\"];\r\n this.status = _data[\"status\"];\r\n this.detectedLanguage = _data[\"detectedLanguage\"];\r\n this.translatedLanguage = _data[\"translatedLanguage\"];\r\n this.translatedTitle = _data[\"translatedTitle\"];\r\n this.translatedDescription = _data[\"translatedDescription\"];\r\n this.sentimentId = _data[\"sentimentId\"];\r\n this.sentiment = _data[\"sentiment\"] ? Sentiment.fromJS(_data[\"sentiment\"]) : undefined;\r\n if (Array.isArray(_data[\"caseEntries\"])) {\r\n this.caseEntries = [] as any;\r\n for (let item of _data[\"caseEntries\"])\r\n this.caseEntries!.push(BaseCaseEntry.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(CaseUser.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Case {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Case();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"title\"] = this.title;\r\n data[\"description\"] = this.description;\r\n data[\"status\"] = this.status;\r\n data[\"detectedLanguage\"] = this.detectedLanguage;\r\n data[\"translatedLanguage\"] = this.translatedLanguage;\r\n data[\"translatedTitle\"] = this.translatedTitle;\r\n data[\"translatedDescription\"] = this.translatedDescription;\r\n data[\"sentimentId\"] = this.sentimentId;\r\n data[\"sentiment\"] = this.sentiment ? this.sentiment.toJSON() : undefined;\r\n if (Array.isArray(this.caseEntries)) {\r\n data[\"caseEntries\"] = [];\r\n for (let item of this.caseEntries)\r\n data[\"caseEntries\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICase {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string | undefined;\r\n title?: string | undefined;\r\n description?: string | undefined;\r\n status?: Status;\r\n detectedLanguage?: string | undefined;\r\n translatedLanguage?: string | undefined;\r\n translatedTitle?: string | undefined;\r\n translatedDescription?: string | undefined;\r\n sentimentId?: string;\r\n sentiment?: Sentiment;\r\n caseEntries?: BaseCaseEntry[] | undefined;\r\n users?: CaseUser[] | undefined;\r\n}\r\n\r\nexport class CreateCaseEntryCommentRequest implements ICreateCaseEntryCommentRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n caseId?: string;\r\n case?: Case;\r\n comment?: string | undefined;\r\n id?: string;\r\n\r\n constructor(data?: ICreateCaseEntryCommentRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n this.comment = _data[\"comment\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCaseEntryCommentRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCaseEntryCommentRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n data[\"comment\"] = this.comment;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCaseEntryCommentRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n caseId?: string;\r\n case?: Case;\r\n comment?: string | undefined;\r\n id?: string;\r\n}\r\n\r\nexport class CaseEntryCommentResponse implements ICaseEntryCommentResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n comment?: string | undefined;\r\n\r\n constructor(data?: ICaseEntryCommentResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseEntryCommentResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseEntryCommentResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseEntryCommentResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n comment?: string | undefined;\r\n}\r\nexport class UpdateCaseEntryFileRequest implements IUpdateCaseEntryFileRequest {\r\n fileId?: string;\r\n publicDownload?: boolean;\r\n\r\n constructor(data?: IUpdateCaseEntryFileRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fileId = _data[\"fileId\"];\r\n this.publicDownload = _data[\"publicDownload\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateCaseEntryFileRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateCaseEntryFileRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fileId\"] = this.fileId;\r\n data[\"publicDownload\"] = this.publicDownload;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateCaseEntryFileRequest {\r\n fileId?: string;\r\n publicDownload?: boolean;\r\n}\r\nexport class CaseEntryFileResponse implements ICaseEntryFileResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n fileId?: string;\r\n\r\n constructor(data?: ICaseEntryFileResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.fileId = _data[\"fileId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseEntryFileResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseEntryFileResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"fileId\"] = this.fileId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseEntryFileResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n fileId?: string;\r\n}\r\n\r\nexport class CaseEntryFileInternalResponse implements ICaseEntryFileInternalResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n fileId?: string;\r\n\r\n constructor(data?: ICaseEntryFileInternalResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.fileId = _data[\"fileId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseEntryFileInternalResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseEntryFileInternalResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"fileId\"] = this.fileId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseEntryFileInternalResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n fileId?: string;\r\n}\r\n\r\nexport class CreateCaseEntryNoteRequest implements ICreateCaseEntryNoteRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n caseId?: string;\r\n case?: Case;\r\n note?: string | undefined;\r\n id?: string;\r\n\r\n constructor(data?: ICreateCaseEntryNoteRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n this.note = _data[\"note\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCaseEntryNoteRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCaseEntryNoteRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n data[\"note\"] = this.note;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCaseEntryNoteRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n caseId?: string;\r\n case?: Case;\r\n note?: string | undefined;\r\n id?: string;\r\n}\r\n\r\nexport class CaseEntryNoteResponse implements ICaseEntryNoteResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n note?: string | undefined;\r\n\r\n constructor(data?: ICaseEntryNoteResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.createdBy = _data[\"createdBy\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.note = _data[\"note\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseEntryNoteResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseEntryNoteResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"note\"] = this.note;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseEntryNoteResponse {\r\n id?: string;\r\n caseId?: string;\r\n createdBy?: string | undefined;\r\n createdOn?: Date;\r\n note?: string | undefined;\r\n}\r\n\r\nexport class CreateCaseEntryStatusRequest implements ICreateCaseEntryStatusRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n caseId?: string;\r\n case?: Case;\r\n status?: Status;\r\n id?: string;\r\n\r\n constructor(data?: ICreateCaseEntryStatusRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n this.status = _data[\"status\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCaseEntryStatusRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCaseEntryStatusRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n data[\"status\"] = this.status;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCaseEntryStatusRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n caseId?: string;\r\n case?: Case;\r\n status?: Status;\r\n id?: string;\r\n}\r\n\r\nexport class CaseEntryStatusResponse implements ICaseEntryStatusResponse {\r\n id?: string;\r\n\r\n constructor(data?: ICaseEntryStatusResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseEntryStatusResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseEntryStatusResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseEntryStatusResponse {\r\n id?: string;\r\n}\r\n\r\nexport class CaseEntryTagResponse implements ICaseEntryTagResponse {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n caseId?: string;\r\n title?: string | undefined;\r\n\r\n constructor(data?: ICaseEntryTagResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.caseId = _data[\"caseId\"];\r\n this.title = _data[\"title\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseEntryTagResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseEntryTagResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"title\"] = this.title;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseEntryTagResponse {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n caseId?: string;\r\n title?: string | undefined;\r\n}\r\n\r\nexport class CaseEntryTag implements ICaseEntryTag {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string;\r\n case?: Case;\r\n tagId?: string;\r\n tag?: Tag;\r\n\r\n constructor(data?: ICaseEntryTag) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n this.tagId = _data[\"tagId\"];\r\n this.tag = _data[\"tag\"] ? Tag.fromJS(_data[\"tag\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CaseEntryTag {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CaseEntryTag();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n data[\"tagId\"] = this.tagId;\r\n data[\"tag\"] = this.tag ? this.tag.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICaseEntryTag {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string;\r\n case?: Case;\r\n tagId?: string;\r\n tag?: Tag;\r\n}\r\n\r\nexport class Tag implements ITag {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n title?: string | undefined;\r\n caseEntries?: CaseEntryTag[] | undefined;\r\n\r\n constructor(data?: ITag) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.title = _data[\"title\"];\r\n if (Array.isArray(_data[\"caseEntries\"])) {\r\n this.caseEntries = [] as any;\r\n for (let item of _data[\"caseEntries\"])\r\n this.caseEntries!.push(CaseEntryTag.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Tag {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Tag();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"title\"] = this.title;\r\n if (Array.isArray(this.caseEntries)) {\r\n data[\"caseEntries\"] = [];\r\n for (let item of this.caseEntries)\r\n data[\"caseEntries\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITag {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n title?: string | undefined;\r\n caseEntries?: CaseEntryTag[] | undefined;\r\n}\r\n\r\nexport class DeleteCaseEntryTagRequest implements IDeleteCaseEntryTagRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string;\r\n case?: Case;\r\n tagId?: string;\r\n tag?: Tag;\r\n\r\n constructor(data?: IDeleteCaseEntryTagRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n this.tagId = _data[\"tagId\"];\r\n this.tag = _data[\"tag\"] ? Tag.fromJS(_data[\"tag\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteCaseEntryTagRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteCaseEntryTagRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n data[\"tagId\"] = this.tagId;\r\n data[\"tag\"] = this.tag ? this.tag.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteCaseEntryTagRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string;\r\n case?: Case;\r\n tagId?: string;\r\n tag?: Tag;\r\n}\r\n\r\nexport class CreateCaseEntryTagRequest implements ICreateCaseEntryTagRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string;\r\n case?: Case;\r\n tagId?: string;\r\n tag?: Tag;\r\n\r\n constructor(data?: ICreateCaseEntryTagRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.createdBy = _data[\"createdBy\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n this.deletedBy = _data[\"deletedBy\"];\r\n this.deletedOn = _data[\"deletedOn\"] ? new Date(_data[\"deletedOn\"].toString()) : undefined;\r\n this.organisationId = _data[\"organisationId\"];\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.case = _data[\"case\"] ? Case.fromJS(_data[\"case\"]) : undefined;\r\n this.tagId = _data[\"tagId\"];\r\n this.tag = _data[\"tag\"] ? Tag.fromJS(_data[\"tag\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCaseEntryTagRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCaseEntryTagRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"createdBy\"] = this.createdBy;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n data[\"deletedBy\"] = this.deletedBy;\r\n data[\"deletedOn\"] = this.deletedOn ? this.deletedOn.toISOString() : undefined;\r\n data[\"organisationId\"] = this.organisationId;\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"case\"] = this.case ? this.case.toJSON() : undefined;\r\n data[\"tagId\"] = this.tagId;\r\n data[\"tag\"] = this.tag ? this.tag.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCaseEntryTagRequest {\r\n createdOn?: Date;\r\n createdBy?: string;\r\n modifiedOn?: Date | undefined;\r\n deletedBy?: string;\r\n deletedOn?: Date | undefined;\r\n organisationId?: string;\r\n id?: string;\r\n caseId?: string;\r\n case?: Case;\r\n tagId?: string;\r\n tag?: Tag;\r\n}\r\n\r\nexport class CreateCaseEntryTagsRequest implements ICreateCaseEntryTagsRequest {\r\n tags?: CreateCaseEntryTagRequest[] | undefined;\r\n\r\n constructor(data?: ICreateCaseEntryTagsRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(CreateCaseEntryTagRequest.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateCaseEntryTagsRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateCaseEntryTagsRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateCaseEntryTagsRequest {\r\n tags?: CreateCaseEntryTagRequest[] | undefined;\r\n}\r\n\r\nexport class SendCaseUpdateByAdministratorEmailCommand implements ISendCaseUpdateByAdministratorEmailCommand {\r\n id?: string;\r\n caseId?: string | undefined;\r\n\r\n constructor(data?: ISendCaseUpdateByAdministratorEmailCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendCaseUpdateByAdministratorEmailCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendCaseUpdateByAdministratorEmailCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISendCaseUpdateByAdministratorEmailCommand {\r\n id?: string;\r\n caseId?: string | undefined;\r\n}\r\n\r\nexport class SendInformationEmailCommand implements ISendInformationEmailCommand {\r\n id?: string;\r\n receivingEmail?: string | undefined;\r\n emailBody?: string | undefined;\r\n\r\n constructor(data?: ISendInformationEmailCommand) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.receivingEmail = _data[\"receivingEmail\"];\r\n this.emailBody = _data[\"emailBody\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendInformationEmailCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendInformationEmailCommand();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"receivingEmail\"] = this.receivingEmail;\r\n data[\"emailBody\"] = this.emailBody;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISendInformationEmailCommand {\r\n id?: string;\r\n receivingEmail?: string | undefined;\r\n emailBody?: string | undefined;\r\n}\r\n\r\nexport class OrganisationResponse implements IOrganisationResponse {\r\n id?: string;\r\n name?: string | undefined;\r\n tinNumber?: string | undefined;\r\n organisationTinNumbers?: OrganisationTinNumberResponse[] | undefined;\r\n selected?: boolean;\r\n\r\n constructor(data?: IOrganisationResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.tinNumber = _data[\"tinNumber\"];\r\n if (Array.isArray(_data[\"organisationTinNumbers\"])) {\r\n this.organisationTinNumbers = [] as any;\r\n for (let item of _data[\"organisationTinNumbers\"])\r\n this.organisationTinNumbers!.push(OrganisationTinNumberResponse.fromJS(item));\r\n }\r\n this.selected = _data[\"selected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OrganisationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OrganisationResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"tinNumber\"] = this.tinNumber;\r\n if (Array.isArray(this.organisationTinNumbers)) {\r\n data[\"organisationTinNumbers\"] = [];\r\n for (let item of this.organisationTinNumbers)\r\n data[\"organisationTinNumbers\"].push(item.toJSON());\r\n }\r\n data[\"selected\"] = this.selected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOrganisationResponse {\r\n id?: string;\r\n name?: string | undefined;\r\n tinNumber?: string | undefined;\r\n organisationTinNumbers?: OrganisationTinNumberResponse[] | undefined;\r\n selected?: boolean;\r\n}\r\n\r\nexport class CreateOrganisationRequest implements ICreateOrganisationRequest {\r\n name?: string | undefined;\r\n country?: string | undefined;\r\n tinNumber?: string | undefined;\r\n address?: string | undefined;\r\n email?: string | undefined;\r\n fullName?: string | undefined;\r\n ownerEmail?: string | undefined;\r\n\r\n constructor(data?: ICreateOrganisationRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.country = _data[\"country\"];\r\n this.tinNumber = _data[\"tinNumber\"];\r\n this.address = _data[\"address\"];\r\n this.email = _data[\"email\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.ownerEmail = _data[\"ownerEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateOrganisationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateOrganisationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"country\"] = this.country;\r\n data[\"tinNumber\"] = this.tinNumber;\r\n data[\"address\"] = this.address;\r\n data[\"email\"] = this.email;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"ownerEmail\"] = this.ownerEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateOrganisationRequest {\r\n name?: string | undefined;\r\n country?: string | undefined;\r\n tinNumber?: string | undefined;\r\n address?: string | undefined;\r\n email?: string | undefined;\r\n fullName?: string | undefined;\r\n ownerEmail?: string | undefined;\r\n}\r\n\r\nexport class CreateNewTinNumberRequest implements ICreateNewTinNumberRequest {\r\n displayName?: string | undefined;\r\n tinNumber?: string | undefined;\r\n\r\n constructor(data?: ICreateNewTinNumberRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.displayName = _data[\"displayName\"];\r\n this.tinNumber = _data[\"tinNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateNewTinNumberRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateNewTinNumberRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"displayName\"] = this.displayName;\r\n data[\"tinNumber\"] = this.tinNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateNewTinNumberRequest {\r\n displayName?: string | undefined;\r\n tinNumber?: string | undefined;\r\n}\r\n\r\nexport class DeleteOrganisationRequest implements IDeleteOrganisationRequest {\r\n organisationId?: string;\r\n\r\n constructor(data?: IDeleteOrganisationRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.organisationId = _data[\"organisationId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteOrganisationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteOrganisationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"organisationId\"] = this.organisationId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteOrganisationRequest {\r\n organisationId?: string;\r\n}\r\n\r\nexport class PartnerResponse implements IPartnerResponse {\r\n id?: string;\r\n name?: string | undefined;\r\n tinNumber?: string | undefined;\r\n email?: string | undefined;\r\n selected?: boolean;\r\n\r\n constructor(data?: IPartnerResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.tinNumber = _data[\"tinNumber\"];\r\n this.email = _data[\"email\"];\r\n this.selected = _data[\"selected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PartnerResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PartnerResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"tinNumber\"] = this.tinNumber;\r\n data[\"email\"] = this.email;\r\n data[\"selected\"] = this.selected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPartnerResponse {\r\n id?: string;\r\n name?: string | undefined;\r\n tinNumber?: string | undefined;\r\n email?: string | undefined;\r\n selected?: boolean;\r\n}\r\n\r\nexport class CreatePartnerRequest implements ICreatePartnerRequest {\r\n name?: string | undefined;\r\n tinNumber?: string | undefined;\r\n partnerEmail?: string | undefined;\r\n email?: string | undefined;\r\n fullName?: string | undefined;\r\n\r\n constructor(data?: ICreatePartnerRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.tinNumber = _data[\"tinNumber\"];\r\n this.partnerEmail = _data[\"partnerEmail\"];\r\n this.email = _data[\"email\"];\r\n this.fullName = _data[\"fullName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreatePartnerRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreatePartnerRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"tinNumber\"] = this.tinNumber;\r\n data[\"partnerEmail\"] = this.partnerEmail;\r\n data[\"email\"] = this.email;\r\n data[\"fullName\"] = this.fullName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreatePartnerRequest {\r\n name?: string | undefined;\r\n tinNumber?: string | undefined;\r\n partnerEmail?: string | undefined;\r\n email?: string | undefined;\r\n fullName?: string | undefined;\r\n}\r\n\r\nexport class StatusResponse implements IStatusResponse {\r\n status?: Status;\r\n\r\n constructor(data?: IStatusResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatusResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatusResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatusResponse {\r\n status?: Status;\r\n}\r\n\r\nexport class CreateTagsRequest implements ICreateTagsRequest {\r\n tagTitles?: string[] | undefined;\r\n\r\n constructor(data?: ICreateTagsRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"tagTitles\"])) {\r\n this.tagTitles = [] as any;\r\n for (let item of _data[\"tagTitles\"])\r\n this.tagTitles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateTagsRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateTagsRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.tagTitles)) {\r\n data[\"tagTitles\"] = [];\r\n for (let item of this.tagTitles)\r\n data[\"tagTitles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateTagsRequest {\r\n tagTitles?: string[] | undefined;\r\n}\r\n\r\nexport class CreateTagResponse implements ICreateTagResponse {\r\n id?: string;\r\n caseId?: string;\r\n tagTitle?: string | undefined;\r\n tagId?: string;\r\n modifiedOn?: Date;\r\n\r\n constructor(data?: ICreateTagResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.tagTitle = _data[\"tagTitle\"];\r\n this.tagId = _data[\"tagId\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateTagResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateTagResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"tagTitle\"] = this.tagTitle;\r\n data[\"tagId\"] = this.tagId;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateTagResponse {\r\n id?: string;\r\n caseId?: string;\r\n tagTitle?: string | undefined;\r\n tagId?: string;\r\n modifiedOn?: Date;\r\n}\r\n\r\nexport class TagResponse implements ITagResponse {\r\n id?: string;\r\n caseId?: string;\r\n tagTitle?: string | undefined;\r\n tagId?: string;\r\n modifiedOn?: Date;\r\n\r\n constructor(data?: ITagResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.caseId = _data[\"caseId\"];\r\n this.tagTitle = _data[\"tagTitle\"];\r\n this.tagId = _data[\"tagId\"];\r\n this.modifiedOn = _data[\"modifiedOn\"] ? new Date(_data[\"modifiedOn\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TagResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TagResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"caseId\"] = this.caseId;\r\n data[\"tagTitle\"] = this.tagTitle;\r\n data[\"tagId\"] = this.tagId;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITagResponse {\r\n id?: string;\r\n caseId?: string;\r\n tagTitle?: string | undefined;\r\n tagId?: string;\r\n modifiedOn?: Date;\r\n}\r\n\r\nexport class DeleteUserRequest implements IDeleteUserRequest {\r\n id?: string;\r\n\r\n constructor(data?: IDeleteUserRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeleteUserRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeleteUserRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeleteUserRequest {\r\n id?: string;\r\n}\r\n\r\nexport class GetCurrentUserResponse implements IGetCurrentUserResponse {\r\n id?: string;\r\n isAdmin?: boolean;\r\n\r\n constructor(data?: IGetCurrentUserResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.isAdmin = _data[\"isAdmin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetCurrentUserResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetCurrentUserResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetCurrentUserResponse {\r\n id?: string;\r\n isAdmin?: boolean;\r\n}\r\n\r\nexport class GetCurrentUserRoleResponse implements IGetCurrentUserRoleResponse {\r\n isLegalTechPartner?: boolean;\r\n\r\n constructor(data?: IGetCurrentUserRoleResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isLegalTechPartner = _data[\"isLegalTechPartner\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetCurrentUserRoleResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetCurrentUserRoleResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isLegalTechPartner\"] = this.isLegalTechPartner;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetCurrentUserRoleResponse {\r\n isLegalTechPartner?: boolean;\r\n}\r\n\r\nexport class UserResponse implements IUserResponse {\r\n email?: string | undefined;\r\n name?: string | undefined;\r\n organisationAdministrator?: boolean;\r\n\r\n constructor(data?: IUserResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.name = _data[\"name\"];\r\n this.organisationAdministrator = _data[\"organisationAdministrator\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"name\"] = this.name;\r\n data[\"organisationAdministrator\"] = this.organisationAdministrator;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserResponse {\r\n email?: string | undefined;\r\n name?: string | undefined;\r\n organisationAdministrator?: boolean;\r\n}\r\n\r\nexport class UserRoleResponse implements IUserRoleResponse {\r\n id?: string;\r\n email?: string | undefined;\r\n name?: string | undefined;\r\n roleId?: string;\r\n organisationAdministrator?: boolean;\r\n\r\n constructor(data?: IUserRoleResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.email = _data[\"email\"];\r\n this.name = _data[\"name\"];\r\n this.roleId = _data[\"roleId\"];\r\n this.organisationAdministrator = _data[\"organisationAdministrator\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserRoleResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserRoleResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"email\"] = this.email;\r\n data[\"name\"] = this.name;\r\n data[\"roleId\"] = this.roleId;\r\n data[\"organisationAdministrator\"] = this.organisationAdministrator;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserRoleResponse {\r\n id?: string;\r\n email?: string | undefined;\r\n name?: string | undefined;\r\n roleId?: string;\r\n organisationAdministrator?: boolean;\r\n}\r\n\r\nexport class UpdateUserNameRequest implements IUpdateUserNameRequest {\r\n id?: string;\r\n name?: string | undefined;\r\n\r\n constructor(data?: IUpdateUserNameRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateUserNameRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateUserNameRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateUserNameRequest {\r\n id?: string;\r\n name?: string | undefined;\r\n}\r\n\r\nexport class Body implements IBody {\r\n file?: string | undefined;\r\n caseId?: string;\r\n\r\n constructor(data?: IBody) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.file = _data[\"File\"];\r\n this.caseId = _data[\"CaseId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Body {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Body();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"File\"] = this.file;\r\n data[\"CaseId\"] = this.caseId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBody {\r\n file?: string | undefined;\r\n caseId?: string;\r\n}\r\n\r\nexport class Body2 implements IBody2 {\r\n file?: string | undefined;\r\n\r\n constructor(data?: IBody2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.file = _data[\"File\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Body2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Body2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"File\"] = this.file;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBody2 {\r\n file?: string | undefined;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}","import { AxiosRequestConfig } from \"axios\";\r\nimport { } from '@auth0/auth0-spa-js'\r\nimport { ApiConfig } from './ApiConfig';\r\nimport store from './'\r\n\r\n\r\nexport class AuthorizedApiBase {\r\n private apiConfig: ApiConfig;\r\n\r\n protected constructor(apiConfig: ApiConfig) {\r\n this.apiConfig = apiConfig;\r\n }\r\n\r\n protected transformOptions = async (options: AxiosRequestConfig): Promise => {\r\n const { organisation } = store.getState();\r\n\r\n options.headers = {\r\n ...options.headers,\r\n Authorization: 'Bearer ' + await this.apiConfig.getAuthToken(),\r\n };\r\n return Promise.resolve(options);\r\n };\r\n\r\n protected getBaseUrl(baseUrl: string) : string {\r\n return process.env.REACT_APP_API_URL!;\r\n }\r\n}","import createAuth0Client, { Auth0Client } from '@auth0/auth0-spa-js';\r\n\r\nexport class ApiConfig {\r\n\r\n client: Auth0Client | undefined;\r\n\r\n async getAuthToken() {\r\n if (this.client === undefined){\r\n this.client = await createAuth0Client({\r\n domain: \"legaltech.eu.auth0.com\",\r\n client_id: \"6f6Vw1917d2QFqjiMYPeC3m5nP7OTJ1z\",\r\n redirect_uri: process.env.REACT_APP_APPLICATION_URL,\r\n audience: \"https://api.whistle.360-advisor.com\",\r\n scope: \"read:current_user update:current_user_metadata\",\r\n useRefreshTokens: true,\r\n cacheLocation: \"localstorage\"\r\n })\r\n }\r\n return await this.client.getTokenSilently();\r\n }\r\n}\r\n","import React from \"react\";\r\nexport const LanguageContext = React.createContext();\r\nexport const LanguageConsumer = LanguageContext.Consumer;\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { LanguageConsumer } from \"./LanguageContext\";\r\n\r\nclass TranslatableText extends Component {\r\n render() {\r\n let { translationKey, languages } = this.props;\r\n return (\r\n \r\n {\r\n () =>\r\n languages[translationKey] !== undefined\r\n ? languages[translationKey]\r\n : translationKey\r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = state => ({\r\n languages: state.language.language_resources,\r\n});\r\n\r\nexport default connect(mapStateToProps)(TranslatableText);\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux'\r\nimport '../../styles/NavMenu.css';\r\nimport {\r\n Collapse,\r\n Navbar,\r\n Nav,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n Dropdown\r\n} from 'reactstrap';\r\nimport { OrganisationClient, OrganisationResponse } from '../../ApiClient';\r\nimport { ApplicationState } from '../../store';\r\nimport { actionCreators } from '../../store/OrganisationState';\r\nimport { push } from 'connected-react-router'\r\nimport { Link } from 'react-router-dom'\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faBuilding } from '@fortawesome/free-solid-svg-icons';\r\nimport { ApiConfig } from '../../ApiConfig';\r\nimport Tippy from \"@tippyjs/react\";\r\n\r\ninterface IProps {\r\n organisationId: string,\r\n name: string,\r\n tinNumber: string,\r\n organisations: OrganisationResponse[],\r\n dispatch: any,\r\n history: any,\r\n}\r\ninterface IState{\r\n orgDropdownOpen: boolean;\r\n}\r\nclass ChangeOrganisation extends React.PureComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n orgDropdownOpen : false\r\n }\r\n }\r\n\r\n organisationClient = new OrganisationClient(new ApiConfig())\r\n\r\n orgToggle = () => {\r\n this.setState(prevState => ({\r\n orgDropdownOpen: !prevState.orgDropdownOpen\r\n }));\r\n };\r\n changeCurrentOrganisation = (organisation: OrganisationResponse) => {\r\n this.organisationClient\r\n .changeOrganisation(organisation.id!)\r\n .then(r => \r\n {\r\n this.props.dispatch(actionCreators\r\n .setCurrentOrganisationInformation(organisation.id!, organisation.name!, organisation.tinNumber!))\r\n this.props.dispatch(push('/'))\r\n });\r\n }\r\n\r\n renderOrganisations = () => {\r\n if (this.props.organisations.length < 2) {\r\n return [];\r\n }\r\n let items = this.props.organisations.sort().map(organisation => {\r\n return (\r\n \r\n {organisation.name}\r\n \r\n )\r\n })\r\n\r\n items = [\r\n ,\r\n ...items,\r\n ]\r\n\r\n return items;\r\n }\r\n\r\n public render() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n organisationId: state && state.organisation && state.organisation.currentOrganisationId,\r\n name: state && state.organisation && state.organisation.currentOrganisationName,\r\n organisations: state && state.organisation && state.organisation.organisations,\r\n tinNumber: state && state.organisation && state.organisation.currentOrganisationTinNumber\r\n} as IProps)\r\n\r\nexport default connect(mapState)(ChangeOrganisation)\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux'\r\nimport '../../styles/NavMenu.css'\r\nimport {\r\n Collapse,\r\n Navbar,\r\n NavbarToggler,\r\n Nav,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n Dropdown\r\n} from 'reactstrap';\r\nimport { ApplicationState } from '../../store';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faFlag, faFlagCheckered, faGlobe } from '@fortawesome/free-solid-svg-icons';\r\nimport { Config } from '../../config/Config';\r\nimport Tippy from \"@tippyjs/react\";\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\n\r\n\r\ninterface IProps {\r\n dispatch: any,\r\n history: any,\r\n language: any | undefined\r\n}\r\ninterface IState {\r\n currLang: string | null;\r\n languageDropdownOpen: boolean;\r\n}\r\nclass ChangeLanguage extends React.PureComponent {\r\n constructor(props: any) {\r\n super(props);\r\n let lang = localStorage.getItem('language');\r\n this.state = {\r\n currLang: lang,\r\n languageDropdownOpen: false\r\n }\r\n }\r\n\r\n languageToggle = () => {\r\n this.setState(prevState => ({\r\n languageDropdownOpen: !prevState.languageDropdownOpen\r\n }));\r\n };\r\n\r\n public render() {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction updateLanguage(value: string, e: React.MouseEvent): void {\r\n localStorage.setItem('language', value);\r\n window.location.reload();\r\n}\r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as IProps)\r\n\r\nexport default connect(mapState)(ChangeLanguage)\r\n","import * as React from 'react'\r\nimport { useAuth0 } from '@auth0/auth0-react'\r\nimport TranslatableText from \"../Language/TranslateableText\";\r\nimport { ApplicationState } from '../store';\r\nimport { connect } from 'react-redux';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSignOutAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport Tippy from \"@tippyjs/react\";\r\ninterface Props {\r\n language: any | undefined\r\n}\r\nexport const LogoutButton: React.FC<{}> = ({}) => {\r\n const { logout } = useAuth0();\r\n return (\r\n }>\r\n \r\n logout({\r\n returnTo: window.location.origin,\r\n })\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n}; \r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as Props)\r\n\r\nexport default connect(mapState)(LogoutButton)\r\n","import React, { useState } from 'react';\r\nimport '../styles/NavMenu.css';\r\nimport { DocumentClient, OrganisationClient, UserClient, FileResponse } from '../ApiClient';\r\nimport { ApiConfig } from '../ApiConfig';\r\nimport { connect } from 'react-redux';\r\nimport { ApplicationState } from '../store';\r\nimport { toast } from 'react-toastify'\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport { Link } from 'react-router-dom';\r\nimport { Col, Nav, NavItem, NavLink, Row } from 'reactstrap';\r\nimport TranslatableText from '../Language/TranslateableText'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faBuilding, faHome, faQuestionCircle, faInfoCircle, faCogs, faArchive } from '@fortawesome/free-solid-svg-icons'\r\nimport ChangeOrganisation from './organisation/ChangeOrganisation';\r\nimport ChangeLanguage from './language/ChangeLanguage';\r\nimport { LogoutButton } from './Logout';\r\nimport ReactDOM from 'react-dom';\r\nimport Tippy from \"@tippyjs/react\";\r\n\r\ninterface IProps {\r\n organisationId: string,\r\n name: string,\r\n language: any | undefined,\r\n tinNumber: string,\r\n}\r\n\r\nconst NavMenuSide: React.FC = ({ name, tinNumber, organisationId }) => {\r\n\r\n const notifyToast = () => {\r\n toast.configure();\r\n toast('Downloading..', {\r\n position: \"bottom-left\",\r\n autoClose: 3500,\r\n hideProgressBar: true,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n };\r\n let isAdmin = true;\r\n const client = new OrganisationClient(new ApiConfig());\r\n const userClient = new UserClient(new ApiConfig());\r\n let companyLogo;\r\n const [hasCompanyLogo, setHasCompanyLogo] = useState(false);\r\n const [imgUrl, setImgUrl] = useState(\"\");\r\n\r\n\r\n client.hasCompanyLogo()\r\n .then(response => {\r\n if (response === false) {\r\n setHasCompanyLogo(false)\r\n } else {\r\n client.downloadCompanyLogo()\r\n .then(response => {\r\n const imageBlob = response.data;\r\n const reader = new FileReader();\r\n reader.readAsDataURL(imageBlob);\r\n reader.onloadend = () => {\r\n const base64data = reader.result;\r\n setImgUrl(base64data);\r\n\r\n };\r\n setHasCompanyLogo(true);\r\n })\r\n }\r\n })\r\n\r\n userClient.currentUser().then(response => {\r\n if (response.isAdmin != true) { // wierd fix, but the way it works.. \r\n isAdmin = false;\r\n }\r\n })\r\n return (\r\n
\r\n \r\n \r\n {/* Bottom nav below */ }\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n organisationId: state && state.organisation && state.organisation.currentOrganisationId,\r\n name: state && state.organisation && state.organisation.currentOrganisationName,\r\n tinNumber: state && state.organisation && state.organisation.currentOrganisationTinNumber,\r\n language: state && state.language.language_resources\r\n} as IProps)\r\n\r\nexport default connect(mapState)(NavMenuSide)\r\n","import * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Container, Row } from 'reactstrap';\r\nimport NavMenuTop from './NavMenuTop';\r\nimport NavMenuSide from './NavMenuSide';\r\nimport { actionCreators } from '../store/OrganisationState'\r\nimport { ApiConfig } from '../ApiConfig';\r\nimport {OrganisationClient, UserClient} from '../ApiClient';\r\nimport { Loading } from './loading/loading'\r\nimport getUserLocale from 'get-user-locale';\r\nimport {fetchLanguageResources} from '../store/languageResourcesActions'\r\nimport store from '..';\r\nimport '../styles/custom.scss'\r\nimport {userActionCreators} from \"../store/UserState\";\r\nimport {toast} from \"react-toastify\";\r\n\r\ninterface IProps {\r\n fetchLanguageResources: any\r\n}\r\n\r\ninterface IState {\r\n children?: React.ReactNode,\r\n loading: boolean\r\n}\r\n\r\nclass Layout extends React.PureComponent {\r\n constructor(props: IProps) {\r\n super(props)\r\n this.state = {\r\n children: this.props.children,\r\n loading: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n const client = new OrganisationClient(new ApiConfig());\r\n const userClient = new UserClient(new ApiConfig());\r\n Promise.all([\r\n client.organisationGet().then(response => {\r\n store.dispatch(actionCreators.setOrganisations(response))\r\n }),\r\n userClient.currentUser().then(user => {\r\n store.dispatch(userActionCreators.setCurrentUserInformation(user.id!, user.isAdmin!))\r\n })\r\n ])\r\n .catch(() => toast.error(\"An error occurred\"))\r\n .finally(() => this.setState({loading: false}));\r\n this.populateState()\r\n }\r\n async populateState(){\r\n let lang = localStorage.getItem('language');\r\n if (lang === undefined || lang === null) {\r\n lang = getUserLocale().substring(0,2);\r\n localStorage.setItem('language', lang) \r\n };\r\n await this.props.fetchLanguageResources(lang)\r\n .then(() =>{\r\n this.setState({loading: false});\r\n })\r\n }\r\n public render() {\r\n if (this.state.loading){\r\n return \r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n {this.props.children}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\nconst mapDispatchToProps = {\r\n fetchLanguageResources,\r\n}\r\n\r\nexport default connect(null, mapDispatchToProps)(Layout);\r\n","import React, { PureComponent } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faCheckSquare, faBriefcase, faCheckDouble, faFolderOpen, faTimesCircle } from '@fortawesome/free-solid-svg-icons'\r\nimport {\r\n BarChart,\r\n Bar,\r\n XAxis,\r\n YAxis,\r\n CartesianGrid,\r\n Tooltip,\r\n ResponsiveContainer\r\n} from \"recharts\";\r\nimport { Loading } from '../loading/loading';\r\nimport { StatusClient, StatusResponse } from '../../ApiClient';\r\nimport { ApiConfig } from '../../ApiConfig';\r\n\r\n\r\nlet data = [{}]\r\nconst setData = (language) => {\r\n return data = [ // Icons not working in this context, fix or remove at later point\r\n {\r\n name: language['status.new'],\r\n trimmedName: \"\",\r\n icon: ,\r\n value: 0,\r\n },\r\n {\r\n name: language['status.accepted'],\r\n trimmedName: \"\",\r\n icon: ,\r\n value: 0,\r\n },\r\n {\r\n name: language['status.on_going'],\r\n trimmedName: \"\",\r\n icon: ,\r\n value: 0,\r\n },\r\n {\r\n name: language['status.resolved'],\r\n trimmedName: \"\",\r\n icon: ,\r\n value: 0,\r\n },\r\n {\r\n name: language['status.rejected'],\r\n trimmedName: \"\",\r\n icon: ,\r\n value: 0,\r\n }\r\n ]\r\n};\r\n\r\nconst handleStatus = (statuses) => {\r\n for (let i = 0; i < data.length; i++) {\r\n data[i].trimmedName = trimData(data[i].name, 4, true)\r\n }\r\n statuses.map((s) => {\r\n let status = s.status\r\n switch (status) {\r\n case 5:\r\n data[0].value++\r\n break;\r\n case 10:\r\n data[1].value++\r\n break;\r\n case 20:\r\n data[2].value++\r\n break;\r\n case 30:\r\n data[3].value++\r\n break;\r\n case 40:\r\n data[4].value++\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n}\r\nconst CustomTooltip = ({ active, payload }) => {\r\n if (active && payload && payload.length) {\r\n return (\r\n
\r\n

{`${payload[0].payload.name}: ${payload[0].value}`}

\r\n
\r\n );\r\n }\r\n return null;\r\n};\r\nconst trimData = (data, length, endWithDots) => {\r\n let trimmedData = (data).substring(0, length)\r\n if (endWithDots && data.length > length)\r\n return trimmedData + \"...\";\r\n else\r\n return trimmedData\r\n}\r\nlet statusClient = new StatusClient(new ApiConfig());\r\nlet containerHeight = 300;\r\nclass StatusChart extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n windowHeight: window.innerHeight,\r\n loading: true,\r\n statusForChart: []\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.handleResize();\r\n data = setData(this.props.language);\r\n statusClient.new()\r\n .then(res => {\r\n if (res.length > 0) {\r\n handleStatus(res, this.props.language);\r\n }\r\n this.setState({ loading: false })\r\n });\r\n window.addEventListener('resize', this.handleResize);\r\n }\r\n componentDidUpdate() {\r\n this.handleResize();\r\n window.addEventListener('resize', this.handleResize);\r\n if (data[0].value == 0) {\r\n statusClient.new()\r\n .then(res => {\r\n if (res.length > 0) {\r\n handleStatus(res, this.props.language);\r\n }\r\n this.setState({ loading: false })\r\n });\r\n }\r\n }\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.handleResize)\r\n }\r\n handleResize = () => {\r\n this.setState({\r\n windowHeight: window.innerHeight\r\n });\r\n if (this.state.windowHeight >= 900) {\r\n containerHeight = 300;\r\n }\r\n if (this.state.windowHeight < 900) {\r\n containerHeight = 200;\r\n }\r\n }\r\n\r\n render() {\r\n if (this.state.loading) return ()\r\n else {\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n } />\r\n \r\n\r\n \r\n \r\n );\r\n }\r\n }\r\n}\r\n\r\nexport default StatusChart","import React, { PureComponent } from 'react';\r\nimport { PieChart, Pie, Legend, Tooltip, ResponsiveContainer, Cell } from 'recharts';\r\nimport '../../styles/chart.css'\r\nimport { Loading } from '../loading/loading'\r\n\r\nlet data = [];\r\nconst COLORS = ['#0088FE', '#00C49F', '#FFBB28', '#FF8042', '#9c28b1', '#3f51b5', '#1b99f3', '#039588', '#8cc34b', '#feec3a', '#fec208', '#2196f3', '#fd9800', '#fe5721', '#f54337','#cddb38', '#93d6c3', '#a0294c', '#a77658', '#82cc68' ];\r\nconst RADIAN = Math.PI / 180;\r\nconst renderCustomizedLabel = ({ cx, cy, midAngle, innerRadius, outerRadius, percent, index }) => {\r\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\r\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\r\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\r\n\r\n return (\r\n cx ? 'start' : 'end'} dominantBaseline=\"central\">\r\n {`${(percent * 100).toFixed(0)}%`}\r\n \r\n );\r\n};\r\nlet containerHeight = 300;\r\nlet cx = 60;\r\nlet cy = 42;\r\n\r\nclass TagsChart extends PureComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n windowHeight: window.innerHeight,\r\n tags: this.props.caseEntryTags,\r\n loading: true,\r\n renderData: false\r\n }\r\n }\r\n componentDidMount(){\r\n data= [];\r\n\r\n this.handleResize();\r\n window.addEventListener('resize', this.handleResize)\r\n this.setState({tags: []}, ()=> this.setState({tags: this.props.caseEntryTags}))\r\n this.handleTags();\r\n }\r\n componentDidUpdate(){\r\n data= [];\r\n\r\n this.handleResize();\r\n window.addEventListener('resize', this.handleResize)\r\n this.setState({tags: []}, ()=> this.setState({tags: this.props.caseEntryTags})) \r\n this.handleTags();\r\n }\r\n // Manual resizing.. \r\n handleResize = () => {\r\n this.setState({\r\n windowHeight: window.innerHeight \r\n });\r\n if(this.state.windowHeight > 900){\r\n containerHeight = 300;\r\n cy = 42;\r\n this.setState({loading: false})\r\n } else if(this.state.windowHeight <= 900){\r\n containerHeight = 200;\r\n cy = 40;\r\n } \r\n }\r\n componentWillUnmount(){\r\n window.removeEventListener('resize', this.handleResize)\r\n this.setState({tags:[]})\r\n }\r\n handleTagsOccurence = (value) => {\r\n return this.props.caseEntryTags.filter((v) => (v.title=== value)).length;\r\n }\r\n handleTags = () =>{\r\n \r\n this.props.caseEntryTags.map((tag) => {\r\n let amount = this.handleTagsOccurence(tag.title)\r\n tag.amount = amount;\r\n });\r\n this.props.caseEntryTags.map((tag) =>{\r\n if(!data.some(el => el.name === tag.title)){\r\n data.push({name : tag.title, value: tag.amount})\r\n }\r\n });\r\n this.setState({loading: false})\r\n }\r\n \r\n render() {\r\n return (<>\r\n {this.state.loading &&\r\n \r\n }{!this.state.loading &&\r\n \r\n \r\n \r\n {\r\n data.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default TagsChart\r\n","import * as React from 'react'\r\nimport { faCheckSquare, faBriefcase, faCheckDouble, faFolderOpen, faTimesCircle } from '@fortawesome/free-solid-svg-icons'\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport Tippy from '@tippyjs/react';\r\nimport {Badge} from \"reactstrap\";\r\n\r\ninterface Props {\r\n status: number | undefined,\r\n language: any\r\n}\r\n\r\nconst handleIcon = (status: any) => {\r\n switch (status) {\r\n case 5:\r\n return \r\n case 10:\r\n return \r\n case 20:\r\n return \r\n case 30:\r\n return \r\n case 40:\r\n return \r\n default:\r\n return \"\"\r\n }\r\n}\r\nconst handleEmumToString = (status: any, language: any) => {\r\n switch (status) {\r\n case 5:\r\n return language[\"status.new\"]\r\n case 10:\r\n return language[\"status.accepted\"]\r\n case 20:\r\n return language[\"status.on_going\"]\r\n case 30:\r\n return language[\"status.resolved\"]\r\n case 40:\r\n return language[\"status.rejected\"]\r\n default:\r\n return \"\"\r\n }\r\n}\r\nexport const StatusTippy: React.FC = ({ status, language }) => {\r\n\r\n if (status) {\r\n return (\r\n \r\n \r\n {handleIcon(status)} - {handleEmumToString(status, language)}\r\n \r\n \r\n );\r\n } else return null\r\n};","import * as React from 'react'\r\nimport { Badge } from 'reactstrap';\r\nimport { CaseEntryTagResponse } from '../../ApiClient';\r\nimport Tippy from '@tippyjs/react';\r\n\r\nexport function TagsTippy(props: {tags: CaseEntryTagResponse[]}) {\r\n if (props.tags.length > 0) {\r\n return (\r\n t.title+', ')\r\n )}\r\n placement=\"bottom\"\r\n trigger=\"mouseenter\"\r\n >\r\n \r\n {props.tags[0].title}\r\n \r\n \r\n );\r\n } else return null\r\n}","import * as React from 'react'\r\nimport { Badge } from 'reactstrap';\r\nimport { UserResponse } from '../../ApiClient';\r\nimport Tippy from '@tippyjs/react';\r\n\r\nexport function AssignedTippy(props: {users: UserResponse[]}) {\r\n if (props.users.length > 0) {\r\n return (\r\n t.name).join(\", \")\r\n )}\r\n placement=\"bottom\"\r\n trigger=\"mouseenter\"\r\n >\r\n \r\n {React.Children.toArray(props.users.map(t =>\r\n {t.name}\r\n ))}\r\n \r\n \r\n );\r\n } else return null\r\n}","import moment from 'moment';\r\nimport 'moment/locale/da';\r\nimport * as React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Card, CardBody, Col, Row, Table } from 'reactstrap';\r\nimport { CaseClient, CaseEntryTagClient, CaseEntryTagResponse, CaseResponse, DeleteCaseRequest, StatusClient, StatusResponse } from '../ApiClient';\r\nimport { ApiConfig } from '../ApiConfig';\r\nimport StatusChart from '../components/chart/StatusChart';\r\nimport TagsChart from '../components/chart/TagsChart';\r\nimport { StatusTippy } from '../components/dashboard/StatusTippy';\r\nimport { TagsTippy } from '../components/dashboard/TagsTippy';\r\nimport { Loading } from '../components/loading/loading';\r\nimport { AssignedTippy } from '../components/settings/AssignedTippy';\r\nimport TranslatableText from \"../Language/TranslateableText\";\r\nimport { ApplicationState } from '../store';\r\nimport '../styles/chart.css';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSort } from '@fortawesome/free-solid-svg-icons';\r\n\r\n\r\nexport interface IState {\r\n organisationId: string,\r\n cases: CaseResponse[],\r\n headers: string[],\r\n status: string[],\r\n statusForChart: StatusResponse[],\r\n loading: boolean,\r\n caseEntryTags: CaseEntryTagResponse[]\r\n caseEntryTagsChart: any[],\r\n displayAllTags: boolean,\r\n displayTagsChart: boolean\r\n}\r\n\r\ninterface IProps {\r\n organisationId: string,\r\n history: any,\r\n language: any\r\n}\r\n\r\nclass CasesTable extends React.Component {\r\n\r\n caseClient = new CaseClient(new ApiConfig());\r\n caseEntryTagClient = new CaseEntryTagClient(new ApiConfig());\r\n statusClient = new StatusClient(new ApiConfig());\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n this.state = {\r\n organisationId: this.props.organisationId,\r\n cases: [],\r\n caseEntryTags: [],\r\n caseEntryTagsChart: [],\r\n statusForChart: [],\r\n headers: [this.props.language[\"status\"], this.props.language[\"title\"], this.props.language[\"report_date\"], this.props.language[\"last_changed\"], this.props.language[\"responsible\"]],\r\n status: ['New', 'Accepted', 'On going', 'Resolved'],\r\n loading: true,\r\n displayAllTags: false,\r\n displayTagsChart: true\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: IProps) {\r\n if (prevProps.organisationId !== this.props.organisationId) {\r\n this.setState({ loading: true, statusForChart: [], caseEntryTagsChart: [] })\r\n this.caseClient.byCaseWorkerId().then(response => {\r\n this.setState({ cases: response });\r\n })\r\n this.caseEntryTagClient.caseEntryTagGet().then(response => {\r\n this.setState({ caseEntryTags: response });\r\n })\r\n this.statusClient.new().then(response => {\r\n this.setState({ statusForChart: response });\r\n });\r\n this.caseEntryTagClient.new().then(response => {\r\n if (response.length == 0) {\r\n this.setState({ caseEntryTagsChart: [], loading: false });\r\n } else {\r\n this.setState({ caseEntryTagsChart: [] }, () => this.setState({ caseEntryTagsChart: response, loading: false }));\r\n }\r\n })\r\n }\r\n }\r\n public componentDidMount(): void {\r\n this.setState({ organisationId: this.props.organisationId, statusForChart: [], caseEntryTagsChart: [] })\r\n this.caseClient.byCaseWorkerId().then(response => {\r\n this.setState({ cases: response });\r\n })\r\n this.statusClient.new().then(response => {\r\n this.setState({ statusForChart: response })\r\n });\r\n this.caseEntryTagClient.caseEntryTagGet().then(response => {\r\n this.setState({ caseEntryTags: response })\r\n });\r\n this.caseEntryTagClient.new().then(response => {\r\n if (response.length == 0) {\r\n this.setState({ caseEntryTagsChart: [], loading: false });\r\n } else {\r\n this.setState({ caseEntryTagsChart: [] }, () => this.setState({ caseEntryTagsChart: response, loading: false }));\r\n }\r\n });\r\n }\r\n renderTableHeader() {\r\n let headers = this.state.headers;\r\n return (\r\n \r\n {headers[0]}\r\n {headers[1]}\r\n \r\n {headers[2]}\r\n this.handleSortList('createdOn')}>\r\n \r\n \r\n \r\n {headers[3]}\r\n this.handleSortList('modifiedOn')}>\r\n \r\n \r\n {headers[4]}\r\n \r\n \r\n )\r\n }\r\n renderTableData() {\r\n if (this.state.cases.length <= 0) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return this.state.cases.map((cases) => {\r\n const { id, caseId, title, status, createdOn, modifiedOn, users } = cases\r\n return (\r\n this.props.history.push(\"/viewCase/\" + caseId)}>\r\n {}\r\n {this.trimData(title, 50, true)}\r\n {this.handleTimeStamp(createdOn, createdOn)}\r\n {this.handleTimeStamp(createdOn, modifiedOn)}\r\n \r\n {users != undefined && users.length > 0 &&\r\n \r\n }\r\n \r\n {/* {this.handleDelete(modifiedOn, id)} */}\r\n \r\n )\r\n });\r\n }\r\n handleSortList(value: string) {\r\n let cases = this.state.cases;\r\n switch (value) {\r\n case 'createdOn':\r\n const sortedList_byCreateOn = cases.sort((a, b) => (a.modifiedOn! > b.modifiedOn! ? 1 : -1))\r\n this.setState({ cases: sortedList_byCreateOn });\r\n break;\r\n case 'modifiedOn':\r\n const sortedList_byModifiedOn = cases.sort((a, b) => (a.modifiedOn! > b.modifiedOn! ? 1 : -1))\r\n this.setState({ cases: sortedList_byModifiedOn });\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n }\r\n tagsToggle = () => {\r\n this.setState(prevState => ({\r\n displayAllTags: !prevState.displayAllTags\r\n }));\r\n };\r\n handleTagsForTable(caseId: string | undefined) {\r\n if (caseId !== undefined && caseId.length > 0) {\r\n return tag.caseId === caseId)} />\r\n }\r\n }\r\n handleTagsForChart() {\r\n if (this.state.caseEntryTagsChart.length <= 0) {\r\n return \r\n } else {\r\n // Only display the top 5 most used tags in list. \r\n let tagAmount;\r\n let tempTagList: (string | undefined)[] = [];\r\n\r\n return this.state.caseEntryTagsChart.map((tag) => {\r\n if (this.state.caseEntryTagsChart.indexOf(tag) > 4) {\r\n return null;\r\n }\r\n tagAmount = this.handleTagsOccurence(tag.title)\r\n if (!tempTagList.includes(tag.title)) {\r\n tempTagList.push(tag.title)\r\n return (\r\n

{tag.title}: {tagAmount}

\r\n )\r\n }\r\n });\r\n }\r\n }\r\n handleTagsOccurence(value: any) {\r\n return this.state.caseEntryTagsChart.filter((v) => (v.title === value)).length;\r\n }\r\n trimData(data: any, length: number, endWithDots: boolean) {\r\n let trimmedData = (data as string).substring(0, length)\r\n if (endWithDots && data.length > 49)\r\n return trimmedData + \"...\";\r\n else\r\n return trimmedData\r\n }\r\n handleDelete(modifiedOn: any, id: string | undefined) {\r\n let now = new Date()\r\n\r\n if (modifiedOn != null) { // check if it has been modified\r\n let comparisonDate = moment(now).subtract(5, 'years')\r\n let dateObject = new Date(modifiedOn)\r\n let formattedModifiedOn = moment(dateObject)\r\n if (formattedModifiedOn.isBefore(comparisonDate)) { // check if modifiedOn is more than 5 years ago\r\n return \r\n }\r\n }\r\n else {\r\n return null\r\n }\r\n }\r\n async handleDeleteOnSubmit(id: any) {\r\n let config = new ApiConfig()\r\n const caseClient = new CaseClient(config);\r\n try {\r\n await caseClient.caseDelete(new DeleteCaseRequest({ id: id })).then(\r\n // remove element from list.\r\n );\r\n } catch (error) {\r\n }\r\n }\r\n handleTimeStamp(createdOn: any, modifiedOn: any) { // change 'any'\r\n if (modifiedOn !== undefined) {\r\n return moment(modifiedOn).format('llll');\r\n } else {\r\n return moment(createdOn).format('llll');\r\n }\r\n }\r\n\r\n public render() {\r\n if (this.state.loading) return ();\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {/* */}\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n

\r\n {this.handleTagsForChart()}\r\n {this.state.caseEntryTagsChart.length > 5 &&\r\n

...

\r\n }\r\n\r\n
\r\n
\r\n {this.state.caseEntryTagsChart.length > 0 && this.state.displayTagsChart &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n {this.renderTableHeader()}\r\n \r\n \r\n {this.renderTableData()}\r\n \r\n
\r\n \r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n organisationId: state && state.organisation && state.organisation.currentOrganisationId,\r\n language: state && state.language.language_resources\r\n} as IProps)\r\n\r\nexport default connect(mapState)(CasesTable)","import * as React from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Alert } from 'reactstrap';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { ApplicationState } from '../../store';\r\n\r\ninterface Props {\r\n note: string;\r\n createdBy?: string;\r\n createdOn: string; \r\n language: any | undefined\r\n}\r\nexport const CaseEntryNote: React.FC = ({ note, createdBy, createdOn }) => {\r\n return (\r\n \r\n {createdOn}   {createdBy} : \r\n

{note}

\r\n
\r\n );\r\n}; \r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as Props)\r\n\r\nexport default connect(mapState)(CaseEntryNote)\r\n","import * as React from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Alert } from 'reactstrap';\r\nimport { ApplicationState } from '../../store';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport moment from 'moment';\r\n\r\ninterface Props {\r\n comment: string;\r\n createdBy?: string;\r\n createdOn: string;\r\n language: any | undefined;\r\n}\r\n\r\n\r\nexport const CaseEntryComment: React.FC = ({ comment, createdBy, createdOn }) => {\r\n return (\r\n
\r\n \r\n \r\n {createdOn}  {createdBy == '' ? 'Whistleblower' : createdBy} \r\n \r\n

{comment}

\r\n
\r\n
\r\n );\r\n}; \r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as Props)\r\n\r\nexport default connect(mapState)(CaseEntryComment)","import React, { useState } from 'react'\r\nimport ReactDOM from 'react-dom';\r\nimport { connect } from 'react-redux';\r\nimport { Alert } from 'reactstrap';\r\nimport { AttachmentClient, CaseEntryFileClient, UpdateCaseEntryFileRequest } from '../../ApiClient';\r\nimport { ApiConfig } from '../../ApiConfig';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { ApplicationState } from '../../store';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEye, faEyeSlash } from '@fortawesome/free-solid-svg-icons';\r\nimport Swal from 'sweetalert2'\r\n\r\ninterface Props {\r\n fileId: string;\r\n createdBy?: string;\r\n createdOn: string;\r\n language: any;\r\n}\r\nexport const CaseEntryFile: React.FC = ({ fileId, createdBy, createdOn }) => {\r\n const [publicDownload, setPublicDownload] = useState(false);\r\n let caseEntryFileClient = new CaseEntryFileClient(new ApiConfig());\r\n let attachmentClient = new AttachmentClient(new ApiConfig());\r\n\r\n async function downloadFile(e: HTMLElement, id: string) {\r\n await attachmentClient.download(id)\r\n .then(response => {\r\n if (response.fileName!.includes(\"myImg_\")) {\r\n response.data.text().then(dataText => {\r\n ReactDOM.render(, e.parentElement);\r\n })\r\n } else {\r\n let dataBlob = new Blob([response.data] as any, { type: response.headers![\"content-type\"] });\r\n const url = window.URL.createObjectURL(dataBlob);\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", id);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n }\r\n })\r\n .catch(error => {\r\n console.log('error downloading..', error);\r\n });\r\n };\r\n\r\n const handleSetPublicDownload = (value: boolean) => {\r\n let isVisible = value ? \"visible\" : \"invisible\"\r\n Swal.fire({\r\n title: 'Are you sure?',\r\n text: \"You want to make this attachment \" + isVisible + \" for the whistleblower?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes!'\r\n }).then((result) => {\r\n if (result.isConfirmed) {\r\n // do api call\r\n caseEntryFileClient.caseEntryFile(new UpdateCaseEntryFileRequest({ fileId: fileId, publicDownload: value }))\r\n .then(res => {\r\n setPublicDownload(value)\r\n Swal.fire(\r\n 'Success!',\r\n '',\r\n 'success'\r\n )\r\n }).catch(e => {\r\n Swal.fire(\r\n 'Oops!',\r\n 'Something went wrong'\r\n )\r\n console.log('failed in updateCaseEntryFile: ' + e)\r\n })\r\n\r\n }\r\n })\r\n }\r\n return (\r\n
\r\n \r\n \r\n {createdOn}   {createdBy}\r\n

:  \r\n downloadFile(e.target as HTMLElement, fileId)}>{fileId}\r\n\r\n handleSetPublicDownload(!publicDownload)} />\r\n

\r\n\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as Props)\r\n\r\nexport default connect(mapState)(CaseEntryFile)","import * as React from 'react'\r\nimport ReactDOM from 'react-dom';\r\nimport { connect } from 'react-redux';\r\nimport { Alert } from 'reactstrap';\r\nimport { AttachmentClient } from '../../ApiClient';\r\nimport { ApiConfig } from '../../ApiConfig';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { ApplicationState } from '../../store';\r\n\r\ninterface Props {\r\n fileId: string;\r\n createdBy?: string;\r\n createdOn: string;\r\n language: any;\r\n}\r\nexport const CaseEntryInternalFile: React.FC = ({ fileId, createdBy, createdOn }) => {\r\n\r\n async function downloadFile(e: HTMLElement, id: string) {\r\n\r\n let attachmentClient = new AttachmentClient(new ApiConfig());\r\n\r\n await attachmentClient.download(id)\r\n .then(response => {\r\n if (response.fileName!.includes(\"myImg_\")) {\r\n response.data.text().then(dataText => {\r\n ReactDOM.render(, e.parentElement);\r\n })\r\n } else {\r\n let dataBlob = new Blob([response.data] as any, { type: response.headers![\"content-type\"] });\r\n const url = window.URL.createObjectURL(dataBlob);\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", id);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n }\r\n })\r\n .catch(error => {\r\n console.log('error downloading..', error);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n {createdOn}   {createdBy}\r\n

:  \r\n downloadFile(e.target as HTMLElement, fileId)}>{fileId}\r\n

\r\n
\r\n
\r\n );\r\n}; \r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as Props)\r\n\r\nexport default connect(mapState)(CaseEntryInternalFile)","import * as React from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Alert, Badge } from 'reactstrap';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { ApplicationState } from '../../store';\r\n\r\ninterface Props {\r\n tag: string;\r\n createdBy?: string;\r\n createdOn: string; \r\n deleted: boolean;\r\n language: any| undefined\r\n}\r\nexport const CaseEntryTag: React.FC = ({ tag, createdOn, createdBy, deleted, language }) => {\r\n var isDeleted;\r\n switch(deleted){\r\n case true:\r\n isDeleted = language[\"removed\"]\r\n break;\r\n case false:\r\n isDeleted = language[\"added\"]\r\n break;\r\n }\r\n return (\r\n
\r\n \r\n {createdOn}   {createdBy} \r\n

{isDeleted} {tag}

\r\n
\r\n
\r\n );\r\n}; \r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as Props)\r\n\r\nexport default connect(mapState)(CaseEntryTag)\r\n","import React, { ChangeEvent, FormEvent } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { CaseEntryCommentClient, ContactClient, CreateCaseEntryCommentRequest, SendCaseUpdateByAdministratorEmailCommand } from '../../ApiClient'\r\nimport { ApiConfig } from '../../ApiConfig';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { ApplicationState } from '../../store';\r\n\r\ninterface IProps {\r\n callback: any,\r\n caseId: string,\r\n id: string | undefined,\r\n language: any | undefined\r\n}\r\ninterface IState {\r\n caseId : string,\r\n comment: string\r\n}\r\nclass CommentForm extends React.Component {\r\n constructor(props:IProps) {\r\n super(props);\r\n this.state = {\r\n caseId : '',\r\n comment: ''\r\n } \r\n }\r\n \r\n handleChange = (e: ChangeEvent) => {\r\n this.setState({ \r\n caseId: this.props.caseId,\r\n comment: e.target.value \r\n });\r\n }\r\n\r\n handleSubmit = (e: any) =>{\r\n e.preventDefault();\r\n\r\n let commentClient = new CaseEntryCommentClient(new ApiConfig());\r\n let contactClient = new ContactClient(new ApiConfig());\r\n\r\n commentClient.caseEntryComment(new CreateCaseEntryCommentRequest(this.state))\r\n .then(res => {\r\n this.handleOnSuccess();\r\n this.setState({comment: ''})\r\n \r\n if(this.props.id != undefined){\r\n contactClient.caseUpdateByAdministratorEmail(new SendCaseUpdateByAdministratorEmailCommand({id: this.props.caseId, caseId: this.props.id}))\r\n .then(res =>{})\r\n .catch(error =>{\r\n console.log(error);\r\n });\r\n }\r\n })\r\n }\r\n\r\n handleOnSuccess(){\r\n this.props.callback(this.state)\r\n }\r\n \r\n render() {\r\n const comment = this.state.comment;\r\n return (\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n\r\n}\r\n}\r\n\r\nexport default CommentForm;","import React, { ChangeEvent, FormEvent } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { CaseEntryNoteClient, CreateCaseEntryNoteRequest } from '../../ApiClient';\r\nimport { ApiConfig } from '../../ApiConfig';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { ApplicationState } from '../../store';\r\n\r\ninterface IProps {\r\n callback: any,\r\n caseId : string,\r\n language: any | undefined\r\n}\r\ninterface IState {\r\n caseId : string,\r\n note: string\r\n}\r\nclass NoteForm extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n caseId : '',\r\n note: ''\r\n } \r\n }\r\n handleChange = (e: ChangeEvent) => {\r\n this.setState({ \r\n note: e.target.value, \r\n caseId: this.props.caseId \r\n \r\n });\r\n }\r\n\r\n handleSubmit = (e: any) =>{\r\n e.preventDefault();\r\n\r\n let noteClient = new CaseEntryNoteClient(new ApiConfig());\r\n\r\n noteClient.caseEntryNote(new CreateCaseEntryNoteRequest(this.state))\r\n .then(res => {\r\n this.handleOnSuccess();\r\n this.setState({note: ''})\r\n })\r\n }\r\n\r\n handleOnSuccess(){\r\n this.props.callback(this.state)\r\n }\r\n \r\n render() { \r\n const note = this.state.note;\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n\r\n}\r\n}\r\n\r\n\r\nexport default NoteForm;\r\n","import * as React from 'react'\r\nimport { connect } from 'react-redux';\r\nimport { Alert } from 'reactstrap';\r\nimport { ApplicationState } from '../../store';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\n\r\ninterface Props {\r\n status: string;\r\n createdBy?: string;\r\n createdOn: string; \r\n language: any | undefined\r\n}\r\n\r\nexport const CaseEntryStatus: React.FC = ({ status, createdBy, createdOn, language }) => {\r\n \r\n let handleStatusTranslation = (status: string) =>{\r\n if(status == \"On Going\")\r\n status = \"on_going\"\r\n \r\n var payload = (\"status.\"+status).toLowerCase();\r\n return language[payload]\r\n }\r\n \r\n return (\r\n \r\n {createdOn}   {createdBy} : \r\n

{handleStatusTranslation(status)}

\r\n
\r\n );\r\n}; \t\r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as Props)\r\n\r\nexport default connect(mapState)(CaseEntryStatus)","import * as React from 'react'\r\nimport { CaseEntryNote } from './CaseEntryNote'\r\nimport { CaseEntryComment } from './CaseEntryComment'\r\nimport { CaseEntryFile } from './CaseEntryFile'\r\nimport { CaseEntryInternalFile } from './CaseEntryInternalFile'\r\nimport { CaseEntryTag } from './CaseEntryTag'\r\nimport moment from 'moment';\r\nimport CommentForm from '../comments/CommentForm';\r\nimport NoteForm from '../notes/NoteForm';\r\nimport { CaseEntryClient, CaseEntryResponse, Status } from '../../ApiClient'\r\nimport { ApiConfig } from '../../ApiConfig'\r\nimport { CaseEntryStatus } from './CaseEntryStatus'\r\nimport { ApplicationState } from '../../store'\r\nimport { connect } from 'react-redux'\r\nimport { Row } from 'reactstrap'\r\n\r\ninterface IProps {\r\n caseEntries: CaseEntryResponse[],\r\n caseId: string\r\n id: string | undefined,\r\n language: any | undefined\r\n}\r\n\r\ninterface IState {\r\n caseEntries: CaseEntryResponse[],\r\n}\r\n\r\nconst caseEntryClient = new CaseEntryClient(new ApiConfig());\r\n\r\nconst statuses: string[] = [\r\n 'New',\r\n 'Accepted',\r\n 'On Going',\r\n 'Resolved',\r\n 'Rejected'\r\n]\r\n\r\nclass CaseEntryList extends React.Component{\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n caseEntries: this.props.caseEntries,\r\n }\r\n }\r\n\r\n statusAsString = (status: Status | undefined): string => {\r\n switch (status) { // might be an easier/more dynamic way?\r\n case 5:\r\n return statuses[0]\r\n case 10:\r\n return statuses[1]\r\n case 20:\r\n return statuses[2]\r\n case 30:\r\n return statuses[3]\r\n case 40:\r\n return statuses[4]\r\n default:\r\n return statuses[0]\r\n }\r\n }\r\n\r\n renderEntries() {\r\n const listItems = this.state.caseEntries.map((props: CaseEntryResponse) => {\r\n var entryType = props.entryType; \r\n var entryTypeArray = entryType!.split(/[\\s.]+/);\r\n var type = entryTypeArray[entryTypeArray.length - 1]\r\n switch (type) {\r\n case 'CaseEntryNote':\r\n return \r\n case 'CaseEntryTag':\r\n var isRemoved = true;\r\n if (moment(props.modifiedOn).format('MM/DD-YY') === '01/01-01') {\r\n isRemoved = false;\r\n }\r\n return \r\n case 'CaseEntryFile':\r\n return \r\n case 'CaseEntryFileInternal':\r\n return \r\n case 'CaseEntryComment':\r\n return \r\n case 'CaseEntryStatus':\r\n return \r\n }\r\n }\r\n );\r\n return (\r\n
\r\n {listItems}\r\n
\r\n );\r\n }\r\n\r\n handleCommentCallback = (newComment: any) => {\r\n caseEntryClient.byId(this.props.caseId).then(response => this.setState({ caseEntries: response }))\r\n }\r\n handleNoteCallback = (newNote: string) => {\r\n caseEntryClient.byId(this.props.caseId).then(response => this.setState({ caseEntries: response }))\r\n }\r\n public render() {\r\n return (\r\n <>\r\n
\r\n
\r\n {this.renderEntries()}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as IProps)\r\n\r\nexport default connect(mapState)(CaseEntryList)\r\n","import { faSave, faTags } from '@fortawesome/free-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport * as React from 'react'\r\nimport { Badge } from 'reactstrap';\r\nimport { OptionTypeBase } from 'react-select';\r\nimport {CaseEntryFileResponse, AttachmentClient} from '../../ApiClient'\r\nimport { ApiConfig } from '../../ApiConfig';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { connect } from 'react-redux';\r\nimport { ApplicationState } from '../../store';\r\nimport Tippy, { tippy } from '@tippyjs/react';\r\n\r\n\r\ninterface IProps{\r\n files?: CaseEntryFileResponse[],\r\n status?: statusAndValue,\r\n tags?: ITag[],\r\n language: any | undefined\r\n}\r\n\r\ninterface ITag {\r\n key: string,\r\n value: string,\r\n label: string\r\n}\r\n\r\ninterface statusAndValue extends OptionTypeBase {\r\n // value: Status,\r\n // label: string\r\n}\r\n\r\nfunction TagsComp(props:any) {\r\n if(props.props.length <= 0){\r\n return - \r\n }\r\n const listTags = props.props.map((prop:any) =>\r\n { \r\n return {prop.label} \r\n });\r\n return (\r\n
\r\n {listTags}\r\n
\r\n );\r\n}\r\nfunction StatusComp(props:any){ \r\n let colorPicker = (currentStatus : any) =>{\r\n switch(currentStatus){\r\n case 5:\r\n return 'info'\r\n case 10:\r\n return 'primary'\r\n case 20:\r\n return 'warning'\r\n case 30:\r\n return 'success'\r\n case 40:\r\n return 'danger'\r\n default:\r\n return 'secondary'\r\n }\r\n } \r\n return {props.props.label}\r\n}\r\nfunction FilesComp(props:any) {\r\n if(props.props.length <= 0){\r\n return - \r\n }\r\n const listFiles = React.Children.toArray(props.props.map((prop:any) =>\r\n {\r\n return <>\r\n downloadFile(prop.fileId)}>\r\n \r\n \r\n \r\n   \r\n {prop.fileId}\r\n \r\n
\r\n
\r\n
\r\n \r\n }));\r\n return (\r\n
\r\n {listFiles}\r\n
\r\n );\r\n}\r\nasync function downloadFile (id:any) {\r\n\r\n let attachmentClient = new AttachmentClient(new ApiConfig());\r\n\r\n attachmentClient.download(id)\r\n .then(response =>{\r\n console.log(response)\r\n // if(response.headers![\"content-type\"] === \"application/octet-stream\"){\r\n // alert(\"File can only be shown in browser.\")\r\n // }else{\r\n const url = window.URL.createObjectURL(\r\n new Blob([response.data] as any, { type: response.headers![\"content-type\"] })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", id); \r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n // }\r\n })\r\n .catch(error => {\r\n console.log('error downloading..', error);\r\n });\r\n};\r\nclass CaseEntryLog extends React.Component{\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n loadingTags: true,\r\n loadingFiles: true,\r\n loadingStatus: true\r\n }\r\n }\r\n componentDidMount(){\r\n this.setState({loadingTags : false})\r\n this.setState({loadingFiles : false})\r\n this.setState({loadingStatus: false})\r\n \r\n }\r\n public render(){\r\n return(\r\n
\r\n \r\n
\r\n

\r\n {!this.state.loadingStatus &&\r\n \r\n }\r\n

\r\n
\r\n {!this.state.loadingTags &&\r\n <>\r\n \r\n \r\n \r\n }\r\n
\r\n\r\n {!this.state.loadingFiles &&\r\n <>\r\n
\r\n \r\n \r\n \r\n }\r\n
\r\n )\r\n }\r\n}\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources\r\n} as IProps)\r\n\r\nexport default connect(mapState)(CaseEntryLog)","import * as React from 'react';\r\n// import '../../styles/custom.css';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { toast } from 'react-toastify';\r\nimport { connect } from 'react-redux'\r\nimport * as piexif from 'piexifjs'\r\n \r\nclass FileUpload extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n };\r\n }\r\n handleAlert = () =>{\r\n toast.configure()\r\n toast(this.props.language[\"file_type_not_supported\"], {\r\n position: \"top-center\",\r\n autoClose: 3000,\r\n hideProgressBar: true,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n }\r\n fileChangeHandler = (event) => {\r\n if (\r\n event.currentTarget.files !== null &&\r\n event.currentTarget.files.length > 0\r\n ) {\r\n let acceptedFile = this.checkFile(event.currentTarget.files[0])\r\n if(acceptedFile !== null){\r\n this.props.file(acceptedFile)\r\n }else{\r\n this.handleAlert();\r\n }\r\n }\r\n };\r\n\r\n checkFile = (file) =>{\r\n if(file.type == \"application/x-msdownload\" || \r\n file.type == \"application/x-ms-installer\" || \r\n file.type == \"application/x-elf\" || \r\n file.type == \"application/x-sh\" || \r\n file.type == \"text/x-perl\" || \r\n file.type == \"text/x-python\")\r\n {\r\n return null;\r\n }\r\n return file;\r\n }\r\n\r\n render(){\r\n return(\r\n <>\r\n \r\n \r\n );\r\n }\r\n}\r\nconst mapState = (state) => ({\r\n language: state && state.language.language_resources\r\n})\r\nexport default connect()(FileUpload); ","import * as React from 'react';\r\nimport CaseEntryList from '../components/caseEntryList/CaseEntryList';\r\n// import '../styles/custom.scss';\r\nimport { connect } from 'react-redux';\r\nimport Select, {OptionTypeBase, ValueType} from 'react-select';\r\nimport CreatableSelect from 'react-select/creatable';\r\nimport { Button, Dropdown, DropdownItem, DropdownMenu, DropdownToggle, FormGroup, Modal, ModalBody, ModalHeader, Popover, PopoverHeader, Row, Spinner, Table } from 'reactstrap';\r\nimport {\r\n AttachmentClient, CaseClient,\r\n CaseEntryClient,\r\n CaseEntryFileClient,\r\n CaseEntryFileResponse, CaseEntryResponse, CaseEntryStatusClient,\r\n CaseEntryTagClient, CaseResponse, ContactClient, CreateCaseEntryStatusRequest, CaseEntryFileInternalResponse, CreateCaseEntryTagRequest, CaseEntryFileInternalClient, CreateCaseEntryTagsRequest, CreateTagsRequest, DeleteCaseEntryTagRequest, DeleteCaseRequest, SendCaseUpdateByAdministratorEmailCommand, Status, TagClient, UpdateCaseRequest, FileParameter, UserClient, UserResponse, AssignCaseRequest, CaseResponseUser, OrganisationTinNumberResponse\r\n} from '../ApiClient';\r\nimport { ApiConfig } from '../ApiConfig';\r\nimport CaseEntryLog from '../components/caseEntryList/CaseEntryLog';\r\nimport { Loading } from '../components/loading/loading';\r\nimport DownloadCasePdf from '../components/pdf/DownloadCasePdf';\r\nimport TranslatableText from \"../Language/TranslateableText\";\r\nimport { ApplicationState } from '../store';\r\nimport '../styles/loading.css';\r\nimport Swal from 'sweetalert2';\r\nimport FileUpload from '../components/fileUpload/FileUpload';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTrashAlt } from '@fortawesome/free-solid-svg-icons';\r\nimport { AnyAaaaRecord } from 'dns';\r\nimport {toast} from \"react-toastify\";\r\nimport Tippy from \"@tippyjs/react\";\r\n\r\nconst apiConfig = new ApiConfig();\r\n\r\ninterface IState {\r\n caseId: string\r\n case: CaseResponse | undefined,\r\n selectedOption: statusAndValue | undefined,\r\n companyTags: ITag[],\r\n availableCompanyTags: ITag[],\r\n caseTags: ITag[],\r\n newTags: string[],\r\n files: CaseEntryFileResponse[],\r\n internalFiles: CaseEntryFileInternalResponse[],\r\n caseEntryLog: [],\r\n caseEntries: CaseEntryResponse[],\r\n statusUpdated: boolean,\r\n tagsUpdated: boolean,\r\n loadingTagsSelect: boolean,\r\n loadingStatusSelect: boolean,\r\n loadingCaseEntryList: boolean,\r\n loadingCaseEntryLog: boolean,\r\n amountOfComments: number,\r\n displayDeleteBox: boolean,\r\n displaySpinner: boolean,\r\n hasCaseWorkerAssigned: boolean,\r\n selectedFiles: File[],\r\n displayFilesList: boolean,\r\n users: UserResponse[],\r\n assignedUserEmails: string[],\r\n tempAssignedUserEmails: string[],\r\n assignUserDropdownOpen: boolean,\r\n newCaseWorkersAssigned: boolean,\r\n organisationTinNumbers: OrganisationTinNumberResponse[],\r\n}\r\n\r\ninterface statusAndValue extends OptionTypeBase {\r\n // value: Status,\r\n // label: string\r\n}\r\n\r\ninterface ITag {\r\n key: string,\r\n value: string,\r\n label: string\r\n}\r\n\r\ninterface IProps {\r\n language: any | undefined,\r\n organisationId: string,\r\n organisationTinNumbers: OrganisationTinNumberResponse[],\r\n history: any\r\n}\r\nconst userClient = new UserClient(new ApiConfig());\r\nconst caseClient = new CaseClient(apiConfig);\r\nconst tagClient = new TagClient(apiConfig);\r\nconst caseEntryFileClient = new CaseEntryFileClient(apiConfig);\r\nconst caseEntryClient = new CaseEntryClient(apiConfig);\r\nconst caseEntryFileInternalClient = new CaseEntryFileInternalClient(apiConfig);\r\n\r\nclass ViewCase extends React.Component{\r\n constructor(props: IProps) {\r\n super(props);\r\n this.state = {\r\n caseId: '',\r\n case: undefined,\r\n selectedOption: undefined,\r\n companyTags: [],\r\n availableCompanyTags: [],\r\n caseTags: [],\r\n newTags: [],\r\n files: [],\r\n internalFiles: [],\r\n caseEntryLog: [],\r\n caseEntries: [],\r\n statusUpdated: false,\r\n tagsUpdated: false,\r\n loadingTagsSelect: true,\r\n loadingStatusSelect: true,\r\n loadingCaseEntryList: true,\r\n loadingCaseEntryLog: true,\r\n amountOfComments: 0,\r\n displayDeleteBox: false,\r\n displaySpinner: false,\r\n hasCaseWorkerAssigned: false,\r\n selectedFiles: [],\r\n displayFilesList: false,\r\n users: [],\r\n assignedUserEmails: [],\r\n tempAssignedUserEmails: [],\r\n assignUserDropdownOpen: false,\r\n newCaseWorkersAssigned: false,\r\n organisationTinNumbers: props.organisationTinNumbers,\r\n }\r\n this.handleUploadFiles = this.handleUploadFiles.bind(this)\r\n }\r\n options: statusAndValue[] = [\r\n { value: 5, label: this.props.language[\"status.new\"] },\r\n { value: 10, label: this.props.language[\"status.accepted\"] },\r\n { value: 20, label: this.props.language[\"status.on_going\"] },\r\n { value: 30, label: this.props.language[\"status.resolved\"] },\r\n { value: 40, label: this.props.language[\"status.rejected\"] }\r\n ]\r\n\r\n componentDidMount() {\r\n let caseId = this.getCaseIdRoutingProps();\r\n caseClient.byId(caseId)\r\n .then(response => {\r\n this.setState({ caseId: response.id!, case: response });\r\n this.handleSelect(response.status!)\r\n this.setState({ loadingStatusSelect: false })\r\n this.updateTags()\r\n this.handleGetCaseFiles(response.id!)\r\n this.handleHasCaseWorkerAssigned(response.id!);\r\n this.handleGetAssignedUsers(response.users!);\r\n }).catch(e => {\r\n console.log(e);\r\n })\r\n }\r\n handleGetAssignedUsers = async (users: CaseResponseUser[]) => {\r\n userClient.organsationWithRole().then(response => {\r\n this.setState({ users: response });\r\n const assignedUserEmails = response.filter(u => users.map(us => us.id).includes(u.id)).map(u => u.email!);\r\n this.setState({ assignedUserEmails: assignedUserEmails, tempAssignedUserEmails: assignedUserEmails });\r\n });\r\n }\r\n handleGetCaseFiles = async (id: string) => {\r\n await caseEntryFileClient.file(id!)\r\n .then(res => {\r\n this.setState({ files: res })\r\n }).catch(e => {\r\n console.log(e + 'failed retreiving files')\r\n });\r\n await caseEntryFileInternalClient.file(id!)\r\n .then(res => {\r\n this.setState({ internalFiles: res });\r\n }).catch(e => {\r\n console.log(e + 'failed retreiving internal files')\r\n });\r\n }\r\n handleHasCaseWorkerAssigned = async (id: string) => {\r\n await caseClient.hasCaseWorker(id)\r\n .then(res => {\r\n this.setState({ hasCaseWorkerAssigned: res.hasCaseWorker! })\r\n })\r\n }\r\n downloadFile = async (id: string) => {\r\n var attachmentClient = new AttachmentClient(apiConfig);\r\n attachmentClient\r\n .download(id)\r\n .then(response => {\r\n const url = window.URL.createObjectURL(\r\n new Blob([response] as any, { type: response.headers![\"content-type\"] })\r\n );\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", id); //or any other extension\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n })\r\n .catch(error => {\r\n console.log('error downloading..', error);\r\n });\r\n };\r\n updateTags() {\r\n Promise.all([tagClient.organisation(), tagClient.case(this.state.caseId), caseEntryClient.byId(this.state.caseId)])\r\n .then(responses => {\r\n this.setState({ loadingCaseEntryList: true })\r\n this.setState({\r\n companyTags: responses[0].map(tag => ({ key: tag.id, value: tag.id, label: tag.tagTitle } as ITag)),\r\n caseTags: responses[1].map(tag => ({ key: tag.tagId, value: tag.tagId, label: tag.tagTitle } as ITag)),\r\n availableCompanyTags: responses[0]\r\n .filter(companyTag =>\r\n !responses[1].some(caseTag => caseTag.tagId == companyTag.id) && companyTag)\r\n .map(tag => ({ key: tag.id, value: tag.id, label: tag.tagTitle } as ITag)),\r\n caseEntries: responses[2],\r\n tagsUpdated: false,\r\n loadingTagsSelect: false,\r\n loadingCaseEntryList: false,\r\n loadingCaseEntryLog: false,\r\n });\r\n var amount = responses[2].filter(entry => entry.entryType == \"Web.API.Entities.CaseEntry.CaseEntryComment\")\r\n this.setState({ amountOfComments: amount.length })\r\n })\r\n\r\n }\r\n getCaseIdRoutingProps() { // find better fix with routing\r\n let param = this.props.match.params;\r\n let stringified = JSON.stringify(param);\r\n return stringified.slice(7, -2);\r\n }\r\n handleChange = (e: any) => { // status change\r\n this.setState({ selectedOption: e });\r\n }\r\n handleSelect(selectedOption: Status) {\r\n switch (selectedOption) {\r\n case 5:\r\n this.setState({ selectedOption: this.options[0] })\r\n break;\r\n case 10:\r\n this.setState({ selectedOption: this.options[1] })\r\n break;\r\n case 20:\r\n this.setState({ selectedOption: this.options[2] })\r\n break;\r\n case 30:\r\n this.setState({ selectedOption: this.options[3] })\r\n break;\r\n case 40:\r\n this.setState({ selectedOption: this.options[4] })\r\n break;\r\n }\r\n }\r\n handleStatusSubmit = () => {\r\n if (!this.state.hasCaseWorkerAssigned) {\r\n this.handlePromptUserToAssignCase()\r\n }\r\n let caseClient = new CaseClient(apiConfig);\r\n let caseEntryStatusClient = new CaseEntryStatusClient(apiConfig);\r\n let contactClient = new ContactClient(apiConfig);\r\n\r\n let request: UpdateCaseRequest =\r\n new UpdateCaseRequest(\r\n {\r\n \"id\": this.state.caseId,\r\n \"status\": this.state.selectedOption!.value\r\n });\r\n\r\n caseClient.casePut(request)\r\n .then(response => {\r\n\r\n caseEntryStatusClient.caseEntryStatus(\r\n new CreateCaseEntryStatusRequest({ // creates a caseEntryStatus\r\n \"caseId\": this.state.caseId,\r\n \"status\": this.state.selectedOption!.value\r\n })).then(response => {\r\n this.setState({ statusUpdated: true })\r\n setTimeout(() => this.setState({ statusUpdated: false }), 3000);\r\n if (this.state.case != undefined) {\r\n contactClient.caseUpdateByAdministratorEmail(new SendCaseUpdateByAdministratorEmailCommand({ id: this.state.case.id, caseId: this.state.case.caseId }))\r\n .then(res => { })\r\n .catch(error => {\r\n console.log(error);\r\n });\r\n }\r\n\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n }).catch(error => {\r\n console.log(error);\r\n });\r\n\r\n }\r\n handleTagChange = (tag: any, actionMeta: any) => {\r\n // if (!this.state.hasCaseWorkerAssigned) {\r\n // this.handlePromptUserToAssignCase()\r\n // }\r\n switch (actionMeta.action) {\r\n case 'create-option':\r\n case 'select-option':\r\n this.setState({ newTags: [...this.state.newTags, tag[tag.length - 1].label] })\r\n break;\r\n case 'remove-value':\r\n this.handleDeleteCaseEntryTag(actionMeta.removedValue.value)\r\n break;\r\n }\r\n }\r\n handleDeleteCaseEntryTag = (removedValue: string) => {\r\n var caseEntryTagClient = new CaseEntryTagClient(apiConfig);\r\n\r\n this.setState({ tagsUpdated: true })\r\n\r\n caseEntryTagClient.caseEntryTagDelete(\r\n new DeleteCaseEntryTagRequest({\r\n \"tagId\": removedValue,\r\n \"caseId\": this.state.caseId,\r\n })).then(() => {\r\n this.updateTags()\r\n });\r\n }\r\n handleTagsSubmit = (tag: any) => {\r\n var tagClient = new TagClient(apiConfig);\r\n var entryTagClient = new CaseEntryTagClient(apiConfig);\r\n\r\n this.setState({ tagsUpdated: true })\r\n\r\n tagClient\r\n .tag(new CreateTagsRequest({ \"tagTitles\": [...tag] }))\r\n .then(response => {\r\n\r\n const tags = response.map(e => new CreateCaseEntryTagRequest({\r\n \"tagId\": e.id,\r\n \"caseId\": this.state.caseId,\r\n }));\r\n\r\n entryTagClient\r\n .caseEntryTagPost(new CreateCaseEntryTagsRequest({ tags: tags }))\r\n .then(() => this.updateTags())\r\n });\r\n }\r\n isLoading = () => {\r\n return this.state.loadingCaseEntryList\r\n || this.state.loadingCaseEntryLog\r\n || this.state.loadingTagsSelect\r\n || this.state.loadingStatusSelect\r\n }\r\n handleDeleteCase = () => {\r\n this.setState({ displaySpinner: true })\r\n try {\r\n caseClient.caseDelete(new DeleteCaseRequest({ id: this.state.case!.id }))\r\n .then(response => {\r\n this.setState({ displaySpinner: false });\r\n this.props.history.push(\"/\")\r\n });\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n handlePromptUserToAssignCase = () => {\r\n Swal.fire('Remember to assign this case to a caseworker!')\r\n }\r\n handleRemoveFile = (index: File) => {\r\n var array = [...this.state.selectedFiles]; // make a separate copy of the array\r\n var i = array.indexOf(index);\r\n if (i !== -1) {\r\n array.splice(i, 1);\r\n this.setState({ selectedFiles: array });\r\n // this.setState({ contentHeight: this.state.contentHeight - 45 })\r\n }\r\n };\r\n fileChangeHandler = (file: any) => {\r\n let joinedArray = this.state.selectedFiles.concat(\r\n file\r\n );\r\n this.setState({\r\n selectedFiles: joinedArray,\r\n });\r\n this.setState({ displayFilesList: true });\r\n // this.setState({ contentHeight: this.state.contentHeight + 45 })\r\n };\r\n handleUploadFiles() {\r\n if (this.state.selectedFiles.length > 0) {\r\n let files: FileParameter[] = [];\r\n for (let i = 0; i < this.state.selectedFiles.length; i++) {\r\n files.push({\r\n data: this.state.selectedFiles[i],\r\n fileName: this.state.selectedFiles[i].name\r\n });\r\n }\r\n for (var i = 0; i < files.length; i++) {\r\n caseEntryFileInternalClient\r\n .uploadInternalFile(undefined, files[i], this.state.case!.id) // (undefined) --> weird hack, but has to be there..\r\n .then((response) => {\r\n return Swal.fire('Success!')\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n });\r\n }\r\n } else {\r\n console.log('no files in state')\r\n }\r\n }\r\n handleDownloadReport = async () => {\r\n const prepToast = toast.info(this.props.language[\"preparing_download\"])\r\n await caseClient.downloadCaseReport(this.state.caseId)\r\n .then(res => {\r\n let dataBlob = new Blob([res.data] as any, { type: res.headers![\"content-type\"] });\r\n const url = window.URL.createObjectURL(dataBlob);\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\"download\", this.state.caseId + \"_Report\");\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n toast.dismiss(prepToast)\r\n toast.info(\"Downloaded PDF\")\r\n }).catch(() => {\r\n toast.info('Oops! Download went wrong..')\r\n })\r\n }\r\n handleAddUserEmail = (email: string) => {\r\n let emails: string[] = this.state.assignedUserEmails;\r\n if (emails.includes(email)) return;\r\n emails.push(email);\r\n this.setState({ assignedUserEmails: emails, newCaseWorkersAssigned: true });\r\n }\r\n handleAssignUser = () => {\r\n if (this.state.tempAssignedUserEmails.length == 0 || this.state.caseId == '') {\r\n // just wont do anything if no user is selected\r\n } else {\r\n caseClient.assignCase(new AssignCaseRequest({\r\n caseId: this.state.caseId,\r\n caseWorkerEmails: this.state.tempAssignedUserEmails\r\n }))\r\n .then(() => {\r\n //reload case to get assigned users\r\n caseClient.byId(this.state.case!.caseId!)\r\n .then(response => {\r\n this.setState({ \r\n caseId: response.id!, \r\n case: response,\r\n assignedUserEmails: this.state.users.filter(u => response.users!.map(us => us.id).includes(u.id)).map(u => u.email),\r\n newCaseWorkersAssigned: false,\r\n });\r\n }).catch(e => {\r\n console.log(e);\r\n })\r\n })\r\n }\r\n }\r\n toggleAssignUserDropdown = () => {\r\n this.setState(prevState => ({\r\n assignUserDropdownOpen: !prevState.assignUserDropdownOpen\r\n }));\r\n }\r\n\r\n arraysEqual(a, b) {\r\n if (a.length !== b.length) return false;\r\n a.sort();\r\n b.sort();\r\n for (let i = 0; i < a.length; i++) {\r\n if (a[i] !== b[i]) return false;\r\n }\r\n return true;\r\n }\r\n\r\n handleAssignedEmailsChange = (dropdownValues: ValueType<{ value: string, label: string }> | ValueType<{ value: string, label: string }>[] | null) => {\r\n const emails : string[] = dropdownValues && Array.isArray(dropdownValues) ? dropdownValues.map(x => x.value) : []\r\n this.setState({\r\n tempAssignedUserEmails: emails,\r\n newCaseWorkersAssigned: !this.arraysEqual(this.state.assignedUserEmails, emails)\r\n })\r\n }\r\n public render() {\r\n const selectedOption = this.state.selectedOption;\r\n if (!this.state.hasCaseWorkerAssigned) {\r\n this.handlePromptUserToAssignCase\r\n }\r\n if (this.isLoading()) {\r\n return ()\r\n }\r\n if (this.state.case != undefined) {\r\n var refId = this.state.case.caseId;\r\n }\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {this.state.case !== undefined &&\r\n \r\n {/* */}\r\n {/**/}\r\n \r\n \r\n }\r\n
\r\n

\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n

\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n

{this.state.case && this.state.case.title}

\r\n
\r\n
\r\n \r\n

{this.state.case && this.state.case.description}

\r\n
\r\n {this.state.case && this.state.case.organisationTin && this.state.case.organisationTinNumber && this.state.organisationTinNumbers.length > 1 && (\r\n
\r\n \r\n

{this.state.case && this.state.case.organisationTin.displayName} ({this.state.case && this.state.case.organisationTinNumber})

\r\n
\r\n )}\r\n
\r\n \r\n {!this.state.loadingStatusSelect &&\r\n this.setState({ email: e.target.value })} />\r\n \r\n \r\n \r\n this.setState({ name: e.target.value })} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n this.setState({displayUploadBox: !this.state.displayUploadBox})}>\r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n \r\n
\r\n
\r\n
\r\n {/* Upgradeprivileges below */}\r\n
\r\n this.setState({displayUserSettingsUpgradePriv: !this.state.displayUserSettingsUpgradePriv})}>\r\n \r\n \r\n \r\n \r\n ?\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {/* DegradePrivileges below */}\r\n
\r\n this.setState({displayUserSettingsDegradePriv: !this.state.displayUserSettingsDegradePriv})}>\r\n \r\n \r\n \r\n \r\n ?\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n {/* Delete User below */}\r\n
\r\n this.setState({displayDeleteUser: !this.state.displayDeleteUser})}>\r\n \r\n {this.state.privilegesName}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n

\r\n {this.state.organisationTinNumbers && this.state.organisationTinNumbers.length > 1 && } \r\n

\r\n {this.state.isAdmin &&\r\n \r\n }\r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n organisationId: state && state.organisation && state.organisation.currentOrganisationId,\r\n organisationTinNumbers: state && state.organisation && state.organisation.currentOrganisationTinNumbers,\r\n language: state && state.language.language_resources\r\n} as IProps)\r\n\r\nexport default connect(mapState)(CompanySettings)\r\n","import * as React from 'react';\r\nimport { Button, Row, Card, CardBody, CardTitle, CardSubtitle, Col } from 'reactstrap';\r\nimport TranslatableText from \"../Language/TranslateableText\";\r\nimport { ApiConfig } from '../ApiConfig';\r\nimport { ApplicationState } from '../store';\r\nimport { connect } from 'react-redux';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faQuestionCircle, faEnvelope } from '@fortawesome/free-solid-svg-icons';\r\nimport { toast } from 'react-toastify';\r\nimport { DocumentClient } from '../ApiClient';\r\n\r\nconst apiConfig = new ApiConfig();\r\n\r\ninterface IState {\r\n}\r\n\r\ninterface IProps {\r\n language: any |undefined,\r\n organisationId: string,\r\n name: string,\r\n\r\n}\r\n\r\nclass Guides extends React.Component{\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n }\r\n }\r\n notifyToast = () => {\r\n toast.configure();\r\n toast('Downloading..', {\r\n position: \"bottom-left\",\r\n autoClose: 3500,\r\n hideProgressBar: true,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n };\r\n onGetOrganisationDocument = () => { \r\n this.notifyToast();\r\n let documentClient = new DocumentClient(new ApiConfig);\r\n documentClient.document(this.props.organisationId)\r\n .then(async response => { \r\n let dataBlob = new Blob([response.data] as any, { type: response.headers![\"content-type\"] });\r\n \r\n const url = window.URL.createObjectURL(dataBlob);\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n let fName:string = this.props.name ;\r\n link.setAttribute(\"download\", fName);\r\n document.body.appendChild(link);\r\n link.click();\r\n link.remove();\r\n \r\n })\r\n .catch(error => {\r\n console.log('error downloading..', error);\r\n });\r\n }\r\n public render() {\r\n return (\r\n \r\n \r\n \r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* Hidden until functionality works */}\r\n {/**/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n {/*
*/}\r\n {/*
*/}\r\n {/*
*/}\r\n {/* */}\r\n {/*
*/}\r\n
\r\n );\r\n }\r\n};\r\nconst mapState = (state: ApplicationState) => ({\r\n language: state && state.language.language_resources,\r\n organisationId: state && state.organisation && state.organisation.currentOrganisationId,\r\n name: state && state.organisation && state.organisation.currentOrganisationName,\r\n tinNumber: state && state.organisation && state.organisation.currentOrganisationTinNumber,\r\n} as IProps)\r\n\r\nexport default connect(mapState)(Guides)\r\n\r\n\r\n","import * as React from 'react'\r\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport {Row, Col, Button, Input, Label, Popover, PopoverHeader, } from 'reactstrap';\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport { connect } from 'react-redux';\r\nimport { toast } from 'react-toastify';\r\nimport { ApiConfig } from '../../ApiConfig';\r\nimport { ContactClient, SendInformationEmailCommand } from '../../ApiClient';\r\n\r\n\r\nclass MailTextEditor extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n emailAddress: '',\r\n emailBody: '',\r\n orgName: '',\r\n loading: true,\r\n popoverOpen: false\r\n }\r\n }\r\n componentDidMount(){\r\n let standardText = this.props.language[\"infomail\"]\r\n if(this.props.name.length>0 && this.props.tinNumber.length>0 && standardText){\r\n if(this.state.emailBody.length<=0){\r\n var finalText = standardText.replace(/{{companyName}}/g, this.props.name)\r\n finalText = finalText.replace(/{{tinNumber}}/g, this.props.tinNumber)\r\n this.setState({emailBody: finalText})\r\n }\r\n }\r\n }\r\n componentDidUpdate(){\r\n let standardText = this.props.language[\"infomail\"]\r\n if(this.props.name.length>0 && this.props.tinNumber.length>0 && standardText){\r\n if(this.state.emailBody.length<=0){\r\n var finalText = standardText.replace(/{{companyName}}/g, this.props.name)\r\n finalText = finalText.replace(/{{tinNumber}}/g, this.props.tinNumber)\r\n this.setState({emailBody: finalText})\r\n }\r\n }\r\n }\r\n onSubmitHandler = () =>{\r\n if(this.state.emailAddress.length > 0 && this.state.emailAddress.includes(\"@\") && this.state.emailAddress.includes(\".\")){\r\n let contactClient = new ContactClient(new ApiConfig);\r\n\r\n contactClient.sendInformationEmail(\r\n new SendInformationEmailCommand({\r\n receivingEmail: this.state.emailAddress, \r\n emailBody: this.state.emailBody})\r\n ).then(response =>{\r\n this.notifyToast();\r\n\r\n })\r\n\r\n\r\n }else{\r\n this.setState({popoverOpen : true})\r\n setTimeout(() => this.setState({popoverOpen:false}), 4000);\r\n }\r\n }\r\n notifyToast = () => {\r\n toast.configure();\r\n toast('Email sent..', {\r\n position: \"bottom-left\",\r\n autoClose: 3500,\r\n hideProgressBar: true,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n };\r\n render(){\r\n return (\r\n <>\r\n {/* {this.state.loading && \r\n \r\n } */}\r\n \r\n \r\n

\r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n this.setState({emailAddress: e.target.value})} placeholder={this.props.language[\"email\"]} />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n // You can store the \"editor\" and use when it is needed.\r\n // console.log('Editor is ready to use!', editor);\r\n } }\r\n onChange={(event, editor) => {\r\n let data = editor.getData();\r\n this.setState({emailBody:data})\r\n } }\r\n onBlur={(event, editor) => {\r\n // console.log('Blur.', editor);\r\n } }\r\n onFocus={(event, editor) => {\r\n // console.log('Focus.', editor);\r\n } } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}; \r\nconst mapState = (state) => ({\r\n language: state && state.language.language_resources, \r\n organisationId: state && state.organisation && state.organisation.currentOrganisationId,\r\n name: state && state.organisation && state.organisation.currentOrganisationName,\r\n tinNumber: state && state.organisation && state.organisation.currentOrganisationTinNumber,\r\n})\r\n\r\nexport default connect(mapState)(MailTextEditor)","import React, { useState } from \"react\";\r\nimport TranslatableText from \"../../Language/TranslateableText\";\r\nimport \"./toggle_styles.css\";\r\n\r\ntype ToggleProps = {\r\n className?: string,\r\n onToggle?: (isEnabled: boolean) => void,\r\n defaultValue?: boolean,\r\n disabled?: boolean,\r\n label?: string,\r\n}\r\n\r\nconst Toggle = ({\r\n className,\r\n defaultValue,\r\n onToggle,\r\n disabled,\r\n label,\r\n }: ToggleProps) => {\r\n const [isEnabled, setIsEnabled] = useState(defaultValue || false);\r\n const _onToggle = () => {\r\n if (disabled) return;\r\n else {\r\n setIsEnabled(!isEnabled);\r\n if (onToggle)\r\n onToggle(!isEnabled);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {\r\n !!label && (\r\n
\r\n \r\n
\r\n )\r\n }\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Toggle;\r\n","import * as React from 'react';\r\nimport moment from 'moment';\r\nimport 'moment/locale/da';\r\nimport {\r\n CaseClient,\r\n CaseEntryTagClient,\r\n CaseEntryTagResponse,\r\n StatusClient,\r\n GetAllDeletedCasesResponse,\r\n} from '../ApiClient';\r\nimport { ApiConfig } from '../ApiConfig';\r\nimport { ApplicationState } from '../store';\r\nimport { connect } from 'react-redux';\r\nimport { Loading } from '../components/loading/loading'\r\nimport TranslatableText from \"../Language/TranslateableText\";\r\nimport '../styles/chart.css'\r\nimport { Col, Row, Table } from 'reactstrap';\r\nimport { AssignedTippy } from '../components/settings/AssignedTippy';\r\nimport Toggle from \"../components/toggle/Toggle\";\r\nimport {toast} from \"react-toastify\";\r\n\r\n\r\nexport interface IState {\r\n organisationId: string,\r\n userId: string,\r\n userIsAdmin: boolean,\r\n cases: GetAllDeletedCasesResponse[],\r\n filteredCases: GetAllDeletedCasesResponse[],\r\n casesFilteredByCurrentUser: boolean,\r\n headers: string[],\r\n loading: boolean,\r\n caseEntryTags: CaseEntryTagResponse[],\r\n}\r\n\r\ninterface IProps {\r\n organisationId: string,\r\n userId: string,\r\n userIsAdmin: boolean,\r\n history: any,\r\n language: any\r\n}\r\n\r\nclass ArchivedCases extends React.Component {\r\n caseClient = new CaseClient(new ApiConfig());\r\n caseEntryTagClient = new CaseEntryTagClient(new ApiConfig());\r\n statusClient = new StatusClient(new ApiConfig());\r\n\r\n constructor(props: IProps) {\r\n super(props);\r\n this.state = {\r\n organisationId: this.props.organisationId,\r\n userId: this.props.userId,\r\n userIsAdmin: this.props.userIsAdmin,\r\n cases: [],\r\n filteredCases: [],\r\n casesFilteredByCurrentUser: false,\r\n caseEntryTags: [],\r\n headers: [this.props.language[\"title\"], this.props.language[\"archived\"], this.props.language[\"deleted_by\"], this.props.language[\"responsible\"]],\r\n loading: true,\r\n }\r\n }\r\n public componentDidMount(): void {\r\n this.setState({\r\n organisationId: this.props.organisationId,\r\n userId: this.props.userId\r\n })\r\n this.caseClient.getDeletedCases().then(response => {\r\n this.setState({cases: response, filteredCases: response, loading:false})\r\n })\r\n .catch(error => {toast.info(\"An error occurred\")})\r\n .finally(() => this.setState({loading: false}))\r\n }\r\n public componentDidUpdate(prevProps: Readonly, prevState: Readonly, snapshot?: any) {\r\n if (prevProps.userId !== this.props.userId || prevProps.userIsAdmin !== this.props.userIsAdmin) {\r\n this.setState({userId: this.props.userId, userIsAdmin: this.props.userIsAdmin})\r\n }\r\n }\r\n renderTableHeader() {\r\n let headers = this.state.headers;\r\n return (\r\n \r\n {headers[0]}\r\n {headers[1]}\r\n {/* {headers[2]} */}\r\n \r\n
{headers[3]}\r\n {this.state.userIsAdmin && (\r\n
\r\n \r\n this.filterCasesByCurrentUser(val)} defaultValue={false}/>\r\n
\r\n )}\r\n
\r\n \r\n \r\n )\r\n }\r\n renderTableData() {\r\n if (this.state.filteredCases.length <= 0) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n return this.state.filteredCases.map((cases) => {\r\n const { caseId, title, deletedOn, deletedBy, users } = cases;\r\n\r\n return (\r\n \r\n {this.trimData(title, 50, true)}\r\n {moment(deletedOn).format('llll')}\r\n {/* {deletedBy} */}\r\n \r\n {users != undefined && users.length > 0 &&\r\n \r\n }\r\n \r\n \r\n )\r\n });\r\n }\r\n filterCasesByCurrentUser(enableFilter: boolean) {\r\n if (enableFilter) {\r\n this.setState({\r\n filteredCases: this.state.cases.filter(x => x.users\r\n && x.users.map(u => u.id).includes(this.state.userId)\r\n ),\r\n casesFilteredByCurrentUser: true\r\n })\r\n } else {\r\n this.setState({filteredCases: this.state.cases, casesFilteredByCurrentUser: false})\r\n }\r\n }\r\n trimData(data: any, length: number, endWithDots: boolean) {\r\n let trimmedData = (data as string).substring(0, length)\r\n if (endWithDots && data.length > 49)\r\n return trimmedData + \"...\";\r\n else\r\n return trimmedData\r\n }\r\n\r\n public render() {\r\n if (this.state.loading) return ();\r\n return (\r\n <>\r\n \r\n \r\n

\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {this.renderTableHeader()}\r\n \r\n \r\n {this.renderTableData()}\r\n \r\n
\r\n \r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nconst mapState = (state: ApplicationState) => ({\r\n organisationId: state && state.organisation && state.organisation.currentOrganisationId,\r\n userId: state && state.user && state.user.id,\r\n userIsAdmin: state && state.user && state.user.isAdmin,\r\n language: state && state.language.language_resources\r\n} as IProps)\r\n\r\nexport default connect(mapState)(ArchivedCases)","import * as React from 'react';\r\nimport './styles/custom.scss'\r\nimport { useAuth0 } from '@auth0/auth0-react';\r\nimport { useSelector } from 'react-redux'\r\nimport { ApplicationState } from './store';\r\nimport { Loading } from './components/loading/loading';\r\nimport Layout from './components/Layout';\r\nimport { Route } from 'react-router';\r\nimport CasesTable from './pages/CasesTable';\r\nimport ViewCase from './pages/ViewCase';\r\nimport CompanySettings from './pages/CompanySettings';\r\nimport Guides from './pages/Guides';\r\nimport MailTextEditor from './components/textEditor/TextEditor';\r\nimport ArchivedCases from './pages/ArchivedCases';\r\nimport {ToastContainer} from \"react-toastify\";\r\n\r\nfunction App() {\r\n const {\r\n isLoading,\r\n isAuthenticated,\r\n error,\r\n user,\r\n loginWithRedirect,\r\n logout,\r\n getAccessTokenSilently\r\n } = useAuth0();\r\n\r\n const key = useSelector((state: ApplicationState) => state && state.organisation && state.organisation.currentOrganisationId) \r\n if (error) {\r\n return
Oops... {error.message}
;\r\n }\r\n if (isLoading) {\r\n return \r\n }\r\n \r\n if (isAuthenticated) { \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n loginWithRedirect();\r\n return \r\n }\r\n}\r\n\r\nexport default App;\r\n","import validator from \"validator\";\r\n\r\nclass FormValidator {\r\n constructor(validations) {\r\n // validations is an array of validation rules specific to a form\r\n this.validations = validations;\r\n }\r\n\r\n validate(state) {\r\n // start out assuming valid\r\n let validation = this.valid();\r\n\r\n // for each validation rule\r\n this.validations.forEach(rule => {\r\n // if the field hasn't already been marked invalid by an earlier rule\r\n if (!validation[rule.field].isInvalid) {\r\n // determine the field value, the method to invoke and optional args from\r\n // the rule definition\r\n const field_value = state[rule.field].toString();\r\n const args = rule.args || [];\r\n const validation_method =\r\n typeof rule.method === \"string\"\r\n ? validator[rule.method]\r\n : rule.method;\r\n\r\n // call the validation_method with the current field value as the first\r\n // argument, any additional arguments, and the whole state as a final\r\n // argument. If the result doesn't match the rule.validWhen property,\r\n // then modify the validation object for the field and set the isValid\r\n // field to false\r\n if (validation_method(field_value, ...args, state) !== rule.validWhen) {\r\n validation[rule.field] = { isInvalid: true, message: rule.message };\r\n validation.isValid = false;\r\n }\r\n }\r\n });\r\n\r\n return validation;\r\n }\r\n\r\n valid() {\r\n const validation = {};\r\n\r\n this.validations.map(\r\n rule => (validation[rule.field] = { isInvalid: false, message: \"\" })\r\n );\r\n\r\n return { isValid: true, ...validation };\r\n }\r\n}\r\n\r\nexport default FormValidator;\r\n","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v13.18.0.0 (NJsonSchema v10.8.0.0 (Newtonsoft.Json v12.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { AnonymousApiBase } from \"./AnonymousApiBase\";import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\n\r\nexport class SignUpClient extends AnonymousApiBase {\r\n private instance: AxiosInstance;\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super();\r\n\r\n this.instance = instance ? instance : axios.create();\r\n\r\n this.baseUrl = baseUrl !== undefined && baseUrl !== null ? baseUrl : this.getBaseUrl(\"\");\r\n\r\n }\r\n\r\n /**\r\n * @param body (optional) \r\n * @return Success\r\n */\r\n signUp(aadToken: string, body?: CreateOrganisationAppSourceRequest | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/signUp?\";\r\n if (aadToken === undefined || aadToken === null)\r\n throw new Error(\"The parameter 'aadToken' must be defined and cannot be null.\");\r\n else\r\n url_ += \"aadToken=\" + encodeURIComponent(\"\" + aadToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(body);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json-patch+json\",\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSignUp(_response);\r\n });\r\n }\r\n\r\n protected processSignUp(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CreateOrganisationResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n return throwException(\"Not Found\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * @return Success\r\n */\r\n aadGetData(aadToken: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/signUp/AadGetData?\";\r\n if (aadToken === undefined || aadToken === null)\r\n throw new Error(\"The parameter 'aadToken' must be defined and cannot be null.\");\r\n else\r\n url_ += \"aadToken=\" + encodeURIComponent(\"\" + aadToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"text/plain\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAadGetData(_response);\r\n });\r\n }\r\n\r\n protected processAadGetData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (let k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SaasSubscriptions.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n return throwException(\"Not Found\", status, _responseText, _headers);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CreateOrganisationAppSourceRequest implements ICreateOrganisationAppSourceRequest {\r\n name!: string;\r\n email!: string;\r\n companyName!: string;\r\n companyEmail!: string;\r\n companyTin!: string;\r\n companyAddress!: string;\r\n\r\n constructor(data?: ICreateOrganisationAppSourceRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.companyName = _data[\"companyName\"];\r\n this.companyEmail = _data[\"companyEmail\"];\r\n this.companyTin = _data[\"companyTin\"];\r\n this.companyAddress = _data[\"companyAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateOrganisationAppSourceRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateOrganisationAppSourceRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"companyName\"] = this.companyName;\r\n data[\"companyEmail\"] = this.companyEmail;\r\n data[\"companyTin\"] = this.companyTin;\r\n data[\"companyAddress\"] = this.companyAddress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateOrganisationAppSourceRequest {\r\n name: string;\r\n email: string;\r\n companyName: string;\r\n companyEmail: string;\r\n companyTin: string;\r\n companyAddress: string;\r\n}\r\n\r\nexport class CreateOrganisationResponse implements ICreateOrganisationResponse {\r\n\r\n constructor(data?: ICreateOrganisationResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): CreateOrganisationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateOrganisationResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateOrganisationResponse {\r\n}\r\n\r\nexport class Beneficiary implements IBeneficiary {\r\n emailId?: string | undefined;\r\n objectId?: string | undefined;\r\n tenantId?: string | undefined;\r\n puid?: string | undefined;\r\n\r\n constructor(data?: IBeneficiary) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.emailId = _data[\"emailId\"];\r\n this.objectId = _data[\"objectId\"];\r\n this.tenantId = _data[\"tenantId\"];\r\n this.puid = _data[\"puid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Beneficiary {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Beneficiary();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"emailId\"] = this.emailId;\r\n data[\"objectId\"] = this.objectId;\r\n data[\"tenantId\"] = this.tenantId;\r\n data[\"puid\"] = this.puid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBeneficiary {\r\n emailId?: string | undefined;\r\n objectId?: string | undefined;\r\n tenantId?: string | undefined;\r\n puid?: string | undefined;\r\n}\r\n\r\nexport class Purchaser implements IPurchaser {\r\n emailId?: string | undefined;\r\n objectId?: string | undefined;\r\n tenantId?: string | undefined;\r\n puid?: string | undefined;\r\n\r\n constructor(data?: IPurchaser) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.emailId = _data[\"emailId\"];\r\n this.objectId = _data[\"objectId\"];\r\n this.tenantId = _data[\"tenantId\"];\r\n this.puid = _data[\"puid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Purchaser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Purchaser();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"emailId\"] = this.emailId;\r\n data[\"objectId\"] = this.objectId;\r\n data[\"tenantId\"] = this.tenantId;\r\n data[\"puid\"] = this.puid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPurchaser {\r\n emailId?: string | undefined;\r\n objectId?: string | undefined;\r\n tenantId?: string | undefined;\r\n puid?: string | undefined;\r\n}\r\n\r\nexport class Term implements ITerm {\r\n termUnit?: string | undefined;\r\n\r\n constructor(data?: ITerm) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.termUnit = _data[\"termUnit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Term {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Term();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"termUnit\"] = this.termUnit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITerm {\r\n termUnit?: string | undefined;\r\n}\r\n\r\nexport class Subscription implements ISubscription {\r\n id?: string | undefined;\r\n publisherId?: string | undefined;\r\n offerId?: string | undefined;\r\n name?: string | undefined;\r\n saasSubscriptionStatus?: string | undefined;\r\n beneficiary?: Beneficiary;\r\n purchaser?: Purchaser;\r\n planId?: string | undefined;\r\n term?: Term;\r\n autoRenew?: boolean;\r\n isTest?: boolean;\r\n isFreeTrial?: boolean;\r\n allowedCustomerOperations?: string[] | undefined;\r\n sandboxType?: string | undefined;\r\n created?: Date;\r\n lastModified?: Date;\r\n sessionMode?: string | undefined;\r\n\r\n constructor(data?: ISubscription) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.publisherId = _data[\"publisherId\"];\r\n this.offerId = _data[\"offerId\"];\r\n this.name = _data[\"name\"];\r\n this.saasSubscriptionStatus = _data[\"saasSubscriptionStatus\"];\r\n this.beneficiary = _data[\"beneficiary\"] ? Beneficiary.fromJS(_data[\"beneficiary\"]) : undefined;\r\n this.purchaser = _data[\"purchaser\"] ? Purchaser.fromJS(_data[\"purchaser\"]) : undefined;\r\n this.planId = _data[\"planId\"];\r\n this.term = _data[\"term\"] ? Term.fromJS(_data[\"term\"]) : undefined;\r\n this.autoRenew = _data[\"autoRenew\"];\r\n this.isTest = _data[\"isTest\"];\r\n this.isFreeTrial = _data[\"isFreeTrial\"];\r\n if (Array.isArray(_data[\"allowedCustomerOperations\"])) {\r\n this.allowedCustomerOperations = [] as any;\r\n for (let item of _data[\"allowedCustomerOperations\"])\r\n this.allowedCustomerOperations!.push(item);\r\n }\r\n this.sandboxType = _data[\"sandboxType\"];\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.lastModified = _data[\"lastModified\"] ? new Date(_data[\"lastModified\"].toString()) : undefined;\r\n this.sessionMode = _data[\"sessionMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Subscription {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Subscription();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"publisherId\"] = this.publisherId;\r\n data[\"offerId\"] = this.offerId;\r\n data[\"name\"] = this.name;\r\n data[\"saasSubscriptionStatus\"] = this.saasSubscriptionStatus;\r\n data[\"beneficiary\"] = this.beneficiary ? this.beneficiary.toJSON() : undefined;\r\n data[\"purchaser\"] = this.purchaser ? this.purchaser.toJSON() : undefined;\r\n data[\"planId\"] = this.planId;\r\n data[\"term\"] = this.term ? this.term.toJSON() : undefined;\r\n data[\"autoRenew\"] = this.autoRenew;\r\n data[\"isTest\"] = this.isTest;\r\n data[\"isFreeTrial\"] = this.isFreeTrial;\r\n if (Array.isArray(this.allowedCustomerOperations)) {\r\n data[\"allowedCustomerOperations\"] = [];\r\n for (let item of this.allowedCustomerOperations)\r\n data[\"allowedCustomerOperations\"].push(item);\r\n }\r\n data[\"sandboxType\"] = this.sandboxType;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"lastModified\"] = this.lastModified ? this.lastModified.toISOString() : undefined;\r\n data[\"sessionMode\"] = this.sessionMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISubscription {\r\n id?: string | undefined;\r\n publisherId?: string | undefined;\r\n offerId?: string | undefined;\r\n name?: string | undefined;\r\n saasSubscriptionStatus?: string | undefined;\r\n beneficiary?: Beneficiary;\r\n purchaser?: Purchaser;\r\n planId?: string | undefined;\r\n term?: Term;\r\n autoRenew?: boolean;\r\n isTest?: boolean;\r\n isFreeTrial?: boolean;\r\n allowedCustomerOperations?: string[] | undefined;\r\n sandboxType?: string | undefined;\r\n created?: Date;\r\n lastModified?: Date;\r\n sessionMode?: string | undefined;\r\n}\r\n\r\nexport class SaasSubscriptions implements ISaasSubscriptions {\r\n id?: string | undefined;\r\n subscriptionName?: string | undefined;\r\n offerId?: string | undefined;\r\n planId?: string | undefined;\r\n subscription?: Subscription;\r\n\r\n constructor(data?: ISaasSubscriptions) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.subscriptionName = _data[\"subscriptionName\"];\r\n this.offerId = _data[\"offerId\"];\r\n this.planId = _data[\"planId\"];\r\n this.subscription = _data[\"subscription\"] ? Subscription.fromJS(_data[\"subscription\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaasSubscriptions {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaasSubscriptions();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"subscriptionName\"] = this.subscriptionName;\r\n data[\"offerId\"] = this.offerId;\r\n data[\"planId\"] = this.planId;\r\n data[\"subscription\"] = this.subscription ? this.subscription.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaasSubscriptions {\r\n id?: string | undefined;\r\n subscriptionName?: string | undefined;\r\n offerId?: string | undefined;\r\n planId?: string | undefined;\r\n subscription?: Subscription;\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any | undefined): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}","import { AxiosRequestConfig } from \"axios\";\r\n// import store from './'\r\n\r\nexport class AnonymousApiBase {\r\n\r\n protected constructor() {\r\n }\r\n\r\n protected transformOptions = async (options: AxiosRequestConfig): Promise => {\r\n // const { organisation } = store.getState();\r\n\r\n // if (organisation.organisationId){\r\n // options.headers = {\r\n // ...options.headers,\r\n // \"X-Organisation-Id\": organisation.organisationId,\r\n // };\r\n // }\r\n\r\n return Promise.resolve(options);\r\n };\r\n\r\n protected getBaseUrl(baseUrl: string) : string {\r\n return process.env.REACT_APP_API_URL!;\r\n }\r\n}","import * as React from 'react';\r\nimport { Component } from 'react';\r\nimport { Button, Form, FormGroup, Input, Label } from 'reactstrap';\r\nimport FormValidator from '../../components/validator/FormValidator';\r\nimport isEmail from 'validator/es/lib/isEmail';\r\nimport \"../../components/validator/FormValidator.scss\";\r\nimport { InlineLoading, Loading } from '../../components/loading/loading';\r\nimport { unset } from 'lodash';\r\nimport { CreateOrganisationAppSourceRequest, SignUpClient } from './ApiClientSignUp';\r\n\r\n\r\ninterface IProps {\r\n location: any;\r\n match: any;\r\n}\r\n\r\ninterface IState {\r\n companyAadId: string;\r\n companyName: string;\r\n companyTin: string;\r\n companyAddress: string;\r\n companyEmail: string;\r\n name: string;\r\n email: string;\r\n isLoading: boolean;\r\n completed: boolean;\r\n gettingData: boolean;\r\n validation: any;\r\n}\r\n\r\nexport default class SignUp extends React.Component {\r\n validator = new FormValidator([\r\n {\r\n field: \"name\",\r\n method: \"isEmpty\",\r\n validWhen: false,\r\n message: \"Felt påkrævet.\"\r\n },\r\n {\r\n field: \"email\",\r\n method: isEmail,\r\n validWhen: true,\r\n message: \"Ikke en gyldig email.\"\r\n },\r\n ]);\r\n\r\n signUnClient = new SignUpClient();\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n companyAadId: \"\",\r\n companyName: \"\",\r\n companyTin: \"\",\r\n companyAddress: \"\",\r\n companyEmail: \"\",\r\n name: \"\",\r\n email: \"\",\r\n isLoading: false,\r\n completed: false,\r\n gettingData: true,\r\n validation: this.validator.valid()\r\n };\r\n this.handleInputChange = this.handleInputChange.bind(this);\r\n }\r\n\r\n public componentDidMount(): void {\r\n console.log(this.props.location.search);\r\n let token = new URLSearchParams(this.props.location.search).get(\"token\");\r\n if (!token) {\r\n window.location.href = \"/\";\r\n } else {\r\n this.signUnClient.aadGetData(token).then(response => {\r\n if (response.subscription && response.subscription.saasSubscriptionStatus === \"Subscribed\") {\r\n window.location.href = \"/\";\r\n }\r\n this.setState({\r\n companyAadId: response.subscription!.purchaser!.tenantId!,\r\n email: response.subscription!.purchaser!.emailId!,\r\n });\r\n }).catch(err => {\r\n console.log(err);\r\n }).finally(() => {\r\n this.setState({\r\n gettingData: false\r\n });\r\n });\r\n }\r\n }\r\n\r\n handleInputChange(event: any) {\r\n const target = event.target;\r\n const value = target.type === 'checkbox' ? target.checked : target.value;\r\n const name = target.name;\r\n\r\n // @ts-ignore\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n signUp = () => {\r\n const validation = this.validator.validate(this.state);\r\n this.setState({ validation });\r\n if (!validation.isValid) {\r\n return;\r\n }\r\n\r\n this.setState({\r\n isLoading: true\r\n });\r\n\r\n\r\n let signUp = new CreateOrganisationAppSourceRequest();\r\n signUp.companyName = this.state.companyName;\r\n signUp.companyTin = this.state.companyTin;\r\n signUp.companyAddress = this.state.companyAddress;\r\n signUp.companyEmail = this.state.companyEmail;\r\n signUp.name = this.state.name;\r\n signUp.email = this.state.email;\r\n console.log(signUp);\r\n\r\n let token = new URLSearchParams(this.props.location.search).get(\"token\");\r\n this.signUnClient.signUp(token!, signUp).then(response => {\r\n console.log(response);\r\n window.location.href = \"/\";\r\n }).catch(err => {\r\n console.log(err);\r\n }).finally(() => {\r\n this.setState({\r\n isLoading: false,\r\n });\r\n });\r\n };\r\n render() {\r\n // @ts-ignore\r\n let validation = this.completed // if the form has been submitted at least once\r\n ? this.validator.validate(this.state) // then check validity every time we render\r\n // @ts-ignore\r\n : this.state.validation;\r\n // @ts-ignore\r\n let { isLoading, completed, gettingData } = this.state;\r\n return (\r\n <>\r\n {isLoading && (\r\n \r\n )}\r\n {gettingData && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/*

Digital Jura

*/}\r\n
Loading Company Data...
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {(!isLoading && !completed && !gettingData) && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {/*

Digital Jura

*/}\r\n
Create Account.
\r\n\r\n
\r\n
Company information.
\r\n \r\n \r\n \r\n {validation.name.message}\r\n \r\n \r\n \r\n \r\n {validation.name.message}\r\n \r\n \r\n \r\n This will be the number users will use to rgister cases.\r\n \r\n {validation.name.message}\r\n \r\n \r\n \r\n \r\n {validation.name.message}\r\n \r\n \r\n \r\n \r\n {validation.name.message}\r\n \r\n\r\n
Login information.
\r\n\r\n \r\n \r\n Name for the initial user.\r\n \r\n {validation.name.message}\r\n \r\n \r\n \r\n Email for the initial user.\r\n \r\n {validation.email.message}\r\n \r\n
\r\n \r\n
\r\n\r\n {/*

Har du allerede en konto? Login her

*/}\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {(!isLoading && completed) && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Whistle Advisor

\r\n

Account Created.

\r\n {/*
Check your email for login details.
*/}\r\n

Login here

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n )\r\n }\r\n}\r\n","import 'bootstrap/dist/css/bootstrap.css';\r\nimport 'tippy.js/dist/tippy.css'; // optional\r\n\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { ConnectedRouter } from 'connected-react-router';\r\nimport { createBrowserHistory } from 'history';\r\nimport configureStore from './store/configureStore';\r\nimport App from './App';\r\nimport { Auth0Provider } from \"@auth0/auth0-react\";\r\nimport SignUp from './appSource/sign-up/sign-up';\r\nimport { Route } from 'react-router';\r\n\r\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href') as string;\r\nconst history = createBrowserHistory({ basename: baseUrl });\r\n\r\nconst store = configureStore(history);\r\n\r\nexport default store;\r\n\r\n\r\nif (window.location.toString().indexOf('/signUp/') > 0) {\r\n sessionStorage.removeItem('ltdToken');\r\n ReactDOM.render(\r\n \r\n \r\n \r\n {/* */}\r\n \r\n ,\r\n document.getElementById('root'));\r\n} else {\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root'));\r\n}\r\n","import { applyMiddleware, combineReducers, compose, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { connectRouter, routerMiddleware } from 'connected-react-router';\r\nimport { History } from 'history';\r\nimport { ApplicationState, reducers } from './';\r\n\r\nexport default function configureStore(history: History, initialState?: ApplicationState) {\r\n const middleware = [\r\n thunk,\r\n routerMiddleware(history)\r\n ];\r\n\r\n const rootReducer = combineReducers({\r\n ...reducers,\r\n router: connectRouter(history)\r\n });\r\n\r\n const enhancers = [];\r\n const windowIfDefined = typeof window === 'undefined' ? null : window as any; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n if (windowIfDefined && windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__) {\r\n enhancers.push(windowIfDefined.__REDUX_DEVTOOLS_EXTENSION__());\r\n }\r\n\r\n return createStore(\r\n rootReducer,\r\n initialState,\r\n compose(applyMiddleware(...middleware), ...enhancers)\r\n );\r\n}\r\n"],"sourceRoot":""}