{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/icons/content_trial.png","webpack:///./src/assets/icons/notification.png","webpack:///./src/assets/icons/back.png","webpack:///./src/assets/icons/filter.png","webpack:///./src/App.vue?7e02","webpack:///./src/assets/icons/attachment.png","webpack:///./src/assets/icons/journal.png","webpack:///./src/assets/icons/save_pink.png","webpack:///./src/assets/icons/add_active.png","webpack:///./src/components/DoceoIcon.vue?93ec","webpack:///./src/components/DoceoIcon.vue","webpack:///./src/components/DoceoIcon.vue?ab99","webpack:///./src/components/DoceoIcon.vue?7f02","webpack:///./src/assets/icons/more_active.png","webpack:///./src/assets/icons/like_pink.png","webpack:///./src/assets/icons/edit.png","webpack:///./src/assets/icons/refresh.png","webpack:///./src/assets/icons/link.png","webpack:///./src/assets/icons/pdf.png","webpack:///./src/constants/icons.ts","webpack:///./src/store/attachmentStore.ts","webpack:///./src/assets/icons/save_facebook.png","webpack:///./src/assets/icons/chat_bubble.png","webpack:///./src/assets/icons/content_decision.png","webpack:///./src/components/DoceoImage.vue?f8bb","webpack:///./src/components/DoceoImage.vue","webpack:///./src/components/DoceoImage.vue?8bf5","webpack:///./src/components/DoceoImage.vue?ae68","webpack:///./src/assets/icons/like_default.png","webpack:///./src/assets/icons/folio_restricted.png","webpack:///./src/assets/icons/save_blue.png","webpack:///./src/store/hubStore.ts","webpack:///./src/assets/icons/note_orange.png","webpack:///./src/assets/icons/save_instagram.png","webpack:///./src/store/contentStore.ts","webpack:///./src/assets/icons/save_green.png","webpack:///./src/assets/icons/facebook.png","webpack:///./src/assets/icons/to_original.png","webpack:///./src/store/conversationStore.ts","webpack:///./src/assets/icons/folio_private.png","webpack:///./src/store/errorStore.ts","webpack:///./src/assets/icons/remove.png","webpack:///./src/components/DoceoAppBar.vue?912e","webpack:///./src/assets/icons/save_orange.png","webpack:///./src/assets/icons/marketing/facebook.png","webpack:///./src/assets/icons/green_checkmark.png","webpack:///./src/assets/icons/author.png","webpack:///./src/assets/icons sync ^\\.\\/.*$","webpack:///./src/assets/icons/like_green.png","webpack:///./src/assets/icons/invite.png","webpack:///./src/assets/icons/add.png","webpack:///./src/assets/icons/marketing/brain.png","webpack:///./src/constants/searchType.ts","webpack:///./src/components/marketing/MarketingHeader.vue?a432","webpack:///./src/assets/icons/youtube.png","webpack:///./src/store/userStore.ts","webpack:///./src/constants/roles.ts","webpack:///./src/api/DoceoApi.ts","webpack:///./src/api/axiosClient.ts","webpack:///./src/assets/icons/author_multiple.png","webpack:///./src/assets/icons/attachment-link.png","webpack:///./src/components/userManagement/InfoDialog.vue?0c8c","webpack:///./src/components/userManagement/InfoDialog.vue","webpack:///./src/components/userManagement/InfoDialog.vue?0a2c","webpack:///./src/components/userManagement/InfoDialog.vue?db5b","webpack:///./src/assets/icons/marketing/instagram.png","webpack:///./src/components/marketing/MarketingFooter.vue?77cd","webpack:///./src/assets/icons/like_blue.png","webpack:///./src/components/userManagement/PasswordFields.vue?28f7","webpack:///./src/components/userManagement/PasswordStrength.vue?b0eb","webpack:///./src/components/userManagement/PasswordStrength.vue","webpack:///./src/components/userManagement/PasswordStrength.vue?cabc","webpack:///./src/components/userManagement/PasswordStrength.vue?48d8","webpack:///./src/components/userManagement/PasswordFields.vue","webpack:///./src/components/userManagement/PasswordFields.vue?34f0","webpack:///./src/components/userManagement/PasswordFields.vue?4d67","webpack:///./src/store/chatHubStore.ts","webpack:///./src/router/index.ts","webpack:///./src/assets/icons/instagram.png","webpack:///./src/components/DoceoImage.vue?a654","webpack:///./src/assets/icons/save_yellow.png","webpack:///./src/assets/icons/draft.png","webpack:///./src/assets/icons/content_drug.png","webpack:///./src/assets/SophiaMedAi-logo.png","webpack:///./src/assets/icons/marketing/chat.png","webpack:///./src/store/profileStore.ts","webpack:///./src/assets/icons/save_youtube.png","webpack:///./src/assets/icons/close.png","webpack:///./src/components/userManagement/InfoDialog.vue?5c46","webpack:///./src/assets/icons/twitter.png","webpack:///./src/assets/icons/folio_create.png","webpack:///./src/assets/icons/search.png","webpack:///./src/App.vue?8135","webpack:///./src/components/DoceoAppBar.vue?9aa6","webpack:///./src/components/DoceoAppBar.vue","webpack:///./src/components/DoceoAppBar.vue?e2f7","webpack:///./src/components/DoceoAppBar.vue?203e","webpack:///./src/components/marketing/MarketingHeader.vue?5700","webpack:///./src/components/userManagement/LoginDialog.vue?a570","webpack:///./src/components/userManagement/LoginDialog.vue","webpack:///./src/components/userManagement/LoginDialog.vue?8397","webpack:///./src/components/userManagement/LoginDialog.vue?ed47","webpack:///./src/components/userManagement/RegisterDialog.vue?b72e","webpack:///./src/components/userManagement/RegisterDialog.vue","webpack:///./src/components/userManagement/RegisterDialog.vue?a54f","webpack:///./src/components/userManagement/RegisterDialog.vue?4770","webpack:///./src/components/userManagement/ForgotPasswordDialog.vue?dfe0","webpack:///./src/components/userManagement/ForgotPasswordDialog.vue","webpack:///./src/components/userManagement/ForgotPasswordDialog.vue?1b13","webpack:///./src/components/userManagement/ForgotPasswordDialog.vue?ffa5","webpack:///./src/components/userManagement/ResetForgotPasswordDialog.vue?c110","webpack:///./src/components/userManagement/ResetForgotPasswordDialog.vue","webpack:///./src/components/userManagement/ResetForgotPasswordDialog.vue?e0a3","webpack:///./src/components/userManagement/ResetForgotPasswordDialog.vue?af49","webpack:///./src/components/userManagement/VerifyEmailDialog.vue?7cd2","webpack:///./src/components/marketing/MarketingHeader.vue","webpack:///./src/components/userManagement/VerifyEmailDialog.vue","webpack:///./src/components/userManagement/VerifyEmailDialog.vue?573a","webpack:///./src/components/userManagement/VerifyEmailDialog.vue?0ac5","webpack:///./src/components/marketing/MarketingHeader.vue?f19c","webpack:///./src/components/marketing/MarketingHeader.vue?c8ef","webpack:///./src/components/marketing/MarketingFooter.vue?df94","webpack:///./src/components/marketing/MarketingFooter.vue","webpack:///./src/components/marketing/MarketingFooter.vue?f00e","webpack:///./src/components/marketing/MarketingFooter.vue?0031","webpack:///./src/App.vue","webpack:///./src/App.vue?0ab4","webpack:///./src/App.vue?3e1f","webpack:///./src/plugins/vuetify.ts","webpack:///./src/plugins/dayjs/dayjsPlugin.ts","webpack:///./src/hubs/contentHub.ts","webpack:///./src/hubs/notificationHub.ts","webpack:///./src/hubs/chatHub.ts","webpack:///./src/main.ts","webpack:///./src/assets/icons/like_yellow.png","webpack:///./src/assets/icons/content_article.png","webpack:///./src/assets/icons/pill_pink.png","webpack:///./src/assets/icons/date.png","webpack:///./src/assets/icons/save_default.png","webpack:///./src/store/folioStore.ts","webpack:///./src/assets/icons/like_orange.png","webpack:///./src/assets/icons/marketing/linkedin.png","webpack:///./src/assets/icons/chat_bubble_active.png","webpack:///./src/assets/icons/invite_active.png","webpack:///./src/assets/icons/linkedin.png","webpack:///./src/assets/icons/save_linkedin.png","webpack:///./src/assets/icons/marketing/folder.png","webpack:///./src/store/analyticsStore.ts","webpack:///./src/assets/icons/save_twitter.png","webpack:///./src/assets/icons/more.png","webpack:///./src/assets/icons/notification_active.png","webpack:///./src/assets/icons/gender.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","style","cursor","attrs","size","alt","on","click","mouseover","mouseleave","staticRenderFns","extend","props","icon","String","required","Number","default","hoverIcon","isHovered","computed","methods","$emit","component","VImg","DOCEO_ICONS","ADD","ADD_ACTIVE","ATTACHMENT","AUTHOR","AUTHOR_MULTIPLE","BACK","CHAT_BUBBLE","CHAT_BUBBLE_ACTIVE","CLOSE","CONTENT_ARTICLE","CONTENT_DECISION","CONTENT_DRAFT","CONTENT_DRUG","CONTENT_TRIAL","CREATE","DATE","EDIT","FOLIO_PRIVATE","FOLIO_RESTRICTED","GENDER","GREEN_CHECKMARK","LIKE_BLUE","LIKE_DEFAULT","LIKE_GREEN","LIKE_ORANGE","LIKE_YELLOW","LINK","MARKETING_BRAIN","MARKETING_CHAT","MARKETING_FACEBOOK","MARKETING_FOLDER","MARKETING_INSTAGRAM","MARKETING_LINKEDIN","MORE","MORE_ACTIVE","NOTIFICATION","NOTIFICATION_ACTIVE","REFRESH","REMOVE","SAVE_BLUE","SAVE_DEFAULT","SAVE_FACEBOOK","SAVE_GREEN","SAVE_INSTAGRAM","SAVE_LINKEDIN","SAVE_ORANGE","SAVE_PINK","SAVE_TWITTER","SAVE_YELLOW","SAVE_YOUTUBE","SEARCH","SOCIAL_FACEBOOK","SOCIAL_INSTAGRAM","SOCIAL_LINKEDIN","SOCIAL_TWITTER","SOCIAL_YOUTUBE","TO_ORIGINAL","JOURNAL","useAttachmentStore","state","storeAttachments","getters","actions","getAttachmentAsync","id","index","findIndex","x","attachmentId","fileResponse","attachmentClient","fileResponseAttachment","staticClass","img","imgHeight","imgWidth","contain","_t","created","loadAttachment","watch","Boolean","rounded","attachment","urlCreator","URL","webkitURL","createObjectURL","VSkeletonLoader","useHubStore","storeIsLoadingState","isConnectedToHub","hubConnectAttemptCount","isLoadingState","isConnected","SET_IS_LOADING_STATE","SET_IS_CONNECTED_TO_HUB","CLEAR_HUB_CONNECT_ATTEMPT_COUNT","SET_HUB_CONNECT_ATTEMPT_COUNT","count","useContentStore","loggedIn","storeSummaries","versions","storeNewContentAdded","offset","storeContentItemFilter","storeTrending","storeFollowed","newContentAdded","summaries","version","getVersionHistory","contentItemId","trending","followed","filters","resetSummaries","fetchSummaries","contentsClient","analyticsStore","firstCount","timeName","loadDiscover","loadInitialDiscover","startTime","Date","discoverContent","items","submitEventTimer","discoverFeed","item","fetchVersionHistory","getContentItemVersions","set","setSummaryFilter","fetchTrending","getTrending","loadTrending","fetchFollowed","getRecentFollowedContent","loadFollowing","useConversationStore","storeMessages","storeDiscussions","storeChatroomId","storePendingInvitations","storeNextCursor","messages","discussions","pendingChatroomInvites","unreadMessageCount","reduce","prev","cur","setChatrooms","chatrooms","formatDates","addChatroom","chatroom","unshift","today","format","forEach","latestMessageDate","localDate","utc","local","messageDay","setCurrentChatroom","chatroomId","getHistoricalMessages","clearUnread","find","room","query","nextCursor","chatHubStore","getMessages","newMessages","createdUtc","sendMessage","content","command","addMessage","receiveMessage","broadcastMessage","fromUserId","fromUserFullName","fromUser","createChatroom","createChatroomCommand","Private","newChatroom","leaveChatroom","indexOf","inviteUserToChatroom","email","joinChatroom","joinChatroomCommand","privateChatroomInvitationToken","inviteToken","joinPublicChatroom","setInvitedChatrooms","invitedChatrooms","readLastMessage","acceptChatroomInvite","removeInvitation","declineChatroomInvite","addInvitation","useErrorStore","storeError","storeMessage","addError","clearError","clearMessage","map","webpackContext","req","webpackContextResolve","keys","SearchType","use","persistantStorageOptions","paths","Store","plugins","pendingFolioInvites","accessToken","accessTokenExpiry","refreshToken","user","refreshRouteName","roles","isLoggedIn","userId","decoded","isUserSet","firstName","lastName","hasRefreshToken","hasAdminRole","includes","Admin","hasVoiceOfRole","VoiceOf","hasSponsorRole","Sponsor","hasDoctorRole","Doctor","setRefreshRouteName","commit","removeInvite","getPendingInvites","dispatch","folioClient","pendingInvites","getUserAsync","userClient","profileStore","getProfileAsync","checkToken","checkTokenExpiringSoon","subtract","isBefore","refreshLogin","refreshTokenCommand","tokenResponse","add","expiresIn","toISOString","login","usernamePassword","tokenCommand","username","password","token","logout","attachmentStore","$reset","connection","stop","contentStore","conversationStore","errorStore","folioStore","hubStore","mutations","setRefreshingRouteName","setLoggedIn","setRefreshToken","setAccessToken","setAccessTokenExpiry","setUser","setRoles","setPendingInvites","removePendingInvite","contentIndex","Roles","UserStatus","options","headers","url","response","processor","status","tryRefreshTokenAsync","logoutAndRedirect","config","instance","a","router","val","baseUrl","jsonParseReviver","getBaseUrl","cancelToken","url_","replace","options_","method","transformOptions","transformedOptions_","catch","_error","isAxiosError","_response","transformResult","processGetVoiceOfUsers","_headers","k","_responseText","result200","resultData200","Array","isArray","fromJS","throwException","content_","JSON","stringify","processCreate","encodeURIComponent","responseType","processDeactivate","contentDisposition","fileNameMatch","exec","fileName","Blob","processReactivate","processToken","result400","resultData400","processRefreshToken","processCheckToken","processGet","result404","resultData404","resultdefault","resultDatadefault","processPut","processDelete","result201","resultData201","processResendNewUserInvitationEmail","processSetPassword","processForgotPassword","processResetPassword","processChangePassword","processDoesEmailExist","processInviteUser","processGetSponsorUsers","processAddLike","processRemoveLike","draftContentItemId","processPublishArticle","title","summary","attachmentIds","imageIds","featuredImageId","authors","voiceOf","promotedBy","attr","processUpdateArticle","processGetUserContent","processDeleteUserContent","userUpload","processCreateDraftArticle","processUpdateDraftArticle","processGetSummaryFromContent","processPublishExternalLink","externalLinkType","externalLink","processUpdateExternalLink","profile","processUpdateProfile","processGetProfile","processGetProfileSummary","processGetAreasOfInterest","processGetAllSpecialties","searchProfileRequest","processSearchProfiles","file","FormData","append","processUploadProfilePicture","processGetFollowedUsers","userIdToFollow","processFollowUser","userIdToUnfollow","processUnFollowUser","contact","processAddContact","attachmentType","processCreateFromFile","processCreateFromUrl","folio","processUpdateFolio","processCreateFolio","processDeleteFolio","processGetFolioClippings","model","processAddFolioClippings","processRemoveFolioClipping","processGetFolios","processCreateFolioLogo","processGetFolioLogo","processDeleteFolioLogo","invitation","processUpdatePendingInvites","processRemoveUser","processGetFolioUsers","processGetPendingInvites","processGetTrending","processGetRecentFollowedContent","firstOffset","filter","processDiscoverContent","searchTerm","processGetRelatedContentItems","isRecent","processGetContentItems","processGetDrugContentItemsByName","processGetContentItemVersions","includeContentTypes","excludeContentTypes","processGetContentItemSummaries","processGetContentItem","processGetContentItemSummary","versionId","processGetDrugItems","processGetContentItemVersion","contentItemVersionId","processGetContentItemVersionUniqueViewCount","processAddContentItemVersionView","processGenerateMockVersion","_data","userStatus","VoiceOfUserResult","init","UserType","CreateVoiceOfUser","tokenType","userRoles","TokenResponse","detail","extensions","ProblemDetails","TokenCommand","RefreshTokenCommand","minc","UserModel","CreatedResponse","schoolName","userType","pendingDiscussionId","pendingFolioId","CreateUserCommand","ContentItemType","succeeded","errors","toJSON","IdentityResult","description","IdentityError","SetPasswordCommand","ForgotPasswordCommand","ResetPasswordCommand","currentPassword","newPassword","ChangePasswordCommand","emailAddress","folioId","InviteUser","SponsorUserResult","CreateSponsorUser","UserContentAuthorDto","_discriminator","xmin","createdOn","toString","publishedOn","contentItemType","creator","savedToFolioIds","ContentItemSummaryResult","DrugStatus","ContentAuthorResult","din","DrugBrandContentItemSummaryResult","drugStatus","drugIngredients","DrugContentItemSummaryResult","FolioShareLevel","dosage","dosageUnit","strength","strengthUnit","sourceUrl","DrugContentItemIngredient","author","journalTitle","journalIssueDate","isMednet","ArticleContentItemSummaryResult","trialStatusId","trialStatusType","trialTitle","minAge","minAgeUnits","minAgeInYears","maxAge","maxAgeUnits","maxAgeInYears","metaDescription","metaKeywords","TrialContentItemSummaryResult","TrialStatusType","logoAttachmentId","clippingsCount","shareLevel","FolioContentItemSummaryResult","DecisionType","referenceNumber","dateIssued","decisionItems","DecisionContentItemSummaryResult","decisionContentItemVersionId","decisionContentItemVersion","contents","orderIndex","DecisionItem","contentItem","supersededByContentItemVersionId","supersededByContentItemVersion","ContentItemVersion","byline","extraSearchInfo","sourceId","source","sourceContent","rndSort","attachments","images","featuredImage","creatorId","searchVector","editorialRank","dateRank","areasOfInterest","userContentItemVersions","contentItemVersionViews","isDeleted","decisionType","drugContentItemVersions","DecisionContentItemVersion","ChatroomType","ChatroomStatus","ChatroomUserStatus","companyId","company","drugCode","monographOriginalUrl","brandGroup","therapeuticClasses","decisions","contentItems","DrugContentItemVersion","address","suite","city","province","postalCode","country","drugs","Company","DrugBrandGroupContentItemVersion","slug","contentItemVersions","contentLikes","folios","ContentItem","ContentLikes","userName","normalizedUserName","normalizedEmail","emailConfirmed","passwordHash","securityStamp","concurrencyStamp","phoneNumber","phoneNumberConfirmed","twoFactorEnabled","lockoutEnd","lockoutEnabled","accessFailedCount","IdentityUserOfString","IdentityUser","refreshTokens","chatroomUsers","following","followers","ApplicationUser","expiry","isExpired","createdByIp","revoked","revokedByIp","replacedByToken","isValid","RefreshToken","chatroomUserId","modifiedUtc","lastReadDate","ChatroomUser","ownerUserId","ownerUser","Chatroom","AttachmentType","AttachmentBelongsTo","AttachmenUrlLocation","sourceUserId","sourceUser","followedUserId","followedUser","UserFollow","isTakingPatients","location","specialty","phoneExtension","qualifications","bio","profilePicture","UserProfile","Specialty","attachmentBelongsTo","attachmenUrlLocation","contentType","Attachment","FolioInvitationStatus","parentArea","AreaOfInterest","users","contentItemVersion","searchRank","UserContentItemVersion","logo","clippings","FolioContentItemVersion","FolioUsers","ExternalLinkType","regionId","region","modifiedOn","Source","countryId","languageId","language","identifier","sources","Region","regions","states","Country","State","Language","text","Lexeme","viewedOn","ContentItemVersionView","drugContentItemVersionId","drugContentItemVersion","ingredientContentItemVersionId","ingredientContentItemVersion","DrugIngredient","IngredientContentItemVersion","TherapeuticClass","postedBy","isPublished","DraftUserArticleContentItemSummaryResult","UserArticleContentItemSummaryResult","UserExternalLinkContentItemSummaryResult","ContactUsReason","DraftUserExternalLinkContentItemSummaryResult","CreateDraftUserArticle","UpdateDraftUserArticle","CreateDraftUserExternalLink","UpdateDraftUserExternalLink","areasOfInterestIds","UpdateProfileDto","followingUserIds","profilePictureAttachmentId","isFollowed","ProfileDto","SpecialtyDto","parent","AreaOfInterestDto","ProfileSummaryDto","speciality","isAcceptingNewPatients","telephoneNumber","telephoneExtension","SearchProfileDto","subSpecialty","acceptingNewPatients","SearchProfileRequest","GetAttachmentDto","GetUserFollowDTO","reCaptchaToken","reason","ContactUs","ProcessingStatus","UpdateFolio","authorId","contentIds","Folio","AddFolioClippingModel","RemoveFolioClippingModel","GetFolioAttachment","FolioUserResult","FolioInvitationModel","invitedByName","invitedByEmail","PendingFolioInvite","inviteId","folioInvitationStatus","UpdateFolioInvitationModel","ContentItemRelatedResult","ContentItemVersionEntryResult","likes","hasUserLikedContent","ContentItemResult","drugItems","DrugBrandContentItemResult","drugData","DrugContentItemResult","manufacturer","individualPrice","listDate","amountMOHLTCPays","itemNumber","dosageForm","DrugData","DecisionContentItemResult","ArticleContentItemResult","articleId","article","ArticleAuthor2","pmid","mednetID","processingStatus","keywords","dateCompleted","dateRevised","citationCount","ArticleContentItemVersion","FolioContentItemResult","nctID","lastVerifiedDate","genderTypeId","gender","locations","TrialContentItemResult","TrialLocation2","DraftUserArticleContentItemResult","ownerId","UserArticleContentItemResult","DraftUserExternalLinkContentItemResult","UserExternalLinkContentItemResult","isApiException","obj","width","callback","$$v","isOpen","expression","_v","_s","close","buttonText","components","DoceoIcon","VBtn","VCard","VCardActions","VCardText","VCardTitle","VCol","VDialog","VRow","VSpacer","passwordErrors","$event","$v","$touch","verifyPasswordErrors","verifyPassword","containsNumber","containsLowercase","containsUppercase","containsSpecial","staticStyle","VIcon","mixins","PasswordStrength","validations","test","sameAsPassword","isRegistering","errorMsg","isSubmitting","isInfoDialogOpen","resetPassword","buttonClicked","$invalid","$dirty","VTextField","useChatHubStore","SET_CONNECTION","invoke","getInvitedChatrooms","getJoinedChatrooms","loadChatrooms","resendChatroomInvitationEmail","sendMessageCommand","ActiveNav","Discover","DoctorSearch","Profile","ContentItemDetails","Search","DrugGroup","Discussions","MyContent","CreateContent","AccountManagement","Landing","Home","TermsOfService","PrivacyPolicy","AboutUs","routes","path","redirect","meta","noAuthRequired","searchType","None","activeNav","MarketingHome","isMarketing","Content","allowedRoles","MarketingAboutUs","MarketingContact","base","beforeEach","to","_","next","some","role","afterEach","from","scrollTo","useProfileStore","storeProfile","storeAreasOfInterest","storeAllSpecialties","allSpecialties","profileClient","getProfile","updateProfile","updatedProfile","uploadProfilePicture","fileParameter","getAreasOfInterests","getAreasOfInterest","getAllSpecialties","snackbar","_e","messageSnackbar","drawer","isPhoneScreen","goToDiscover","class","onDiscoverPage","goToFolio","onFolioPage","goToDoctorSearch","onDoctorSearchPage","goToMyContent","onMyContentPage","isSmallScreen","mobileSearch","showSearchFilter","_k","keyCode","onSearch","arguments","scopedSlots","_u","fn","ref","_g","_b","goToSponsorAccountManagement","goToVoiceOfAccountManagement","goToDiscussions","notificationsCount","_l","invite","acceptInvite","declineInvite","acceptChatroomInviteAndGo","directives","rawName","goToProfile","performLogout","showSearch","doctorSearchFilterDialog","doctorSearchFilters","$set","DoceoImage","addEventListener","myEventHandler","destroyed","removeEventListener","$router","updateInvite","Declined","Accepted","$route","fetchFolios","updateFolioInvitation","updatePendingInvites","params","accountType","$vuetify","breakpoint","hasFolioAccess","hasDoctorSearchAccess","hasDiscussionAccess","hasAccountManagementAccess","VAppBar","VAppBarNavIcon","VBadge","VCheckbox","VDivider","VList","VListItem","VListItemAvatar","VListItemContent","VListItemTitle","VMenu","VNavigationDrawer","VResponsive","VSheet","VToolbarTitle","VToolbar","drawerOpen","goToHome","onHomePage","onAboutUsPage","onContactPage","openDialog","Dialog","Register","Login","closeDialog","ForgotPassword","ResetForgotPassword","VerifyEmail","preventDefault","loginClicked","isFormValid","usernameRules","loginUsername","passwordRules","loginPassword","isLoggingIn","openRegister","openForgotPassword","v","loginForm","validate","$refs","VForm","userRoleOptions","clearGenericCheckbox","userSelectedRole","mincErrors","schoolErrors","school","firstNameErrors","lastNameErrors","emailErrors","genericCheckboxErrors","genericCheckbox","genericCheckboxMessage","proxy","privacyPolicyErrors","privacyPolicy","privacyPolicyUrl","stopPropagation","termsOfServiceErrors","termsOfService","termsOfServiceUrl","mincVerifiedErrors","mincVerified","registerClicked","openLogin","isConfirmedDialogOpen","mincValidate","regexp","RegExp","replaceAll","checkboxAccepted","privacyAccepted","termsAccepted","InfoDialog","maxLength","toLowerCase","MedicalResident","fname","lname","discussion","NursePractitioner","MedicalStudent","createUser","createCommand","isDoctorSelected","isNursePractitionerSelected","isMedicalResidentSelected","routeData","VSelect","requestLinkClicked","dialogClosed","forgotPassword","forgotPasswordCommand","SetPassword","childForm","mychild","$model","setPassword","LoginDialog","RegisterDialog","ForgotPasswordDialog","ResetForgotPasswordDialog","VerifyEmailDialog","checkDialogParam","dialog","smAndDown","VContainer","hover","VHover","DoceoAppBar","MarketingHeader","MarketingFooter","metaInfo","htmlAttrs","lang","loaded","VApp","VMain","VSnackbar","icons","iconfont","theme","customProperties","themes","light","primary","secondary","submit","secondaryButton","DayJsPlugin","Vue","$dayjs","ContentHub","configureLogging","Information","withUrl","accessTokenFactory","withAutomaticReconnect","nextRetryDelayInMilliseconds","retryContext","reconnectDelay","Math","random","previousRetryCount","build","start","Connected","onreconnecting","onreconnected","NotificationHub","newValue","ChatHub","broadcastMessageCommand","productionTip","pinia","vuetify","store","h","App","$mount","useFolioStore","storeFolios","folioViewing","folioLogos","isFetchingFolios","myCreatedFolios","addFolioClipping","folioClippingModel","addFolioClippings","removeFolioClipping","getDefaultLogos","getFolioLogo","logos","deleteFolio","createFolio","newFolio","updateFolio","getFolios","EventTimeName","EventTimeCategory","useAnalyticsStore","endTime","eventName","eventCategory","millisecondsBetween","getTime","event_category"],"mappings":"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","file":"js/app.a0b24f62.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0e93f149\":\"839a9b63\",\"chunk-14323ab4\":\"426d0c78\",\"chunk-6962af6c\":\"daaa27a6\",\"chunk-3d41b5e0\":\"ab431c1f\",\"chunk-48dd3c26\":\"0a741b1e\",\"chunk-49a43386\":\"b6212709\",\"chunk-566d5fcc\":\"2f8290f3\",\"chunk-787e3e4d\":\"84f4b765\",\"chunk-0421e620\":\"8d39e515\",\"chunk-04e6aab2\":\"72bba74b\",\"chunk-2d0aec6b\":\"f49735fc\",\"chunk-2d0bd977\":\"4db5c94b\",\"chunk-2d0d01b8\":\"d631a457\",\"chunk-65a389f6\":\"e0a7d975\",\"chunk-2d0c972d\":\"3385717e\",\"chunk-53465ac8\":\"1c947781\",\"chunk-a019beda\":\"1f1a7be1\",\"chunk-e09c8f52\":\"608c2853\",\"chunk-2d217a40\":\"3037dbb4\",\"chunk-7b124030\":\"b2d8ac4e\",\"chunk-e01e3708\":\"3987959b\",\"chunk-eeaf1fae\":\"4722fa7b\",\"chunk-2d0da01f\":\"c4f8c0f0\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0e93f149\":1,\"chunk-14323ab4\":1,\"chunk-6962af6c\":1,\"chunk-3d41b5e0\":1,\"chunk-48dd3c26\":1,\"chunk-49a43386\":1,\"chunk-566d5fcc\":1,\"chunk-787e3e4d\":1,\"chunk-0421e620\":1,\"chunk-04e6aab2\":1,\"chunk-65a389f6\":1,\"chunk-53465ac8\":1,\"chunk-a019beda\":1,\"chunk-e09c8f52\":1,\"chunk-7b124030\":1,\"chunk-e01e3708\":1,\"chunk-eeaf1fae\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0e93f149\":\"897c0951\",\"chunk-14323ab4\":\"319b50c2\",\"chunk-6962af6c\":\"db229667\",\"chunk-3d41b5e0\":\"cfb95688\",\"chunk-48dd3c26\":\"926bf827\",\"chunk-49a43386\":\"303c32b4\",\"chunk-566d5fcc\":\"7d379393\",\"chunk-787e3e4d\":\"d253099c\",\"chunk-0421e620\":\"64d8c57d\",\"chunk-04e6aab2\":\"ed7a45c6\",\"chunk-2d0aec6b\":\"31d6cfe0\",\"chunk-2d0bd977\":\"31d6cfe0\",\"chunk-2d0d01b8\":\"31d6cfe0\",\"chunk-65a389f6\":\"d37a3c29\",\"chunk-2d0c972d\":\"31d6cfe0\",\"chunk-53465ac8\":\"bb0839ab\",\"chunk-a019beda\":\"288a561e\",\"chunk-e09c8f52\":\"7b5b98f1\",\"chunk-2d217a40\":\"31d6cfe0\",\"chunk-7b124030\":\"d76d9e27\",\"chunk-e01e3708\":\"7d379393\",\"chunk-eeaf1fae\":\"5c4621bc\",\"chunk-2d0da01f\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAABXuSs3AAAABHNCSVQICAgIfAhkiAAAAdFJREFUaEPtmUFSwkAQRbtB74G3CCuydRHLI+AJPAJwBE8gN9AiC7ewIreQeyhpe0YDVjRU80NRFapnPT3d8/Nn8maGqWWTfHgvJI9EnNqGkiUTP3G2frX1/78Xtwne5slUi5ggY+hkZ/2smCKxIQYuXN6SgXzyO5o4Jr+SG74tNsgYeOGLZCzMz0jSKoZFHviumCNjwIXXbWL59EhM06S8cFfcaHi3ilvFrdKgALInIzGXu48H9qAtjUhoYLGZECkN7okQWZxEgRRpacmnVLWhPq0qtonboeTJRIhhUotjGGivDU3u+IZkylkx42+ephfTrA90OlfhkSoDnJWLZEnMoy4VTiIrLvOhCr5vQTlkEj31qn7Cg35VS6ZlXBvHt/qB5U/hvWwNY8Dx5dgj6gJ74XbtsJ6uOKYbHuWK49phkZerOCsLYJooABl+QDo29Jeus1R3f/mdhaxgi1Pg5rnosMqz45J4kPigtGTbQYJFYekXVUKFK+UJ2w4SPdGDxLWC3M8lKQxUyPkRiWnaKLxwxCqWGFe8UgDxKxLjirviqoAvzmOoEFloSMzJF6d09bmwsw+0bamyzcIMuWFWqbwXLUM0Nt8/hns/ojn6olzl/QLLbx9JkvPTpgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAA9CAYAAAAAq1FaAAAABHNCSVQICAgIfAhkiAAABV9JREFUaEPtmi1QIzEUx1MFCnDgWBwOqsCxKHAUhWTP4eAUOIrDHXWgrjhQRx2oax2oaw0D6hYHgzjqQPXeP7PZSdPdTbZNd3vMZWanH5uvX97Ly8tLCmwIqdPpTFG12/R49CwGTbzRZ52eSqFQwKf1VLBdI4EA4Bs9AIpLgPlCUL7N9q3CBCDfDTsISa0SUNMwvzabNRgCcam1n6LFdrvN6vU6e3h4YO/v72xqaootLi6ylZUVuVNNgilqe2mYwSbMb2rTQbtPT0/s4uKCQ6hpZmaGeZ7HxsbGxCuoW9Wwv4nZrMDIUvn4+GAnJyeRIKIny8vLbG1tTfy0Jp2BYQgE0sA8gZqxu7s7dn19rR3ow8NDOY9H0jnXFtJk6BsmML+wWp7cRq1WY82mfk5D1WZnZ+WiPv0oDwLVF0ygVj+o8S7zCxWrVqvs+flZO8jr6+tsaWkpKt8V/Yl5BGuXKqWGiTK/j4+PXBqwXGkSLNz8/DzDHJqcnFSlBLMNaRmnVDAqCCRxdXWVGkLt3fj4OHNdV5UUdBVAxhIyhiEQuCW/REdeXl64SkWZX+OhVDJiHdrY2JD/TWXp0sAAhPtZwwARBBFAxuuQEQxJZY8ag+ViUK3T01P29mYs/dSCgspJngIamjNRN1OYP8JyNRoN7qYMM2EO7ezsyEbhiGDKuja1MCSVElUCM8zgb2F1zyLBym1tbYmmfIKZ07VrAgO7z2el6equa9T0/cHBgezDbRIQ+hKbTGA6onSlUhnqXFF7qSys2NRh7vYHIzuQsGCY+Fkmx3HY9jY2rDxpzXSiZGQr1mq1+AKZZYIh2N/fD5skyST2VwdTpZr40Nzc3LDb29ssWXhbsGrT09OiXXgE9bhO6GBQkG8Nz8/Pme/7mcMo3vVAMOHu8ezszMgbtk2rLKCJ641OMqElOzo6st1Po/o+FYyyxf63JaOY5wYZADe1AQi2xfDJuHN5fHxspBa2M9mCwQjwOBhCR9i75JH+w6ijLrsy2OMjqJdXksJSid5zrGkmmDJ1nge3stjDJA2UHGNLcmmSYELX3zQWNizJmbo0kTCBJcPqz+NiWbv+6qCYbgXiYDyqkB9N5OH6qzCKRYuNCfTABFJBJMZBpXmrmADb29vTxgSiYLDJ30UlWe75dfMtIgRVVA+qumDk4AUqv7y8HDhaqetkmvfKdqAn4hnCBEcTUC8+6fNeW6IgEZuGZZMOqqoknS8irwwTRiyhXtjv2wy9ppFAUt4IdQujNhxG3uvjd14bMVNgxVSH1k3AZBqxNO10XL64iGdBPqYYJeulA1bUjftsgAndlrwiMLqOx71X1p5VwNQpc64RmH5hSqUSW1hYEMW/Aib3oEW/MD3Bjs8Gg5WUy2rUTbIqQcVEczUbmX1LWnXb3d3ld3KCxA2ARz+4u4+jPUhnFFd+FVSJp7XpvSMWTZ9+8OsSuJAAB3OYZ5ZpJaDmj3BpeHBQwIRHfaIgIv4IMaW9qDBoR+PKQ52wSYMpxqeUWvTdxQGu7GiG6qZWCGlB9fCJgGBWCbc2AIFrXXBhIlIIgnfqfsal/8r0dN1wy6rzKdrBHMEm8kQ+Uo+LAeDyAiQFuHCJTdHYsLLWqOI6PdjH9FxE0B7QolfBVRPYQMD1pPv7e/f19bVvaRaLxcrExETULQmfGuOPyaUgIxjdMJfL5R4Doisj3tNAtensJ1wsTMtF5bMCg4oJCOLvRzqbVNbKya9NGIdGGcfbXRfHNCNdC6Q6iEDCstZgAumUCAiT0wSoQWVKBGPtRpFVmAAI+l+lp+vimDxHsFpTsn4JxzqM6DR1FuZdPA59h3eOeeXTO1go6+kvoyiet1KhtBgAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAbCAYAAACEP1QvAAAABHNCSVQICAgIfAhkiAAAAR5JREFUSEu9lssRgjAQhg0V0IIVoBU4dKIdWAFDC3QgHWAFYgexA44ePXrDf52RkUc2D2Azk0Oy2f3+ZJLdqI1ny/M8jqIoybLs7uk6Wq58AgC8w/obeoyuMd77+A/XOsMH4F+cE+YvoQKc4AYwMbewNavBGXAB2zkUTH7szhlwCdtxDpiFrw02wiXAk3Ap8AguCe7BpcEdnAFrpVQ191ZP+Ddt214VA16B2QtZErzG1GFt0kT8B8GpSJCARFhA8c1wjIAnzCX6e2FhFZi6S6+MAA1wCvtrYQH93C4tYFRYJAVMVjUpAcaSKiHAVs9Nz3CRS2j9RjEnUMOWznkBVrglD9ATpAQV1JzgjAAZ+J8AqnJUC2b/45x3HnSuFqcPwJWILPDYg4UAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAiCAYAAADVhWD8AAAABHNCSVQICAgIfAhkiAAAAYNJREFUWEfdlz1ShTAQx5OSTk4gR4AbSEen3uB5AqGk0xNAR2tJ57PiGngC6Wgt6XA3QxwLDMlmeTJmZgcYJptf9iP/iRQ7jTzP78D1I1gM9gnWgz3XdY3P1SH3YAGQegFZc/8AQC9rP9hhloi8bmwyWYuQhMmRlPJ2nucrpiidwE+EvuI4FmmaimmaRNd1YhgGvQSm6qw/YP2+qqo3hPnQk5lgvt0URSHCMFTf4ziKpmlMS9wjDOJec4Ogv7IsRRAETjBY7TdgnGlSm0uSRGRZptLUtq2KzjLef6YJ3nuoofOxCniP9BymtfXmlhbPsanA9KH3dPFDjxpt9pqhguC8TRiKxlCBjDDUQmSH8dEYMoxBm07gNELHthpDhnDRJkeNoTLZaZOjxnjB/KZNmCZXjaGCmLXpTwrYtJXDtLaPxlBztXkCUx1T5v1PGA4NY4kMV6F7w3AeARz3Jm8N2+Xe5Klhdtpk26aeGqZgfO9NHBrGc29iLWDbFFxCw7xbm1PDvgDKtwLyvkDFWwAAAABJRU5ErkJggg==\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAAqCAYAAAA0yJLWAAAABHNCSVQICAgIfAhkiAAAA7dJREFUWEftWEty2kAQhYIFrMINgk8QZUEVrEJOEDhBzAlCTmB8guATGJ8g5AQmK6BYWDmBxQlCVrDgk9dTM6pRq0caYS+clFXlsjUadT+97tfd43LpBV7lF4ip9H+DarfbzdPp9KlcLjc0+xH+jubz+c+i0XgyUwQGTq8A4FJyDqAR1keLxeLOF9yTQLVaraBard7DmWEny+/meDyOlsvlTR64s0GBoS7YIUCFLjA32+12/TAMN64XzwLlYggOKX9m5AyAA9wT8DeC83C/3w9Wq1UoASsMKgiCRr1eJ4YC2yAADJA3E3uN9tZqtSHWhgK4zXa7vZAYKwwKYRvBwVUeIPs5MVupVCZ47x1jZgp19jlbhUDpsD0wQHdgKKE8YkhiAB9EwD7b7yOM73kYC4GC0XsY7VpG1whBQAB0WIlBAkhq3CCkYwC+tkF0Op0I92+ttRuwRSGOL29QAHQJQLeMpY9wOtMM0rNEnum9iRABVA/r340dEgds2B/q12Y0C4+aAWPvB76wp5P5AYCbPDcsxwo83fNScjYontww9IdYgaNICGkKG/ZfY+9Ig0owjmepnMwNH7URsEAsxZdx4ggptRPqe7FCGahEstvPjINcUMgBij/lgblUctMN6lUipCYUXGXGsZQGhdUntRJTJAXHcUjxIb9Z/vWRf1OB2TXWU7mYyRSMU02KFWWYkOoV9n2FgzHeIXl/s5k1jgHq0RaEFDp6zwlKMF6CEaUiqV6RYyk8Ofl3QWLhyhBBOYwrlfA6QwYtsIkWRCrFRKDCI+RfrEgvUHA8xsYvZjMrATwEqvjlqFQE6xpfUkwVMa5ZUiFwqRRTQsNVUjhDzpIgNE2lEA2WEt+eMlXfylKpC6z3kKdzieRsX0bOvOipfCHjgqpMSFPTqTR3ZeaUS845TPASUDIF0QXWFTYxfDAyQ/w/WAmupkmh9/3COohVUyiv6kalKbBGpUVBJZSFfFFC4Awa45JKM0pAqvF6JTqcnOyNBhStEVv41cXPhNhzTKGq9rjAZiW37TdREjgoMCJWXMfhwVapOFXkhc2VU3yGnmIiGPAvBGu3wonYqDQ1MktNNwtggimHyiIYoNDRma6JHzqiUxjtS02hjgOqAuvLEu2TKnooHIWybMaHB0GlqfnbB1wKlJ65qTTwM1rKHvXEw+HQNUckmym7X/oAcSa6/YArSDC8RpHs8TMbAdMqnZnDwrOBIkO63w3x1YEpqvr/BaosFHXmuz93Rvc19Jz7XkH5svnK1D/N1F/O8NxJITctvAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAwCAYAAABaHInAAAAABHNCSVQICAgIfAhkiAAAAppJREFUaEPtmlFSwjAQhnc7vKszwqvewPYE6AnUGzhTfFZPIJ5AfBZmvIH1BOIJWryA+grOiM8q66baWqrShBIatHmiZJvsl3+bnUwWIdX6/r6NFm0DwSYA2QC4nLYx45mG7FsACF0a4VXNOQ+SfmHyod9zD5CwZYbjKl7QkBCatY3OWfRWDDYI3EtegR2V4cyzJa9qd3aFXyHYwG8c8q9T8xydwiOCo6rTbmH4TSH5Y0MQXPFzqwKvwYpzwbFsZmNBeB+AJotS//KQw5KsLeRO0XEcdzAUEy9USDJDdwyO4ESApf/cYrCumRr97FWoHMJ1Qpwb5E3jKbmlV+322E65CIBP/t7yK1aYI2o0ZLAGJZ1fRLBwA0xxZII9+u7OCPGYZeRkPftGQPcW72SrTsfLM7oy2MB37wFxLc+kWe9yyAQ1u+1k2U3qNxOMqFdzOrkiQhksDEXOFYi4kWdFf32X6IHD/HDuoagFRsOgyopp8EHLkCWYlmXVOKiyYrrzmCxrVr5TBusH7h0Crss6oNNuUr5TBptHgpZdDJqQ75TBtOcxeaqJ+U4ZTHbeou1KsKIVUJ2/VCxasWnzWFbeUVUky15ZsTzb/SzOWVlAUf98wWZwztIGNnUem9E5SxuY7MBF2ymHYtEOy85fgsmulCl2pWKmKCHrR6mY7EqZYlcqZooSsn78I8X8xpBvA5eilVnE+7FvF38Ez3/4qjZ9uQ5ftRKy8V20HX9f4v55M/ZDXK6H5RBA4oI9DkcuNfLAslqVt5ee0eUQt/t1GFEzBfXMZRzMxO1PFrDER2u/4bFq20WHVa75EzUqY6UPoXIflS6JsMw11Xxe5l1Q+C1KjaIJv9V0fH5zojJHfIy2sZAfMKKUr0uAXrqs7x0SU+ufBQhMZwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAZZJREFUWEftmP1Rg0AQxbkKxAqMFZgOtAQ7EDpIB4kVqBWAFdiCHagVBCsQKyDvMcG5OXN3e5eI/ywzTCbcx/7y8naBNV9Nc2uMWRdFscQ599ENw3B/Xtet6dt2i+iLuQmseF1ZVZcEGf4RYgwNEKMg9r+girieVEVUkVidUo+oR9QjMQXUIzGFtI6oR2bxCF5FCrwSxGIFx9WsataYgU7iERj1E4a9iAULjSeBMDOYIfaBax/4foPzEWN3uTBJIG6QCQJv8j06CiXGXwFz5YD+gj8Emw0CiG8qAYj3aWMfjESlLJBDEBYMeyxU5kwCMM3JBanZWPEFgjJLgLz9KQjUCEJYyqDhYRopTJIigHiGEpV0cyizAsyDZL4YJBXCUqaVpLUIxE5Tya9z50AZmvf6qIJ2LASDS9I6qEgoTVOV2cN0vrT2gpwSQlJjQiCiNM1Qhs3lF3fdCALZelsyaa1IhfDVGKqPslAS5CffcfEJF1e5QaTrEHOzb7vzeZct8M14X2dZ5qd9E5NumjsPMRdY2/PuzT12RDFQPbJNibQAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAABGCAYAAACHZ2ccAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAABXUlEQVRo3u2aQRbDIAhEhZfXO3Gb7HJUD9VFusquGjWjgmH20fkFUSshuFwul+sFIvSAInK2fBdjJHVgrTA9IUkTEBKQNAIhAGkU0GUOMQYUrNRQa/qgxyfUpKiqhpqLnk6ELtOoeal18F5AKA+kGeqJF9IO1eqJLEC1eONZZ7mh+1jqF9EAVeuTLUSqxRPPOv/1jiRbi1apt61ntGZUWBE5Y4zEFqNV4pHDouJ/6WIhWjmvInKuGzEHczAd2kZc5WfscWy5IuY8v2eNWTwM//PsVTGlfd8/S1bF4zi+QeGfQp6K5sBSp2PLFTF70Vw2FS1ELeeRrR6j7qot3dFrhb7zy5YPv7kg8JM81ri2LlFtiLWnYPUGrSFyNR7e8/CnEQ72VKsJDv64XprXJtshahatuQaW2opkquUIUfLVNonN3NO6t/WNBhzeiNkbcHrrLBJypTuhy+VyuVyuhH7sOAhr0PzlcQAAAABJRU5ErkJggg==\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-img',{style:({ cursor: _vm.cursor }),attrs:{\"src\":_vm.src,\"width\":_vm.size,\"height\":_vm.size,\"contain\":\"\",\"alt\":_vm.alt,\"title\":_vm.alt},on:{\"click\":_vm.click,\"mouseover\":_vm.mouseover,\"mouseleave\":_vm.mouseleave}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n name: \"DoceoIcon\",\r\n\r\n props: {\r\n icon: {\r\n type: String,\r\n required: true,\r\n },\r\n size: {\r\n type: Number,\r\n default: 24,\r\n },\r\n alt: {\r\n type: String,\r\n default: \"\",\r\n },\r\n cursor: {\r\n type: String,\r\n default: \"pointer\",\r\n },\r\n hoverIcon: {\r\n type: String,\r\n default: null,\r\n },\r\n },\r\n\r\n data: () => ({\r\n isHovered: false,\r\n }),\r\n\r\n computed: {\r\n src(): string {\r\n var icon: string;\r\n if (this.isHovered && this.hoverIcon != null)\r\n icon = this.hoverIcon;\r\n else\r\n icon = this.icon;\r\n return require(\"../assets/icons/\" + icon);\r\n },\r\n },\r\n\r\n methods: {\r\n click(e: any) {\r\n this.$emit(\"click\", e);\r\n },\r\n mouseover(e: any) {\r\n this.$emit(\"mouseover\", e);\r\n this.isHovered = true;\r\n },\r\n mouseleave(e: any) {\r\n this.$emit(\"mouseleave\", e);\r\n this.isHovered = false;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoceoIcon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoceoIcon.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DoceoIcon.vue?vue&type=template&id=5ccb793f&\"\nimport script from \"./DoceoIcon.vue?vue&type=script&lang=ts&\"\nexport * from \"./DoceoIcon.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VImg})\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAABTklEQVRo3u1ayxLDIAgMTH/K/z/4We0pnU6mJoKrgJpTO9PKros8InSAn5TSW/O/nDMhcZAlmZ4kyRMhJEHySAhBkEYROsEh1oASqwWkdR/0+oQyiopqKFvUaggdplF2Sbt4L0IoDOSZVAsW8k5Ki4kikNJgY6tabmgeK+2IB1JSnBxBKQ0mtqr/eivJ0dSqxcazqHVVjSOqVYORj0kf+ueGEdR6Cv/TKraJWbz3aLHxajH2+7l0LqVl2vX353fpuV/HFe92xjKRS9updRTz2mhKPWlXHrvy2JXHJqY7YyUfjXLOStjXc8UIrwvuMHLE8F6TyNm6NenV0nDUpPxUdnHrznhU6xvuWxpDL6TUty0elJNgWOfizyM52FWtJ3Lwy/Vavw45DiE5tOEGWKQRKdTIESLkux0Ss8xp3cf6RhMcPojZm6D56CySJDptfACAaA5ebNyQTAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAuCAYAAACF6SFvAAAABHNCSVQICAgIfAhkiAAAAyZJREFUaEPdme9Z2zAQxiPzvQkTECYonaDpBGUDOxM0TEA6AekEsSdoMkHDBKUTNBs09HOJ+54rucKWbFmWgkyehwewT6/up7vTv7CR4efXen11FkUX+Wh0JZpEjO3+PD09ns/nD4YySrNn2nk+GTF24IaH4/G4hf7eRJ81GaGTKRy+BcAMdtMmWwiljLHNmzjemnRcaEdRnOd50qaN9w/wYwXtrMWH+mt0NOEQCxPHKjYHQC3HcfxF1ban9h7wN4jURqVdiwyNGJz5CuMynSyAqEmt499ZFh/zfIV3E0vNohn8W6gG6xkM5S4Mv+k6w6gofUAbrW+UfgC4QaTv0JpSqvaRdUmr+r8mCuk4Sebyu9ILCj+Evlfzl4SbnBViwgGNLRV0LRpdtFW6POUo0v8iJv44pClFZCaTmnbWtU0LuDbKKn/w7ANqaFfCICrXvE5KIRsQEygPuvtJklyWMIjKTzm9+nYop56cHq50q6GD7mdEZ8l40VOteP24BFFoFdEhmBVG75NuNL0SOhQH4DuC2QHm/dBgqtGhVGOoF0qxvgukwzE2k1LAbAlGvRKaaQZjBbj7VwNTTM2omT1q5iKYIbZ0BJH5MdgJQLHW3A92alZMABnBzPhO2TLAYTQD3LzYaAKIDlTjMNxq90Kz4TwXMAvA3LXLhGkBuAx7s0Q+zwx2VgPMJV16yDCDrB35gFY9Ni+RbrdhJlPdK5Fe4o3qQoOujOLQgWiRhI8zpJe4Y/t/bJadx+y2AdDHUIFUIMV2RuUwXW7gOR0N3oYGpAPRwvC1JzigJpBGmNCA2kBaYSQgWoNebIdgAmIEw4HoJEo1dHIgUxBjmJcC6gLSCebUQF1BOsOcCgggj+hrKi+IJktE45dNOgG6OPRVQxyEVvbO38ZZwfiKkE1qyQNuDSMB0V6u906hL4hVzVRTz8XWxwWIE5i+OwVXIM5gbIFcgjiFkYCohlqPD3SwQptF1+m3aYruNQE0TN2NB7zqCdFkDTGx8QLDo6Q8gvsCcZ5mipkuQcqtxXOfIN5heISu8TvFz4butkzSxdbGW5rJDtFa5LLQdbB/AVGk5MI3Nb8JAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAzCAYAAADhGpoIAAAABHNCSVQICAgIfAhkiAAAA65JREFUaEPNmVFy0zAQhuu8wgzlBC0vvJLO8J70BG1PQDgB4QKJkwNAb9D0BKQnIDkB9ASEExA4QML/eyTPWpEsS7YTa8ZT17Z2P612tSslOWuhpWl62ev1LiaTybop8UlTgrQcQuL+B65zXCtcd3i2raunDdAFoD4IsJ+4v64L2wZoCrCpYcHasG2A6il/1yRs46CEwzQ3DtsKaBuwjYHCin0sSa/kdO/3+5e73e5LkiRv67pBFCiXICi/AcgIAP3IpScowIJAAXirIjoWzhzTGjKHVQZaCVQt4g8QWEloFcWYjb+YlSFk07Le5gWdzWZTCB2rTFMm0Jou0fc9gF4YvhsEyb6loBgtrUg/tLVnPFzgWuK7je0DPOd7maXOAP4P4IOqltRynaAlkLTcyAWnBTsggy1ZCmqDVD41VgClPtU0pHXqVWR/i/Up9Ker0GXyFho4NisUpl6lvl8ycEKVQMYS/W+0stD+rqkyQWlJrpVZi1Gi1sXvsf29oFKB+Pgznt+XOqTlpXIfJoX7unXoQTBBIK0wFHorZ43QgcR8n009Cwr84fZBtqvQtS4GoGofDbpAB7kwd8qaHIwG/YN7Fru6cUPG6O1MS8xpZ6Qjv0voTsASlAXHV0HzpKK2E4B51JsLNF5ELUltj4oWXUHJQCjiHpzPOtU6DQqDXcJaWyYNgu6l6fC/t5g+hqnBIdP5XSdBlSVZHOn21FXQIQizwka1NUG5uZLHLydPnZYCKQPtXNSDKYXx5EHbzAb6UW0ljhEzVh1Kv6w9MtDOZSYwmbXH1UGuV+vW61OZ01V76OppA7ALAXey6bcU8I94NnLVoxu8fHNsq1qinQhZStegTFVygeUHR7eqxZp5AZ+nS0uk8ZcMjqbSIVZd61uWpNyavJGgNqsGnWHGwqr6t3DoAVmF7ZC5rx/hg8IpB/5vFZaBAh0s3OWu4jf+77Nq0oM/qJQsLsBvCUufbdQNFKRpGOo7SOPWks6S/9l5i+PC8XQ6fYydYt1PVUe0Yn4qI2Rag9gFymngLlRW/lrWBjfcrgTvUtHnHIP9hA1k6hisc6XxHeQuILBwECsU0H+WULyC4meXW8zn8wHe98t+mKhyxuWt5lkL0AIAKvw0UzL9OgCqbrl5cj3y+b8XlEDKpzhdLuvGuC0jm8snZ83bKoEaQZDCwrcBFjYh9Nn/Qi4/PtIgUClMVTmM2iEuTrP5I63+nGf+mT/jWqHfxgdlex8N6lLGyFbuki/WMWBmn/8XWedzTZ8UPQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAABHNCSVQICAgIfAhkiAAAA9RJREFUaEPtmY1x0zAUx5sJgAkIE7TdwExAmKDpBNAJ4kxAOgFmgqYTECagnYBmgzJB+P9zsk9Wnr6ebMP10J0vriXL76f3KXV29oLa7AWxnP1VmLquL7iY+H0YYlEnh4HgryH4CtcC19yC2OJ+XQI2KQwErSDwHS4CSe0ZD28wrtFoajIYCLiEgF8ThWww/jpxbDdsEpgAyB6SUBvnguDZQKPDBEBoThsTABaHw6GZzWavHKgsoFFhJBAI/RtCL9C3swVnZEPfrgRoNBjj7N9tgQ1I5YtYpUBjwtCEPrUwMZB2XABog76bUFAYE4Y55Bc/ngqSABT0odFgjGNX+OW1zU2GGpMbFSY3T7jjA0C36Pvsjv+nYYx2fVHu2q0UimFYayGcXsEvWpNiqbLFsy2e3aOfSbGoBTT0Dn1P7eRFMJiITs5a61j9Co3VMFewuComEOb66Xzjm8llx8dqGEzCqpe1lq9obL9LzRCIVXFRM37yxZrkAc8uizQTKFFCwp7YeC6ZsYRjuG8bnnUKydZMAGSNDzS4qAlGGu5Z3FYEJFQVewOYb2YBkBMhORYBYCPUWmogzEmfsf1T5zMSSCyzB6JQNhDmon8uHVVf2sElycw0IJZN+/LEx9Sg4AFh2GcQ6loUpgQkAvRowm0wDnhAHvFS5eawIMwQIAEgHl7UIRIJxJj2Bfqe3He9MFoQs9rMBcw/vYRp+ghAQcjirQ4CINSImIRFGC0IVwrvckNWmVWjsO99H/dpRQPCuU5gzOpRoC6zx6KWLdRqtXp2wnEWkBbkBAYTEYAZVgViNLPEr3uklARUAiLBMHPbtQ/HaHJCNlApiARDrcwts4lGnIDd+4B6J5bGGriAHN+1HNNuX+r5DCY+OMK9CUUcH0j7XAokpo+HHbfwrXMIXeO+t4XQgPQ0Yxy/t1/As2hSLQASX9WCSGbmaibbXyQJsSi+E0t3+A884AGhanfqmhk3UB+sLyRFoZh22G803+BWOlfmEPGQImVun8/M0dHb/ODvwYAMFItDamoBn2Em3+HKPoqSIKWkucRAVZ7IWcUxxvrKGZrDlfPBQTU0GYwxh8GA1us1j6JoXvQLmtUoLbYFKAYSMnvvrGtIqmgegTBqIKlEgfDdP5mGBOFcURityQVqrbk2j8Tgk2BygYYoGmOCJ4Xm0CQBkzueWOKa430Wjb2DhpISJQcqWTPtpB4g7zenAkn2GVfSDKA9tZS7bc7Rhj02WzOWhnwnlu2Qe9wsx3L2Yp8RNEQfqXFVuN6afkLQfxrtCmvfU2tG+8Ex3/sPM+bqlsz9B2hWi1Js+3f9AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAaCAYAAADMp76xAAAABHNCSVQICAgIfAhkiAAAArdJREFUWEftl1+ITHEUx/fOPIwSaWh3eVJeRGLzJMqL9sXDJg9kYxdJqBGJpsx/UzIRXkj+bEjxgPbByz542aQULYrNv1KU/G0zhdmZ8TnT795+Xb87cyd7a7bmV6f5nfM73/P73nPOPTNjdUyzZU0zvh1twkFXrJbhbDa7ulKp7PS47Af2h5FIZCQej3/XfdLp9A70NQbcZ2xjoVBojLjj+E2aYmM/gX2ej4ccxfey+NUIZzKZgWq1OtQA+AGfzfiO2n4EucJ+sAHuvWVZg6lU6r7bD/w7bAt9EB7Cd3uzhMX/F7IM8GtRfBIW1ypSwP+Iq0JTQvg2QbdqgRewP4esU7Z7XLzeQPgAtgvKp5Os9lCR/ehrtVh9YIe1CumEV2J/6ZHtSXB/vDJ8i8NNrkx0o39EpIVK0Wh0ViwW+61nGIJ7Kbs8mLM4D6GcRfYp4xuwSwWrHtghHA6HlyQSiRcehB2zqYf/IayCf+KzUyGlLZ43Iiy+hUJhZrFYfMV2vsJuBCdVlJYKhnAul1tULpdrfcuSfpzDZRN+CCtiJ/k8qPAJcMcCI5zP57tKpdIpLtiiLnzKhcvVhc6UMLWEXUcmy276+bzSb4DvdxNGn0DK7pYg7h5a7aZtN7WETIJvGnAu+4gDsKxeAow0SbgfwtdVjGEI9xkIu7na+gD+V+sR9gKWODgM+LTt0ERLZMAkFe44uLiB8EVsXw2Xyzv1uB7hLxzq4+Un+iO+te4kk8knesAmCD8At0qwlHgbFbrmJjzlU8KUdj+E6d8NtENtKrCkSovBvW05wpC0ILsLYmeQGYpwHrJHtZYKZqx5NbXrq1n6zB59Xex7kNkadpz9CjDyUtdWYHPYJ2EvN7FfQg5BUH75OauVCMuL+0yEl+yu6Zfaf2W4Xmpa7az9FynoirQz3M6wKwN/Ae/UpCpEzOsIAAAAAElFTkSuQmCC\"","export const DOCEO_ICONS = {\r\n ADD: \"add.png\",\r\n ADD_ACTIVE: \"add_active.png\",\r\n ATTACHMENT: \"attachment.png\",\r\n AUTHOR: \"author.png\",\r\n AUTHOR_MULTIPLE: \"author_multiple.png\",\r\n BACK: \"back.png\",\r\n CHAT_BUBBLE: \"chat_bubble.png\",\r\n CHAT_BUBBLE_ACTIVE: \"chat_bubble_active.png\",\r\n CLOSE: \"close.png\",\r\n CONTENT_ARTICLE: \"content_article.png\",\r\n CONTENT_DECISION: \"content_decision.png\",\r\n CONTENT_DRAFT: \"draft.png\",\r\n CONTENT_DRUG: \"content_drug.png\",\r\n CONTENT_TRIAL: \"content_trial.png\",\r\n CREATE: \"folio_create.png\",\r\n DATE: \"date.png\",\r\n EDIT: \"edit.png\",\r\n FOLIO_PRIVATE: \"folio_private.png\",\r\n FOLIO_RESTRICTED: \"folio_restricted.png\",\r\n GENDER: \"gender.png\",\r\n GREEN_CHECKMARK: \"green_checkmark.png\",\r\n LIKE_BLUE: \"like_blue.png\",\r\n LIKE_DEFAULT: \"like_default.png\",\r\n LIKE_GREEN: \"like_green.png\",\r\n LIKE_ORANGE: \"like_orange.png\",\r\n LIKE_YELLOW: \"like_yellow.png\",\r\n LINK: \"link.png\",\r\n MARKETING_BRAIN: \"marketing/brain.png\",\r\n MARKETING_CHAT: \"marketing/chat.png\",\r\n MARKETING_FACEBOOK: \"marketing/facebook.png\",\r\n MARKETING_FOLDER: \"marketing/folder.png\",\r\n MARKETING_INSTAGRAM: \"marketing/instagram.png\",\r\n MARKETING_LINKEDIN: \"marketing/linkedin.png\",\r\n MORE: \"more.png\",\r\n MORE_ACTIVE: \"more_active.png\",\r\n NOTIFICATION: \"notification.png\",\r\n NOTIFICATION_ACTIVE: \"notification_active.png\",\r\n REFRESH: \"refresh.png\",\r\n REMOVE: \"remove.png\",\r\n SAVE_BLUE: \"save_blue.png\",\r\n SAVE_DEFAULT: \"save_default.png\",\r\n SAVE_FACEBOOK: \"save_facebook.png\",\r\n SAVE_GREEN: \"save_green.png\",\r\n SAVE_INSTAGRAM: \"save_instagram.png\",\r\n SAVE_LINKEDIN: \"save_linkedin.png\",\r\n SAVE_ORANGE: \"save_orange.png\",\r\n SAVE_PINK: \"save_pink.png\",\r\n SAVE_TWITTER: \"save_twitter.png\",\r\n SAVE_YELLOW: \"save_yellow.png\",\r\n SAVE_YOUTUBE: \"save_youtube.png\",\r\n SEARCH: \"search.png\",\r\n SOCIAL_FACEBOOK: \"facebook.png\",\r\n SOCIAL_INSTAGRAM: \"instagram.png\",\r\n SOCIAL_LINKEDIN: \"linkedin.png\",\r\n SOCIAL_TWITTER: \"twitter.png\",\r\n SOCIAL_YOUTUBE: \"youtube.png\",\r\n TO_ORIGINAL: \"to_original.png\",\r\n JOURNAL: \"journal.png\"\r\n};\r\n\r\nexport default DOCEO_ICONS;\r\n","/**\r\n * Store attachments that we are already retrieved. This will allow us to only make a request once for each attachment instead of\r\n * making a network request every time.\r\n */\r\nimport { AttachmentClient, FileResponse } from \"@/api/DoceoApi\";\r\n\r\nimport { defineStore } from \"pinia\";\r\n\r\ninterface FileResponseAttachment {\r\n fileResponse: FileResponse;\r\n attachmentId: string;\r\n}\r\n\r\nexport const useAttachmentStore = defineStore(\"attachment\", {\r\n state: () => ({\r\n storeAttachments: [] as FileResponseAttachment[],\r\n }),\r\n getters: {},\r\n actions: {\r\n /**\r\n * Get's an attachment. First we check if we already have the attachment saved locally, if so we return the local instance.\r\n * If we don't have a record of the attachment, we reach out to the API for it.\r\n */\r\n async getAttachmentAsync(id: string): Promise {\r\n let index = this.storeAttachments.findIndex((x) => x.attachmentId === id);\r\n\r\n if (index >= 0) {\r\n return this.storeAttachments[index].fileResponse;\r\n }\r\n\r\n let attachmentClient = new AttachmentClient();\r\n let fileResponse = await attachmentClient.get(id);\r\n if (fileResponse != null) {\r\n let fileResponseAttachment: FileResponseAttachment = {\r\n fileResponse: fileResponse,\r\n attachmentId: id,\r\n };\r\n\r\n this.storeAttachments.push(fileResponseAttachment);\r\n\r\n return fileResponse;\r\n }\r\n return null;\r\n },\r\n },\r\n});\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAg5JREFUWEftmEFSwjAUhl/AhSMLcadQRjyB3ECO4A3EG3S0rpG1oHgC8QRegRuoJxCHFpeWGZlxY+MLtdCWhCRFcZPXBTAkeR/vvf+FhJTOR8dAgiYBqMGajVIYEAot79rqkdK5+0IIVNfMMHPHYEYd64CUHZf+F0Tk12tbxIDEs2Aikq5JExETEVmfMjViasTUiCwCpkZkETJ9xNTIGmoEDyFoFJ/wXTZbvVjxLAB4FgmNvWY7EKwAgk5pEINgDHEovchkAgmTIEjFFCanHZmMIGESRBYmh+CjniZtELZ0GgKD8Iplsq+XjORoPRAuBTxPvgr1rfykizAn8eV5w0WwGiAcRdAQwu/u+EX7vVjIT/oYrsMkDKslubAVQXiypGOUbd27sp4ixyIYFVmrgSzIchEigilfuDWUcR+db+vUjASE0yvY6gGcsosVkaMQBh4T30t6jBBE2CskELPInLkNyMFdunhFsl4CwpXpPd7sNFRDvue4Nra2GxUYLoigV2hBRM7xWqynImvFYp3LVDUa8XFlZ8iK92jZXDlIrFdkgWBzxLKerygBEctUF2oKs/ExEMl6CcjvQaj0GDGIokx1I8MulwkJHtLzfkCGfiJkfwQh7jF07LUrRZLQO4Vbr2PZur9Ud3zJGV7iZthk8/D/bmvUruBntGlbRotvYrqL647ftd+qn7Dps92bzf0GR9xmPXfRCA0AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEUAAAA4CAYAAACrMTU2AAAABHNCSVQICAgIfAhkiAAABBpJREFUaEPtm41V2zAQx+MJmk5QM0FhgjoTQCdoOkHDBHEmaJigYQJggoYJGiZoOkHpBOn/b+Q8xdW3nIJk9J6fAevj9NPpdHc2xSii1HU9LoriA7o43e12Fe5j/hzRZUjTRzTa4NpCljXkuIdc25CO2jZFSOPFYnGOwadoexHS/j+0IaAlZLwGIELzKl5QMAAhfMVVeo3yvJVXGP7SB44TFHRICN9wcYukWB6hOfV8Pr9yEd4KBUC4TagdtBepl1tM4LNNa4xQ0JgwZqmT6MhPo0wwvCuLFgoacbtQS3IsNL4THRglFFReotGXHGlIcyKYE9VW+geKsCHUkiGUDeZ71p3oARRxyvzIxKi6LuoV5n1gN7tQvqOnyrW3jOrRvqzb+eyhCMfsJqOJ+kzlYBvJUH6il9Knp8zqfoRi0I8ZNVAGriXt2q7BYSJDIaHzzFY+ZDo8orcFw3+0/h3SQ4ZtGDguCYWR71ANbHddmYupCKXGk3mGqx40JeBAPP10PjN7Flvu0AGDLG5Hat87xw5/oR5tGt1uZu18bFvomCbRzgiFHmxwChHZrT/IVVzIzo+wU4yfPlnAXOP5TI4/qL7o8xZ9vtG1FWNWckDnMaZtrSaEsrPVsjzfn+/dekLo95r2D3iuXAwHO2cac+uhpSrRFtFQuAd10Cz2aiGeK5ubFitiTJf1j4aijDLbkS0rrl1ttjds6+aEMCzEFM9iovxoKBT+pWlKbC4oHgpWRbkNhOFjPKXL7WqTPA5uQuiYLtvnspcjGSfFTM6UY1IlRqdDaDvVeIRzG9E4NgXvlOY4XWqb9IoxORa3jW1MW9fN6dNX3MOVb/0UX8HYrvVTdJqlmkzMmDo4J68erYSG/g80dUwotOTMuL2W0eiOJ2ZzcsAe8A2a1oMcEK2nKJkTxg8r3Gwu+RDYvGXI0UKhYWQMNOTCLxSmBCDnaNf4vY9oOVWw+4y+DGXIBrcxsO1qdt/7xLrIyWmJSEOcyg5kFwodJzpSrgmi5CAoBG5OHPnvqnfJQzK6e+NqhCKOaFrhmPA7BQ16gJAVj+CusKawP2cwWiAHR7JqaTN16pjsnqo0RHn6dMGInAj9F12eNYVtIstoTIE6QRH2hR8OrxOPje4xF7414MlqLdavIxM3vHynxETeykpCquAERYBhxy8+aBTOGBNnK8Dg1vcuPlDo2MXaF6rxMQrl2uLi2wWnLWISwhmK0JYSK7EJtC9ORu4YxHz79IIiwDBw8v1KwfiuxlfoY9f3hiLAOAeOYo+XJr/g2JP07T8IigDDvevivxx8eegr4HPUj4HiYl+SsSMy/GAoDvYlKTvSGxSdfUnRjvQKRYChnyDnd5OzI8eAMoZ28P/2+O4oSTvSOxShLRXujDN4T7pEGdqkZ24Q/i8Ac8EIdC0sGAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAwCAYAAABaHInAAAAABHNCSVQICAgIfAhkiAAABTZJREFUaEPtmktsG1UUhu8Z242jllIehQVd0Ja0ic0iNOGhEmIPIEFhkbKgCygLUKPaCW8hFiCoQbCqCqE0dhBFSFBWIEh5iEoFeRxooQkqiUTGVSNUpAiplYCkUEhbkzn848TOzORhu+NxxhXeTXLnnvPNedxzz70kLL/kcHejJEltzCIsmBsF0QrrGFc8M49Dt0EioWiatl8Odg4a9SLjQ0rteYIFd7lC8VKUACSRFAsFIm/kXsuDKWr8EyFocynzuW8s94YDHffpemXBkmr8SRL0uvsULV0jeNxTcqCji/SYghl/NE6B+NovJNEl/P5BefXD46VPX5k3kumEngdiMEooLxFuCTgZYIkYAnBH7h86lByMVpVLwuMUIxwYXqJZfyQhyw1RpTLfvDxSdMsRi2TeOIJTpAzHx4wpPRyImjJleUQ7O0vyxLsraOLsmNEdSVETbBRbjWC6/laO/8Gcdab5Z0+qievlQPSnQvKrxmKHR1+rPf+X/1MstXciy52SfJocWteZng+wasCg6MeAyFYR2R/zh+Fgx5aqBoP7vYLU/LwZgp9FubSzasFS6fgDzPSBCYD5pL/W13jLmvZTVQmWPNbTLDTtW1QRNYbF9pzXI9182/rI0EIJxLUxlhx5exVlMkeRLFYaAVii++X6yEdVmRWHTr63dOz3v/ux1wiYAIh3hBs6Xi4E5coFmhFQitrzJQrxuyxxtWAWtMK6zhVRq+5Crfq0BWpgpbiyJRjccr4Ya7nOYqnhxINMYp8FapS9ng3y+u2/FQvlKrBUunsja5KCuPLNAPAEeblpoQrD1eke+6drSeOjcMHLDIoyntvCDZHPSrFUbqztGIP7PIJ9ziZJiJ2twWh/qUp8P7J7+dmMdwBpfV0plUUhObbA+tT4vZqgz6drt38lD4Vb66OHCgnNL7Yck1LqVV/BMrIFah/KpYeKnWeucbbAZrXomM94vFJLoaogp0hKjWNXSxHTAsziEHosLXagbCcPk8WmNcluKWq0G0PXdY4upBzi6lH0Jd60jPllCfuaNga3/bGoYNNfRq8EXrB89Z8v8UtNzWu3n55LwalmC3+NuEJo5h3zTxJSM7q3I3ahbFtsJgPF34eSW00Ksei/Zkmmta7u8XPGv6NtXsdC+wHjlxugNCa6o5zdMFsxZkkCXyAJ3G2G4wOhQPQeIjgdflPdowm9sF1tsjCJxwC1pxyWmvnY5qbUBTdzRkZ21/ya8X2HiW8wKS34HbSYtyU55hXq1QpqwFstAHvRCWsvJ1TZXDGn1JH0niv+0TxHoPxai6IvYi+PdcrqrpzE9v72ckOVHUyf8Jvj8TWTGRpAaXT5wgrz8WU1npvmSzB2YcsSY1Yl+tS3NkzyZB9ia+mcCjKPkcfXFKpvP2EXYL73HQHLusKxbhlF7UE0YTyWbJkhSQuHGjoPOwXliCuaUvsc2xDkx62hYNTcnHGA0DGL5dPucPw5LAOv6s+oSnahXHrGAY5ZUzoOpkvE0dRewbQqHIhsyq1pTsNVBCwLN9y9DCf5Z5wGynuK5dToghfoSilcrJxZFkM7eRyZ7NLcBNV4PmY9+EM9d/riPaq1Hq4jl+XvShTrBos9Dm6onz+Hc3pMHa7jOgS2STh1n3FHHU4i0TXprx1y83WIvnQ8hP1PzAQFN0R513jxXmDJmQ8u2YsqvW2x3cqOfOMdFdPVB/3qEbYauOlidEs7oirzrp4FET4x/apRTuKsOx3ZmBPSZkGMYCTdV/NLQWXULE7KNMwgKhxFCK3Xeq3vP1iB0tevZqnzAAAAAElFTkSuQmCC\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.img)?_c('v-img',{staticClass:\"card-img\",attrs:{\"src\":_vm.img,\"height\":_vm.imgHeight,\"width\":_vm.imgWidth,\"contain\":_vm.contain}},[_vm._t(\"innerImg\")],2):_c('v-skeleton-loader',{attrs:{\"type\":\"image\",\"height\":_vm.imgHeight,\"width\":_vm.imgWidth}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapActions } from \"pinia\";\r\nimport { useAttachmentStore } from \"@/store/attachmentStore\";\r\n\r\n/**\r\n * This is a custom component for displaying images.\r\n * This will show a skelton loader while the image is loading\r\n */\r\nexport default Vue.extend({\r\n created() {\r\n this.loadAttachment();\r\n },\r\n data: () => ({\r\n img: null as string | null,\r\n }),\r\n watch: {\r\n attachmentId: function() {\r\n this.loadAttachment();\r\n },\r\n },\r\n props: {\r\n attachmentId: {\r\n required: true,\r\n type: String,\r\n },\r\n imgHeight: {\r\n default: \"\",\r\n type: String,\r\n },\r\n imgWidth: {\r\n default: \"\",\r\n type: String,\r\n },\r\n contain: {\r\n default: false,\r\n type: Boolean,\r\n },\r\n rounded: {\r\n default: false,\r\n type: Boolean,\r\n },\r\n },\r\n methods: {\r\n ...mapActions(useAttachmentStore, [\"getAttachmentAsync\"]),\r\n /**\r\n * Loads the attachment if one exists.\r\n */\r\n async loadAttachment() {\r\n let attachment = await this.getAttachmentAsync(this.attachmentId);\r\n var urlCreator = window.URL || window.webkitURL;\r\n this.img = urlCreator.createObjectURL(attachment?.data);\r\n },\r\n },\r\n computed: {},\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoceoImage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoceoImage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DoceoImage.vue?vue&type=template&id=561c000c&scoped=true&\"\nimport script from \"./DoceoImage.vue?vue&type=script&lang=ts&\"\nexport * from \"./DoceoImage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DoceoImage.vue?vue&type=style&index=0&id=561c000c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"561c000c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VImg,VSkeletonLoader})\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAuCAYAAACF6SFvAAAABHNCSVQICAgIfAhkiAAAA/pJREFUaEPVWo112jAQridoMkHJBCUT1Jmg6QQhE5ROgJmg6QSFCQoT1EzQZIK6E5QsAP0+vxPvLEvCf4Ki9/yCrdPdfffnk5zkTcORZdk4SZJ3IB+bJbjPd7vdK+aeG7Jxkmne+/3+Cny3QrjF/RrzRRP+SYgITEaYn+FKcfF3aCygxGo2m62bCCZv0D9A2UkD3s+gfQLvZYi3EwwEXQmIaRPFLJotBGcQ/M21tidveugLeKxcvGtgxBs/dDh1AMQlNcHz+ZyeeMIcjdV5wFhTl7EqYBi7kPAzIOxFlDQ5YsKPueQbC1oT11dcDKnaAMBXKEieOS7mC8FSF14+3gvo+6iZHcCI+39hcqQJRBCmM1rUOcQIE8Y/lHrrIDIK2lM0DvmuwMMkfYVGIoUG+eDgy5A76KXB0COptWBDazatJmKQDGs++4DzuRjoiRYK0ek5kE6xLnMY6w5zOWlLMLi5xx/miR4siXzeeoinaM33jsX0Bg3UupyTLwDlFqACz280mN+4GSnBf/B77HN9E3TiJYbAg6InkLQnX1ZY5p8ec3o5ESsyV/Q4uK6J4iEa8J9g/juupfzuy5KRxNL8UTEqvUMwtJ6O8Q2epb0lKgbkZ+J6CL7i9b8Wr1uCyfFQV4rSZUMIjclDck7n5JxgGGKHfgu/BwuxyGDsiFoTzN4Set0nQWMC0Lyho12BN5cMhl1CJW8IpsBD3TJcSpixSPFFb8bLJRcA+31ThlktkSQeTxX+neRAxwUW6hfykmBsd7Hhu5Xw6yToFIugn921PJa9GfYG3FDpbjcH8d0plOoiQ96D3AHrcW0aTVe/U2mvuwiNscbTfpWtkt4C2FWN4XbzP71zpI1hBdMvedqMehYajJ07JGKbzlLt3DjFsLyPZwDIIYLsbXPGFLIYnh1QAEilE3cdaNgl76weCgCp7Y18R032foGAzlLhHI0wdXFu8kLnZjkW2dveBZhXTkRi5g1kcVM3sWR4d6veE01x79kAtQVCwMeOZ9mZnhxQFyBHwZCAHsKJSOE44okScl2BNAIjgFxHPJwaFFAfII3BnAJQXyCtwMQENASQ1mBiAHIBkePbUds2KljNfO8Qdq6OY9JWOSSln0fCqZYjQFLMtz6+7QTmmIcwz+bP25y2aVHavJQ7gzGAWNFw2Z2CtzmNBaRTztiWCnQKNUAxgQwCxrxYPZ1CgeefGP+xgQwG5ggg5g4/A/Jw3t4h9v7EoSOlV854Qo45pD83+HKYn8GnbctvqCAMCsYIgoIEpM+0bB0G+1YTzTOaMQBluLe34CSJAmTQnHG5H3gmeM4NlhnRgEQHI4XhHm/18l9RBFwo7HvNRckZV2EYMtF9iP8BIQUhDAn1wIIAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACUAAAA0CAYAAAANFPE9AAAABHNCSVQICAgIfAhkiAAAA75JREFUWEftmT9MGzEUxn3AAFKk0o2RSmRuhIREFgoLAwslGTKGipGBsDEgARJ7k4ERlbAxFRYGFkIYyJbbMzSdYAwKEjCl30vvIsc5/zuHLsVSlNyd/fzz956fnbPHYpT5+fnpTqezOjIysojm0/ikQjO4X8HvJr7PX19fb3zfb9l24dk0SKVSk+Pj4989z1s3bNcCXKFWq5UN63erGUPNzc2lxsbGrtFm0qaDoK7//Py8ZKqaERTctQ51fsSA6TWBYk1cLEE1+lYWLVSgUD3Cym90dAJYH98+dUZ1R0dHU7hHMbYV0cZIMSUUxdDExMQv0WWAKL+8vBRU7ggACfqzAHd+d3e3ppJKCQW37cPoHm8AQN+gyonOBeHzdDp9jt+rgg1yY0VmQwolUekCo/xqCkT1ghnbxOA+cO2UdqRQYnBDoUe4bNp0BvHgUIsG8pO/h9n4UWZLBUXxkOcMlaBSwUYlvi4G2RLUWoM9cu1AUUFVYORL2MI2lsSeACXaO0Bc7dtC+fzMAZQyOHUKipMG9uyhEAcdviNIrc1pKrB3KJ3bwufvSv1fSsHfixjxXrC6d/dLmLIM1z0hxGtThbg8J7VH25pgt7FNuw2PgHCDNm99xRVCZ09iv4Xl5xNB9WVak5HZqmSp/LYnJklZhzQyKrxLTeFsVKe9mhJqGHEVNRgVJJ7dWEFFuUGllkzdoUOFYKErp6am2MLCAkskEuz+/p7d3t6yp6en7uyNcrfOlVqlRABeFTJeKBRYLpfrE6vdbrOdnR1Wrw/+19ABBf2p3cfPRHHUBLO1FfWHhTECy+fz7OHhoS/PmUwUI6VkKeLq6qrrMlm5vLxkh4eH3cc2M9cKijc+OzvLjo6OlBmB4iubzQ6sDLo0Yg0VGpyZmWGnp6dK++S6TCajYxh4HhuKLNm4z4bMCWpjY4PRR1Y2NzcjZ6AO0AmKjNPsE1MC5ahiscgo0OMUZyjqdGVlhe3u7vb6j6sQN8vN8pRqxKIbS6USOzs7iyNSmD7cocrlMksmkz0IyuSkVtzi7D5KnjQLxbK8vNxd/+IUZygxnkIIWvuq1WocJkq2bu6jACcwsfBLjC2ZM5QsgYZLjC0Q1XeCouCmIJcV2iU0Gg1rLicoXUaPmxqcoMRUIEoSNzU4QanWvRDw+Pj437rPujfDBk5KGfZhXe0dykKyC3qX0PfC1aLxm1SF+w4IauCo4016MzQKqCUvOO44QZu+8xNDG0OrBphHvDzZx1voYu+tWHDqFOeAcShgOGLBqcjfo90/XHSc6aXG0msAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAelJREFUWEftmE1WwjAUhZMOlJnsQFyBOAFnsgSBBYg7wIngSBhBnaArUBdQugVmUiboCsQd4NAO+nyv2kOpTZPw5yQ9BzinTXhfbu5NINx2vXMG7JYxVsTXTi9gMAOwujf10hPvD8fvnPHCTglixQimXTs94vbQg/+CiOq2amVuQOKzYBRJetIoYhSRrVPGI8YjxiMyBYxHZAqZdcR4ZDce4VQG32D13+CbNSsBrciyWRCZ/hnPDcja8QU0JOehOxcXwAfePFy6hWbBv7HKk6U1NWkQ6M23fb5X8cG/x6oXy3wp0AI0DZC/kYggrqon84E7zX+BP8JWx8tq/SRbdqmBpMQSZ+jTsnjlulp6jYoIYUKS7FyrgSSGkwYRNblzJ8UggBHa6ECmQvz5SiAB8Es6WBEVIhj003SrIDKIqHjPmTQsDo+qSdJV5Bk7NFRHajvjJsZ6oNI+FSR1rWBMCyIqjqdRNIXSWCspEo+pyuiSbRBmhPfOsvpKQdaFoOLiWC/QMkGyYqqrTAgT+DNRrIUgm4RQWWOEIKox1VXm93DZTfYLQfqON49Lti0I0RpD6rfr5TyP5x1PgR/wFLipO1Ld9rbjdXALomN32oa6rXq5E+6NtCzTZ3wT0/1y3fY996WQY7k57d7U9xueIWU97QJqywAAAABJRU5ErkJggg==\"","/**\r\n * Managing everything related to the logged in user\r\n */\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nexport const useHubStore = defineStore(\"hub\", {\r\n state: () => ({\r\n storeIsLoadingState: false,\r\n isConnectedToHub: false,\r\n hubConnectAttemptCount: 0,\r\n }),\r\n getters: {\r\n isLoadingState: (state) => state.storeIsLoadingState,\r\n isConnected: (state) => state.isConnectedToHub,\r\n },\r\n actions: {\r\n SET_IS_LOADING_STATE(isLoadingState: boolean) {\r\n this.storeIsLoadingState = isLoadingState;\r\n },\r\n\r\n SET_IS_CONNECTED_TO_HUB(isConnected: boolean) {\r\n this.isConnectedToHub = isConnected;\r\n },\r\n\r\n CLEAR_HUB_CONNECT_ATTEMPT_COUNT() {\r\n this.hubConnectAttemptCount = 0;\r\n },\r\n\r\n SET_HUB_CONNECT_ATTEMPT_COUNT(count: number) {\r\n this.hubConnectAttemptCount = count;\r\n },\r\n },\r\n});\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAwCAYAAABaHInAAAAABHNCSVQICAgIfAhkiAAAApNJREFUaEPtWj1200AQnrFDQUVuADeIKHhYVZIaDMlJSE6AOAHmJJHtUONUTh5FlBMQTpCkgiL28K3BiiQMWY+11tqRKluanZlvfnbevv2YCo98fhHQuPkWr3dIOCCmzaKMF/+FroklgS8Daoy6/Oqr+Z0+nP0j/ZfviBodLxyfx4kJyHHE7bNP02UpMOmHR3i5N48+D2Vjbg/3jV8TYHIcHpDQRw8dnd8lpkN+Pezw757aOM9pEOqifjt0+zPh/eR6fu3LWSH9FvYBioh5O7VoyrJ5u8v4GCFx7zMfuvxmuFIlKb3WIAeO5APPeLnL7dPBcmJejpVJ5oi/3CVHTgAsvMpu6Wi+3E5Zjmm3WuQo2KSNx1fZckQphpLb/1cQ2GQDLOKwAQYZ03OmDwMnsRe5RI8colpirX4tsEsYfKo1arkuAbDnlrJ/iXkMTC6waakrQgsMpShmLGxpI3rPuu/4frD0UnQEplS1qoyV6oEjZTUwR4F1plaVMedzzBbuf+adDliv9Q0D9JmtfcdyM+edDlg/XMaAtozH7HmnBeZ6jlmCon/OOxUwW6tVytXAqoy+xnadsWzU1HOshHOWbfZUGcOiRbb7hc5ZHgNb7JzlGph2ji18znIKzFZ5lXKqHqvSYVvbNTDbSPkiV2fMl0zY+lFnzDZSvsjVGfMlE7Z+PKCM9VqgEvCTaWTW4+JPbtb4qrZ4uU6UciVs67tqOdxB4/6Zd+78MJfrhg4xappb97QcIRCDZtCh0Y8Lr+kQvXAbtI0oB0rkhh5RsL4Elmn6wB6IwR4w5LDVfUC8mXJU8iQxQz0aI7X5svQfqCm/BkeGapTu7kWv/9D69tBjphlB68v1nj8gDRiiBFVmaH1xkdb3Cwka0X+gzoXoAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAABJ5JREFUWEfFWG1sU1UYPu9tT9v1c93Gx2a77637MCZEosOoxASMifthmJiIP2A/hGCMEhAMCRLMErOoS4wkRP2B0QT/4GIMRP+QEIlGcIYYQYbNANnGgGxr17Vdt5bb43tve+5u71bWsrb39se5p++95zz3Pe/zvO85cKHy+CsgQD9hzAcA2DBCsMUbbIrev85Y8tBzU++cgd+qBsYJIY/h1AQhKFep+kBg/Jmp/V74vfIjxr9cr3Z+Ok7hj8pjakeofFK62+g0ofBnxWEpGOSY0KsNB8wULlcc0N0joYCDwl/ut3WPkWCwisIV927dPTIVrKFwtXwneiTN3bRuSOzhMSPpSrHtkzO3KQyXv44ekZwioeFXafv3Zu5S+Ne1TfZIJmlSipqdTIW1T4QCFEZc3TglToo/vdqxUITCDedWVYxklxO+etnkZjX20dkEhf+cz6dZU6rswuNwcb66WYHCqKMrHSM823KBLV3fG7ZQuOPYIHlb5oxebU3YRWHC3qG7slZH1lK4b2+WyJIpI9rEW2T72oiHwqTNu0QwtJWZVlAKba+KjlGYdnlkHVmMZa4nPGZS/WLaK0LjCGSNR1Iz+ZIDVrUMpepXTCKQgBeXRudc4x7DpQk0eXVnjduLQIKdtYusUQuJVgC1QlNAe/maUQSyoZYpCU9Vj6SybzrL8oRYJHu5C4HMdNXJlNAv0xDismBhFNosAVEVJKqSIEP4edotgt0JDRRmX2xQsUafbOOI1yGQ7gZVhaatvHLpJy9iLHWlHJbL82ohTz3vPHsLINzTmPKIXBeqatYc+sDIT/bBmy/jGCdwdffm+z5/3jF4E4HsaHwkHcFPuWxLxJ+F0+MxdowIUX/jj/gxWHeq2JaNZZr/7RO1FKK9TXnXI+i32yI1bHR+5Z9SfLjdUxa1mXGZyBP5Rpq1zotA9jQpGxdZT7Ts0PSThAWNAnnKcuLGiLZaiLxVvx5EwxB6xiOtcy7jSfNZqxHI3LvL1CPZtzVxkiSbrcdHLmY7K1jY19IuMjaEdluu26QyN9YjcwebNTGirVmVNcdUIPRYP/X/sNKBxfyhlq1Jxn5GFhmWxszS8ctsCCR2pDVTR/iuSlvFAhwu6/P3rwSC22NHWnrx/uSSaniZ8S1G3PvG+lox16QvJbdk9gVCvjF/4N+VKwj+3Hyfrx/d+P5K41tEBLLwse+hrMGgO2eu978ErxExXyASk+Of+E6jy3setkswzVUjkM98WXWECHDFtGDaBAf/juYLQqH1583mBDH+ypJso/aMjtfCphkEEv+ibbEgVbEFb++YDMYn4c2r9x8VhALmy9aqBBOGkNH1yx060HvrEcjJtuU8Mpsk4tPmXv/11YJQ4uXr9hYDIZeQRW6tZ+goAkmcatecGEEC42ILfWP4QqFA8HES37VtQgn4BcenyhYFjcaadRQefN8RRnfZZb6n6pKdxu3D3xYaBB/vwWDnDpzklCzY8p8sZnx12Ari2c4PEcRRGQSw9wzd1waKBYKPK57p2I+TDcjnMQBHDd3/9Mmg2PkOOxEFG2xZfWDm+hHs3OPriCEZhReuRaR3/gdxWbybIpng3AAAAABJRU5ErkJggg==\"","/**\r\n * Managing everything related to the logged in user\r\n */\r\n\r\nimport { ContentItemSummaryResult, ContentItemType, ContentItemVersionEntryResult, ContentsClient } from \"@/api/DoceoApi\";\r\nimport { defineStore } from \"pinia\";\r\nimport Vue from \"vue\";\r\n\r\nimport { EventTimeCategory, EventTimeName, useAnalyticsStore } from \"@/store/analyticsStore\";\r\n\r\ninterface SummaryFilters {\r\n includeContentTypes: ContentItemType[] | null | undefined;\r\n excludeContentTypes: ContentItemType[] | null | undefined;\r\n}\r\n\r\nexport const useContentStore = defineStore(\"content\", {\r\n state: () => ({\r\n loggedIn: false,\r\n storeSummaries: [] as ContentItemSummaryResult[],\r\n versions: {} as Record,\r\n storeNewContentAdded: false,\r\n offset: 0,\r\n storeContentItemFilter: [] as ContentItemType[],\r\n storeTrending: [] as ContentItemSummaryResult[],\r\n storeFollowed: [] as ContentItemSummaryResult[],\r\n }),\r\n getters: {\r\n newContentAdded: (state) => state.storeNewContentAdded,\r\n summaries: (state) => state.storeSummaries as ContentItemSummaryResult[],\r\n version: (state) => state.versions,\r\n getVersionHistory: (state) => (contentItemId: string) => state.versions[contentItemId] as ContentItemVersionEntryResult[],\r\n trending: (state) => state.storeTrending,\r\n followed: (state) => state.storeFollowed,\r\n filters: (state) => state.storeContentItemFilter,\r\n },\r\n actions: {\r\n async resetSummaries() {\r\n this.storeSummaries = [];\r\n this.offset = 0;\r\n },\r\n /**\r\n * Retrieve a list of summaries\r\n */\r\n async fetchSummaries() {\r\n const contentsClient = new ContentsClient();\r\n let analyticsStore = useAnalyticsStore();\r\n\r\n let items: ContentItemSummaryResult[];\r\n\r\n let count = 40;\r\n let firstCount = 10;\r\n let offset = this.offset;\r\n\r\n let timeName: EventTimeName = EventTimeName.loadDiscover;\r\n\r\n if (offset == 0) {\r\n count = firstCount;\r\n firstCount = 0;\r\n timeName = EventTimeName.loadInitialDiscover;\r\n }\r\n\r\n let startTime = new Date();\r\n items = await contentsClient.discoverContent(count, firstCount, offset, this.storeContentItemFilter);\r\n analyticsStore.submitEventTimer(startTime, new Date(), timeName, EventTimeCategory.discoverFeed);\r\n\r\n this.offset += count;\r\n\r\n for (const item of items) {\r\n this.storeSummaries.push(item);\r\n }\r\n this.storeNewContentAdded = false;\r\n },\r\n\r\n async fetchVersionHistory(contentItemId: string) {\r\n const contentsClient = new ContentsClient();\r\n const versions = await contentsClient.getContentItemVersions(contentItemId);\r\n\r\n Vue.set(this.versions, contentItemId, [versions]);\r\n },\r\n\r\n async setSummaryFilter(summaries: ContentItemType[]) {\r\n this.storeContentItemFilter = summaries;\r\n this.storeSummaries = [];\r\n this.offset = 0;\r\n await this.fetchSummaries();\r\n },\r\n\r\n async fetchTrending(count: number = 10) {\r\n const contentsClient = new ContentsClient();\r\n const analyticsStore = useAnalyticsStore();\r\n let startTime = new Date();\r\n this.storeTrending = await contentsClient.getTrending(count);\r\n analyticsStore.submitEventTimer(startTime, new Date(), EventTimeName.loadTrending, EventTimeCategory.discoverFeed);\r\n },\r\n\r\n async fetchFollowed(count: number = 10) {\r\n const contentsClient = new ContentsClient();\r\n const analyticsStore = useAnalyticsStore();\r\n let startTime = new Date();\r\n this.storeFollowed = await contentsClient.getRecentFollowedContent(count);\r\n analyticsStore.submitEventTimer(startTime, new Date(), EventTimeName.loadFollowing, EventTimeCategory.discoverFeed);\r\n },\r\n },\r\n});\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAgJJREFUWEftmDFSwkAUht9LxdjIDYRSKOQGkhtwA6GMNtwAOIFaSErwBB4h3EAtCCV4A2yEivVtxsRk2c1uEgebTZOZZJP37b//+5NZDMJpDxmMALEDpz82DGHiXnpzXIT+muo3Ts+QVNx0W16Tg7B/hIhKEwhakPQqWEVET1pFrCK6nLIesR6xHtEpYD2iU8jmiPXISTyCCBD9fVf4Ba9uVkbVOUnFoxqICFEBqhwIV+BwkCtREqYciK4Yv+845Blz0xQH4e8WLMGAfSDgRRWbFAKhgsSQpaBJv8NZrQu73QPdu8nASKBVsOYgvL6gdAzhNgfbYD2rw9d+Qfa5ShfTrWI81hxEmAoxfQI7dN323Vt8SwUTiaixixmIMC0ZRAKzfOoAOguqfV7EM3oQiba0sTLgGyuqQgHBIDqvWb/kB58aRJEVOohEmZXfp12o2RFs9D04Xic1iEwJYM9u67ZvKjltiQ2pk+6PlJFkjBxEnhWFIBJlwuncpK31HuGG/8kK3qamaqTHkTJkXrzOe1YLUhWCF1e2dYosFySvTYsqE8Hs9htVWytB/hLCJGPUIJqsKKpIyrw98suL+HwEEoT+Ni2ZaVaUhhEyhqvvtrw6gfz2O118pIvDskVMnwuW/piybcTHU0NM3LY3jr7rPJb5Of0RM31p2XHBym9ArbaNY+Eb2A5qPc3NReQAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAA1CAYAAACwcpATAAAABHNCSVQICAgIfAhkiAAAAalJREFUWEftmE1OwkAUgN8r7lgoO2hLgjfgBtYTgDfAE0hC3evaEusJDDfgCHAC9ARq2gI7ccGO9jEQNSbizIPWBpKZZefNfPPevL8Owg7DdKMGEDURoSaWO4wtBpFnnyND8Fuk7AaOQfj4CdlmKcRAfFilE1wZiP5WhB/CbFjFDdsGwP2uoNU6Fsy6DutAMEoDYsNMN+gjYOPfYeX2pFY4il/SgliaZXFXXwdV3llWJmRpZrnBAADP+Gak4SbZBLA/8WxfGtRsGMHzPC46M780kx0sExiRcTHumn2VBaQw0w1HQqCu2iReFE6nfuVVJafQLCTVBqt5kWRZOVbDpNbMyIy8ONtP2Lr6grE5SxC1OFWZAG9UXpssjB5aneAdEE9UwqnnCR7QcnmxdFAwArrNT7MELnODrYtnXnc2XxRLucFWgZ8TjIaRV3VygRFBb9y1WyKoQx+Q/iqQ4jsep4kxAXpDA5rRnf2USVuwn4lYZiJud6U10w6iGx6pBbSDaAfRDvLbArrEHF7x5D0n0YfoCVm/XPLcKN4aSbwFy4InARhMvap4dlKPJQE1BkBqe5cYAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAABHNCSVQICAgIfAhkiAAAAatJREFUaEPt2dFNwzAQBuD6jbf2kTcqdQFG6AawAQyClIzACDADAyAmQAyAFDbIBul/kVMZlKbx1T6fgyNZTdWc3e/OSRTHrBa0mQVZVgWjtZqlMqUyAhko00wgyawhSmVYaRMIKpURSDJriP9TmbquN8aYO6Rpy0qVZ1DXdT8Y88Uz7Hj4ZGWqqmqBWXM7Z8R9ALNnxPUhJzG203dux8y4OBj6M4upDGFQnVt83DOzfCrsCj88oF2PHBCvMoERlJwN+qSpS0ka2/LAzIAQTj9mAvINwM4pkW7MBOQLiCe0tywwZyB0P6Fzx73866zMOQh+b0fuZfowcyD20k/V0VuZuRD1GB+IaowvRC2GA1GJ4ULUYS6BqMJcClGDCQFRgQkFSY4JCUmKCQ1JhokBSYKJBRHHxISIYmJDxDASEIuhJ83PaI/NUpABgPEa7N/Y76/4/ujgvHZ/Lc9KQ5ypRoAW7dnivBDDwUdMCgjrH08E9ZglQMgxYOgk/LtkSutae1pFCZ3BWP2ZkeUeGis7SF8ZmmJ4Y9U4L5WyhLjTbEunDloDHH1muS3qBe0B0SY9QzUs+dkAAAAASUVORK5CYII=\"","/**\r\n * Managing the information related to conversations\r\n */\r\n\r\nimport Vue from \"vue\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { BroadcastMessageCommand } from \"@/api/signalRModels/BroadcastMessageCommand\";\r\nimport { ChatroomModel } from \"@/api/signalRModels/ChatRoomModel\";\r\nimport { ChatroomType } from \"@/api/DoceoApi\";\r\nimport { CreateChatroomCommand } from \"@/api/signalRModels/CreateChatroomCommand\";\r\nimport { GetMessageQuery } from \"@/api/signalRModels/GetMessageQuery\";\r\nimport { JoinChatroomCommand } from \"@/api/signalRModels/JoinChatroomCommand\";\r\nimport { MessageModel } from \"@/api/signalRModels/MessageModel\";\r\nimport { SendMessageCommand } from \"@/api/signalRModels/SendMessageCommand\";\r\n\r\nimport { useChatHubStore } from \"@/store/chatHubStore\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport dayjs from \"dayjs\";\r\n\r\n/** This interface contains properties that were in the chatroom mockup but have not been added to the chatroom model. */\r\nexport interface Discussion extends ChatroomModel {\r\n hasMultiplePeople?: boolean;\r\n}\r\n\r\nexport const useConversationStore = defineStore(\"conversation\", {\r\n state: () => ({\r\n storeMessages: [] as MessageModel[],\r\n storeDiscussions: [] as Discussion[],\r\n storeChatroomId: \"\",\r\n storePendingInvitations: [] as ChatroomModel[],\r\n storeNextCursor: null as string | null,\r\n }),\r\n getters: {\r\n messages: (state): MessageModel[] => state.storeMessages, // Return a list of the latest messages retrieved (This should be the messages of the selected discussion)\r\n discussions: (state): Discussion[] => state.storeDiscussions, // Return a list of all discussions the user is in\r\n pendingChatroomInvites: (state): ChatroomModel[] => state.storePendingInvitations,\r\n unreadMessageCount: (state): number => state.storeDiscussions.reduce((prev, cur) => prev + cur.unreadMessageCount, 0),\r\n },\r\n actions: {\r\n /**\r\n * Sets the list of chatrooms.\r\n */\r\n async setChatrooms(chatrooms: ChatroomModel[]) {\r\n this.storeDiscussions = chatrooms;\r\n this.formatDates();\r\n },\r\n\r\n /**\r\n * Adds a new chatroom to the list of chatrooms.\r\n */\r\n async addChatroom(chatroom: ChatroomModel) {\r\n this.storeDiscussions.unshift(chatroom);\r\n },\r\n\r\n /**\r\n * Formats the latest message dates for each of the chatrooms.\r\n * The date will display as the current time if the message was sent on the same day,\r\n * or the date the message was sent otherwise.\r\n */\r\n async formatDates() {\r\n const today = dayjs().format(\"MM/DD/YYYY\");\r\n this.storeDiscussions.forEach((chatroom) => {\r\n if (chatroom.latestMessageDate) {\r\n const localDate = dayjs.utc(chatroom.latestMessageDate).local();\r\n const messageDay = localDate.format(\"MM/DD/YYYY\");\r\n if (messageDay !== today) {\r\n Vue.set(chatroom, \"latestMessageDate\", messageDay);\r\n } else {\r\n Vue.set(chatroom, \"latestMessageDate\", localDate.format(\"h:mm A\"));\r\n }\r\n }\r\n });\r\n },\r\n\r\n /**\r\n * Sets the current chatroom to the specified chatroomId.\r\n */\r\n async setCurrentChatroom(chatroomId: string) {\r\n if (chatroomId != this.storeChatroomId) {\r\n this.storeChatroomId = chatroomId;\r\n if (chatroomId) {\r\n this.storeMessages = [];\r\n this.storeNextCursor = null;\r\n await this.getHistoricalMessages();\r\n await this.clearUnread();\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Clears the unread count for the current chatroom.\r\n */\r\n async clearUnread() {\r\n const chatroom = this.storeDiscussions.find((room) => room.id === this.storeChatroomId);\r\n if (chatroom) {\r\n Vue.set(chatroom, \"unreadMessageCount\", 0);\r\n }\r\n },\r\n\r\n /**\r\n * Retrieve a list of messages for the current chatroom and prepend it to the list of messages.\r\n * Stores a cursor to load in older messages the next time this function is run.\r\n */\r\n async getHistoricalMessages() {\r\n const query = {\r\n chatroomId: this.storeChatroomId,\r\n nextCursor: this.storeNextCursor,\r\n } as GetMessageQuery;\r\n\r\n const chatHubStore = useChatHubStore();\r\n const newMessages = await chatHubStore.getMessages(query);\r\n if (newMessages.length > 0) {\r\n this.storeMessages.unshift(...newMessages);\r\n this.storeNextCursor = this.storeMessages[0].createdUtc;\r\n }\r\n },\r\n\r\n /**\r\n * Sends a message to the chatroom.\r\n */\r\n async sendMessage(content: string) {\r\n const command: SendMessageCommand = {\r\n chatroomId: this.storeChatroomId,\r\n content: content,\r\n };\r\n const chatHubStore = useChatHubStore();\r\n await chatHubStore.sendMessage(command);\r\n },\r\n\r\n /**\r\n * Adds a new message to the list of messages.\r\n */\r\n async addMessage(message: MessageModel) {\r\n this.storeMessages.push(message);\r\n },\r\n\r\n /**\r\n * Called when a new message is received.\r\n * Adds the message to the current chatroom if the message was broadcasted to it,\r\n * or to the list of unread messages otherwise.\r\n */\r\n async receiveMessage(broadcastMessage: BroadcastMessageCommand) {\r\n const chatroom = this.storeDiscussions.find((room) => room.id === broadcastMessage.chatroomId);\r\n if (chatroom) {\r\n Vue.set(chatroom, \"latestMessage\", broadcastMessage.message);\r\n Vue.set(chatroom, \"latestMessageDate\", dayjs().format(\"h:mm A\"));\r\n if (broadcastMessage.chatroomId == this.storeChatroomId) {\r\n this.addMessage({\r\n id: uuidv4(),\r\n chatroomId: broadcastMessage.chatroomId,\r\n fromUserId: \"\",\r\n fromUserFullName: broadcastMessage.fromUser,\r\n content: broadcastMessage.message,\r\n createdUtc: Date(),\r\n } as MessageModel);\r\n } else {\r\n Vue.set(chatroom, \"unreadMessageCount\", chatroom.unreadMessageCount + 1);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Creates a new chatroom and adds it to the list of chatrooms.\r\n */\r\n async createChatroom(name: string) {\r\n const createChatroomCommand = {\r\n name: name,\r\n type: ChatroomType.Private,\r\n } as CreateChatroomCommand;\r\n\r\n const chatHubStore = useChatHubStore();\r\n const id = await chatHubStore.createChatroom(createChatroomCommand);\r\n\r\n const newChatroom = { id: id, ...createChatroomCommand } as ChatroomModel;\r\n this.storeDiscussions.unshift(newChatroom);\r\n\r\n return newChatroom.id;\r\n },\r\n\r\n /**\r\n * Leaves the chatroom and removes it from the list.\r\n */\r\n async leaveChatroom(chatroom: ChatroomModel) {\r\n const chatHubStore = useChatHubStore();\r\n await chatHubStore.leaveChatroom(chatroom.id);\r\n const index = this.storeDiscussions.indexOf(chatroom);\r\n if (index !== -1) {\r\n this.storeDiscussions.splice(index, 1);\r\n }\r\n },\r\n\r\n /**\r\n * Invites the specified user to the current chatroom.\r\n */\r\n async inviteUserToChatroom(email: string) {\r\n const chatHubStore = useChatHubStore();\r\n await chatHubStore.inviteUserToChatroom(email, this.storeChatroomId);\r\n },\r\n\r\n /**\r\n * Joins the specified chatroom and adds it to the list of chatrooms.\r\n */\r\n async joinChatroom(chatroom: ChatroomModel) {\r\n const joinChatroomCommand = {\r\n chatroomId: chatroom.id,\r\n privateChatroomInvitationToken: chatroom.inviteToken,\r\n } as JoinChatroomCommand;\r\n\r\n const chatHubStore = useChatHubStore();\r\n await chatHubStore.joinChatroom(joinChatroomCommand);\r\n\r\n this.storeDiscussions.unshift(chatroom);\r\n },\r\n\r\n /**\r\n * Joins the specified public chatroom if it doesn't already exist and adds it to the list of chatrooms.\r\n */\r\n async joinPublicChatroom(chatroomId: string) {\r\n if (!this.storeDiscussions.find((x) => x.id == chatroomId)) {\r\n const chatHubStore = useChatHubStore();\r\n const chatroom = await chatHubStore.joinChatroom({ chatroomId: chatroomId } as JoinChatroomCommand);\r\n\r\n this.storeDiscussions.unshift(chatroom);\r\n }\r\n },\r\n\r\n /**\r\n * Sets the list of pending chatroom invitations.\r\n */\r\n async setInvitedChatrooms(invitedChatrooms: ChatroomModel[]) {\r\n this.storePendingInvitations = invitedChatrooms;\r\n },\r\n\r\n /**\r\n * Tells the API that the user has viewed the latest message.\r\n * This will reset the unread count for the user.\r\n */\r\n async readLastMessage(chatroom: Discussion) {\r\n const chatHubStore = useChatHubStore();\r\n await chatHubStore.readLastMessage(chatroom.id);\r\n await this.clearUnread();\r\n },\r\n\r\n /**\r\n * Accepts the invitation. Joins the chatroom and removes the invitation.\r\n */\r\n async acceptChatroomInvite(chatroom: ChatroomModel) {\r\n try {\r\n await this.joinChatroom(chatroom);\r\n await this.removeInvitation(chatroom);\r\n } catch {\r\n Vue.set(chatroom, \"hasError\", true);\r\n }\r\n },\r\n\r\n /**\r\n * Declines the invitation. Leaves the chatroom and removes the invitation.\r\n */\r\n async declineChatroomInvite(chatroom: ChatroomModel) {\r\n await this.leaveChatroom(chatroom);\r\n await this.removeInvitation(chatroom);\r\n },\r\n\r\n /**\r\n * Removes the invitation from the list of pending invitations.\r\n */\r\n async removeInvitation(chatroom: ChatroomModel) {\r\n const index = this.storePendingInvitations.indexOf(chatroom);\r\n if (index !== -1) {\r\n this.storePendingInvitations.splice(index, 1);\r\n }\r\n },\r\n\r\n /**\r\n * Adds an invitation to the pending invitation list.\r\n */\r\n async addInvitation(chatroom: ChatroomModel) {\r\n this.pendingChatroomInvites.push(chatroom);\r\n },\r\n },\r\n});\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAArCAYAAADhXXHAAAAABHNCSVQICAgIfAhkiAAABStJREFUWEfFWV1IZGUY/o5KQSlbRKyysEGrtiwtoSjq+JM3YY2wlQZuQVR6sRteaBe7MywKxWpYVyso24JSXsSmsBaBVlTsrsuOjopuBEJaF+2FWhfBNBLD4k/Pc+gMc86cOee859T2wceZmfO+z/ec93vP+/ONpgKOmpqa5zRNexYwx3A9enBw8ASuR/D9V058v4vvG7h+v7CwcDvIcpofZRBsz8vLaweBMIgcEmBsQudLzOl4PP6tQE8XlZDVQLIN5N7HLJcuZJUH4dvAOT8/Px/ziuWJbF1dXQiAw5hVXoG9ytHS+/v75xYXF9fddNzIaiAaBchFzHw3sAD3kyD8FlzjmhNGTrINDQ2P7u7ufoqteiEACanqpUQiEVlbW7tnp2hLNhQKPY3tmYHCUelqQeWx7iLmKVj5NytWFtnm5uaCVCp1AxatD7pwAP0rePHOupKFj34EoTPShcrKylRjY6MqLy9XhYWFamdnR62vr6vZ2Vm1vb0thVOw7tuIy+SSHibLgujzuPOVFLmrq0tx2o1kMqnGx8fV1NSUFDaF3T0ei8WYXPSRSTavtrb2RwickKBOTEwoWtVtzMzMqMHBQTcx031YdxLWPZ1FFkTPguhlCZqTRe1wotGompubkyyh9vb2QojB82nL1tfXFyHO/YIfHveKVFxcrKanp72K63J0iZaWFpEOhGN42fSXXXcDWHUIVo1IUMLhsOrr65Oo6LLd3d1qdXVVpAdDvopQ9plBdgFkayQIPT09qqOjQ6Kiyw4PD6vJyUmpnh7KtOrq6uL8/PxNkHVLvaYFhoaGVFNTk3RRPTJwCscmyB7R4AJvgufHQmU9VOUKV05Yfl4y4iH1V7BQuYTPPVKytCqtKx1tbW2+kwTJfoEFX5Quyiw1OjrqKcYa2AxbtKyfgZj7Ht3gDtzgGT8ATAZMCl4G0y+tyqufAbITJLsNsof9AFCHIay3t1evB3INEoxEIuKQZcH7hm6Qwo8P+iVLPSaI/v5+VVFRkQXDrR8YGPBtUQMQlv0hsGUz2dG6dI2SkhK1tbUV1JKmBwfZm4F8NshuSHV1n4UbfA1FccKWLhZUHmQ/oGU/wQv2RlCw+6D/DsmKS8P7QCxrCRQzdTy4OAzL8ojngf+DhJc14QI/owgv04uXoH7LKFBaWpruvwwCGxsbitNPD5b5EPRXkI0aJaK4mCFBJgRONolOg2GMbQ37MD8ZjEXM0tLSHaMsZP/FtHvSy7awju3s7FRFRUVexNMyfprHzD4sXcPCFV4C6udOq9OarLQqKytFJK3CguZxDwY8ZnS4poIb1r2Fmw12TEh0ZGTEdcu9PoXHCsx02GEiW1VV9VRBQUHc7syV/Rb9898cLha+i3B1Er3Xn8aaWa0MQlkYB8U850oPFiisXf+LwSKHpzaWt/8v7jBaGVNnadt3WbtddgW0rFMZ6PdB2DyyibSM10D0qvXHXE0ia4YbEE53hE5loF+iOayqx1Q7TKeOlqn4ApQuZna+9FuGLi9HRrkegts+NjZmShYIUTyTfR1Ecx6KubbfIHwKIFdB+CGrH7e2tuphjFZ3G8xkKysr+pmBTUbbAtmXQTTuhONKlso4W3gSZwsfgnC7HRjJsuC2xl/j2JNEc2SuXZC8DNx34aN/uD2wJ7IGCE7EmwB+Bd+PuwG73WfljzR6Znl5+Sc3WeO+iKyhBNfgX0yv+P0fDDjXsOXfeSUZiGzmIv/8w8hTvscwH8E8hAd5GNckZgIPlMD1d8zrQf9h/BvU8CtMB9IQ8gAAAABJRU5ErkJggg==\"","/**\r\n * Managing everything regarding errors.\r\n * Any error that is added to this store will be displayed as a snackbar in the app\r\n */\r\n\r\nimport { defineStore } from \"pinia\";\r\n\r\nexport const useErrorStore = defineStore(\"error\", {\r\n state: () => ({\r\n storeError: null as string | null,\r\n storeMessage: null as string | null,\r\n }),\r\n getters: {\r\n error: (state) => state.storeError,\r\n message: (state) => state.storeMessage,\r\n },\r\n actions: {\r\n /**\r\n * Add a new error. This will display the error as a snackbar in the app for 2 seconds.\r\n */\r\n async addError(error: string) {\r\n this.storeError = error;\r\n setTimeout(() => (this.storeError = null), 2000);\r\n },\r\n /**\r\n * Clear the error. This will force the snackbar to close immediately.\r\n */\r\n async clearError() {\r\n this.storeError = null;\r\n },\r\n /**\r\n * Add a new message. This will display the meassage as a snackbar in the app for 2 seconds.\r\n */\r\n async addMessage(message: string) {\r\n this.storeMessage = message;\r\n setTimeout(() => (this.storeMessage = null), 2000);\r\n },\r\n /**\r\n * Clear the error. This will force the snackbar to close immediately.\r\n */\r\n async clearMessage() {\r\n this.storeMessage = null;\r\n },\r\n },\r\n});\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAABGCAYAAACHZ2ccAAAABHNCSVQICAgIfAhkiAAABNxJREFUaEPtmj9yEzEUxu1cgHACnBMQTsDmBEkqyjgVZZIT2J4cAGhpcDqGBucEOA2UJCUVzglILhDzfTtPy7OQbGlXXq891ozH67X26f30/kgrqd3a0NLeUK7WFmzdLLu12NZiDemBrSs2xBDBamwtFtxVDamY3GL9fn+/3W6/Bt/udDrNhHMX3/tyfYvvB16j3pjXqHeD53g/WUkCNhgMDgXiCJp1Smo3wXMjwvZ6veuSMorHKoEB6ARA72mdqopYzz8A8ByAV2XllgIToH4F64TqSytewE1HoQ+YelFgjB88+A6fbEFDdCXGDGOI5cHEkMgwFqYcyjxcII9yCBgch8FgEEolvrrcDu74CNcZEqRM7xIKzzE+M8jqQtYzBygTzjHqmc6a2xdBYBDWhZRPHkmMg3PUyTNd1QI5tCbj9sQj6xR12InVwCCEQASzC92NQJNFjZT5H3I7Auhy0yH+P50nd67F5kAF9VoZIPsZ6HCOe4xru8yF84K53E9i6SjUz1OAUQbjD20PHbHn7WAnmCSKb5Zid3TJmMyUCkzgmD2H+Ly05B64Ovo/MEnHhCoGXbFUtiooA0LdoMvYshyTFuFmhgIXGKGykF5JaZFQWTIscNjRhcPMgb4xA+ZJ67Uligg4V0LhGFfMUGyw3xDeUQ1cSw+FtllbPYHQQ8EE9/aMAgWYx1p7yxqnqvaAjHM0hC6Fd2mwPzph4PpKYKvqsLTnoR+zpJ6hcE76nA3mYHZAShbs4H6SadKyyKAfX2YnVpbMY82AcW52phT4gD8ZoI0vDqvluhswO2nMZJgm0znSf55E2jIg/9TK417QrL8pwNB3aunyimD2mNDYFO/rSEfqvyCYHV98U+W9tSnQtw9le0rhAcHGuMHlMlOck8omU4Ihg3560n6z0WB2RoyebVxeXu49PT2x1yoVjEm/0PvfY4U4EuAtLTaTUcpkRCzHvYFSn2MVctT/iPbflpFjc2w02AQ99EL1UrQrrtpiDle8S5I8GgC2nKzYVLDKA7S4gm+BMyYX/ICsLzEPsK5vgN7YKRWXtfQkuHhZi+25VdV3ToLFlHZmXOfXlnuAdjb+RZNbOHqtjksCHM8avzQAPTkl1Duq/5YG6I7YFuX2qN6XWrvFHK7VYOjJITd/+c2TREZwx+NVZbt57UIvhg5DyJQ8aZgfIUvcjXujdixnkMe/xC1WG+Nbv1HzdmPeqh2rUtSPB2AybWHnNlLoVk3dLipTt6AtrpiNP+4/cW08+EhCSnCBYlwVcSTywzb+jDIQ1MW1fVIg6khCKjBxP+qixyuKj9uqVXBDXLtm7bXtmWFcOpNjTXY/zR1nF674ord8cNxkY8acpLKMliOpm6cFdEo3VRZOHhaCUZLHLU0jBCdgkukX5NDdCMRQcJUgbwkCEzgeB+KxO99xIP43KnskT44G0jr82LHUij2KEQwmcHx34xu3Pc7ZPUvIWzlo2cKa46PJpsxuOzs7eefwjCM+lOlyNy3zBj94Cig4I0eBmZYkSxFQr24tI9TuBYjxHFVKgSnALjOWxz2jFNGVxe1oIcZvqVIJzLJgJi5V1oq0Di0zBlC0hWz6JGBaqMwQCMkEwG8WXpujQjy6ZDLoWK4JExw/ISZMDhbSaB11tmB19HLKNrYWS9mbdcj6C++whEJy4LGUAAAAAElFTkSuQmCC\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoceoAppBar.vue?vue&type=style&index=0&id=37e24573&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAfhJREFUWEftmE9SwjAUxvOEBTu5gXgC2TgTVrJ3cPQE4g24gXAC9QTqCZgpOm7ZyYwL8QTiDXDHQni+pFL6J02T8MdNOlMWNM375XtfvnYKOGicM8au6azTudsDcUIFe3A2egAM+CcDqO2WIFaNYAjkEEgR/DeIv8LQegUPEu+CVyTtSa+IV6Qop7xHvEe8R4oU8B4pUsjniPfI9j0CVGIDr95rmpUIkEgEzJqHO4govqAzDiGUAfljjeUIoikmLu3Zt8sRxGTBdsrYgyAVgIz0X4R2kMTbNkhGDPxgP7MmK1duifAycVkNrZTTXpFkJQkBF+Mp9utVghkSzJGLMu4giN+sNG/C6dt4WTgfpthTBiCKrFBARDDPx3U2Lw3JR/s2yuhBVFkhZke8Eh9W8taJAmZRfk92UZ8xGpAc1xdARMoEvE2q3GfNK/7JBp5Ba+JT4SO0Ru3ijocj8KnRoefQTXZ8dpFqEOW2s4OIlBlwamHxtjZUJMwKsU1N1UjoGHBh3hPdvQYg60HIFuVmzApND6LZprbKSJhSZZLd1uFM+SAbhIj8kpsxehBtVtgqsjKv/LjcT98fKhLwaUIyw6xwhklnDKlPAVmF1H6/I7qOaxHT+3DAu9QQ8dld2LlH+dSVMSdjWZgm9hAzndR1HL7wGpvNpstY+AVmNFw9QwsQWQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAWBAMAAADkyntQAAAAHlBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaVcReAAAACXRSTlMAQK3AcDCA5yCv8LNbAAAAQklEQVQI12NgYGiqnKnAwMBROXOmAQMD00wwxQmkFEDUVAYGEDUBg5o5E6wSmVKAUA4MgZIzJwri0EcMxZLmwMAAACBlJOnb3LMtAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAAP1BMVEVHcExit1ZgulVhtlZit1ZhtlZht1Zgv1Bgt1hht1dit1dht1b////G5cKf05hru2F6wnGTzYvi8uD2+/W13rA/AuE+AAAACnRSTlMA8DDvgMCsEEDgKT4KwgAAAJlJREFUGNNtkEkSxSAIRDEOMYhjcv+zfsBh9VlY5bPBbgCkovPWehdh1x1wVbgnuR7ENAufSzUPgykSJrqAafe1mjDwZDyoUGZdBHdIe6nzxYHfqA7K0uHB8Fk7o0yjCrKKMr8Xept8ikYbO9FH1NUHN+r4QgynNR4f1Wihsc3GZTWVtkThBJKAJ5DEVsTHiv1vOXOFxuwV/gAmcQq0F6IXlQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAeCAYAAAA2Lt7lAAAABHNCSVQICAgIfAhkiAAAAdVJREFUSEvFVkFygkAQdPXiLeYFyQ9CDlbJSf2BvkD9gT8xviD4Av2BeALKC/mB+QG5eaAg3QYsYpZ1F7FCFWWxznbP9Ow0iIbG1ev1pgibCCEshqdpGuLH8X1/dW27UAVYltVpt9trAA9kcSByj8fjOAzDqAxHSYDMXYD3VUmQBJUMjQkoC8Dfr0mQSTYDiSOLLa1AJ/scEFXsQCCVUUUQoYIHnQoQE3me92hagTYBKvhCBR1TgqsNvlWi+zaZ2ek0WtVgYugM2qZsFgiOQRtVHrRc48wqaBcnq8CVW4X07BebraxA84gqw/6XoNvtWs1ms48ejHDznJ8lgv4R7k2SJLv9fk/JpJe0AgK3Wq1FmYteItHwsEY/Olz+94fAtu05ghZV9Ec18yAIlqVNxmlxkPWkCnhhqvkimuXP5wrqAC8ktoT5UYmfQQP4AJlvb8lc0pchKnFPBNCdzXmqkwBYIap4FQAf4WFdM3gONxY1a/8rTxzfFQm0fd+0SpohJUpNNxrER/cmaFAi7XevQeZ56FJkX28cirnBV4SSi9ojYEpvOk9yRsQjS6KXCtl+Ys8G4G9F05O6KWR7RjCn28KGk0UXX5tY+8ASv0cPWA/jOHbLLPsbBRzYSQ0F320AAAAASUVORK5CYII=\"","var map = {\n\t\"./add.png\": \"6e90\",\n\t\"./add_active.png\": \"0dd2\",\n\t\"./attachment-link.png\": \"8319\",\n\t\"./attachment.png\": \"035d\",\n\t\"./author.png\": \"6703\",\n\t\"./author_multiple.png\": \"82b7\",\n\t\"./back.png\": \"0142\",\n\t\"./chat_bubble.png\": \"2985\",\n\t\"./chat_bubble_active.png\": \"e869\",\n\t\"./close.png\": \"c821\",\n\t\"./content_article.png\": \"d017\",\n\t\"./content_decision.png\": \"2b9a\",\n\t\"./content_drug.png\": \"b5ce\",\n\t\"./content_trial.png\": \"0017\",\n\t\"./date.png\": \"d2b5\",\n\t\"./draft.png\": \"b4d7\",\n\t\"./edit.png\": \"0f8f\",\n\t\"./facebook.png\": \"4440\",\n\t\"./filter.png\": \"02f6\",\n\t\"./folio_create.png\": \"cb4e\",\n\t\"./folio_private.png\": \"4b72\",\n\t\"./folio_restricted.png\": \"3097\",\n\t\"./gender.png\": \"ff86\",\n\t\"./green_checkmark.png\": \"5ca1\",\n\t\"./instagram.png\": \"b069\",\n\t\"./invite.png\": \"6b1d\",\n\t\"./invite_active.png\": \"e9e8\",\n\t\"./journal.png\": \"09e1\",\n\t\"./like_blue.png\": \"8b3a\",\n\t\"./like_default.png\": \"2fb6\",\n\t\"./like_green.png\": \"6af7\",\n\t\"./like_orange.png\": \"e2a6\",\n\t\"./like_pink.png\": \"0f85\",\n\t\"./like_yellow.png\": \"cecb\",\n\t\"./link.png\": \"1476\",\n\t\"./linkedin.png\": \"ea71\",\n\t\"./marketing/brain.png\": \"713ab\",\n\t\"./marketing/chat.png\": \"c3d9\",\n\t\"./marketing/facebook.png\": \"5bfc\",\n\t\"./marketing/folder.png\": \"f194\",\n\t\"./marketing/instagram.png\": \"88c7\",\n\t\"./marketing/linkedin.png\": \"e48b\",\n\t\"./more.png\": \"fb10\",\n\t\"./more_active.png\": \"0e7e\",\n\t\"./note_orange.png\": \"35cc\",\n\t\"./notification.png\": \"0053\",\n\t\"./notification_active.png\": \"fd73\",\n\t\"./pdf.png\": \"15e3\",\n\t\"./pill_pink.png\": \"d243\",\n\t\"./refresh.png\": \"13fa\",\n\t\"./remove.png\": \"526f\",\n\t\"./save_blue.png\": \"30ab\",\n\t\"./save_default.png\": \"d4db\",\n\t\"./save_facebook.png\": \"1f06\",\n\t\"./save_green.png\": \"4150\",\n\t\"./save_instagram.png\": \"366b\",\n\t\"./save_linkedin.png\": \"f052\",\n\t\"./save_orange.png\": \"5753\",\n\t\"./save_pink.png\": \"0d95\",\n\t\"./save_twitter.png\": \"f964\",\n\t\"./save_yellow.png\": \"b40e\",\n\t\"./save_youtube.png\": \"c6e9b\",\n\t\"./search.png\": \"ccef\",\n\t\"./to_original.png\": \"452d\",\n\t\"./twitter.png\": \"ca5b\",\n\t\"./youtube.png\": \"7702\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"67f7\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAuCAYAAACF6SFvAAAABHNCSVQICAgIfAhkiAAABBFJREFUaEPVmT9e2zAUxyWzJCylJwBGyFB6geKcoL0BsBEYCieAnoB0aDISTkA4gcMJoANhJEcIC8nSqD/JseM/ki3LMiEe8uETpKf3ff/89EKJ5uM9/dlbI2ubzGF7wRZK2ODfjL02G6ePmmKky2KyGdsglI7FQkbHM8rumjutkY58mrXIe+5u0Rm5IJS4WLeVKZCRnkNo/1vj+E7nYC7bIeSAMXKYL5s9Uoe093dObrJkS2G8l+sNZzK5YISe6SgWW8PYmFLncn/3+LdsbynZhIwYYefN3ZO+THYKxvcGu4Wrw3AqDORvSB18/9w5YDPShuwNQ5liG4WRZcaKwfDYxUJPdRhCIv5Q/wvsUeuG8GPrtXP6Nr3CMh5SqceXgk8GSRAVngP5StmQ6zZaR1FhoRbc/XQyfUjGLz8oM7Hm0uB+NRZCT2YgrjRywT8hZamFmly2DGoecu1gZajnYNj18KUbJVUJUboBZmWIo0xP+T4QH9wLRR6ZYeHMJqrdYG4SQrxh5wcUuI2BGByms194oyBE3MCpSBm5u63tEAZeeYmGl/AI93+G63Mtyr00g5cimvthlR1SuXIlCyD3V7PRuqQi6anDc2XxcMslk93klMBcPLdxYhTMVJyI0LR3hXeoN+y2ofvPQHjhPNHRyqZxhIHS3kWufgVMZ4B82Q9hSsa0DpuNNUnv8FCjg6fOQ+wFaduKNjSX5UmiXAPmjiL549khcWFF+lgVi/S4X10YidF5zoyQM5uhmVYkzERbEokphNnflS0AyRgVYZYqzStTzeLvLcDcULT8LppT3pf5T9l+w2pa6wtDj3YkuiR4Z4w/PulvXe5Kmb1ZvfZ5DtM5QxG4Wq6K5qfzEMPt83Bxn0lWNY7vlGw2zfWT7+TlGM1rsu1GiG3zoccCJpk7Qf58FCAViD8TEBe0xLW5e4k9FzGzfAQPqUFEeAX6pgcaw04P+XPwYYBUIHhJkvWa29w+8mdsSc8EX3pP3T5kfLcd8kbyJKWLv+2TIGoYDDfI23QAoC9xD6nwjdTM3yS59KtAlDDi3bNsoIIgmTBLBTIAyYUJgSZTXsPjHYLuQC0/mOIrDEG0YAQQhh4Yq+B6XTFQCRBtmHcBKglSCKZSIAsghWEqAZKBEPJK6rWt6AtRJ/WMBqVWckgxOAHbK0ahrsmvcUYwuR7KG8EWaFF0PBKsMYYJgYjTS3cKGdeHikCMciZpKXWnIAGqEMQKTGanECWvGMQaTHbrwz3Eb4jpsU9W01gkV6zkjCLkeA7lXh/4vZ3U62dFy28WZKkCoBKMKWn6ghdZHAwgTKz/7jB+pZNcwfF9VSBWc0ZmMQwYDzFgvA7+VyVI5TDCQ/jxF3OTHnzSjw4fbIfYu8AElc5moqsM8R95DSLOPtvDKQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAABGCAYAAACHZ2ccAAAABHNCSVQICAgIfAhkiAAABVtJREFUaEPtmj1PFEEYx+9IJLERTOw9PoGY2BqX+AEAaxPOQlugMSEh3B0ViYVaUnkUtgqx0sbjAxjhE3iYmNAJHTbg/795Zh2G2buZnWGFzU1yYdmdefb5zfMyLzv1WkVLvaJctRHYdbPsyGIji12RHojuiu12e7perz8C3+TZ2VkinJP4Oy3Xe/h7xGvU6/Ea9XbRjvejlShgnU5nViDmoFmjoHZ9tNsmbKvV2ikoI2sWBAagBQC9oXVCFTHaHwFwCYBbReUWAhOgdoB1XPWlFZfhptuuDVQ9LzDGDxq+xi8Z8iK6EmOGMcRypGJIZCgLUw5lzg6RRzkEdI5DZzAIpRIfbW4HdzyG63QJUqR3CYV2jM8EspqQNWEBZcKZRz3VWQP7wgkMwpqQ8i5HEuNgCXXSTBdaIIfWZNwu5Mh6hjrsxDAwCCEQwcxCdyNQf9hLijyH3IYA2ty0i+fPBskdaLEBUE69VgTIbAMdlnCPcW2WgXC5YDb3k1iac/XzGGCUwfjDu7uW2MvtYCuYJIqvhmL7dEmfzBQLTOCYPbv43TPkztg6+gKYpGNCZYOuWCr5X1AKhLpBl55hOSYtwp0bCmxghEpceiWmRVxlybDAYUcvHGZm9BvnwHLSemmJwgPOllA4xmUzFBPsB4Q3tBfsSA+5vrO0egKhDwV93JtSCmRgOdaauqxxKrQHZJyjIfSSeZcO9ltPGLjeEthQHS6tPfRjltRnKJyT3uYLUzAzICULNnA/aJqE9nfGxsbummS4d7i6uvorlBjyuZjtG1kyjTUFxrnZovait3jIAA0qkPECAjYtQl7h2csg4dLYYrVUdwVmJo1zGaaoAiWBcVWgp/80idQ56OHBd1153HOa9Q8DLgNMQunM0OU+wcwxIVqKLxGM45ee+pcJZsYXV6q8F1xKBGtD2ZamcIdgPdzgdpkq1kllEcoSwRLop0/adysNZmZEr9kGrHILY8lPm0Uxvozj/k3Lsz9oc5LTJoFM500bSR5mAtyjxc5lFN+MuLGxMXFychI0kOuAGLwfrK2tffN1fZOj0mB99I4+7fFyxatgMctYvB+cPK4IWPysuLm5eePw8PCJLSaQIB7j/nPLs09ILO9tbcbHx7+srKxwpeFcYDErWGUH6MpOqcwxIFusOftCTsUSZx4XJ8EywJmZ8TovWw7QoY3KLzTNxRpnEhzPgmYUl+2K3BqAnpwSZpu7uP63NUB3xGdRfh7Vv0sFb+asr68/PD09fWoJwc9Q6kOEGO5CRraZw70afG1NIau//ZaTRLbRs/OhPXsZ7aEX9zkYQqqkSUP947LFHW1FHQvQsp1B0flb3GK1Hv7qK2rejraqDoUDlJnoKJIHYBJdtvUzkuunmlAlfdvLLN7pE5fPhz+uark37rW69VU+r75AMa6yOJK6bh/+lGAIauLaPCnAcc35SEJEKLofddHHK4r3+1SrwXVxbTuWUNo3M4xLi3KsyeyngePs0B1fWC4PjpuUzJj9WJbR5Ujq5mkBPaWrKkMnD0PBKCnHLdVLCE7AoOmX5iV0NwIxFGzFyVucwASOx4F47C7vOBCfbRc9kidHA2kd/sxYqvkexXAGEziu3bjiNsc5s2cJuScHLWuYLx6rbMrshi22tHN4xhE/yrS5my5zF//wFJBzRvYC09yFihDwwke9yPF2IECMZ69SCEwDbDJj5binlyJ6ZXE7WqhbVEgQmGHBRFyqqBVpHVqmByBvC5kdEAVMFyozBEIyAfAvC6/VUSEeXVIZtCfXhHGOHxcrRgdzeWkZdUZgZfRyzHeMLBazN8uQNbJYGb0c8x0ji8XszTJk/QXTAdRCNV6O1gAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAmBAMAAACmBt9XAAAAMFBMVEVHcEz/bAD/cAD/bQD/bAD/bAD/bAD/bAD/agD/cAD/bQD/bAD/bQD/bQD/bQD/bQA4OWKNAAAAD3RSTlMA8BDAoIBA1jAgYJCwT3DKh8RnAAABqklEQVQoz3VSu0oDURA92TzYBERQbN1YiI1gIB+Q+AXRwkJQTKNWElAIWEhiZSVGEO1U8AMMgpJOtBRBkNiIheAHSFhjSHyMd+buzdtT7DzOzpm5dy5gsLsQp0o08ohOHN+Qwi9O6K49bZ2RIIkHopG2/KzO1zDAJtskvDxdYFvsjJdfVf7wfXyjBMsR4kPnI8rd0u4O1S7nctyLkVK/RMUbJyoCoRw1OAqoghjstZXDshJKq8wkVQrKvCuiYCe8/tmnRVg51rJV9I0xamET+1QH/MptSJlBLRqkKpBR7ieMkpvi81vkAtfKqzeJmO1wSATkuMIyMjGcK62yGgei+mKILwxqJw3qRN6vbRSOSZVSkvDpCM22hCmeSr68gNYJRP2Hm8sqvT+IKkIUZUqiISDoEVXs8SK88BR8Y4J1vv4ks2ZTR7pbwebLtB3vUfBL4EuhW0ywst75qN5n+I3cK5EshqXAzbc/LVYsBGS+1/Z8yDETK9UOpPjYGdlaJyKGSHYROPCImW4C9rMcr6eC4dPX1IugLLEflkg/xt4+iX+0EJrmJfXF8ryYP6zVv8ePfM8rAAAAAElFTkSuQmCC\"","export enum SearchType {\r\n None,\r\n Content\r\n}\r\n\r\nexport default SearchType\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MarketingHeader.vue?vue&type=style&index=0&id=15677b2a&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/youtube.554a132a.png\";","/**\r\n * Managing everything related to the logged in user\r\n */\r\n\r\nimport { FolioClient, IRefreshTokenCommand, PendingFolioInvite, RefreshTokenCommand, TokenCommand, UserClient, UserModel } from \"@/api/DoceoApi\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport { AccessToken } from \"@/models/accessToken\";\r\nimport Vuex from \"vuex\";\r\nimport Vue from \"vue\";\r\nimport createPersistedState from \"vuex-persistedstate\";\r\nimport { useProfileStore } from \"@/store/profileStore\";\r\nimport { useAttachmentStore } from \"@/store/attachmentStore\";\r\nimport { useChatHubStore } from \"@/store/chatHubStore\";\r\nimport { useContentStore } from \"@/store/contentStore\";\r\nimport { useConversationStore } from \"@/store/conversationStore\";\r\nimport { useErrorStore } from \"@/store/errorStore\";\r\nimport { useFolioStore } from \"@/store/folioStore\";\r\nimport { useHubStore } from \"@/store/hubStore\";\r\n\r\nimport dayjs from \"dayjs\";\r\nimport Roles from \"@/constants/roles\";\r\n\r\ninterface UsernamePassword {\r\n username: string;\r\n password: string;\r\n}\r\n\r\nVue.use(Vuex);\r\n\r\nexport class RootState {\r\n loggedIn: boolean = false;\r\n accessToken: string | null = null;\r\n accessTokenExpiry: string | null = null;\r\n refreshToken: string | null = null;\r\n user: UserModel | null = null;\r\n pendingFolioInvites: PendingFolioInvite[] = [];\r\n refreshRouteName: string | null = null;\r\n roles: Roles[] | null = null;\r\n}\r\n\r\n// Only store the 5 state variables as necessary to local storage\r\nlet persistantStorageOptions = {\r\n key: \"doceo\",\r\n paths: [\"loggedIn\", \"accessToken\", \"accessTokenExpiry\", \"refreshToken\", \"roles\"],\r\n};\r\n\r\nexport default new Vuex.Store({\r\n plugins: [createPersistedState(persistantStorageOptions)],\r\n state: {\r\n pendingFolioInvites: [] as PendingFolioInvite[],\r\n loggedIn: false,\r\n accessToken: null as string | null,\r\n accessTokenExpiry: null as string | null,\r\n refreshToken: null as string | null,\r\n user: null as UserModel | null,\r\n refreshRouteName: null as string | null,\r\n roles: null as Roles[] | null,\r\n },\r\n getters: {\r\n refreshRouteName: (state) => state.refreshRouteName,\r\n accessToken: (state) => state.accessToken,\r\n accessTokenExpiry: (state) => state.accessTokenExpiry,\r\n refreshToken: (state) => state.refreshToken,\r\n isLoggedIn: (state) => state.loggedIn,\r\n pendingFolioInvites: (state) => state.pendingFolioInvites,\r\n roles: (state) => state.roles,\r\n userId: (state): string => {\r\n if (!state.accessToken) {\r\n return \"\";\r\n }\r\n\r\n var accessToken = (state.accessToken as unknown) as string; // Weird issue with the vue-cli. When the app runs this line is failing if we don't covert to unkown first\r\n let decoded = jwt_decode(accessToken);\r\n return decoded.id;\r\n },\r\n isUserSet: (state): boolean => (state.user ? true : false),\r\n name: (state): string => {\r\n if (!state.user) {\r\n return \"\";\r\n }\r\n return `${state.user.firstName} ${state.user.lastName}`;\r\n },\r\n firstName: (state): string => {\r\n if (!state.user) {\r\n return \"\";\r\n }\r\n return `${state.user.firstName}`;\r\n },\r\n lastName: (state): string => {\r\n if (!state.user) {\r\n return \"\";\r\n }\r\n return `${state.user.lastName}`;\r\n },\r\n hasRefreshToken: (state): boolean => state.refreshToken != null,\r\n hasAdminRole: (state): boolean => state.roles?.includes(Roles.Admin) ?? false,\r\n hasVoiceOfRole: (state): boolean => state.roles?.includes(Roles.VoiceOf) ?? false,\r\n hasSponsorRole: (state): boolean => state.roles?.includes(Roles.Sponsor) ?? false,\r\n hasDoctorRole: (state): boolean => state.roles?.includes(Roles.Doctor) ?? false,\r\n },\r\n actions: {\r\n async setRefreshRouteName({ commit }, name: string | null) {\r\n commit(\"setRefreshingRouteName\", name);\r\n },\r\n async removeInvite({ commit }, id: string) {\r\n commit(\"removePendingInvite\", id);\r\n },\r\n /**\r\n * Retrieve a list of pending folio invites\r\n */\r\n async getPendingInvites({ commit, dispatch, getters }) {\r\n let folioClient = new FolioClient();\r\n let pendingInvites = await folioClient.getPendingInvites(getters.userId);\r\n commit(\"setPendingInvites\", pendingInvites);\r\n },\r\n async getUserAsync({ commit, dispatch, getters }) {\r\n let userClient = new UserClient();\r\n let user = await userClient.get(getters.userId);\r\n commit(\"setUser\", user);\r\n commit(\"setRoles\", user.roles);\r\n const profileStore = useProfileStore();\r\n await profileStore.getProfileAsync();\r\n },\r\n /**\r\n * Check whether the JWT is valid\r\n * The axios client is set up to refresh it if this comes back with a 401\r\n */\r\n async checkToken({ commit, state }) {\r\n let userClient = new UserClient();\r\n await userClient.checkToken();\r\n },\r\n /**\r\n * Checks if the JWT is expiring soon (next 5 minutes)\r\n * Refreshes it if it is expiring soon\r\n * It is possible to parse this information from the JWT,\r\n * but if the server and client time are too different, it won't work.\r\n */\r\n async checkTokenExpiringSoon({ commit, state, dispatch }) {\r\n if (\r\n state.accessTokenExpiry &&\r\n dayjs\r\n .utc(state.accessTokenExpiry)\r\n .subtract(5, \"minute\")\r\n .isBefore(dayjs.utc())\r\n ) {\r\n await dispatch(\"refreshLogin\");\r\n }\r\n },\r\n /**\r\n * Perform a refresh token request\r\n */\r\n async refreshLogin({ commit, state }) {\r\n let userClient = new UserClient();\r\n\r\n let refreshToken: IRefreshTokenCommand = {\r\n refreshToken: state.refreshToken ?? \"\",\r\n };\r\n let refreshTokenCommand = new RefreshTokenCommand(refreshToken);\r\n\r\n var tokenResponse = await userClient.refreshToken(refreshTokenCommand);\r\n\r\n let accessTokenExpiry = dayjs\r\n .utc()\r\n .add(tokenResponse.expiresIn, \"minute\")\r\n .toISOString();\r\n\r\n commit(\"setAccessToken\", tokenResponse.accessToken ?? null);\r\n commit(\"setAccessTokenExpiry\", accessTokenExpiry);\r\n commit(\"setRefreshToken\", tokenResponse.refreshToken ?? null);\r\n commit(\"setLoggedIn\", true);\r\n\r\n return tokenResponse;\r\n },\r\n /**\r\n * Perform a login.\r\n */\r\n async login({ commit, state, dispatch }, usernamePassword: UsernamePassword) {\r\n let userClient = new UserClient();\r\n\r\n let tokenCommand = new TokenCommand();\r\n tokenCommand.username = usernamePassword.username;\r\n tokenCommand.password = usernamePassword.password;\r\n var tokenResponse = await userClient.token(tokenCommand);\r\n\r\n let accessTokenExpiry = dayjs\r\n .utc()\r\n .add(tokenResponse.expiresIn, \"minute\")\r\n .toISOString();\r\n\r\n commit(\"setAccessToken\", tokenResponse.accessToken ?? null);\r\n commit(\"setAccessTokenExpiry\", accessTokenExpiry);\r\n commit(\"setRefreshToken\", tokenResponse.refreshToken ?? null);\r\n await dispatch(\"getUserAsync\");\r\n dispatch(\"getPendingInvites\");\r\n commit(\"setLoggedIn\", true);\r\n\r\n return tokenResponse;\r\n },\r\n /**\r\n * Perform a logout. This needs to return a promise as we won't want to let the user think they are logged\r\n */\r\n async logout({ commit, state, dispatch }) {\r\n return new Promise((resolve, reject) => {\r\n commit(\"setAccessToken\", null);\r\n commit(\"setRefreshToken\", null);\r\n commit(\"setAccessTokenExpiry\", null);\r\n commit(\"setLoggedIn\", false);\r\n commit(\"setUser\", null);\r\n const attachmentStore = useAttachmentStore();\r\n attachmentStore.$reset();\r\n const chatHubStore = useChatHubStore();\r\n if (chatHubStore.isConnected) {\r\n chatHubStore.connection?.stop();\r\n }\r\n chatHubStore.$reset();\r\n const contentStore = useContentStore();\r\n contentStore.$reset();\r\n const conversationStore = useConversationStore();\r\n conversationStore.$reset();\r\n const errorStore = useErrorStore();\r\n errorStore.$reset();\r\n const folioStore = useFolioStore();\r\n folioStore.$reset();\r\n const hubStore = useHubStore();\r\n hubStore.$reset();\r\n const profileStore = useProfileStore();\r\n profileStore.$reset();\r\n\r\n resolve(true);\r\n });\r\n },\r\n },\r\n mutations: {\r\n setRefreshingRouteName(state, name: string | null) {\r\n state.refreshRouteName = name;\r\n },\r\n setLoggedIn(state, loggedIn: boolean) {\r\n state.loggedIn = loggedIn;\r\n },\r\n setRefreshToken(state, refreshToken: string | null) {\r\n state.refreshToken = refreshToken;\r\n },\r\n setAccessToken(state, accessToken: string | null) {\r\n state.accessToken = accessToken;\r\n },\r\n setAccessTokenExpiry(state, accessTokenExpiry: string | null) {\r\n state.accessTokenExpiry = accessTokenExpiry;\r\n },\r\n setUser(state, user: UserModel | null) {\r\n state.user = user;\r\n },\r\n setRoles(state, roles: Roles[] | null) {\r\n state.roles = roles;\r\n },\r\n setPendingInvites(state, pendingInvites: PendingFolioInvite[]) {\r\n state.pendingFolioInvites = pendingInvites;\r\n },\r\n removePendingInvite(state, id: string) {\r\n const contentIndex = state.pendingFolioInvites.findIndex((x) => x.id === id);\r\n if (contentIndex > -1) {\r\n state.pendingFolioInvites.splice(contentIndex, 1);\r\n }\r\n },\r\n },\r\n});\r\n","export enum Roles {\r\n Admin = \"doceo.admin\",\r\n Doctor = \"doceo.doctor\",\r\n VoiceOf = \"doceo.voiceofCreator\",\r\n Sponsor = \"doceo.sponsor\",\r\n}\r\n\r\nexport default Roles\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 AxiosClient from './axiosClient';\r\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\n\r\nexport class VoiceOfAccountClient extends AxiosClient {\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 getVoiceOfUsers( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/VoiceOfAccount\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetVoiceOfUsers(_response));\r\n });\r\n }\r\n\r\n protected processGetVoiceOfUsers(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(VoiceOfUserResult.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 !== 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 create(command: CreateVoiceOfUser , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/VoiceOfAccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(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 = VoiceOfUserResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 deactivate(userId: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/VoiceOfAccount/{userId}/deactivate\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeactivate(_response));\r\n });\r\n }\r\n\r\n protected processDeactivate(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 !== 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 reactivate(userId: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/VoiceOfAccount/{userId}/reactivate\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processReactivate(_response));\r\n });\r\n }\r\n\r\n protected processReactivate(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 !== 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 UserClient extends AxiosClient {\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 token(request: TokenCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/token\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processToken(_response));\r\n });\r\n }\r\n\r\n protected processToken(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 = TokenResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\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 refreshToken(request: RefreshTokenCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/token/refresh\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processRefreshToken(_response));\r\n });\r\n }\r\n\r\n protected processRefreshToken(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 = TokenResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\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 checkToken( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/token/check\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCheckToken(_response));\r\n });\r\n }\r\n\r\n protected processCheckToken(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 !== 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 get(id: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/{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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(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 === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UserModel.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n put(id: string | null, command: UpdateUserCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/{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 const content_ = JSON.stringify(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPut(_response));\r\n });\r\n }\r\n\r\n protected processPut(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 === 204) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n delete(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/{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: \"DELETE\",\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(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 === 404) {\r\n const _responseText = response.data;\r\n let result404: any = null;\r\n let resultData404 = _responseText;\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n create(command: CreateUserCommand , 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(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(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 === 201) {\r\n const _responseText = response.data;\r\n let result201: any = null;\r\n let resultData201 = _responseText;\r\n result201 = CreatedResponse.fromJS(resultData201);\r\n return Promise.resolve(result201);\r\n\r\n } else if (status === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n resendNewUserInvitationEmail(command: ResendNewUserInvitationEmailCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/ResendNewUserInvitationEmail\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processResendNewUserInvitationEmail(_response));\r\n });\r\n }\r\n\r\n protected processResendNewUserInvitationEmail(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 === 400) {\r\n const _responseText = response.data;\r\n let result400: any = null;\r\n let resultData400 = _responseText;\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n\r\n } else if (status === 201) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else {\r\n const _responseText = response.data;\r\n let resultdefault: any = null;\r\n let resultDatadefault = _responseText;\r\n resultdefault = ProblemDetails.fromJS(resultDatadefault);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, resultdefault);\r\n\r\n }\r\n }\r\n\r\n setPassword(command: SetPasswordCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/SetPassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processSetPassword(_response));\r\n });\r\n }\r\n\r\n protected processSetPassword(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 = IdentityResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 forgotPassword(command: ForgotPasswordCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/ForgotPassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processForgotPassword(_response));\r\n });\r\n }\r\n\r\n protected processForgotPassword(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 !== 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 resetPassword(command: ResetPasswordCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/ResetPassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processResetPassword(_response));\r\n });\r\n }\r\n\r\n protected processResetPassword(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 = IdentityResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 changePassword(command: ChangePasswordCommand , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/ChangePassword\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processChangePassword(_response));\r\n });\r\n }\r\n\r\n protected processChangePassword(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 = IdentityResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 doesEmailExist(email: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/DoesEmailExist?\";\r\n if (email !== undefined && email !== null)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\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\": \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDoesEmailExist(_response));\r\n });\r\n }\r\n\r\n protected processDoesEmailExist(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 !== 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 inviteUser(user: InviteUser , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/User/InviteUser\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(user);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processInviteUser(_response));\r\n });\r\n }\r\n\r\n protected processInviteUser(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 !== 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 SponsorAccountClient extends AxiosClient {\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 getSponsorUsers( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/SponsorAccount\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSponsorUsers(_response));\r\n });\r\n }\r\n\r\n protected processGetSponsorUsers(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(SponsorUserResult.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 !== 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 create(command: CreateSponsorUser , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/SponsorAccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(command);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(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 = SponsorUserResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 deactivate(userId: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/SponsorAccount/{userId}/deactivate\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeactivate(_response));\r\n });\r\n }\r\n\r\n protected processDeactivate(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 !== 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 reactivate(userId: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/SponsorAccount/{userId}/reactivate\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processReactivate(_response));\r\n });\r\n }\r\n\r\n protected processReactivate(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 !== 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 ContentLikeClient extends AxiosClient {\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 addLike(contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contentlikes/{contentItemId}/like\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\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\": \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processAddLike(_response));\r\n });\r\n }\r\n\r\n protected processAddLike(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 !== 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 removeLike(contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contentlikes/{contentItemId}/remove\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\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\": \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processRemoveLike(_response));\r\n });\r\n }\r\n\r\n protected processRemoveLike(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 !== 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 UserArticleClient extends AxiosClient {\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 publishArticle(draftContentItemId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/UserArticle/publish?\";\r\n if (draftContentItemId === null)\r\n throw new Error(\"The parameter 'draftContentItemId' cannot be null.\");\r\n else if (draftContentItemId !== undefined)\r\n url_ += \"draftContentItemId=\" + encodeURIComponent(\"\" + draftContentItemId) + \"&\";\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\": \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPublishArticle(_response));\r\n });\r\n }\r\n\r\n protected processPublishArticle(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 !== 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 updateArticle(title: string | null | undefined, summary: string | null | undefined, attachmentIds: string[] | null | undefined, imageIds: string[] | null | undefined, featuredImageId: string | null | undefined, authors: UserContentAuthorDto[] | null | undefined, content: string | null | undefined, voiceOf: string | null | undefined, userId: string | null | undefined, promotedBy: string | null | undefined, contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/UserArticle/{contentItemId}?\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\r\n if (title !== undefined && title !== null)\r\n url_ += \"Title=\" + encodeURIComponent(\"\" + title) + \"&\";\r\n if (summary !== undefined && summary !== null)\r\n url_ += \"Summary=\" + encodeURIComponent(\"\" + summary) + \"&\";\r\n if (attachmentIds !== undefined && attachmentIds !== null)\r\n attachmentIds && attachmentIds.forEach(item => { url_ += \"AttachmentIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (imageIds !== undefined && imageIds !== null)\r\n imageIds && imageIds.forEach(item => { url_ += \"ImageIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (featuredImageId !== undefined && featuredImageId !== null)\r\n url_ += \"FeaturedImageId=\" + encodeURIComponent(\"\" + featuredImageId) + \"&\";\r\n if (authors !== undefined && authors !== null)\r\n authors && authors.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Authors[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (content !== undefined && content !== null)\r\n url_ += \"Content=\" + encodeURIComponent(\"\" + content) + \"&\";\r\n if (voiceOf !== undefined && voiceOf !== null)\r\n url_ += \"VoiceOf=\" + encodeURIComponent(\"\" + voiceOf) + \"&\";\r\n if (userId !== undefined && userId !== null)\r\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n if (promotedBy !== undefined && promotedBy !== null)\r\n url_ += \"PromotedBy=\" + encodeURIComponent(\"\" + promotedBy) + \"&\";\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\": \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateArticle(_response));\r\n });\r\n }\r\n\r\n protected processUpdateArticle(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 !== 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 UserContentClient extends AxiosClient {\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 getUserContent( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/usercontent\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUserContent(_response));\r\n });\r\n }\r\n\r\n protected processGetUserContent(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(ContentItemSummaryResult.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 !== 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 deleteUserContent(contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/usercontent/{contentItemId}\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteUserContent(_response));\r\n });\r\n }\r\n\r\n protected processDeleteUserContent(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 !== 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 UserDraftArticleClient extends AxiosClient {\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 createDraftArticle(userUpload: CreateDraftUserArticle , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/userdraftarticle\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userUpload);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateDraftArticle(_response));\r\n });\r\n }\r\n\r\n protected processCreateDraftArticle(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 !== 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 updateDraftArticle(contentItemId: string, userUpload: UpdateDraftUserArticle , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/userdraftarticle/{contentItemId}\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userUpload);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateDraftArticle(_response));\r\n });\r\n }\r\n\r\n protected processUpdateDraftArticle(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 !== 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 getSummaryFromContent(content: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/userdraftarticle/summary\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(content);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSummaryFromContent(_response));\r\n });\r\n }\r\n\r\n protected processGetSummaryFromContent(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 !== 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 UserDraftExternalLinkClient extends AxiosClient {\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 createDraftArticle(userUpload: CreateDraftUserExternalLink , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/userDraftExternalLink\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userUpload);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateDraftArticle(_response));\r\n });\r\n }\r\n\r\n protected processCreateDraftArticle(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 !== 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 updateDraftArticle(contentItemId: string, userUpload: UpdateDraftUserExternalLink , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/userDraftExternalLink/{contentItemId}\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(userUpload);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateDraftArticle(_response));\r\n });\r\n }\r\n\r\n protected processUpdateDraftArticle(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 !== 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 UserExternalLinkClient extends AxiosClient {\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 publishExternalLink(draftContentItemId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/UserExternalLink?\";\r\n if (draftContentItemId === null)\r\n throw new Error(\"The parameter 'draftContentItemId' cannot be null.\");\r\n else if (draftContentItemId !== undefined)\r\n url_ += \"draftContentItemId=\" + encodeURIComponent(\"\" + draftContentItemId) + \"&\";\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\": \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPublishExternalLink(_response));\r\n });\r\n }\r\n\r\n protected processPublishExternalLink(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 !== 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 updateExternalLink(title: string | null | undefined, summary: string | null | undefined, attachmentIds: string[] | null | undefined, imageIds: string[] | null | undefined, featuredImageId: string | null | undefined, authors: UserContentAuthorDto[] | null | undefined, externalLinkType: ExternalLinkType | undefined, externalLink: string | null | undefined, voiceOf: string | null | undefined, userId: string | null | undefined, promotedBy: string | null | undefined, contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/UserExternalLink/{contentItemId}?\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\r\n if (title !== undefined && title !== null)\r\n url_ += \"Title=\" + encodeURIComponent(\"\" + title) + \"&\";\r\n if (summary !== undefined && summary !== null)\r\n url_ += \"Summary=\" + encodeURIComponent(\"\" + summary) + \"&\";\r\n if (attachmentIds !== undefined && attachmentIds !== null)\r\n attachmentIds && attachmentIds.forEach(item => { url_ += \"AttachmentIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (imageIds !== undefined && imageIds !== null)\r\n imageIds && imageIds.forEach(item => { url_ += \"ImageIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (featuredImageId !== undefined && featuredImageId !== null)\r\n url_ += \"FeaturedImageId=\" + encodeURIComponent(\"\" + featuredImageId) + \"&\";\r\n if (authors !== undefined && authors !== null)\r\n authors && authors.forEach((item, index) => {\r\n for (let attr in item)\r\n \t\t\tif (item.hasOwnProperty(attr)) {\r\n \t\t\t\turl_ += \"Authors[\" + index + \"].\" + attr + \"=\" + encodeURIComponent(\"\" + (item as any)[attr]) + \"&\";\r\n \t\t\t}\r\n });\r\n if (externalLinkType === null)\r\n throw new Error(\"The parameter 'externalLinkType' cannot be null.\");\r\n else if (externalLinkType !== undefined)\r\n url_ += \"ExternalLinkType=\" + encodeURIComponent(\"\" + externalLinkType) + \"&\";\r\n if (externalLink !== undefined && externalLink !== null)\r\n url_ += \"ExternalLink=\" + encodeURIComponent(\"\" + externalLink) + \"&\";\r\n if (voiceOf !== undefined && voiceOf !== null)\r\n url_ += \"VoiceOf=\" + encodeURIComponent(\"\" + voiceOf) + \"&\";\r\n if (userId !== undefined && userId !== null)\r\n url_ += \"UserId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n if (promotedBy !== undefined && promotedBy !== null)\r\n url_ += \"PromotedBy=\" + encodeURIComponent(\"\" + promotedBy) + \"&\";\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\": \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateExternalLink(_response));\r\n });\r\n }\r\n\r\n protected processUpdateExternalLink(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 !== 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 ProfileClient extends AxiosClient {\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 updateProfile(profile: UpdateProfileDto , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(profile);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateProfile(_response));\r\n });\r\n }\r\n\r\n protected processUpdateProfile(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 !== 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 getProfile(userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/{userId}\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetProfile(_response));\r\n });\r\n }\r\n\r\n protected processGetProfile(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 = ProfileDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 getProfileSummary(userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/{userId}/summary\";\r\n if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetProfileSummary(_response));\r\n });\r\n }\r\n\r\n protected processGetProfileSummary(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 = ProfileSummaryDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 getAreasOfInterest( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/AreasOfInterest\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAreasOfInterest(_response));\r\n });\r\n }\r\n\r\n protected processGetAreasOfInterest(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(AreaOfInterestDto.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 !== 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 getAllSpecialties( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/AllSpecialties\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAllSpecialties(_response));\r\n });\r\n }\r\n\r\n protected processGetAllSpecialties(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(SpecialtyDto.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 !== 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 searchProfiles(searchProfileRequest: SearchProfileRequest , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/search\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchProfileRequest);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processSearchProfiles(_response));\r\n });\r\n }\r\n\r\n protected processSearchProfiles(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(SearchProfileDto.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 !== 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 uploadProfilePicture(file: FileParameter | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/UploadProfilePicture\";\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 \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUploadProfilePicture(_response));\r\n });\r\n }\r\n\r\n protected processUploadProfilePicture(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 = GetAttachmentDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 getFollowedUsers( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/follow\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetFollowedUsers(_response));\r\n });\r\n }\r\n\r\n protected processGetFollowedUsers(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(GetUserFollowDTO.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 !== 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 followUser(userIdToFollow: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/follow/{userIdToFollow}\";\r\n if (userIdToFollow === undefined || userIdToFollow === null)\r\n throw new Error(\"The parameter 'userIdToFollow' must be defined.\");\r\n url_ = url_.replace(\"{userIdToFollow}\", encodeURIComponent(\"\" + userIdToFollow));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processFollowUser(_response));\r\n });\r\n }\r\n\r\n protected processFollowUser(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 !== 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 unFollowUser(userIdToUnfollow: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Profile/api/profile/follow/{userIdToUnfollow}\";\r\n if (userIdToUnfollow === undefined || userIdToUnfollow === null)\r\n throw new Error(\"The parameter 'userIdToUnfollow' must be defined.\");\r\n url_ = url_.replace(\"{userIdToUnfollow}\", encodeURIComponent(\"\" + userIdToUnfollow));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUnFollowUser(_response));\r\n });\r\n }\r\n\r\n protected processUnFollowUser(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 !== 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 AxiosClient {\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 addContact(contact: ContactUs , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Contact\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(contact);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processAddContact(_response));\r\n });\r\n }\r\n\r\n protected processAddContact(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 !== 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 SampleClient extends AxiosClient {\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 index( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/Sample\";\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/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processIndex(_response));\r\n });\r\n }\r\n\r\n protected processIndex(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 !== 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 AxiosClient {\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 createFromFile(attachmentType: AttachmentBelongsTo | undefined, file: FileParameter | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/attachment/file?\";\r\n if (attachmentType === null)\r\n throw new Error(\"The parameter 'attachmentType' cannot be null.\");\r\n else if (attachmentType !== undefined)\r\n url_ += \"attachmentType=\" + encodeURIComponent(\"\" + attachmentType) + \"&\";\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 \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateFromFile(_response));\r\n });\r\n }\r\n\r\n protected processCreateFromFile(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 = GetAttachmentDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 createFromUrl(attachment: Attachment2 , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/attachment/url\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(attachment);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateFromUrl(_response));\r\n });\r\n }\r\n\r\n protected processCreateFromUrl(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 = GetAttachmentDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 get(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/attachment/{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/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(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 !== 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 delete(id: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/attachment?\";\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 responseType: \"blob\",\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(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 !== 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 DrugClient extends AxiosClient {\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 contentItemAdded(contentItemVersionsAdded: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/itemsAdded?\";\r\n if (contentItemVersionsAdded !== undefined && contentItemVersionsAdded !== null)\r\n url_ += \"contentItemVersionsAdded=\" + encodeURIComponent(\"\" + contentItemVersionsAdded) + \"&\";\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\": \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processContentItemAdded(_response));\r\n });\r\n }\r\n\r\n protected processContentItemAdded(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(ContentItemSummaryResult.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 !== 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 postCompanies(sourceId: string, companies: Company2[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/companies/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(companies);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostCompanies(_response));\r\n });\r\n }\r\n\r\n protected processPostCompanies(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 !== 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 postDrugProducts(sourceId: string, status: number, promotedBy: string | null | undefined, voiceOf: string | null | undefined, products: DrugProduct[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/{sourceId}/{status}?\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n if (status === undefined || status === null)\r\n throw new Error(\"The parameter 'status' must be defined.\");\r\n url_ = url_.replace(\"{status}\", encodeURIComponent(\"\" + status));\r\n if (promotedBy !== undefined && promotedBy !== null)\r\n url_ += \"promotedBy=\" + encodeURIComponent(\"\" + promotedBy) + \"&\";\r\n if (voiceOf !== undefined && voiceOf !== null)\r\n url_ += \"voiceOf=\" + encodeURIComponent(\"\" + voiceOf) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(products);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostDrugProducts(_response));\r\n });\r\n }\r\n\r\n protected processPostDrugProducts(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 !== 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 postTherapeuticClasses(sourceId: string, therapeuticClasses: TherapeuticClass2[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/therapeuticclasses/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(therapeuticClasses);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostTherapeuticClasses(_response));\r\n });\r\n }\r\n\r\n protected processPostTherapeuticClasses(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 !== 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 postIngredients(sourceId: string, drugIngredients: DrugIngredient3[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/ingredients/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(drugIngredients);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostIngredients(_response));\r\n });\r\n }\r\n\r\n protected processPostIngredients(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 !== 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 postSummaryBasisOfDecisions(sourceId: string, decisions: SummaryBasisOfDecision[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/summarybasisofdecision/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(decisions);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostSummaryBasisOfDecisions(_response));\r\n });\r\n }\r\n\r\n protected processPostSummaryBasisOfDecisions(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 !== 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 postRegulatoryDecisions(sourceId: string, decisions: RegulatoryDecision[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/regulatorydecision/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(decisions);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostRegulatoryDecisions(_response));\r\n });\r\n }\r\n\r\n protected processPostRegulatoryDecisions(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 !== 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 postSafetyReviews(sourceId: string, decisions: SafetyReview[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/safetyreview/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(decisions);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostSafetyReviews(_response));\r\n });\r\n }\r\n\r\n protected processPostSafetyReviews(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 !== 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 postTrials(sourceId: string, trials: Trial[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/trials/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(trials);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostTrials(_response));\r\n });\r\n }\r\n\r\n protected processPostTrials(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 !== 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 postArticles(sourceId: string, articles: Article[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/articles/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(articles);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostArticles(_response));\r\n });\r\n }\r\n\r\n protected processPostArticles(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 !== 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 postDrugData(sourceId: string, drugDatas: DrugDetails[] , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drug/drugData/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(drugDatas);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostDrugData(_response));\r\n });\r\n }\r\n\r\n protected processPostDrugData(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 !== 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 DrugTransformClient extends AxiosClient {\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 transformCompanies(sourceId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drugtransform/companies/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\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/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processTransformCompanies(_response));\r\n });\r\n }\r\n\r\n protected processTransformCompanies(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 !== 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 transformDecisions(sourceId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/drugtransform/decisions/{sourceId}\";\r\n if (sourceId === undefined || sourceId === null)\r\n throw new Error(\"The parameter 'sourceId' must be defined.\");\r\n url_ = url_.replace(\"{sourceId}\", encodeURIComponent(\"\" + sourceId));\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/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processTransformDecisions(_response));\r\n });\r\n }\r\n\r\n protected processTransformDecisions(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 !== 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 SettingsClient extends AxiosClient {\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 getSettingValue(settingsName: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/settings/{settingsName}\";\r\n if (settingsName === undefined || settingsName === null)\r\n throw new Error(\"The parameter 'settingsName' must be defined.\");\r\n url_ = url_.replace(\"{settingsName}\", encodeURIComponent(\"\" + settingsName));\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/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSettingValue(_response));\r\n });\r\n }\r\n\r\n protected processGetSettingValue(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 !== 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 postSettingValue(settingsName: string | null, settingsValue: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/import/settings/{settingsName}?\";\r\n if (settingsName === undefined || settingsName === null)\r\n throw new Error(\"The parameter 'settingsName' must be defined.\");\r\n url_ = url_.replace(\"{settingsName}\", encodeURIComponent(\"\" + settingsName));\r\n if (settingsValue !== undefined && settingsValue !== null)\r\n url_ += \"settingsValue=\" + encodeURIComponent(\"\" + settingsValue) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostSettingValue(_response));\r\n });\r\n }\r\n\r\n protected processPostSettingValue(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 !== 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 FolioClient extends AxiosClient {\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 updateFolio(folio: UpdateFolio , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(folio);\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 \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateFolio(_response));\r\n });\r\n }\r\n\r\n protected processUpdateFolio(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 = ContentItemSummaryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 createFolio(folio: Folio , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(folio);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateFolio(_response));\r\n });\r\n }\r\n\r\n protected processCreateFolio(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 = ContentItemSummaryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 deleteFolio(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio/{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: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteFolio(_response));\r\n });\r\n }\r\n\r\n protected processDeleteFolio(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 !== 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 getFolioClippings(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folios/{id}/clippings\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetFolioClippings(_response));\r\n });\r\n }\r\n\r\n protected processGetFolioClippings(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(ContentItemSummaryResult.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 !== 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 addFolioClippings(id: string, model: AddFolioClippingModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folios/{id}/clippings\";\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 const content_ = JSON.stringify(model);\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 \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processAddFolioClippings(_response));\r\n });\r\n }\r\n\r\n protected processAddFolioClippings(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 = ContentItemSummaryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 removeFolioClipping(id: string, model: RemoveFolioClippingModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folios/{id}/clipping\";\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 const content_ = JSON.stringify(model);\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 \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processRemoveFolioClipping(_response));\r\n });\r\n }\r\n\r\n protected processRemoveFolioClipping(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 = ContentItemSummaryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 getFolios( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folios\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetFolios(_response));\r\n });\r\n }\r\n\r\n protected processGetFolios(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(ContentItemSummaryResult.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 !== 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 createFolioLogo(file: FileParameter | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio/logo\";\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 \"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.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateFolioLogo(_response));\r\n });\r\n }\r\n\r\n protected processCreateFolioLogo(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 = GetAttachmentDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 getFolioLogo( cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio/logo\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetFolioLogo(_response));\r\n });\r\n }\r\n\r\n protected processGetFolioLogo(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(GetFolioAttachment.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 !== 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 deleteFolioLogo(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio/logo/{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: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteFolioLogo(_response));\r\n });\r\n }\r\n\r\n protected processDeleteFolioLogo(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 !== 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 inviteUser(id: string, invitation: FolioInvitationModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio/{id}/invite\";\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 const content_ = JSON.stringify(invitation);\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processInviteUser(_response));\r\n });\r\n }\r\n\r\n protected processInviteUser(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 = FolioUserResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 updatePendingInvites(id: string, invitation: UpdateFolioInvitationModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio/{id}/invite\";\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 const content_ = JSON.stringify(invitation);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"PUT\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdatePendingInvites(_response));\r\n });\r\n }\r\n\r\n protected processUpdatePendingInvites(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 !== 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 removeUser(id: string, userId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio/{id}/user/{userId}\";\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 if (userId === undefined || userId === null)\r\n throw new Error(\"The parameter 'userId' must be defined.\");\r\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processRemoveUser(_response));\r\n });\r\n }\r\n\r\n protected processRemoveUser(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 !== 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 getFolioUsers(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/folio/{id}/users\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetFolioUsers(_response));\r\n });\r\n }\r\n\r\n protected processGetFolioUsers(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(FolioUserResult.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 !== 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 getPendingInvites(id: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/user/{id}/folio/pendinginvites\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetPendingInvites(_response));\r\n });\r\n }\r\n\r\n protected processGetPendingInvites(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(PendingFolioInvite.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 !== 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 ContentsClient extends AxiosClient {\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 getTrending(count: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/trending?\";\r\n if (count === null)\r\n throw new Error(\"The parameter 'count' cannot be null.\");\r\n else if (count !== undefined)\r\n url_ += \"count=\" + encodeURIComponent(\"\" + count) + \"&\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetTrending(_response));\r\n });\r\n }\r\n\r\n protected processGetTrending(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(ContentItemSummaryResult.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 !== 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 getRecentFollowedContent(count: number | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/recent-followed?\";\r\n if (count === null)\r\n throw new Error(\"The parameter 'count' cannot be null.\");\r\n else if (count !== undefined)\r\n url_ += \"count=\" + encodeURIComponent(\"\" + count) + \"&\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRecentFollowedContent(_response));\r\n });\r\n }\r\n\r\n protected processGetRecentFollowedContent(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(ContentItemSummaryResult.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 !== 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 discoverContent(count: number | undefined, firstOffset: number | undefined, offset: number | undefined, filter: ContentItemType[] | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/discover?\";\r\n if (count === null)\r\n throw new Error(\"The parameter 'count' cannot be null.\");\r\n else if (count !== undefined)\r\n url_ += \"count=\" + encodeURIComponent(\"\" + count) + \"&\";\r\n if (firstOffset === null)\r\n throw new Error(\"The parameter 'firstOffset' cannot be null.\");\r\n else if (firstOffset !== undefined)\r\n url_ += \"firstOffset=\" + encodeURIComponent(\"\" + firstOffset) + \"&\";\r\n if (offset === null)\r\n throw new Error(\"The parameter 'offset' cannot be null.\");\r\n else if (offset !== undefined)\r\n url_ += \"offset=\" + encodeURIComponent(\"\" + offset) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n filter && filter.forEach(item => { url_ += \"filter=\" + encodeURIComponent(\"\" + item) + \"&\"; });\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processDiscoverContent(_response));\r\n });\r\n }\r\n\r\n protected processDiscoverContent(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(ContentItemSummaryResult.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 !== 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 getRelatedContentItems(searchTerm: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/related?\";\r\n if (searchTerm !== undefined && searchTerm !== null)\r\n url_ += \"searchTerm=\" + encodeURIComponent(\"\" + searchTerm) + \"&\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRelatedContentItems(_response));\r\n });\r\n }\r\n\r\n protected processGetRelatedContentItems(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(ContentItemRelatedResult.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 !== 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 getContentItems(searchTerm: string | null | undefined, count: number | undefined, offset: number | undefined, filter: ContentItemType | null | undefined, isRecent: boolean | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents?\";\r\n if (searchTerm !== undefined && searchTerm !== null)\r\n url_ += \"searchTerm=\" + encodeURIComponent(\"\" + searchTerm) + \"&\";\r\n if (count === null)\r\n throw new Error(\"The parameter 'count' cannot be null.\");\r\n else if (count !== undefined)\r\n url_ += \"count=\" + encodeURIComponent(\"\" + count) + \"&\";\r\n if (offset === null)\r\n throw new Error(\"The parameter 'offset' cannot be null.\");\r\n else if (offset !== undefined)\r\n url_ += \"offset=\" + encodeURIComponent(\"\" + offset) + \"&\";\r\n if (filter !== undefined && filter !== null)\r\n url_ += \"filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\r\n if (isRecent !== undefined && isRecent !== null)\r\n url_ += \"isRecent=\" + encodeURIComponent(\"\" + isRecent) + \"&\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContentItems(_response));\r\n });\r\n }\r\n\r\n protected processGetContentItems(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(ContentItemSummaryResult.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 !== 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 getDrugContentItemsByName(name: string | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/drug-summaries?\";\r\n if (name !== undefined && name !== null)\r\n url_ += \"name=\" + encodeURIComponent(\"\" + name) + \"&\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetDrugContentItemsByName(_response));\r\n });\r\n }\r\n\r\n protected processGetDrugContentItemsByName(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(ContentItemSummaryResult.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 !== 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 getContentItemVersions(contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/{contentItemId}/versions\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContentItemVersions(_response));\r\n });\r\n }\r\n\r\n protected processGetContentItemVersions(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(ContentItemVersionEntryResult.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 !== 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 getContentItemSummaries(count: number | undefined, includeContentTypes: ContentItemType[] | null | undefined, excludeContentTypes: ContentItemType[] | null | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/summaries?\";\r\n if (count === null)\r\n throw new Error(\"The parameter 'count' cannot be null.\");\r\n else if (count !== undefined)\r\n url_ += \"count=\" + encodeURIComponent(\"\" + count) + \"&\";\r\n if (includeContentTypes !== undefined && includeContentTypes !== null)\r\n includeContentTypes && includeContentTypes.forEach(item => { url_ += \"IncludeContentTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n if (excludeContentTypes !== undefined && excludeContentTypes !== null)\r\n excludeContentTypes && excludeContentTypes.forEach(item => { url_ += \"ExcludeContentTypes=\" + encodeURIComponent(\"\" + item) + \"&\"; });\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContentItemSummaries(_response));\r\n });\r\n }\r\n\r\n protected processGetContentItemSummaries(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(ContentItemSummaryResult.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 !== 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 getContentItem(contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/{contentItemId}\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContentItem(_response));\r\n });\r\n }\r\n\r\n protected processGetContentItem(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 = ContentItemResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 getContentItemSummary(contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/{contentItemId}/summary\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContentItemSummary(_response));\r\n });\r\n }\r\n\r\n protected processGetContentItemSummary(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 = ContentItemSummaryResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 getDrugItems(versionId: string | undefined , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/drugItems?\";\r\n if (versionId === null)\r\n throw new Error(\"The parameter 'versionId' cannot be null.\");\r\n else if (versionId !== undefined)\r\n url_ += \"versionId=\" + encodeURIComponent(\"\" + versionId) + \"&\";\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetDrugItems(_response));\r\n });\r\n }\r\n\r\n protected processGetDrugItems(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(DrugContentItemResult.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 !== 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 getContentItemVersion(versionId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/versions/{versionId}\";\r\n if (versionId === undefined || versionId === null)\r\n throw new Error(\"The parameter 'versionId' must be defined.\");\r\n url_ = url_.replace(\"{versionId}\", encodeURIComponent(\"\" + versionId));\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContentItemVersion(_response));\r\n });\r\n }\r\n\r\n protected processGetContentItemVersion(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 = ContentItemResult.fromJS(resultData200);\r\n return Promise.resolve(result200);\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 getContentItemVersionUniqueViewCount(contentItemVersionId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/views/{contentItemVersionId}\";\r\n if (contentItemVersionId === undefined || contentItemVersionId === null)\r\n throw new Error(\"The parameter 'contentItemVersionId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemVersionId}\", encodeURIComponent(\"\" + contentItemVersionId));\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContentItemVersionUniqueViewCount(_response));\r\n });\r\n }\r\n\r\n protected processGetContentItemVersionUniqueViewCount(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 !== 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 addContentItemVersionView(contentItemVersionId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/views/{contentItemVersionId}\";\r\n if (contentItemVersionId === undefined || contentItemVersionId === null)\r\n throw new Error(\"The parameter 'contentItemVersionId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemVersionId}\", encodeURIComponent(\"\" + contentItemVersionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processAddContentItemVersionView(_response));\r\n });\r\n }\r\n\r\n protected processAddContentItemVersionView(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 !== 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 generateMockVersion(contentItemId: string , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/contents/{contentItemId}/versions/generate-mock-version\";\r\n if (contentItemId === undefined || contentItemId === null)\r\n throw new Error(\"The parameter 'contentItemId' must be defined.\");\r\n url_ = url_.replace(\"{contentItemId}\", encodeURIComponent(\"\" + contentItemId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGenerateMockVersion(_response));\r\n });\r\n }\r\n\r\n protected processGenerateMockVersion(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 !== 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 FeedClient extends AxiosClient {\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 index(pageSize: number | null, pageIndex: number | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/consume/{pageSize}/{pageIndex}\";\r\n if (pageSize === undefined || pageSize === null)\r\n throw new Error(\"The parameter 'pageSize' must be defined.\");\r\n url_ = url_.replace(\"{pageSize}\", encodeURIComponent(\"\" + pageSize));\r\n if (pageIndex === undefined || pageIndex === null)\r\n throw new Error(\"The parameter 'pageIndex' must be defined.\");\r\n url_ = url_.replace(\"{pageIndex}\", encodeURIComponent(\"\" + pageIndex));\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/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processIndex(_response));\r\n });\r\n }\r\n\r\n protected processIndex(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 !== 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 search(model: SearchModel , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/consume\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processSearch(_response));\r\n });\r\n }\r\n\r\n protected processSearch(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 !== 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 getContentItem(slug: string | null , cancelToken?: CancelToken | undefined): Promise {\r\n let url_ = this.baseUrl + \"/api/consume/item/{slug}\";\r\n if (slug === undefined || slug === null)\r\n throw new Error(\"The parameter 'slug' must be defined.\");\r\n url_ = url_.replace(\"{slug}\", encodeURIComponent(\"\" + slug));\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/octet-stream\"\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.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetContentItem(_response));\r\n });\r\n }\r\n\r\n protected processGetContentItem(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 !== 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 VoiceOfUserResult implements IVoiceOfUserResult {\r\n userId!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n userStatus!: UserStatus;\r\n\r\n constructor(data?: IVoiceOfUserResult) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.userStatus = _data[\"userStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VoiceOfUserResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VoiceOfUserResult();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"userStatus\"] = this.userStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVoiceOfUserResult {\r\n userId: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n userStatus: UserStatus;\r\n}\r\n\r\nexport enum UserStatus {\r\n New = \"New\",\r\n Approved = \"Approved\",\r\n Disabled = \"Disabled\",\r\n}\r\n\r\nexport class CreateVoiceOfUser implements ICreateVoiceOfUser {\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n\r\n constructor(data?: ICreateVoiceOfUser) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateVoiceOfUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateVoiceOfUser();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateVoiceOfUser {\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n}\r\n\r\nexport class TokenResponse implements ITokenResponse {\r\n accessToken!: string | undefined;\r\n expiresIn!: number;\r\n tokenType!: string | undefined;\r\n refreshToken!: string | undefined;\r\n userRoles!: string[] | undefined;\r\n\r\n constructor(data?: ITokenResponse) {\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.accessToken = _data[\"accessToken\"];\r\n this.expiresIn = _data[\"expiresIn\"];\r\n this.tokenType = _data[\"tokenType\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n if (Array.isArray(_data[\"userRoles\"])) {\r\n this.userRoles = [] as any;\r\n for (let item of _data[\"userRoles\"])\r\n this.userRoles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TokenResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TokenResponse();\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[\"accessToken\"] = this.accessToken;\r\n data[\"expiresIn\"] = this.expiresIn;\r\n data[\"tokenType\"] = this.tokenType;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n if (Array.isArray(this.userRoles)) {\r\n data[\"userRoles\"] = [];\r\n for (let item of this.userRoles)\r\n data[\"userRoles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITokenResponse {\r\n accessToken: string | undefined;\r\n expiresIn: number;\r\n tokenType: string | undefined;\r\n refreshToken: string | undefined;\r\n userRoles: string[] | undefined;\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type!: string | undefined;\r\n title!: string | undefined;\r\n status!: number | undefined;\r\n detail!: string | undefined;\r\n instance!: string | undefined;\r\n extensions!: { [key: string]: any; } | undefined;\r\n\r\n constructor(data?: IProblemDetails) {\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.type = _data[\"type\"];\r\n this.title = _data[\"title\"];\r\n this.status = _data[\"status\"];\r\n this.detail = _data[\"detail\"];\r\n this.instance = _data[\"instance\"];\r\n if (_data[\"extensions\"]) {\r\n this.extensions = {} as any;\r\n for (let key in _data[\"extensions\"]) {\r\n if (_data[\"extensions\"].hasOwnProperty(key))\r\n (this.extensions)![key] = _data[\"extensions\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\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[\"type\"] = this.type;\r\n data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n if (this.extensions) {\r\n data[\"extensions\"] = {};\r\n for (let key in this.extensions) {\r\n if (this.extensions.hasOwnProperty(key))\r\n (data[\"extensions\"])[key] = (this.extensions)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type: string | undefined;\r\n title: string | undefined;\r\n status: number | undefined;\r\n detail: string | undefined;\r\n instance: string | undefined;\r\n extensions: { [key: string]: any; } | undefined;\r\n}\r\n\r\nexport class TokenCommand implements ITokenCommand {\r\n username!: string;\r\n password!: string;\r\n\r\n constructor(data?: ITokenCommand) {\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.username = _data[\"username\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TokenCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TokenCommand();\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[\"username\"] = this.username;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITokenCommand {\r\n username: string;\r\n password: string;\r\n}\r\n\r\nexport class RefreshTokenCommand implements IRefreshTokenCommand {\r\n refreshToken!: string | undefined;\r\n\r\n constructor(data?: IRefreshTokenCommand) {\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.refreshToken = _data[\"refreshToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RefreshTokenCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RefreshTokenCommand();\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[\"refreshToken\"] = this.refreshToken;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRefreshTokenCommand {\r\n refreshToken: string | undefined;\r\n}\r\n\r\nexport class UserModel implements IUserModel {\r\n id!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n status!: UserStatus;\r\n minc!: string | undefined;\r\n roles!: string[] | undefined;\r\n\r\n constructor(data?: IUserModel) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.status = _data[\"status\"];\r\n this.minc = _data[\"minc\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserModel();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"status\"] = this.status;\r\n data[\"minc\"] = this.minc;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserModel {\r\n id: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n status: UserStatus;\r\n minc: string | undefined;\r\n roles: string[] | undefined;\r\n}\r\n\r\nexport class CreatedResponse implements ICreatedResponse {\r\n id!: string | undefined;\r\n\r\n constructor(data?: ICreatedResponse) {\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): CreatedResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreatedResponse();\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 ICreatedResponse {\r\n id: string | undefined;\r\n}\r\n\r\nexport class CreateUserCommand implements ICreateUserCommand {\r\n email!: string | undefined;\r\n firstName!: string;\r\n lastName!: string;\r\n minc!: string | undefined;\r\n schoolName!: string | undefined;\r\n userType!: UserType;\r\n pendingDiscussionId!: string | undefined;\r\n pendingFolioId!: string | undefined;\r\n\r\n constructor(data?: ICreateUserCommand) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.minc = _data[\"minc\"];\r\n this.schoolName = _data[\"schoolName\"];\r\n this.userType = _data[\"userType\"];\r\n this.pendingDiscussionId = _data[\"pendingDiscussionId\"];\r\n this.pendingFolioId = _data[\"pendingFolioId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateUserCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateUserCommand();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"minc\"] = this.minc;\r\n data[\"schoolName\"] = this.schoolName;\r\n data[\"userType\"] = this.userType;\r\n data[\"pendingDiscussionId\"] = this.pendingDiscussionId;\r\n data[\"pendingFolioId\"] = this.pendingFolioId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateUserCommand {\r\n email: string | undefined;\r\n firstName: string;\r\n lastName: string;\r\n minc: string | undefined;\r\n schoolName: string | undefined;\r\n userType: UserType;\r\n pendingDiscussionId: string | undefined;\r\n pendingFolioId: string | undefined;\r\n}\r\n\r\nexport enum UserType {\r\n Doctor = \"Doctor\",\r\n NursePractitioner = \"NursePractitioner\",\r\n MedicalResident = \"MedicalResident\",\r\n MedicalStudent = \"MedicalStudent\",\r\n}\r\n\r\nexport class ResendNewUserInvitationEmailCommand implements IResendNewUserInvitationEmailCommand {\r\n email!: string;\r\n\r\n constructor(data?: IResendNewUserInvitationEmailCommand) {\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 }\r\n }\r\n\r\n static fromJS(data: any): ResendNewUserInvitationEmailCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResendNewUserInvitationEmailCommand();\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 return data;\r\n }\r\n}\r\n\r\nexport interface IResendNewUserInvitationEmailCommand {\r\n email: string;\r\n}\r\n\r\n/** Represents the result of an identity operation. */\r\nexport class IdentityResult implements IIdentityResult {\r\n /** Flag indicating whether if the operation succeeded or not. */\r\n succeeded!: boolean;\r\n /** An IEnumerable`1 of IdentityErrors containing an errors\r\nthat occurred during the identity operation. */\r\n errors!: IdentityError[] | undefined;\r\n\r\n constructor(data?: IIdentityResult) {\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.succeeded = _data[\"succeeded\"];\r\n if (Array.isArray(_data[\"errors\"])) {\r\n this.errors = [] as any;\r\n for (let item of _data[\"errors\"])\r\n this.errors!.push(IdentityError.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IdentityResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IdentityResult();\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[\"succeeded\"] = this.succeeded;\r\n if (Array.isArray(this.errors)) {\r\n data[\"errors\"] = [];\r\n for (let item of this.errors)\r\n data[\"errors\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\n/** Represents the result of an identity operation. */\r\nexport interface IIdentityResult {\r\n /** Flag indicating whether if the operation succeeded or not. */\r\n succeeded: boolean;\r\n /** An IEnumerable`1 of IdentityErrors containing an errors\r\nthat occurred during the identity operation. */\r\n errors: IdentityError[] | undefined;\r\n}\r\n\r\n/** Encapsulates an error from the identity subsystem. */\r\nexport class IdentityError implements IIdentityError {\r\n /** Gets or sets the code for this error. */\r\n code!: string | undefined;\r\n /** Gets or sets the description for this error. */\r\n description!: string | undefined;\r\n\r\n constructor(data?: IIdentityError) {\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.code = _data[\"code\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IdentityError {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IdentityError();\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[\"code\"] = this.code;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\n/** Encapsulates an error from the identity subsystem. */\r\nexport interface IIdentityError {\r\n /** Gets or sets the code for this error. */\r\n code: string | undefined;\r\n /** Gets or sets the description for this error. */\r\n description: string | undefined;\r\n}\r\n\r\nexport class SetPasswordCommand implements ISetPasswordCommand {\r\n token!: string;\r\n email!: string;\r\n password!: string;\r\n\r\n constructor(data?: ISetPasswordCommand) {\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.token = _data[\"token\"];\r\n this.email = _data[\"email\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SetPasswordCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SetPasswordCommand();\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[\"token\"] = this.token;\r\n data[\"email\"] = this.email;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISetPasswordCommand {\r\n token: string;\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport class ForgotPasswordCommand implements IForgotPasswordCommand {\r\n email!: string;\r\n\r\n constructor(data?: IForgotPasswordCommand) {\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 }\r\n }\r\n\r\n static fromJS(data: any): ForgotPasswordCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ForgotPasswordCommand();\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 return data;\r\n }\r\n}\r\n\r\nexport interface IForgotPasswordCommand {\r\n email: string;\r\n}\r\n\r\nexport class ResetPasswordCommand implements IResetPasswordCommand {\r\n token!: string;\r\n email!: string;\r\n password!: string;\r\n\r\n constructor(data?: IResetPasswordCommand) {\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.token = _data[\"token\"];\r\n this.email = _data[\"email\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResetPasswordCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResetPasswordCommand();\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[\"token\"] = this.token;\r\n data[\"email\"] = this.email;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResetPasswordCommand {\r\n token: string;\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport class ChangePasswordCommand implements IChangePasswordCommand {\r\n currentPassword!: string;\r\n newPassword!: string;\r\n\r\n constructor(data?: IChangePasswordCommand) {\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.currentPassword = _data[\"currentPassword\"];\r\n this.newPassword = _data[\"newPassword\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangePasswordCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangePasswordCommand();\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[\"currentPassword\"] = this.currentPassword;\r\n data[\"newPassword\"] = this.newPassword;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangePasswordCommand {\r\n currentPassword: string;\r\n newPassword: string;\r\n}\r\n\r\nexport class InviteUser implements IInviteUser {\r\n emailAddress!: string;\r\n firstName!: string;\r\n lastName!: string;\r\n chatroomId!: string | undefined;\r\n folioId!: string | undefined;\r\n\r\n constructor(data?: IInviteUser) {\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.emailAddress = _data[\"emailAddress\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.chatroomId = _data[\"chatroomId\"];\r\n this.folioId = _data[\"folioId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InviteUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InviteUser();\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[\"emailAddress\"] = this.emailAddress;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"chatroomId\"] = this.chatroomId;\r\n data[\"folioId\"] = this.folioId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInviteUser {\r\n emailAddress: string;\r\n firstName: string;\r\n lastName: string;\r\n chatroomId: string | undefined;\r\n folioId: string | undefined;\r\n}\r\n\r\nexport class UpdateUserCommand implements IUpdateUserCommand {\r\n id!: string | undefined;\r\n firstName!: string;\r\n lastName!: string;\r\n minc!: string;\r\n roles!: string[] | undefined;\r\n\r\n constructor(data?: IUpdateUserCommand) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.minc = _data[\"minc\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateUserCommand {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateUserCommand();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"minc\"] = this.minc;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateUserCommand {\r\n id: string | undefined;\r\n firstName: string;\r\n lastName: string;\r\n minc: string;\r\n roles: string[] | undefined;\r\n}\r\n\r\nexport class SponsorUserResult implements ISponsorUserResult {\r\n userId!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n userStatus!: UserStatus;\r\n\r\n constructor(data?: ISponsorUserResult) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.userStatus = _data[\"userStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SponsorUserResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SponsorUserResult();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"userStatus\"] = this.userStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISponsorUserResult {\r\n userId: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n userStatus: UserStatus;\r\n}\r\n\r\nexport class CreateSponsorUser implements ICreateSponsorUser {\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n\r\n constructor(data?: ICreateSponsorUser) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateSponsorUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateSponsorUser();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateSponsorUser {\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n}\r\n\r\nexport class UserContentAuthorDto implements IUserContentAuthorDto {\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n\r\n constructor(data?: IUserContentAuthorDto) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserContentAuthorDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserContentAuthorDto();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserContentAuthorDto {\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n}\r\n\r\nexport class ContentItemSummaryResult implements IContentItemSummaryResult {\r\n xmin!: number;\r\n contentItemId!: string;\r\n versionId!: string;\r\n createdOn!: Date;\r\n publishedOn!: Date | undefined;\r\n title!: string | undefined;\r\n summary!: string | undefined;\r\n contentItemType!: ContentItemType;\r\n attachmentId!: string | undefined;\r\n promotedBy!: string | undefined;\r\n voiceOf!: string | undefined;\r\n creator!: ContentAuthorResult | undefined;\r\n savedToFolioIds!: string[] | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IContentItemSummaryResult) {\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 this._discriminator = \"ContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.xmin = _data[\"xmin\"];\r\n this.contentItemId = _data[\"contentItemId\"];\r\n this.versionId = _data[\"versionId\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n this.title = _data[\"title\"];\r\n this.summary = _data[\"summary\"];\r\n this.contentItemType = _data[\"contentItemType\"];\r\n this.attachmentId = _data[\"attachmentId\"];\r\n this.promotedBy = _data[\"promotedBy\"];\r\n this.voiceOf = _data[\"voiceOf\"];\r\n this.creator = _data[\"creator\"] ? ContentAuthorResult.fromJS(_data[\"creator\"]) : undefined;\r\n if (Array.isArray(_data[\"savedToFolioIds\"])) {\r\n this.savedToFolioIds = [] as any;\r\n for (let item of _data[\"savedToFolioIds\"])\r\n this.savedToFolioIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"DrugBrandContentItemSummaryResult\") {\r\n let result = new DrugBrandContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DrugContentItemSummaryResult\") {\r\n let result = new DrugContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"ArticleContentItemSummaryResult\") {\r\n let result = new ArticleContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"TrialContentItemSummaryResult\") {\r\n let result = new TrialContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"FolioContentItemSummaryResult\") {\r\n let result = new FolioContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DecisionContentItemSummaryResult\") {\r\n let result = new DecisionContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DraftUserArticleContentItemSummaryResult\") {\r\n let result = new DraftUserArticleContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"UserArticleContentItemSummaryResult\") {\r\n let result = new UserArticleContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"UserExternalLinkContentItemSummaryResult\") {\r\n let result = new UserExternalLinkContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DraftUserExternalLinkContentItemSummaryResult\") {\r\n let result = new DraftUserExternalLinkContentItemSummaryResult();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new ContentItemSummaryResult();\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[\"discriminator\"] = this._discriminator;\r\n data[\"xmin\"] = this.xmin;\r\n data[\"contentItemId\"] = this.contentItemId;\r\n data[\"versionId\"] = this.versionId;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n data[\"title\"] = this.title;\r\n data[\"summary\"] = this.summary;\r\n data[\"contentItemType\"] = this.contentItemType;\r\n data[\"attachmentId\"] = this.attachmentId;\r\n data[\"promotedBy\"] = this.promotedBy;\r\n data[\"voiceOf\"] = this.voiceOf;\r\n data[\"creator\"] = this.creator ? this.creator.toJSON() : undefined;\r\n if (Array.isArray(this.savedToFolioIds)) {\r\n data[\"savedToFolioIds\"] = [];\r\n for (let item of this.savedToFolioIds)\r\n data[\"savedToFolioIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemSummaryResult {\r\n xmin: number;\r\n contentItemId: string;\r\n versionId: string;\r\n createdOn: Date;\r\n publishedOn: Date | undefined;\r\n title: string | undefined;\r\n summary: string | undefined;\r\n contentItemType: ContentItemType;\r\n attachmentId: string | undefined;\r\n promotedBy: string | undefined;\r\n voiceOf: string | undefined;\r\n creator: ContentAuthorResult | undefined;\r\n savedToFolioIds: string[] | undefined;\r\n}\r\n\r\nexport enum ContentItemType {\r\n Article = \"Article\",\r\n Drug = \"Drug\",\r\n Decision = \"Decision\",\r\n Trial = \"Trial\",\r\n Folio = \"Folio\",\r\n DrugIngredient = \"DrugIngredient\",\r\n UserArticle = \"UserArticle\",\r\n DraftUserArticle = \"DraftUserArticle\",\r\n UserExternalLink = \"UserExternalLink\",\r\n DraftUserExternalLink = \"DraftUserExternalLink\",\r\n DrugBrandGroup = \"DrugBrandGroup\",\r\n}\r\n\r\nexport class ContentAuthorResult implements IContentAuthorResult {\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n userId!: string | undefined;\r\n\r\n constructor(data?: IContentAuthorResult) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.userId = _data[\"userId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentAuthorResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentAuthorResult();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"userId\"] = this.userId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentAuthorResult {\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n userId: string | undefined;\r\n}\r\n\r\nexport class DrugBrandContentItemSummaryResult extends ContentItemSummaryResult implements IDrugBrandContentItemSummaryResult {\r\n din!: string | undefined;\r\n name!: string | undefined;\r\n count!: number;\r\n\r\n constructor(data?: IDrugBrandContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"DrugBrandContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.din = _data[\"din\"];\r\n this.name = _data[\"name\"];\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugBrandContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugBrandContentItemSummaryResult();\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[\"din\"] = this.din;\r\n data[\"name\"] = this.name;\r\n data[\"count\"] = this.count;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugBrandContentItemSummaryResult extends IContentItemSummaryResult {\r\n din: string | undefined;\r\n name: string | undefined;\r\n count: number;\r\n}\r\n\r\nexport class DrugContentItemSummaryResult extends ContentItemSummaryResult implements IDrugContentItemSummaryResult {\r\n din!: string | undefined;\r\n name!: string | undefined;\r\n drugStatus!: DrugStatus;\r\n drugIngredients!: DrugContentItemIngredient[] | undefined;\r\n\r\n constructor(data?: IDrugContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"DrugContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.din = _data[\"din\"];\r\n this.name = _data[\"name\"];\r\n this.drugStatus = _data[\"drugStatus\"];\r\n if (Array.isArray(_data[\"drugIngredients\"])) {\r\n this.drugIngredients = [] as any;\r\n for (let item of _data[\"drugIngredients\"])\r\n this.drugIngredients!.push(DrugContentItemIngredient.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugContentItemSummaryResult();\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[\"din\"] = this.din;\r\n data[\"name\"] = this.name;\r\n data[\"drugStatus\"] = this.drugStatus;\r\n if (Array.isArray(this.drugIngredients)) {\r\n data[\"drugIngredients\"] = [];\r\n for (let item of this.drugIngredients)\r\n data[\"drugIngredients\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugContentItemSummaryResult extends IContentItemSummaryResult {\r\n din: string | undefined;\r\n name: string | undefined;\r\n drugStatus: DrugStatus;\r\n drugIngredients: DrugContentItemIngredient[] | undefined;\r\n}\r\n\r\nexport enum DrugStatus {\r\n Approved = \"Approved\",\r\n Marketed = \"Marketed\",\r\n CancelledPreMarket = \"CancelledPreMarket\",\r\n CancelledPostMarket = \"CancelledPostMarket\",\r\n Dormant = \"Dormant\",\r\n}\r\n\r\nexport class DrugContentItemIngredient implements IDrugContentItemIngredient {\r\n dosage!: number | undefined;\r\n dosageUnit!: string | undefined;\r\n strength!: number | undefined;\r\n strengthUnit!: string | undefined;\r\n name!: string | undefined;\r\n sourceUrl!: string | undefined;\r\n\r\n constructor(data?: IDrugContentItemIngredient) {\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.dosage = _data[\"dosage\"];\r\n this.dosageUnit = _data[\"dosageUnit\"];\r\n this.strength = _data[\"strength\"];\r\n this.strengthUnit = _data[\"strengthUnit\"];\r\n this.name = _data[\"name\"];\r\n this.sourceUrl = _data[\"sourceUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugContentItemIngredient {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugContentItemIngredient();\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[\"dosage\"] = this.dosage;\r\n data[\"dosageUnit\"] = this.dosageUnit;\r\n data[\"strength\"] = this.strength;\r\n data[\"strengthUnit\"] = this.strengthUnit;\r\n data[\"name\"] = this.name;\r\n data[\"sourceUrl\"] = this.sourceUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugContentItemIngredient {\r\n dosage: number | undefined;\r\n dosageUnit: string | undefined;\r\n strength: number | undefined;\r\n strengthUnit: string | undefined;\r\n name: string | undefined;\r\n sourceUrl: string | undefined;\r\n}\r\n\r\nexport class ArticleContentItemSummaryResult extends ContentItemSummaryResult implements IArticleContentItemSummaryResult {\r\n author!: string | undefined;\r\n authors!: string[] | undefined;\r\n journalTitle!: string | undefined;\r\n journalIssueDate!: string | undefined;\r\n isMednet!: boolean;\r\n\r\n constructor(data?: IArticleContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"ArticleContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.author = _data[\"author\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(item);\r\n }\r\n this.journalTitle = _data[\"journalTitle\"];\r\n this.journalIssueDate = _data[\"journalIssueDate\"];\r\n this.isMednet = _data[\"isMednet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArticleContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArticleContentItemSummaryResult();\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[\"author\"] = this.author;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item);\r\n }\r\n data[\"journalTitle\"] = this.journalTitle;\r\n data[\"journalIssueDate\"] = this.journalIssueDate;\r\n data[\"isMednet\"] = this.isMednet;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArticleContentItemSummaryResult extends IContentItemSummaryResult {\r\n author: string | undefined;\r\n authors: string[] | undefined;\r\n journalTitle: string | undefined;\r\n journalIssueDate: string | undefined;\r\n isMednet: boolean;\r\n}\r\n\r\nexport class TrialContentItemSummaryResult extends ContentItemSummaryResult implements ITrialContentItemSummaryResult {\r\n trialStatusId!: string;\r\n trialStatusType!: TrialStatusType | undefined;\r\n trialTitle!: string | undefined;\r\n minAge!: number;\r\n minAgeUnits!: string | undefined;\r\n minAgeInYears!: number;\r\n maxAge!: number;\r\n maxAgeUnits!: string | undefined;\r\n maxAgeInYears!: number;\r\n metaDescription!: string | undefined;\r\n metaKeywords!: string | undefined;\r\n\r\n constructor(data?: ITrialContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"TrialContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.trialStatusId = _data[\"trialStatusId\"];\r\n this.trialStatusType = _data[\"trialStatusType\"] ? TrialStatusType.fromJS(_data[\"trialStatusType\"]) : undefined;\r\n this.trialTitle = _data[\"trialTitle\"];\r\n this.minAge = _data[\"minAge\"];\r\n this.minAgeUnits = _data[\"minAgeUnits\"];\r\n this.minAgeInYears = _data[\"minAgeInYears\"];\r\n this.maxAge = _data[\"maxAge\"];\r\n this.maxAgeUnits = _data[\"maxAgeUnits\"];\r\n this.maxAgeInYears = _data[\"maxAgeInYears\"];\r\n this.metaDescription = _data[\"metaDescription\"];\r\n this.metaKeywords = _data[\"metaKeywords\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TrialContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrialContentItemSummaryResult();\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[\"trialStatusId\"] = this.trialStatusId;\r\n data[\"trialStatusType\"] = this.trialStatusType ? this.trialStatusType.toJSON() : undefined;\r\n data[\"trialTitle\"] = this.trialTitle;\r\n data[\"minAge\"] = this.minAge;\r\n data[\"minAgeUnits\"] = this.minAgeUnits;\r\n data[\"minAgeInYears\"] = this.minAgeInYears;\r\n data[\"maxAge\"] = this.maxAge;\r\n data[\"maxAgeUnits\"] = this.maxAgeUnits;\r\n data[\"maxAgeInYears\"] = this.maxAgeInYears;\r\n data[\"metaDescription\"] = this.metaDescription;\r\n data[\"metaKeywords\"] = this.metaKeywords;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITrialContentItemSummaryResult extends IContentItemSummaryResult {\r\n trialStatusId: string;\r\n trialStatusType: TrialStatusType | undefined;\r\n trialTitle: string | undefined;\r\n minAge: number;\r\n minAgeUnits: string | undefined;\r\n minAgeInYears: number;\r\n maxAge: number;\r\n maxAgeUnits: string | undefined;\r\n maxAgeInYears: number;\r\n metaDescription: string | undefined;\r\n metaKeywords: string | undefined;\r\n}\r\n\r\nexport class TrialStatusType implements ITrialStatusType {\r\n id!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: ITrialStatusType) {\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): TrialStatusType {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrialStatusType();\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 ITrialStatusType {\r\n id: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class FolioContentItemSummaryResult extends ContentItemSummaryResult implements IFolioContentItemSummaryResult {\r\n logoAttachmentId!: string;\r\n author!: string | undefined;\r\n clippingsCount!: number;\r\n shareLevel!: FolioShareLevel;\r\n\r\n constructor(data?: IFolioContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"FolioContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.logoAttachmentId = _data[\"logoAttachmentId\"];\r\n this.author = _data[\"author\"];\r\n this.clippingsCount = _data[\"clippingsCount\"];\r\n this.shareLevel = _data[\"shareLevel\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FolioContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FolioContentItemSummaryResult();\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[\"logoAttachmentId\"] = this.logoAttachmentId;\r\n data[\"author\"] = this.author;\r\n data[\"clippingsCount\"] = this.clippingsCount;\r\n data[\"shareLevel\"] = this.shareLevel;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFolioContentItemSummaryResult extends IContentItemSummaryResult {\r\n logoAttachmentId: string;\r\n author: string | undefined;\r\n clippingsCount: number;\r\n shareLevel: FolioShareLevel;\r\n}\r\n\r\nexport enum FolioShareLevel {\r\n Public = \"Public\",\r\n Private = \"Private\",\r\n Restricted = \"Restricted\",\r\n}\r\n\r\nexport class DecisionContentItemSummaryResult extends ContentItemSummaryResult implements IDecisionContentItemSummaryResult {\r\n referenceNumber!: string | undefined;\r\n dateIssued!: Date | undefined;\r\n decisionItems!: DecisionItem[] | undefined;\r\n\r\n constructor(data?: IDecisionContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"DecisionContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.referenceNumber = _data[\"referenceNumber\"];\r\n this.dateIssued = _data[\"dateIssued\"] ? new Date(_data[\"dateIssued\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"decisionItems\"])) {\r\n this.decisionItems = [] as any;\r\n for (let item of _data[\"decisionItems\"])\r\n this.decisionItems!.push(DecisionItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DecisionContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DecisionContentItemSummaryResult();\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[\"referenceNumber\"] = this.referenceNumber;\r\n data[\"dateIssued\"] = this.dateIssued ? this.dateIssued.toISOString() : undefined;\r\n if (Array.isArray(this.decisionItems)) {\r\n data[\"decisionItems\"] = [];\r\n for (let item of this.decisionItems)\r\n data[\"decisionItems\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDecisionContentItemSummaryResult extends IContentItemSummaryResult {\r\n referenceNumber: string | undefined;\r\n dateIssued: Date | undefined;\r\n decisionItems: DecisionItem[] | undefined;\r\n}\r\n\r\nexport class DecisionItem implements IDecisionItem {\r\n id!: string;\r\n decisionContentItemVersionId!: string;\r\n decisionContentItemVersion!: DecisionContentItemVersion | undefined;\r\n name!: string | undefined;\r\n contents!: string | undefined;\r\n orderIndex!: number;\r\n\r\n constructor(data?: IDecisionItem) {\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.decisionContentItemVersionId = _data[\"decisionContentItemVersionId\"];\r\n this.decisionContentItemVersion = _data[\"decisionContentItemVersion\"] ? DecisionContentItemVersion.fromJS(_data[\"decisionContentItemVersion\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.contents = _data[\"contents\"];\r\n this.orderIndex = _data[\"orderIndex\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DecisionItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DecisionItem();\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[\"decisionContentItemVersionId\"] = this.decisionContentItemVersionId;\r\n data[\"decisionContentItemVersion\"] = this.decisionContentItemVersion ? this.decisionContentItemVersion.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"contents\"] = this.contents;\r\n data[\"orderIndex\"] = this.orderIndex;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDecisionItem {\r\n id: string;\r\n decisionContentItemVersionId: string;\r\n decisionContentItemVersion: DecisionContentItemVersion | undefined;\r\n name: string | undefined;\r\n contents: string | undefined;\r\n orderIndex: number;\r\n}\r\n\r\nexport class ContentItemVersion implements IContentItemVersion {\r\n id!: string;\r\n createdOn!: Date;\r\n contentItemId!: string;\r\n contentItem!: ContentItem | undefined;\r\n supersededByContentItemVersionId!: string | undefined;\r\n supersededByContentItemVersion!: ContentItemVersion | undefined;\r\n title!: string | undefined;\r\n summary!: string | undefined;\r\n byline!: string | undefined;\r\n extraSearchInfo!: string | undefined;\r\n sourceId!: string | undefined;\r\n source!: Source | undefined;\r\n sourceUrl!: string | undefined;\r\n sourceContent!: string | undefined;\r\n publishedOn!: Date | undefined;\r\n rndSort!: number;\r\n attachments!: Attachment[] | undefined;\r\n images!: Attachment[] | undefined;\r\n featuredImage!: Attachment | undefined;\r\n creatorId!: string | undefined;\r\n creator!: ApplicationUser | undefined;\r\n searchVector!: Lexeme[] | undefined;\r\n editorialRank!: number;\r\n dateRank!: number;\r\n areasOfInterest!: AreaOfInterest[] | undefined;\r\n userContentItemVersions!: UserContentItemVersion[] | undefined;\r\n contentItemVersionViews!: ContentItemVersionView[] | undefined;\r\n promotedBy!: string | undefined;\r\n voiceOf!: string | undefined;\r\n isDeleted!: boolean;\r\n\r\n constructor(data?: IContentItemVersion) {\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.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.contentItemId = _data[\"contentItemId\"];\r\n this.contentItem = _data[\"contentItem\"] ? ContentItem.fromJS(_data[\"contentItem\"]) : undefined;\r\n this.supersededByContentItemVersionId = _data[\"supersededByContentItemVersionId\"];\r\n this.supersededByContentItemVersion = _data[\"supersededByContentItemVersion\"] ? ContentItemVersion.fromJS(_data[\"supersededByContentItemVersion\"]) : undefined;\r\n this.title = _data[\"title\"];\r\n this.summary = _data[\"summary\"];\r\n this.byline = _data[\"byline\"];\r\n this.extraSearchInfo = _data[\"extraSearchInfo\"];\r\n this.sourceId = _data[\"sourceId\"];\r\n this.source = _data[\"source\"] ? Source.fromJS(_data[\"source\"]) : undefined;\r\n this.sourceUrl = _data[\"sourceUrl\"];\r\n this.sourceContent = _data[\"sourceContent\"];\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n this.rndSort = _data[\"rndSort\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"images\"])) {\r\n this.images = [] as any;\r\n for (let item of _data[\"images\"])\r\n this.images!.push(Attachment.fromJS(item));\r\n }\r\n this.featuredImage = _data[\"featuredImage\"] ? Attachment.fromJS(_data[\"featuredImage\"]) : undefined;\r\n this.creatorId = _data[\"creatorId\"];\r\n this.creator = _data[\"creator\"] ? ApplicationUser.fromJS(_data[\"creator\"]) : undefined;\r\n if (Array.isArray(_data[\"searchVector\"])) {\r\n this.searchVector = [] as any;\r\n for (let item of _data[\"searchVector\"])\r\n this.searchVector!.push(Lexeme.fromJS(item));\r\n }\r\n this.editorialRank = _data[\"editorialRank\"];\r\n this.dateRank = _data[\"dateRank\"];\r\n if (Array.isArray(_data[\"areasOfInterest\"])) {\r\n this.areasOfInterest = [] as any;\r\n for (let item of _data[\"areasOfInterest\"])\r\n this.areasOfInterest!.push(AreaOfInterest.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"userContentItemVersions\"])) {\r\n this.userContentItemVersions = [] as any;\r\n for (let item of _data[\"userContentItemVersions\"])\r\n this.userContentItemVersions!.push(UserContentItemVersion.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"contentItemVersionViews\"])) {\r\n this.contentItemVersionViews = [] as any;\r\n for (let item of _data[\"contentItemVersionViews\"])\r\n this.contentItemVersionViews!.push(ContentItemVersionView.fromJS(item));\r\n }\r\n this.promotedBy = _data[\"promotedBy\"];\r\n this.voiceOf = _data[\"voiceOf\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemVersion();\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[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"contentItemId\"] = this.contentItemId;\r\n data[\"contentItem\"] = this.contentItem ? this.contentItem.toJSON() : undefined;\r\n data[\"supersededByContentItemVersionId\"] = this.supersededByContentItemVersionId;\r\n data[\"supersededByContentItemVersion\"] = this.supersededByContentItemVersion ? this.supersededByContentItemVersion.toJSON() : undefined;\r\n data[\"title\"] = this.title;\r\n data[\"summary\"] = this.summary;\r\n data[\"byline\"] = this.byline;\r\n data[\"extraSearchInfo\"] = this.extraSearchInfo;\r\n data[\"sourceId\"] = this.sourceId;\r\n data[\"source\"] = this.source ? this.source.toJSON() : undefined;\r\n data[\"sourceUrl\"] = this.sourceUrl;\r\n data[\"sourceContent\"] = this.sourceContent;\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n data[\"rndSort\"] = this.rndSort;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.images)) {\r\n data[\"images\"] = [];\r\n for (let item of this.images)\r\n data[\"images\"].push(item.toJSON());\r\n }\r\n data[\"featuredImage\"] = this.featuredImage ? this.featuredImage.toJSON() : undefined;\r\n data[\"creatorId\"] = this.creatorId;\r\n data[\"creator\"] = this.creator ? this.creator.toJSON() : undefined;\r\n if (Array.isArray(this.searchVector)) {\r\n data[\"searchVector\"] = [];\r\n for (let item of this.searchVector)\r\n data[\"searchVector\"].push(item.toJSON());\r\n }\r\n data[\"editorialRank\"] = this.editorialRank;\r\n data[\"dateRank\"] = this.dateRank;\r\n if (Array.isArray(this.areasOfInterest)) {\r\n data[\"areasOfInterest\"] = [];\r\n for (let item of this.areasOfInterest)\r\n data[\"areasOfInterest\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.userContentItemVersions)) {\r\n data[\"userContentItemVersions\"] = [];\r\n for (let item of this.userContentItemVersions)\r\n data[\"userContentItemVersions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.contentItemVersionViews)) {\r\n data[\"contentItemVersionViews\"] = [];\r\n for (let item of this.contentItemVersionViews)\r\n data[\"contentItemVersionViews\"].push(item.toJSON());\r\n }\r\n data[\"promotedBy\"] = this.promotedBy;\r\n data[\"voiceOf\"] = this.voiceOf;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemVersion {\r\n id: string;\r\n createdOn: Date;\r\n contentItemId: string;\r\n contentItem: ContentItem | undefined;\r\n supersededByContentItemVersionId: string | undefined;\r\n supersededByContentItemVersion: ContentItemVersion | undefined;\r\n title: string | undefined;\r\n summary: string | undefined;\r\n byline: string | undefined;\r\n extraSearchInfo: string | undefined;\r\n sourceId: string | undefined;\r\n source: Source | undefined;\r\n sourceUrl: string | undefined;\r\n sourceContent: string | undefined;\r\n publishedOn: Date | undefined;\r\n rndSort: number;\r\n attachments: Attachment[] | undefined;\r\n images: Attachment[] | undefined;\r\n featuredImage: Attachment | undefined;\r\n creatorId: string | undefined;\r\n creator: ApplicationUser | undefined;\r\n searchVector: Lexeme[] | undefined;\r\n editorialRank: number;\r\n dateRank: number;\r\n areasOfInterest: AreaOfInterest[] | undefined;\r\n userContentItemVersions: UserContentItemVersion[] | undefined;\r\n contentItemVersionViews: ContentItemVersionView[] | undefined;\r\n promotedBy: string | undefined;\r\n voiceOf: string | undefined;\r\n isDeleted: boolean;\r\n}\r\n\r\nexport class DecisionContentItemVersion extends ContentItemVersion implements IDecisionContentItemVersion {\r\n decisionType!: DecisionType;\r\n referenceNumber!: string | undefined;\r\n dateIssued!: Date | undefined;\r\n drugContentItemVersions!: DrugContentItemVersion[] | undefined;\r\n decisionItems!: DecisionItem[] | undefined;\r\n\r\n constructor(data?: IDecisionContentItemVersion) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.decisionType = _data[\"decisionType\"];\r\n this.referenceNumber = _data[\"referenceNumber\"];\r\n this.dateIssued = _data[\"dateIssued\"] ? new Date(_data[\"dateIssued\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"drugContentItemVersions\"])) {\r\n this.drugContentItemVersions = [] as any;\r\n for (let item of _data[\"drugContentItemVersions\"])\r\n this.drugContentItemVersions!.push(DrugContentItemVersion.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"decisionItems\"])) {\r\n this.decisionItems = [] as any;\r\n for (let item of _data[\"decisionItems\"])\r\n this.decisionItems!.push(DecisionItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DecisionContentItemVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DecisionContentItemVersion();\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[\"decisionType\"] = this.decisionType;\r\n data[\"referenceNumber\"] = this.referenceNumber;\r\n data[\"dateIssued\"] = this.dateIssued ? this.dateIssued.toISOString() : undefined;\r\n if (Array.isArray(this.drugContentItemVersions)) {\r\n data[\"drugContentItemVersions\"] = [];\r\n for (let item of this.drugContentItemVersions)\r\n data[\"drugContentItemVersions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.decisionItems)) {\r\n data[\"decisionItems\"] = [];\r\n for (let item of this.decisionItems)\r\n data[\"decisionItems\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDecisionContentItemVersion extends IContentItemVersion {\r\n decisionType: DecisionType;\r\n referenceNumber: string | undefined;\r\n dateIssued: Date | undefined;\r\n drugContentItemVersions: DrugContentItemVersion[] | undefined;\r\n decisionItems: DecisionItem[] | undefined;\r\n}\r\n\r\nexport enum DecisionType {\r\n Basis = \"Basis\",\r\n Regulatory = \"Regulatory\",\r\n SafteyReview = \"SafteyReview\",\r\n}\r\n\r\nexport class DrugContentItemVersion extends ContentItemVersion implements IDrugContentItemVersion {\r\n companyId!: string | undefined;\r\n company!: Company | undefined;\r\n drugCode!: string | undefined;\r\n status!: DrugStatus;\r\n din!: string | undefined;\r\n name!: string | undefined;\r\n description!: string | undefined;\r\n monographOriginalUrl!: string | undefined;\r\n brandGroup!: DrugBrandGroupContentItemVersion | undefined;\r\n drugIngredients!: DrugIngredient[] | undefined;\r\n therapeuticClasses!: TherapeuticClass[] | undefined;\r\n decisions!: DecisionContentItemVersion[] | undefined;\r\n contentItems!: ContentItemVersion[] | undefined;\r\n\r\n constructor(data?: IDrugContentItemVersion) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.companyId = _data[\"companyId\"];\r\n this.company = _data[\"company\"] ? Company.fromJS(_data[\"company\"]) : undefined;\r\n this.drugCode = _data[\"drugCode\"];\r\n this.status = _data[\"status\"];\r\n this.din = _data[\"din\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.monographOriginalUrl = _data[\"monographOriginalUrl\"];\r\n this.brandGroup = _data[\"brandGroup\"] ? DrugBrandGroupContentItemVersion.fromJS(_data[\"brandGroup\"]) : undefined;\r\n if (Array.isArray(_data[\"drugIngredients\"])) {\r\n this.drugIngredients = [] as any;\r\n for (let item of _data[\"drugIngredients\"])\r\n this.drugIngredients!.push(DrugIngredient.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"therapeuticClasses\"])) {\r\n this.therapeuticClasses = [] as any;\r\n for (let item of _data[\"therapeuticClasses\"])\r\n this.therapeuticClasses!.push(TherapeuticClass.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"decisions\"])) {\r\n this.decisions = [] as any;\r\n for (let item of _data[\"decisions\"])\r\n this.decisions!.push(DecisionContentItemVersion.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"contentItems\"])) {\r\n this.contentItems = [] as any;\r\n for (let item of _data[\"contentItems\"])\r\n this.contentItems!.push(ContentItemVersion.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugContentItemVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugContentItemVersion();\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[\"companyId\"] = this.companyId;\r\n data[\"company\"] = this.company ? this.company.toJSON() : undefined;\r\n data[\"drugCode\"] = this.drugCode;\r\n data[\"status\"] = this.status;\r\n data[\"din\"] = this.din;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"monographOriginalUrl\"] = this.monographOriginalUrl;\r\n data[\"brandGroup\"] = this.brandGroup ? this.brandGroup.toJSON() : undefined;\r\n if (Array.isArray(this.drugIngredients)) {\r\n data[\"drugIngredients\"] = [];\r\n for (let item of this.drugIngredients)\r\n data[\"drugIngredients\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.therapeuticClasses)) {\r\n data[\"therapeuticClasses\"] = [];\r\n for (let item of this.therapeuticClasses)\r\n data[\"therapeuticClasses\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.decisions)) {\r\n data[\"decisions\"] = [];\r\n for (let item of this.decisions)\r\n data[\"decisions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.contentItems)) {\r\n data[\"contentItems\"] = [];\r\n for (let item of this.contentItems)\r\n data[\"contentItems\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugContentItemVersion extends IContentItemVersion {\r\n companyId: string | undefined;\r\n company: Company | undefined;\r\n drugCode: string | undefined;\r\n status: DrugStatus;\r\n din: string | undefined;\r\n name: string | undefined;\r\n description: string | undefined;\r\n monographOriginalUrl: string | undefined;\r\n brandGroup: DrugBrandGroupContentItemVersion | undefined;\r\n drugIngredients: DrugIngredient[] | undefined;\r\n therapeuticClasses: TherapeuticClass[] | undefined;\r\n decisions: DecisionContentItemVersion[] | undefined;\r\n contentItems: ContentItemVersion[] | undefined;\r\n}\r\n\r\nexport class Company implements ICompany {\r\n id!: string;\r\n code!: string | undefined;\r\n name!: string | undefined;\r\n address!: string | undefined;\r\n suite!: string | undefined;\r\n city!: string | undefined;\r\n province!: string | undefined;\r\n postalCode!: string | undefined;\r\n country!: string | undefined;\r\n drugs!: DrugContentItemVersion[] | undefined;\r\n\r\n constructor(data?: ICompany) {\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.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n this.address = _data[\"address\"];\r\n this.suite = _data[\"suite\"];\r\n this.city = _data[\"city\"];\r\n this.province = _data[\"province\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.country = _data[\"country\"];\r\n if (Array.isArray(_data[\"drugs\"])) {\r\n this.drugs = [] as any;\r\n for (let item of _data[\"drugs\"])\r\n this.drugs!.push(DrugContentItemVersion.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Company {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Company();\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[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n data[\"address\"] = this.address;\r\n data[\"suite\"] = this.suite;\r\n data[\"city\"] = this.city;\r\n data[\"province\"] = this.province;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"country\"] = this.country;\r\n if (Array.isArray(this.drugs)) {\r\n data[\"drugs\"] = [];\r\n for (let item of this.drugs)\r\n data[\"drugs\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompany {\r\n id: string;\r\n code: string | undefined;\r\n name: string | undefined;\r\n address: string | undefined;\r\n suite: string | undefined;\r\n city: string | undefined;\r\n province: string | undefined;\r\n postalCode: string | undefined;\r\n country: string | undefined;\r\n drugs: DrugContentItemVersion[] | undefined;\r\n}\r\n\r\nexport class DrugBrandGroupContentItemVersion extends ContentItemVersion implements IDrugBrandGroupContentItemVersion {\r\n name!: string | undefined;\r\n drugContentItemVersions!: DrugContentItemVersion[] | undefined;\r\n\r\n constructor(data?: IDrugBrandGroupContentItemVersion) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"drugContentItemVersions\"])) {\r\n this.drugContentItemVersions = [] as any;\r\n for (let item of _data[\"drugContentItemVersions\"])\r\n this.drugContentItemVersions!.push(DrugContentItemVersion.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugBrandGroupContentItemVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugBrandGroupContentItemVersion();\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 if (Array.isArray(this.drugContentItemVersions)) {\r\n data[\"drugContentItemVersions\"] = [];\r\n for (let item of this.drugContentItemVersions)\r\n data[\"drugContentItemVersions\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugBrandGroupContentItemVersion extends IContentItemVersion {\r\n name: string | undefined;\r\n drugContentItemVersions: DrugContentItemVersion[] | undefined;\r\n}\r\n\r\nexport class ContentItem implements IContentItem {\r\n id!: string;\r\n slug!: string | undefined;\r\n contentItemType!: ContentItemType;\r\n contentItemVersions!: ContentItemVersion[] | undefined;\r\n isDeleted!: boolean;\r\n contentLikes!: ContentLikes[] | undefined;\r\n folios!: FolioContentItemVersion[] | undefined;\r\n\r\n constructor(data?: IContentItem) {\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.slug = _data[\"slug\"];\r\n this.contentItemType = _data[\"contentItemType\"];\r\n if (Array.isArray(_data[\"contentItemVersions\"])) {\r\n this.contentItemVersions = [] as any;\r\n for (let item of _data[\"contentItemVersions\"])\r\n this.contentItemVersions!.push(ContentItemVersion.fromJS(item));\r\n }\r\n this.isDeleted = _data[\"isDeleted\"];\r\n if (Array.isArray(_data[\"contentLikes\"])) {\r\n this.contentLikes = [] as any;\r\n for (let item of _data[\"contentLikes\"])\r\n this.contentLikes!.push(ContentLikes.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"folios\"])) {\r\n this.folios = [] as any;\r\n for (let item of _data[\"folios\"])\r\n this.folios!.push(FolioContentItemVersion.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItem();\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[\"slug\"] = this.slug;\r\n data[\"contentItemType\"] = this.contentItemType;\r\n if (Array.isArray(this.contentItemVersions)) {\r\n data[\"contentItemVersions\"] = [];\r\n for (let item of this.contentItemVersions)\r\n data[\"contentItemVersions\"].push(item.toJSON());\r\n }\r\n data[\"isDeleted\"] = this.isDeleted;\r\n if (Array.isArray(this.contentLikes)) {\r\n data[\"contentLikes\"] = [];\r\n for (let item of this.contentLikes)\r\n data[\"contentLikes\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.folios)) {\r\n data[\"folios\"] = [];\r\n for (let item of this.folios)\r\n data[\"folios\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItem {\r\n id: string;\r\n slug: string | undefined;\r\n contentItemType: ContentItemType;\r\n contentItemVersions: ContentItemVersion[] | undefined;\r\n isDeleted: boolean;\r\n contentLikes: ContentLikes[] | undefined;\r\n folios: FolioContentItemVersion[] | undefined;\r\n}\r\n\r\nexport class ContentLikes implements IContentLikes {\r\n id!: string;\r\n contentItem!: ContentItem | undefined;\r\n user!: ApplicationUser | undefined;\r\n\r\n constructor(data?: IContentLikes) {\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.contentItem = _data[\"contentItem\"] ? ContentItem.fromJS(_data[\"contentItem\"]) : undefined;\r\n this.user = _data[\"user\"] ? ApplicationUser.fromJS(_data[\"user\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentLikes {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentLikes();\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[\"contentItem\"] = this.contentItem ? this.contentItem.toJSON() : undefined;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentLikes {\r\n id: string;\r\n contentItem: ContentItem | undefined;\r\n user: ApplicationUser | undefined;\r\n}\r\n\r\n/** Represents a user in the identity system */\r\nexport class IdentityUserOfString implements IIdentityUserOfString {\r\n /** Gets or sets the primary key for this user. */\r\n id!: string | undefined;\r\n /** Gets or sets the user name for this user. */\r\n userName!: string | undefined;\r\n /** Gets or sets the normalized user name for this user. */\r\n normalizedUserName!: string | undefined;\r\n /** Gets or sets the email address for this user. */\r\n email!: string | undefined;\r\n /** Gets or sets the normalized email address for this user. */\r\n normalizedEmail!: string | undefined;\r\n /** Gets or sets a flag indicating if a user has confirmed their email address. */\r\n emailConfirmed!: boolean;\r\n /** Gets or sets a salted and hashed representation of the password for this user. */\r\n passwordHash!: string | undefined;\r\n /** A random value that must change whenever a users credentials change (password changed, login removed) */\r\n securityStamp!: string | undefined;\r\n /** A random value that must change whenever a user is persisted to the store */\r\n concurrencyStamp!: string | undefined;\r\n /** Gets or sets a telephone number for the user. */\r\n phoneNumber!: string | undefined;\r\n /** Gets or sets a flag indicating if a user has confirmed their telephone address. */\r\n phoneNumberConfirmed!: boolean;\r\n /** Gets or sets a flag indicating if two factor authentication is enabled for this user. */\r\n twoFactorEnabled!: boolean;\r\n /** Gets or sets the date and time, in UTC, when any user lockout ends. */\r\n lockoutEnd!: Date | undefined;\r\n /** Gets or sets a flag indicating if the user could be locked out. */\r\n lockoutEnabled!: boolean;\r\n /** Gets or sets the number of failed login attempts for the current user. */\r\n accessFailedCount!: number;\r\n\r\n constructor(data?: IIdentityUserOfString) {\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.userName = _data[\"userName\"];\r\n this.normalizedUserName = _data[\"normalizedUserName\"];\r\n this.email = _data[\"email\"];\r\n this.normalizedEmail = _data[\"normalizedEmail\"];\r\n this.emailConfirmed = _data[\"emailConfirmed\"];\r\n this.passwordHash = _data[\"passwordHash\"];\r\n this.securityStamp = _data[\"securityStamp\"];\r\n this.concurrencyStamp = _data[\"concurrencyStamp\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.phoneNumberConfirmed = _data[\"phoneNumberConfirmed\"];\r\n this.twoFactorEnabled = _data[\"twoFactorEnabled\"];\r\n this.lockoutEnd = _data[\"lockoutEnd\"] ? new Date(_data[\"lockoutEnd\"].toString()) : undefined;\r\n this.lockoutEnabled = _data[\"lockoutEnabled\"];\r\n this.accessFailedCount = _data[\"accessFailedCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IdentityUserOfString {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IdentityUserOfString();\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[\"userName\"] = this.userName;\r\n data[\"normalizedUserName\"] = this.normalizedUserName;\r\n data[\"email\"] = this.email;\r\n data[\"normalizedEmail\"] = this.normalizedEmail;\r\n data[\"emailConfirmed\"] = this.emailConfirmed;\r\n data[\"passwordHash\"] = this.passwordHash;\r\n data[\"securityStamp\"] = this.securityStamp;\r\n data[\"concurrencyStamp\"] = this.concurrencyStamp;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"phoneNumberConfirmed\"] = this.phoneNumberConfirmed;\r\n data[\"twoFactorEnabled\"] = this.twoFactorEnabled;\r\n data[\"lockoutEnd\"] = this.lockoutEnd ? this.lockoutEnd.toISOString() : undefined;\r\n data[\"lockoutEnabled\"] = this.lockoutEnabled;\r\n data[\"accessFailedCount\"] = this.accessFailedCount;\r\n return data;\r\n }\r\n}\r\n\r\n/** Represents a user in the identity system */\r\nexport interface IIdentityUserOfString {\r\n /** Gets or sets the primary key for this user. */\r\n id: string | undefined;\r\n /** Gets or sets the user name for this user. */\r\n userName: string | undefined;\r\n /** Gets or sets the normalized user name for this user. */\r\n normalizedUserName: string | undefined;\r\n /** Gets or sets the email address for this user. */\r\n email: string | undefined;\r\n /** Gets or sets the normalized email address for this user. */\r\n normalizedEmail: string | undefined;\r\n /** Gets or sets a flag indicating if a user has confirmed their email address. */\r\n emailConfirmed: boolean;\r\n /** Gets or sets a salted and hashed representation of the password for this user. */\r\n passwordHash: string | undefined;\r\n /** A random value that must change whenever a users credentials change (password changed, login removed) */\r\n securityStamp: string | undefined;\r\n /** A random value that must change whenever a user is persisted to the store */\r\n concurrencyStamp: string | undefined;\r\n /** Gets or sets a telephone number for the user. */\r\n phoneNumber: string | undefined;\r\n /** Gets or sets a flag indicating if a user has confirmed their telephone address. */\r\n phoneNumberConfirmed: boolean;\r\n /** Gets or sets a flag indicating if two factor authentication is enabled for this user. */\r\n twoFactorEnabled: boolean;\r\n /** Gets or sets the date and time, in UTC, when any user lockout ends. */\r\n lockoutEnd: Date | undefined;\r\n /** Gets or sets a flag indicating if the user could be locked out. */\r\n lockoutEnabled: boolean;\r\n /** Gets or sets the number of failed login attempts for the current user. */\r\n accessFailedCount: number;\r\n}\r\n\r\n/** The default implementation of IdentityUser`1 which uses a string as a primary key. */\r\nexport class IdentityUser extends IdentityUserOfString implements IIdentityUser {\r\n\r\n constructor(data?: IIdentityUser) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): IdentityUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IdentityUser();\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 super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** The default implementation of IdentityUser`1 which uses a string as a primary key. */\r\nexport interface IIdentityUser extends IIdentityUserOfString {\r\n}\r\n\r\nexport class ApplicationUser extends IdentityUser implements IApplicationUser {\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n status!: UserStatus;\r\n userType!: UserType;\r\n minc!: string | undefined;\r\n schoolName!: string | undefined;\r\n refreshTokens!: RefreshToken[] | undefined;\r\n chatroomUsers!: ChatroomUser[] | undefined;\r\n following!: UserFollow[] | undefined;\r\n followers!: UserFollow[] | undefined;\r\n profile!: UserProfile | undefined;\r\n userContentItemVersions!: UserContentItemVersion[] | undefined;\r\n\r\n constructor(data?: IApplicationUser) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.status = _data[\"status\"];\r\n this.userType = _data[\"userType\"];\r\n this.minc = _data[\"minc\"];\r\n this.schoolName = _data[\"schoolName\"];\r\n if (Array.isArray(_data[\"refreshTokens\"])) {\r\n this.refreshTokens = [] as any;\r\n for (let item of _data[\"refreshTokens\"])\r\n this.refreshTokens!.push(RefreshToken.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"chatroomUsers\"])) {\r\n this.chatroomUsers = [] as any;\r\n for (let item of _data[\"chatroomUsers\"])\r\n this.chatroomUsers!.push(ChatroomUser.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"following\"])) {\r\n this.following = [] as any;\r\n for (let item of _data[\"following\"])\r\n this.following!.push(UserFollow.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"followers\"])) {\r\n this.followers = [] as any;\r\n for (let item of _data[\"followers\"])\r\n this.followers!.push(UserFollow.fromJS(item));\r\n }\r\n this.profile = _data[\"profile\"] ? UserProfile.fromJS(_data[\"profile\"]) : undefined;\r\n if (Array.isArray(_data[\"userContentItemVersions\"])) {\r\n this.userContentItemVersions = [] as any;\r\n for (let item of _data[\"userContentItemVersions\"])\r\n this.userContentItemVersions!.push(UserContentItemVersion.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApplicationUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApplicationUser();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"status\"] = this.status;\r\n data[\"userType\"] = this.userType;\r\n data[\"minc\"] = this.minc;\r\n data[\"schoolName\"] = this.schoolName;\r\n if (Array.isArray(this.refreshTokens)) {\r\n data[\"refreshTokens\"] = [];\r\n for (let item of this.refreshTokens)\r\n data[\"refreshTokens\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.chatroomUsers)) {\r\n data[\"chatroomUsers\"] = [];\r\n for (let item of this.chatroomUsers)\r\n data[\"chatroomUsers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.following)) {\r\n data[\"following\"] = [];\r\n for (let item of this.following)\r\n data[\"following\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.followers)) {\r\n data[\"followers\"] = [];\r\n for (let item of this.followers)\r\n data[\"followers\"].push(item.toJSON());\r\n }\r\n data[\"profile\"] = this.profile ? this.profile.toJSON() : undefined;\r\n if (Array.isArray(this.userContentItemVersions)) {\r\n data[\"userContentItemVersions\"] = [];\r\n for (let item of this.userContentItemVersions)\r\n data[\"userContentItemVersions\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IApplicationUser extends IIdentityUser {\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n status: UserStatus;\r\n userType: UserType;\r\n minc: string | undefined;\r\n schoolName: string | undefined;\r\n refreshTokens: RefreshToken[] | undefined;\r\n chatroomUsers: ChatroomUser[] | undefined;\r\n following: UserFollow[] | undefined;\r\n followers: UserFollow[] | undefined;\r\n profile: UserProfile | undefined;\r\n userContentItemVersions: UserContentItemVersion[] | undefined;\r\n}\r\n\r\nexport class RefreshToken implements IRefreshToken {\r\n id!: number;\r\n token!: string | undefined;\r\n expiry!: Date;\r\n isExpired!: boolean;\r\n created!: Date;\r\n createdByIp!: string | undefined;\r\n revoked!: Date | undefined;\r\n revokedByIp!: string | undefined;\r\n replacedByToken!: string | undefined;\r\n isValid!: boolean;\r\n\r\n constructor(data?: IRefreshToken) {\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.token = _data[\"token\"];\r\n this.expiry = _data[\"expiry\"] ? new Date(_data[\"expiry\"].toString()) : undefined;\r\n this.isExpired = _data[\"isExpired\"];\r\n this.created = _data[\"created\"] ? new Date(_data[\"created\"].toString()) : undefined;\r\n this.createdByIp = _data[\"createdByIp\"];\r\n this.revoked = _data[\"revoked\"] ? new Date(_data[\"revoked\"].toString()) : undefined;\r\n this.revokedByIp = _data[\"revokedByIp\"];\r\n this.replacedByToken = _data[\"replacedByToken\"];\r\n this.isValid = _data[\"isValid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RefreshToken {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RefreshToken();\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[\"token\"] = this.token;\r\n data[\"expiry\"] = this.expiry ? this.expiry.toISOString() : undefined;\r\n data[\"isExpired\"] = this.isExpired;\r\n data[\"created\"] = this.created ? this.created.toISOString() : undefined;\r\n data[\"createdByIp\"] = this.createdByIp;\r\n data[\"revoked\"] = this.revoked ? this.revoked.toISOString() : undefined;\r\n data[\"revokedByIp\"] = this.revokedByIp;\r\n data[\"replacedByToken\"] = this.replacedByToken;\r\n data[\"isValid\"] = this.isValid;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRefreshToken {\r\n id: number;\r\n token: string | undefined;\r\n expiry: Date;\r\n isExpired: boolean;\r\n created: Date;\r\n createdByIp: string | undefined;\r\n revoked: Date | undefined;\r\n revokedByIp: string | undefined;\r\n replacedByToken: string | undefined;\r\n isValid: boolean;\r\n}\r\n\r\nexport class ChatroomUser implements IChatroomUser {\r\n chatroomUserId!: string;\r\n chatroomId!: string;\r\n chatroom!: Chatroom | undefined;\r\n userId!: string | undefined;\r\n user!: ApplicationUser | undefined;\r\n status!: ChatroomUserStatus;\r\n createdUtc!: Date;\r\n modifiedUtc!: Date;\r\n lastReadDate!: Date;\r\n inviteToken!: string | undefined;\r\n\r\n constructor(data?: IChatroomUser) {\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.chatroomUserId = _data[\"chatroomUserId\"];\r\n this.chatroomId = _data[\"chatroomId\"];\r\n this.chatroom = _data[\"chatroom\"] ? Chatroom.fromJS(_data[\"chatroom\"]) : undefined;\r\n this.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? ApplicationUser.fromJS(_data[\"user\"]) : undefined;\r\n this.status = _data[\"status\"];\r\n this.createdUtc = _data[\"createdUtc\"] ? new Date(_data[\"createdUtc\"].toString()) : undefined;\r\n this.modifiedUtc = _data[\"modifiedUtc\"] ? new Date(_data[\"modifiedUtc\"].toString()) : undefined;\r\n this.lastReadDate = _data[\"lastReadDate\"] ? new Date(_data[\"lastReadDate\"].toString()) : undefined;\r\n this.inviteToken = _data[\"inviteToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChatroomUser {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChatroomUser();\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[\"chatroomUserId\"] = this.chatroomUserId;\r\n data[\"chatroomId\"] = this.chatroomId;\r\n data[\"chatroom\"] = this.chatroom ? this.chatroom.toJSON() : undefined;\r\n data[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"status\"] = this.status;\r\n data[\"createdUtc\"] = this.createdUtc ? this.createdUtc.toISOString() : undefined;\r\n data[\"modifiedUtc\"] = this.modifiedUtc ? this.modifiedUtc.toISOString() : undefined;\r\n data[\"lastReadDate\"] = this.lastReadDate ? this.lastReadDate.toISOString() : undefined;\r\n data[\"inviteToken\"] = this.inviteToken;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChatroomUser {\r\n chatroomUserId: string;\r\n chatroomId: string;\r\n chatroom: Chatroom | undefined;\r\n userId: string | undefined;\r\n user: ApplicationUser | undefined;\r\n status: ChatroomUserStatus;\r\n createdUtc: Date;\r\n modifiedUtc: Date;\r\n lastReadDate: Date;\r\n inviteToken: string | undefined;\r\n}\r\n\r\nexport class Chatroom implements IChatroom {\r\n id!: string;\r\n ownerUserId!: string | undefined;\r\n ownerUser!: ApplicationUser | undefined;\r\n name!: string | undefined;\r\n description!: string | undefined;\r\n type!: ChatroomType;\r\n status!: ChatroomStatus;\r\n createdUtc!: Date;\r\n modifiedUtc!: Date;\r\n chatroomUsers!: ChatroomUser[] | undefined;\r\n\r\n constructor(data?: IChatroom) {\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.ownerUserId = _data[\"ownerUserId\"];\r\n this.ownerUser = _data[\"ownerUser\"] ? ApplicationUser.fromJS(_data[\"ownerUser\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.type = _data[\"type\"];\r\n this.status = _data[\"status\"];\r\n this.createdUtc = _data[\"createdUtc\"] ? new Date(_data[\"createdUtc\"].toString()) : undefined;\r\n this.modifiedUtc = _data[\"modifiedUtc\"] ? new Date(_data[\"modifiedUtc\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"chatroomUsers\"])) {\r\n this.chatroomUsers = [] as any;\r\n for (let item of _data[\"chatroomUsers\"])\r\n this.chatroomUsers!.push(ChatroomUser.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Chatroom {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Chatroom();\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[\"ownerUserId\"] = this.ownerUserId;\r\n data[\"ownerUser\"] = this.ownerUser ? this.ownerUser.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"type\"] = this.type;\r\n data[\"status\"] = this.status;\r\n data[\"createdUtc\"] = this.createdUtc ? this.createdUtc.toISOString() : undefined;\r\n data[\"modifiedUtc\"] = this.modifiedUtc ? this.modifiedUtc.toISOString() : undefined;\r\n if (Array.isArray(this.chatroomUsers)) {\r\n data[\"chatroomUsers\"] = [];\r\n for (let item of this.chatroomUsers)\r\n data[\"chatroomUsers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChatroom {\r\n id: string;\r\n ownerUserId: string | undefined;\r\n ownerUser: ApplicationUser | undefined;\r\n name: string | undefined;\r\n description: string | undefined;\r\n type: ChatroomType;\r\n status: ChatroomStatus;\r\n createdUtc: Date;\r\n modifiedUtc: Date;\r\n chatroomUsers: ChatroomUser[] | undefined;\r\n}\r\n\r\nexport enum ChatroomType {\r\n Private = \"Private\",\r\n Public = \"Public\",\r\n}\r\n\r\nexport enum ChatroomStatus {\r\n Active = \"Active\",\r\n Deleted = \"Deleted\",\r\n}\r\n\r\nexport enum ChatroomUserStatus {\r\n Invited = \"Invited\",\r\n Joined = \"Joined\",\r\n Removed = \"Removed\",\r\n}\r\n\r\nexport class UserFollow implements IUserFollow {\r\n id!: string;\r\n sourceUserId!: string | undefined;\r\n sourceUser!: ApplicationUser | undefined;\r\n followedUserId!: string | undefined;\r\n followedUser!: ApplicationUser | undefined;\r\n\r\n constructor(data?: IUserFollow) {\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.sourceUserId = _data[\"sourceUserId\"];\r\n this.sourceUser = _data[\"sourceUser\"] ? ApplicationUser.fromJS(_data[\"sourceUser\"]) : undefined;\r\n this.followedUserId = _data[\"followedUserId\"];\r\n this.followedUser = _data[\"followedUser\"] ? ApplicationUser.fromJS(_data[\"followedUser\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserFollow {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserFollow();\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[\"sourceUserId\"] = this.sourceUserId;\r\n data[\"sourceUser\"] = this.sourceUser ? this.sourceUser.toJSON() : undefined;\r\n data[\"followedUserId\"] = this.followedUserId;\r\n data[\"followedUser\"] = this.followedUser ? this.followedUser.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserFollow {\r\n id: string;\r\n sourceUserId: string | undefined;\r\n sourceUser: ApplicationUser | undefined;\r\n followedUserId: string | undefined;\r\n followedUser: ApplicationUser | undefined;\r\n}\r\n\r\nexport class UserProfile implements IUserProfile {\r\n id!: string;\r\n userId!: string;\r\n user!: ApplicationUser | undefined;\r\n isTakingPatients!: boolean | undefined;\r\n location!: string | undefined;\r\n specialty!: Specialty | undefined;\r\n phoneNumber!: string | undefined;\r\n phoneExtension!: string | undefined;\r\n qualifications!: string[] | undefined;\r\n bio!: string | undefined;\r\n profilePicture!: Attachment | undefined;\r\n areasOfInterest!: AreaOfInterest[] | undefined;\r\n\r\n constructor(data?: IUserProfile) {\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.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? ApplicationUser.fromJS(_data[\"user\"]) : undefined;\r\n this.isTakingPatients = _data[\"isTakingPatients\"];\r\n this.location = _data[\"location\"];\r\n this.specialty = _data[\"specialty\"] ? Specialty.fromJS(_data[\"specialty\"]) : undefined;\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.phoneExtension = _data[\"phoneExtension\"];\r\n if (Array.isArray(_data[\"qualifications\"])) {\r\n this.qualifications = [] as any;\r\n for (let item of _data[\"qualifications\"])\r\n this.qualifications!.push(item);\r\n }\r\n this.bio = _data[\"bio\"];\r\n this.profilePicture = _data[\"profilePicture\"] ? Attachment.fromJS(_data[\"profilePicture\"]) : undefined;\r\n if (Array.isArray(_data[\"areasOfInterest\"])) {\r\n this.areasOfInterest = [] as any;\r\n for (let item of _data[\"areasOfInterest\"])\r\n this.areasOfInterest!.push(AreaOfInterest.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserProfile {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserProfile();\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[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"isTakingPatients\"] = this.isTakingPatients;\r\n data[\"location\"] = this.location;\r\n data[\"specialty\"] = this.specialty ? this.specialty.toJSON() : undefined;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"phoneExtension\"] = this.phoneExtension;\r\n if (Array.isArray(this.qualifications)) {\r\n data[\"qualifications\"] = [];\r\n for (let item of this.qualifications)\r\n data[\"qualifications\"].push(item);\r\n }\r\n data[\"bio\"] = this.bio;\r\n data[\"profilePicture\"] = this.profilePicture ? this.profilePicture.toJSON() : undefined;\r\n if (Array.isArray(this.areasOfInterest)) {\r\n data[\"areasOfInterest\"] = [];\r\n for (let item of this.areasOfInterest)\r\n data[\"areasOfInterest\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserProfile {\r\n id: string;\r\n userId: string;\r\n user: ApplicationUser | undefined;\r\n isTakingPatients: boolean | undefined;\r\n location: string | undefined;\r\n specialty: Specialty | undefined;\r\n phoneNumber: string | undefined;\r\n phoneExtension: string | undefined;\r\n qualifications: string[] | undefined;\r\n bio: string | undefined;\r\n profilePicture: Attachment | undefined;\r\n areasOfInterest: AreaOfInterest[] | undefined;\r\n}\r\n\r\nexport class Specialty implements ISpecialty {\r\n id!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: ISpecialty) {\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): Specialty {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Specialty();\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 ISpecialty {\r\n id: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class Attachment implements IAttachment {\r\n id!: string;\r\n type!: AttachmentType;\r\n attachmentBelongsTo!: AttachmentBelongsTo;\r\n attachmenUrlLocation!: AttachmenUrlLocation;\r\n name!: string | undefined;\r\n fileName!: string | undefined;\r\n url!: string | undefined;\r\n contentType!: string | undefined;\r\n createdOn!: Date;\r\n\r\n constructor(data?: IAttachment) {\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.type = _data[\"type\"];\r\n this.attachmentBelongsTo = _data[\"attachmentBelongsTo\"];\r\n this.attachmenUrlLocation = _data[\"attachmenUrlLocation\"];\r\n this.name = _data[\"name\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.url = _data[\"url\"];\r\n this.contentType = _data[\"contentType\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): Attachment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Attachment();\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[\"type\"] = this.type;\r\n data[\"attachmentBelongsTo\"] = this.attachmentBelongsTo;\r\n data[\"attachmenUrlLocation\"] = this.attachmenUrlLocation;\r\n data[\"name\"] = this.name;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"url\"] = this.url;\r\n data[\"contentType\"] = this.contentType;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachment {\r\n id: string;\r\n type: AttachmentType;\r\n attachmentBelongsTo: AttachmentBelongsTo;\r\n attachmenUrlLocation: AttachmenUrlLocation;\r\n name: string | undefined;\r\n fileName: string | undefined;\r\n url: string | undefined;\r\n contentType: string | undefined;\r\n createdOn: Date;\r\n}\r\n\r\nexport enum AttachmentType {\r\n Image = \"Image\",\r\n Video = \"Video\",\r\n PDF = \"PDF\",\r\n Document = \"Document\",\r\n}\r\n\r\nexport enum AttachmentBelongsTo {\r\n ContentItem = \"ContentItem\",\r\n DefaultFolioLogos = \"DefaultFolioLogos\",\r\n ProfilePicture = \"ProfilePicture\",\r\n UserContentUpload = \"UserContentUpload\",\r\n}\r\n\r\nexport enum AttachmenUrlLocation {\r\n BlobStorage = \"BlobStorage\",\r\n ExternalUrl = \"ExternalUrl\",\r\n}\r\n\r\nexport class AreaOfInterest implements IAreaOfInterest {\r\n id!: string;\r\n title!: string;\r\n parentArea!: AreaOfInterest | undefined;\r\n users!: UserProfile[] | undefined;\r\n contentItemVersions!: ContentItemVersion[] | undefined;\r\n\r\n constructor(data?: IAreaOfInterest) {\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.title = _data[\"title\"];\r\n this.parentArea = _data[\"parentArea\"] ? AreaOfInterest.fromJS(_data[\"parentArea\"]) : undefined;\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(UserProfile.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"contentItemVersions\"])) {\r\n this.contentItemVersions = [] as any;\r\n for (let item of _data[\"contentItemVersions\"])\r\n this.contentItemVersions!.push(ContentItemVersion.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AreaOfInterest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AreaOfInterest();\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[\"title\"] = this.title;\r\n data[\"parentArea\"] = this.parentArea ? this.parentArea.toJSON() : undefined;\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 if (Array.isArray(this.contentItemVersions)) {\r\n data[\"contentItemVersions\"] = [];\r\n for (let item of this.contentItemVersions)\r\n data[\"contentItemVersions\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAreaOfInterest {\r\n id: string;\r\n title: string;\r\n parentArea: AreaOfInterest | undefined;\r\n users: UserProfile[] | undefined;\r\n contentItemVersions: ContentItemVersion[] | undefined;\r\n}\r\n\r\nexport class UserContentItemVersion implements IUserContentItemVersion {\r\n id!: string;\r\n userId!: string | undefined;\r\n user!: ApplicationUser | undefined;\r\n contentType!: ContentItemType;\r\n contentItemVersionId!: string;\r\n contentItemVersion!: ContentItemVersion | undefined;\r\n searchRank!: number;\r\n\r\n constructor(data?: IUserContentItemVersion) {\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.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? ApplicationUser.fromJS(_data[\"user\"]) : undefined;\r\n this.contentType = _data[\"contentType\"];\r\n this.contentItemVersionId = _data[\"contentItemVersionId\"];\r\n this.contentItemVersion = _data[\"contentItemVersion\"] ? ContentItemVersion.fromJS(_data[\"contentItemVersion\"]) : undefined;\r\n this.searchRank = _data[\"searchRank\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserContentItemVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserContentItemVersion();\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[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"contentType\"] = this.contentType;\r\n data[\"contentItemVersionId\"] = this.contentItemVersionId;\r\n data[\"contentItemVersion\"] = this.contentItemVersion ? this.contentItemVersion.toJSON() : undefined;\r\n data[\"searchRank\"] = this.searchRank;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserContentItemVersion {\r\n id: string;\r\n userId: string | undefined;\r\n user: ApplicationUser | undefined;\r\n contentType: ContentItemType;\r\n contentItemVersionId: string;\r\n contentItemVersion: ContentItemVersion | undefined;\r\n searchRank: number;\r\n}\r\n\r\nexport class FolioContentItemVersion extends ContentItemVersion implements IFolioContentItemVersion {\r\n logo!: Attachment | undefined;\r\n clippings!: ContentItem[] | undefined;\r\n shareLevel!: FolioShareLevel;\r\n users!: FolioUsers[] | undefined;\r\n\r\n constructor(data?: IFolioContentItemVersion) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.logo = _data[\"logo\"] ? Attachment.fromJS(_data[\"logo\"]) : undefined;\r\n if (Array.isArray(_data[\"clippings\"])) {\r\n this.clippings = [] as any;\r\n for (let item of _data[\"clippings\"])\r\n this.clippings!.push(ContentItem.fromJS(item));\r\n }\r\n this.shareLevel = _data[\"shareLevel\"];\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(FolioUsers.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FolioContentItemVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FolioContentItemVersion();\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[\"logo\"] = this.logo ? this.logo.toJSON() : undefined;\r\n if (Array.isArray(this.clippings)) {\r\n data[\"clippings\"] = [];\r\n for (let item of this.clippings)\r\n data[\"clippings\"].push(item.toJSON());\r\n }\r\n data[\"shareLevel\"] = this.shareLevel;\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 super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFolioContentItemVersion extends IContentItemVersion {\r\n logo: Attachment | undefined;\r\n clippings: ContentItem[] | undefined;\r\n shareLevel: FolioShareLevel;\r\n users: FolioUsers[] | undefined;\r\n}\r\n\r\nexport class FolioUsers implements IFolioUsers {\r\n id!: string;\r\n user!: ApplicationUser | undefined;\r\n folio!: FolioContentItemVersion | undefined;\r\n status!: FolioInvitationStatus;\r\n\r\n constructor(data?: IFolioUsers) {\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.user = _data[\"user\"] ? ApplicationUser.fromJS(_data[\"user\"]) : undefined;\r\n this.folio = _data[\"folio\"] ? FolioContentItemVersion.fromJS(_data[\"folio\"]) : undefined;\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FolioUsers {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FolioUsers();\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[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"folio\"] = this.folio ? this.folio.toJSON() : undefined;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFolioUsers {\r\n id: string;\r\n user: ApplicationUser | undefined;\r\n folio: FolioContentItemVersion | undefined;\r\n status: FolioInvitationStatus;\r\n}\r\n\r\nexport enum FolioInvitationStatus {\r\n Pending = \"Pending\",\r\n Accepted = \"Accepted\",\r\n Declined = \"Declined\",\r\n}\r\n\r\nexport class Source implements ISource {\r\n id!: string;\r\n name!: string | undefined;\r\n regionId!: string;\r\n region!: Region | undefined;\r\n createdOn!: Date;\r\n modifiedOn!: Date;\r\n contentItems!: ContentItemVersion[] | undefined;\r\n drugs!: DrugContentItemVersion[] | undefined;\r\n\r\n constructor(data?: ISource) {\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.regionId = _data[\"regionId\"];\r\n this.region = _data[\"region\"] ? Region.fromJS(_data[\"region\"]) : undefined;\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 if (Array.isArray(_data[\"contentItems\"])) {\r\n this.contentItems = [] as any;\r\n for (let item of _data[\"contentItems\"])\r\n this.contentItems!.push(ContentItemVersion.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"drugs\"])) {\r\n this.drugs = [] as any;\r\n for (let item of _data[\"drugs\"])\r\n this.drugs!.push(DrugContentItemVersion.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Source {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Source();\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[\"regionId\"] = this.regionId;\r\n data[\"region\"] = this.region ? this.region.toJSON() : undefined;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"modifiedOn\"] = this.modifiedOn ? this.modifiedOn.toISOString() : undefined;\r\n if (Array.isArray(this.contentItems)) {\r\n data[\"contentItems\"] = [];\r\n for (let item of this.contentItems)\r\n data[\"contentItems\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.drugs)) {\r\n data[\"drugs\"] = [];\r\n for (let item of this.drugs)\r\n data[\"drugs\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISource {\r\n id: string;\r\n name: string | undefined;\r\n regionId: string;\r\n region: Region | undefined;\r\n createdOn: Date;\r\n modifiedOn: Date;\r\n contentItems: ContentItemVersion[] | undefined;\r\n drugs: DrugContentItemVersion[] | undefined;\r\n}\r\n\r\nexport class Region implements IRegion {\r\n id!: string;\r\n countryId!: string | undefined;\r\n country!: Country | undefined;\r\n languageId!: string | undefined;\r\n language!: Language | undefined;\r\n identifier!: string | undefined;\r\n name!: string | undefined;\r\n sources!: Source[] | undefined;\r\n\r\n constructor(data?: IRegion) {\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.countryId = _data[\"countryId\"];\r\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\r\n this.languageId = _data[\"languageId\"];\r\n this.language = _data[\"language\"] ? Language.fromJS(_data[\"language\"]) : undefined;\r\n this.identifier = _data[\"identifier\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"sources\"])) {\r\n this.sources = [] as any;\r\n for (let item of _data[\"sources\"])\r\n this.sources!.push(Source.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Region {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Region();\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[\"countryId\"] = this.countryId;\r\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\r\n data[\"languageId\"] = this.languageId;\r\n data[\"language\"] = this.language ? this.language.toJSON() : undefined;\r\n data[\"identifier\"] = this.identifier;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.sources)) {\r\n data[\"sources\"] = [];\r\n for (let item of this.sources)\r\n data[\"sources\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRegion {\r\n id: string;\r\n countryId: string | undefined;\r\n country: Country | undefined;\r\n languageId: string | undefined;\r\n language: Language | undefined;\r\n identifier: string | undefined;\r\n name: string | undefined;\r\n sources: Source[] | undefined;\r\n}\r\n\r\nexport class Country implements ICountry {\r\n id!: string | undefined;\r\n name!: string | undefined;\r\n regions!: Region[] | undefined;\r\n states!: State[] | undefined;\r\n\r\n constructor(data?: ICountry) {\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 if (Array.isArray(_data[\"regions\"])) {\r\n this.regions = [] as any;\r\n for (let item of _data[\"regions\"])\r\n this.regions!.push(Region.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"states\"])) {\r\n this.states = [] as any;\r\n for (let item of _data[\"states\"])\r\n this.states!.push(State.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Country {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Country();\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 if (Array.isArray(this.regions)) {\r\n data[\"regions\"] = [];\r\n for (let item of this.regions)\r\n data[\"regions\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.states)) {\r\n data[\"states\"] = [];\r\n for (let item of this.states)\r\n data[\"states\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountry {\r\n id: string | undefined;\r\n name: string | undefined;\r\n regions: Region[] | undefined;\r\n states: State[] | undefined;\r\n}\r\n\r\nexport class State implements IState {\r\n id!: string;\r\n name!: string | undefined;\r\n countryId!: string | undefined;\r\n country!: Country | undefined;\r\n\r\n constructor(data?: IState) {\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.countryId = _data[\"countryId\"];\r\n this.country = _data[\"country\"] ? Country.fromJS(_data[\"country\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): State {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new State();\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[\"countryId\"] = this.countryId;\r\n data[\"country\"] = this.country ? this.country.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IState {\r\n id: string;\r\n name: string | undefined;\r\n countryId: string | undefined;\r\n country: Country | undefined;\r\n}\r\n\r\nexport class Language implements ILanguage {\r\n id!: string | undefined;\r\n name!: string | undefined;\r\n regions!: Region[] | undefined;\r\n\r\n constructor(data?: ILanguage) {\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 if (Array.isArray(_data[\"regions\"])) {\r\n this.regions = [] as any;\r\n for (let item of _data[\"regions\"])\r\n this.regions!.push(Region.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Language {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Language();\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 if (Array.isArray(this.regions)) {\r\n data[\"regions\"] = [];\r\n for (let item of this.regions)\r\n data[\"regions\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILanguage {\r\n id: string | undefined;\r\n name: string | undefined;\r\n regions: Region[] | undefined;\r\n}\r\n\r\n/** Represents a lexeme. A lexeme consists of a text string and optional word entry positions. */\r\nexport class Lexeme implements ILexeme {\r\n /** Gets or sets the text. */\r\n text!: string;\r\n /** Gets the number of word entry positions. */\r\n count!: number;\r\n\r\n constructor(data?: ILexeme) {\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.text = _data[\"text\"];\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Lexeme {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Lexeme();\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[\"text\"] = this.text;\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\n/** Represents a lexeme. A lexeme consists of a text string and optional word entry positions. */\r\nexport interface ILexeme {\r\n /** Gets or sets the text. */\r\n text: string;\r\n /** Gets the number of word entry positions. */\r\n count: number;\r\n}\r\n\r\nexport class ContentItemVersionView implements IContentItemVersionView {\r\n id!: string;\r\n userId!: string | undefined;\r\n user!: ApplicationUser | undefined;\r\n contentItemVersionId!: string;\r\n contentItemVersion!: ContentItemVersion | undefined;\r\n viewedOn!: Date;\r\n\r\n constructor(data?: IContentItemVersionView) {\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.userId = _data[\"userId\"];\r\n this.user = _data[\"user\"] ? ApplicationUser.fromJS(_data[\"user\"]) : undefined;\r\n this.contentItemVersionId = _data[\"contentItemVersionId\"];\r\n this.contentItemVersion = _data[\"contentItemVersion\"] ? ContentItemVersion.fromJS(_data[\"contentItemVersion\"]) : undefined;\r\n this.viewedOn = _data[\"viewedOn\"] ? new Date(_data[\"viewedOn\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemVersionView {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemVersionView();\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[\"userId\"] = this.userId;\r\n data[\"user\"] = this.user ? this.user.toJSON() : undefined;\r\n data[\"contentItemVersionId\"] = this.contentItemVersionId;\r\n data[\"contentItemVersion\"] = this.contentItemVersion ? this.contentItemVersion.toJSON() : undefined;\r\n data[\"viewedOn\"] = this.viewedOn ? this.viewedOn.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemVersionView {\r\n id: string;\r\n userId: string | undefined;\r\n user: ApplicationUser | undefined;\r\n contentItemVersionId: string;\r\n contentItemVersion: ContentItemVersion | undefined;\r\n viewedOn: Date;\r\n}\r\n\r\nexport class DrugIngredient implements IDrugIngredient {\r\n id!: string;\r\n drugContentItemVersionId!: string;\r\n drugContentItemVersion!: DrugContentItemVersion | undefined;\r\n ingredientContentItemVersionId!: string;\r\n ingredientContentItemVersion!: IngredientContentItemVersion | undefined;\r\n dosage!: number | undefined;\r\n dosageUnit!: string | undefined;\r\n strength!: number | undefined;\r\n strengthUnit!: string | undefined;\r\n\r\n constructor(data?: IDrugIngredient) {\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 drug_code: string | undefined;\r\n ingredient_name: string | undefined;\r\n dosage_value: number | undefined;\r\n dosage_unit: string | undefined;\r\n strength_unit: string | undefined;\r\n original_url: string | undefined;\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.drugContentItemVersionId = _data[\"drugContentItemVersionId\"];\r\n this.drugContentItemVersion = _data[\"drugContentItemVersion\"] ? DrugContentItemVersion.fromJS(_data[\"drugContentItemVersion\"]) : undefined;\r\n this.ingredientContentItemVersionId = _data[\"ingredientContentItemVersionId\"];\r\n this.ingredientContentItemVersion = _data[\"ingredientContentItemVersion\"] ? IngredientContentItemVersion.fromJS(_data[\"ingredientContentItemVersion\"]) : undefined;\r\n this.dosage = _data[\"dosage\"];\r\n this.dosageUnit = _data[\"dosageUnit\"];\r\n this.strength = _data[\"strength\"];\r\n this.strengthUnit = _data[\"strengthUnit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugIngredient {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugIngredient();\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[\"drugContentItemVersionId\"] = this.drugContentItemVersionId;\r\n data[\"drugContentItemVersion\"] = this.drugContentItemVersion ? this.drugContentItemVersion.toJSON() : undefined;\r\n data[\"ingredientContentItemVersionId\"] = this.ingredientContentItemVersionId;\r\n data[\"ingredientContentItemVersion\"] = this.ingredientContentItemVersion ? this.ingredientContentItemVersion.toJSON() : undefined;\r\n data[\"dosage\"] = this.dosage;\r\n data[\"dosageUnit\"] = this.dosageUnit;\r\n data[\"strength\"] = this.strength;\r\n data[\"strengthUnit\"] = this.strengthUnit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugIngredient {\r\n id: string;\r\n drugContentItemVersionId: string;\r\n drugContentItemVersion: DrugContentItemVersion | undefined;\r\n ingredientContentItemVersionId: string;\r\n ingredientContentItemVersion: IngredientContentItemVersion | undefined;\r\n dosage: number | undefined;\r\n dosageUnit: string | undefined;\r\n strength: number | undefined;\r\n strengthUnit: string | undefined;\r\n}\r\n\r\nexport class IngredientContentItemVersion extends ContentItemVersion implements IIngredientContentItemVersion {\r\n name!: string | undefined;\r\n drugIngredients!: DrugIngredient[] | undefined;\r\n\r\n constructor(data?: IIngredientContentItemVersion) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"drugIngredients\"])) {\r\n this.drugIngredients = [] as any;\r\n for (let item of _data[\"drugIngredients\"])\r\n this.drugIngredients!.push(DrugIngredient.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IngredientContentItemVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IngredientContentItemVersion();\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 if (Array.isArray(this.drugIngredients)) {\r\n data[\"drugIngredients\"] = [];\r\n for (let item of this.drugIngredients)\r\n data[\"drugIngredients\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIngredientContentItemVersion extends IContentItemVersion {\r\n name: string | undefined;\r\n drugIngredients: DrugIngredient[] | undefined;\r\n}\r\n\r\nexport class TherapeuticClass implements ITherapeuticClass {\r\n id!: string;\r\n code!: string | undefined;\r\n name!: string | undefined;\r\n drugs!: DrugContentItemVersion[] | undefined;\r\n\r\n constructor(data?: ITherapeuticClass) {\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.code = _data[\"code\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"drugs\"])) {\r\n this.drugs = [] as any;\r\n for (let item of _data[\"drugs\"])\r\n this.drugs!.push(DrugContentItemVersion.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TherapeuticClass {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TherapeuticClass();\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[\"code\"] = this.code;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.drugs)) {\r\n data[\"drugs\"] = [];\r\n for (let item of this.drugs)\r\n data[\"drugs\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITherapeuticClass {\r\n id: string;\r\n code: string | undefined;\r\n name: string | undefined;\r\n drugs: DrugContentItemVersion[] | undefined;\r\n}\r\n\r\nexport class DraftUserArticleContentItemSummaryResult extends ContentItemSummaryResult implements IDraftUserArticleContentItemSummaryResult {\r\n postedBy!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n isPublished!: boolean;\r\n publishedOn!: Date | undefined;\r\n\r\n constructor(data?: IDraftUserArticleContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"DraftUserArticleContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.postedBy = _data[\"postedBy\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.isPublished = _data[\"isPublished\"];\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DraftUserArticleContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DraftUserArticleContentItemSummaryResult();\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[\"postedBy\"] = this.postedBy;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"isPublished\"] = this.isPublished;\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDraftUserArticleContentItemSummaryResult extends IContentItemSummaryResult {\r\n postedBy: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n isPublished: boolean;\r\n publishedOn: Date | undefined;\r\n}\r\n\r\nexport class UserArticleContentItemSummaryResult extends ContentItemSummaryResult implements IUserArticleContentItemSummaryResult {\r\n authors!: string[] | undefined;\r\n\r\n constructor(data?: IUserArticleContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"UserArticleContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserArticleContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserArticleContentItemSummaryResult();\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.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserArticleContentItemSummaryResult extends IContentItemSummaryResult {\r\n authors: string[] | undefined;\r\n}\r\n\r\nexport class UserExternalLinkContentItemSummaryResult extends ContentItemSummaryResult implements IUserExternalLinkContentItemSummaryResult {\r\n externalLinkType!: ExternalLinkType;\r\n externalLink!: string | undefined;\r\n authors!: string[] | undefined;\r\n\r\n constructor(data?: IUserExternalLinkContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"UserExternalLinkContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.externalLinkType = _data[\"externalLinkType\"];\r\n this.externalLink = _data[\"externalLink\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserExternalLinkContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserExternalLinkContentItemSummaryResult();\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[\"externalLinkType\"] = this.externalLinkType;\r\n data[\"externalLink\"] = this.externalLink;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserExternalLinkContentItemSummaryResult extends IContentItemSummaryResult {\r\n externalLinkType: ExternalLinkType;\r\n externalLink: string | undefined;\r\n authors: string[] | undefined;\r\n}\r\n\r\nexport enum ExternalLinkType {\r\n Journal = \"Journal\",\r\n Article = \"Article\",\r\n Facebook = \"Facebook\",\r\n Instagram = \"Instagram\",\r\n YouTube = \"YouTube\",\r\n LinkedIn = \"LinkedIn\",\r\n Twitter = \"Twitter\",\r\n}\r\n\r\nexport class DraftUserExternalLinkContentItemSummaryResult extends ContentItemSummaryResult implements IDraftUserExternalLinkContentItemSummaryResult {\r\n externalLinkType!: ExternalLinkType;\r\n externalLink!: string | undefined;\r\n postedBy!: string | undefined;\r\n isPublished!: boolean;\r\n publishedOn!: Date | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n\r\n constructor(data?: IDraftUserExternalLinkContentItemSummaryResult) {\r\n super(data);\r\n this._discriminator = \"DraftUserExternalLinkContentItemSummaryResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.externalLinkType = _data[\"externalLinkType\"];\r\n this.externalLink = _data[\"externalLink\"];\r\n this.postedBy = _data[\"postedBy\"];\r\n this.isPublished = _data[\"isPublished\"];\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DraftUserExternalLinkContentItemSummaryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DraftUserExternalLinkContentItemSummaryResult();\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[\"externalLinkType\"] = this.externalLinkType;\r\n data[\"externalLink\"] = this.externalLink;\r\n data[\"postedBy\"] = this.postedBy;\r\n data[\"isPublished\"] = this.isPublished;\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDraftUserExternalLinkContentItemSummaryResult extends IContentItemSummaryResult {\r\n externalLinkType: ExternalLinkType;\r\n externalLink: string | undefined;\r\n postedBy: string | undefined;\r\n isPublished: boolean;\r\n publishedOn: Date | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n}\r\n\r\nexport class CreateDraftUserArticle implements ICreateDraftUserArticle {\r\n title!: string | undefined;\r\n attachmentIds!: string[] | undefined;\r\n imageIds!: string[] | undefined;\r\n featuredImageId!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n content!: string | undefined;\r\n publishedOn!: Date | undefined;\r\n voiceOf!: string | undefined;\r\n userId!: string | undefined;\r\n promotedBy!: string | undefined;\r\n\r\n constructor(data?: ICreateDraftUserArticle) {\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.title = _data[\"title\"];\r\n if (Array.isArray(_data[\"attachmentIds\"])) {\r\n this.attachmentIds = [] as any;\r\n for (let item of _data[\"attachmentIds\"])\r\n this.attachmentIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"imageIds\"])) {\r\n this.imageIds = [] as any;\r\n for (let item of _data[\"imageIds\"])\r\n this.imageIds!.push(item);\r\n }\r\n this.featuredImageId = _data[\"featuredImageId\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.content = _data[\"content\"];\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n this.voiceOf = _data[\"voiceOf\"];\r\n this.userId = _data[\"userId\"];\r\n this.promotedBy = _data[\"promotedBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateDraftUserArticle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateDraftUserArticle();\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[\"title\"] = this.title;\r\n if (Array.isArray(this.attachmentIds)) {\r\n data[\"attachmentIds\"] = [];\r\n for (let item of this.attachmentIds)\r\n data[\"attachmentIds\"].push(item);\r\n }\r\n if (Array.isArray(this.imageIds)) {\r\n data[\"imageIds\"] = [];\r\n for (let item of this.imageIds)\r\n data[\"imageIds\"].push(item);\r\n }\r\n data[\"featuredImageId\"] = this.featuredImageId;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"content\"] = this.content;\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n data[\"voiceOf\"] = this.voiceOf;\r\n data[\"userId\"] = this.userId;\r\n data[\"promotedBy\"] = this.promotedBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateDraftUserArticle {\r\n title: string | undefined;\r\n attachmentIds: string[] | undefined;\r\n imageIds: string[] | undefined;\r\n featuredImageId: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n content: string | undefined;\r\n publishedOn: Date | undefined;\r\n voiceOf: string | undefined;\r\n userId: string | undefined;\r\n promotedBy: string | undefined;\r\n}\r\n\r\nexport class UpdateDraftUserArticle implements IUpdateDraftUserArticle {\r\n title!: string | undefined;\r\n attachmentIds!: string[] | undefined;\r\n imageIds!: string[] | undefined;\r\n featuredImageId!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n content!: string | undefined;\r\n publishedOn!: Date | undefined;\r\n voiceOf!: string | undefined;\r\n userId!: string | undefined;\r\n promotedBy!: string | undefined;\r\n\r\n constructor(data?: IUpdateDraftUserArticle) {\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.title = _data[\"title\"];\r\n if (Array.isArray(_data[\"attachmentIds\"])) {\r\n this.attachmentIds = [] as any;\r\n for (let item of _data[\"attachmentIds\"])\r\n this.attachmentIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"imageIds\"])) {\r\n this.imageIds = [] as any;\r\n for (let item of _data[\"imageIds\"])\r\n this.imageIds!.push(item);\r\n }\r\n this.featuredImageId = _data[\"featuredImageId\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.content = _data[\"content\"];\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n this.voiceOf = _data[\"voiceOf\"];\r\n this.userId = _data[\"userId\"];\r\n this.promotedBy = _data[\"promotedBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateDraftUserArticle {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateDraftUserArticle();\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[\"title\"] = this.title;\r\n if (Array.isArray(this.attachmentIds)) {\r\n data[\"attachmentIds\"] = [];\r\n for (let item of this.attachmentIds)\r\n data[\"attachmentIds\"].push(item);\r\n }\r\n if (Array.isArray(this.imageIds)) {\r\n data[\"imageIds\"] = [];\r\n for (let item of this.imageIds)\r\n data[\"imageIds\"].push(item);\r\n }\r\n data[\"featuredImageId\"] = this.featuredImageId;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"content\"] = this.content;\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n data[\"voiceOf\"] = this.voiceOf;\r\n data[\"userId\"] = this.userId;\r\n data[\"promotedBy\"] = this.promotedBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateDraftUserArticle {\r\n title: string | undefined;\r\n attachmentIds: string[] | undefined;\r\n imageIds: string[] | undefined;\r\n featuredImageId: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n content: string | undefined;\r\n publishedOn: Date | undefined;\r\n voiceOf: string | undefined;\r\n userId: string | undefined;\r\n promotedBy: string | undefined;\r\n}\r\n\r\nexport class CreateDraftUserExternalLink implements ICreateDraftUserExternalLink {\r\n title!: string | undefined;\r\n summary!: string | undefined;\r\n attachmentIds!: string[] | undefined;\r\n imageIds!: string[] | undefined;\r\n featuredImageId!: string | undefined;\r\n userId!: string | undefined;\r\n externalLinkType!: ExternalLinkType;\r\n externalLink!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n publishedOn!: Date | undefined;\r\n voiceOf!: string | undefined;\r\n promotedBy!: string | undefined;\r\n\r\n constructor(data?: ICreateDraftUserExternalLink) {\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.title = _data[\"title\"];\r\n this.summary = _data[\"summary\"];\r\n if (Array.isArray(_data[\"attachmentIds\"])) {\r\n this.attachmentIds = [] as any;\r\n for (let item of _data[\"attachmentIds\"])\r\n this.attachmentIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"imageIds\"])) {\r\n this.imageIds = [] as any;\r\n for (let item of _data[\"imageIds\"])\r\n this.imageIds!.push(item);\r\n }\r\n this.featuredImageId = _data[\"featuredImageId\"];\r\n this.userId = _data[\"userId\"];\r\n this.externalLinkType = _data[\"externalLinkType\"];\r\n this.externalLink = _data[\"externalLink\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n this.voiceOf = _data[\"voiceOf\"];\r\n this.promotedBy = _data[\"promotedBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateDraftUserExternalLink {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateDraftUserExternalLink();\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[\"title\"] = this.title;\r\n data[\"summary\"] = this.summary;\r\n if (Array.isArray(this.attachmentIds)) {\r\n data[\"attachmentIds\"] = [];\r\n for (let item of this.attachmentIds)\r\n data[\"attachmentIds\"].push(item);\r\n }\r\n if (Array.isArray(this.imageIds)) {\r\n data[\"imageIds\"] = [];\r\n for (let item of this.imageIds)\r\n data[\"imageIds\"].push(item);\r\n }\r\n data[\"featuredImageId\"] = this.featuredImageId;\r\n data[\"userId\"] = this.userId;\r\n data[\"externalLinkType\"] = this.externalLinkType;\r\n data[\"externalLink\"] = this.externalLink;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n data[\"voiceOf\"] = this.voiceOf;\r\n data[\"promotedBy\"] = this.promotedBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateDraftUserExternalLink {\r\n title: string | undefined;\r\n summary: string | undefined;\r\n attachmentIds: string[] | undefined;\r\n imageIds: string[] | undefined;\r\n featuredImageId: string | undefined;\r\n userId: string | undefined;\r\n externalLinkType: ExternalLinkType;\r\n externalLink: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n publishedOn: Date | undefined;\r\n voiceOf: string | undefined;\r\n promotedBy: string | undefined;\r\n}\r\n\r\nexport class UpdateDraftUserExternalLink implements IUpdateDraftUserExternalLink {\r\n title!: string | undefined;\r\n summary!: string | undefined;\r\n attachmentIds!: string[] | undefined;\r\n imageIds!: string[] | undefined;\r\n featuredImageId!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n externalLinkType!: ExternalLinkType;\r\n externalLink!: string | undefined;\r\n publishedOn!: Date | undefined;\r\n voiceOf!: string | undefined;\r\n userId!: string | undefined;\r\n promotedBy!: string | undefined;\r\n\r\n constructor(data?: IUpdateDraftUserExternalLink) {\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.title = _data[\"title\"];\r\n this.summary = _data[\"summary\"];\r\n if (Array.isArray(_data[\"attachmentIds\"])) {\r\n this.attachmentIds = [] as any;\r\n for (let item of _data[\"attachmentIds\"])\r\n this.attachmentIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"imageIds\"])) {\r\n this.imageIds = [] as any;\r\n for (let item of _data[\"imageIds\"])\r\n this.imageIds!.push(item);\r\n }\r\n this.featuredImageId = _data[\"featuredImageId\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.externalLinkType = _data[\"externalLinkType\"];\r\n this.externalLink = _data[\"externalLink\"];\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n this.voiceOf = _data[\"voiceOf\"];\r\n this.userId = _data[\"userId\"];\r\n this.promotedBy = _data[\"promotedBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateDraftUserExternalLink {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateDraftUserExternalLink();\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[\"title\"] = this.title;\r\n data[\"summary\"] = this.summary;\r\n if (Array.isArray(this.attachmentIds)) {\r\n data[\"attachmentIds\"] = [];\r\n for (let item of this.attachmentIds)\r\n data[\"attachmentIds\"].push(item);\r\n }\r\n if (Array.isArray(this.imageIds)) {\r\n data[\"imageIds\"] = [];\r\n for (let item of this.imageIds)\r\n data[\"imageIds\"].push(item);\r\n }\r\n data[\"featuredImageId\"] = this.featuredImageId;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"externalLinkType\"] = this.externalLinkType;\r\n data[\"externalLink\"] = this.externalLink;\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n data[\"voiceOf\"] = this.voiceOf;\r\n data[\"userId\"] = this.userId;\r\n data[\"promotedBy\"] = this.promotedBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateDraftUserExternalLink {\r\n title: string | undefined;\r\n summary: string | undefined;\r\n attachmentIds: string[] | undefined;\r\n imageIds: string[] | undefined;\r\n featuredImageId: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n externalLinkType: ExternalLinkType;\r\n externalLink: string | undefined;\r\n publishedOn: Date | undefined;\r\n voiceOf: string | undefined;\r\n userId: string | undefined;\r\n promotedBy: string | undefined;\r\n}\r\n\r\nexport class UpdateProfileDto implements IUpdateProfileDto {\r\n userId!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n location!: string | undefined;\r\n specialty!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n phoneExtension!: string | undefined;\r\n qualifications!: string[] | undefined;\r\n areasOfInterestIds!: string[] | undefined;\r\n isTakingPatients!: boolean | undefined;\r\n bio!: string | undefined;\r\n\r\n constructor(data?: IUpdateProfileDto) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.location = _data[\"location\"];\r\n this.specialty = _data[\"specialty\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.phoneExtension = _data[\"phoneExtension\"];\r\n if (Array.isArray(_data[\"qualifications\"])) {\r\n this.qualifications = [] as any;\r\n for (let item of _data[\"qualifications\"])\r\n this.qualifications!.push(item);\r\n }\r\n if (Array.isArray(_data[\"areasOfInterestIds\"])) {\r\n this.areasOfInterestIds = [] as any;\r\n for (let item of _data[\"areasOfInterestIds\"])\r\n this.areasOfInterestIds!.push(item);\r\n }\r\n this.isTakingPatients = _data[\"isTakingPatients\"];\r\n this.bio = _data[\"bio\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateProfileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateProfileDto();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"location\"] = this.location;\r\n data[\"specialty\"] = this.specialty;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"phoneExtension\"] = this.phoneExtension;\r\n if (Array.isArray(this.qualifications)) {\r\n data[\"qualifications\"] = [];\r\n for (let item of this.qualifications)\r\n data[\"qualifications\"].push(item);\r\n }\r\n if (Array.isArray(this.areasOfInterestIds)) {\r\n data[\"areasOfInterestIds\"] = [];\r\n for (let item of this.areasOfInterestIds)\r\n data[\"areasOfInterestIds\"].push(item);\r\n }\r\n data[\"isTakingPatients\"] = this.isTakingPatients;\r\n data[\"bio\"] = this.bio;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateProfileDto {\r\n userId: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n location: string | undefined;\r\n specialty: string | undefined;\r\n phoneNumber: string | undefined;\r\n phoneExtension: string | undefined;\r\n qualifications: string[] | undefined;\r\n areasOfInterestIds: string[] | undefined;\r\n isTakingPatients: boolean | undefined;\r\n bio: string | undefined;\r\n}\r\n\r\nexport class ProfileDto implements IProfileDto {\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n location!: string | undefined;\r\n specialty!: SpecialtyDto | undefined;\r\n phoneNumber!: string | undefined;\r\n phoneExtension!: string | undefined;\r\n qualifications!: string[] | undefined;\r\n email!: string | undefined;\r\n areasOfInterest!: AreaOfInterestDto[] | undefined;\r\n followingUserIds!: string[] | undefined;\r\n isTakingPatients!: boolean | undefined;\r\n profilePictureAttachmentId!: string | undefined;\r\n isFollowed!: boolean;\r\n bio!: string | undefined;\r\n roles!: string[] | undefined;\r\n\r\n constructor(data?: IProfileDto) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.location = _data[\"location\"];\r\n this.specialty = _data[\"specialty\"] ? SpecialtyDto.fromJS(_data[\"specialty\"]) : undefined;\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.phoneExtension = _data[\"phoneExtension\"];\r\n if (Array.isArray(_data[\"qualifications\"])) {\r\n this.qualifications = [] as any;\r\n for (let item of _data[\"qualifications\"])\r\n this.qualifications!.push(item);\r\n }\r\n this.email = _data[\"email\"];\r\n if (Array.isArray(_data[\"areasOfInterest\"])) {\r\n this.areasOfInterest = [] as any;\r\n for (let item of _data[\"areasOfInterest\"])\r\n this.areasOfInterest!.push(AreaOfInterestDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"followingUserIds\"])) {\r\n this.followingUserIds = [] as any;\r\n for (let item of _data[\"followingUserIds\"])\r\n this.followingUserIds!.push(item);\r\n }\r\n this.isTakingPatients = _data[\"isTakingPatients\"];\r\n this.profilePictureAttachmentId = _data[\"profilePictureAttachmentId\"];\r\n this.isFollowed = _data[\"isFollowed\"];\r\n this.bio = _data[\"bio\"];\r\n if (Array.isArray(_data[\"roles\"])) {\r\n this.roles = [] as any;\r\n for (let item of _data[\"roles\"])\r\n this.roles!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProfileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProfileDto();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"location\"] = this.location;\r\n data[\"specialty\"] = this.specialty ? this.specialty.toJSON() : undefined;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"phoneExtension\"] = this.phoneExtension;\r\n if (Array.isArray(this.qualifications)) {\r\n data[\"qualifications\"] = [];\r\n for (let item of this.qualifications)\r\n data[\"qualifications\"].push(item);\r\n }\r\n data[\"email\"] = this.email;\r\n if (Array.isArray(this.areasOfInterest)) {\r\n data[\"areasOfInterest\"] = [];\r\n for (let item of this.areasOfInterest)\r\n data[\"areasOfInterest\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.followingUserIds)) {\r\n data[\"followingUserIds\"] = [];\r\n for (let item of this.followingUserIds)\r\n data[\"followingUserIds\"].push(item);\r\n }\r\n data[\"isTakingPatients\"] = this.isTakingPatients;\r\n data[\"profilePictureAttachmentId\"] = this.profilePictureAttachmentId;\r\n data[\"isFollowed\"] = this.isFollowed;\r\n data[\"bio\"] = this.bio;\r\n if (Array.isArray(this.roles)) {\r\n data[\"roles\"] = [];\r\n for (let item of this.roles)\r\n data[\"roles\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProfileDto {\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n location: string | undefined;\r\n specialty: SpecialtyDto | undefined;\r\n phoneNumber: string | undefined;\r\n phoneExtension: string | undefined;\r\n qualifications: string[] | undefined;\r\n email: string | undefined;\r\n areasOfInterest: AreaOfInterestDto[] | undefined;\r\n followingUserIds: string[] | undefined;\r\n isTakingPatients: boolean | undefined;\r\n profilePictureAttachmentId: string | undefined;\r\n isFollowed: boolean;\r\n bio: string | undefined;\r\n roles: string[] | undefined;\r\n}\r\n\r\nexport class SpecialtyDto implements ISpecialtyDto {\r\n id!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: ISpecialtyDto) {\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): SpecialtyDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SpecialtyDto();\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 ISpecialtyDto {\r\n id: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class AreaOfInterestDto implements IAreaOfInterestDto {\r\n id!: string;\r\n title!: string | undefined;\r\n parent!: AreaOfInterestDto | undefined;\r\n\r\n constructor(data?: IAreaOfInterestDto) {\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.title = _data[\"title\"];\r\n this.parent = _data[\"parent\"] ? AreaOfInterestDto.fromJS(_data[\"parent\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AreaOfInterestDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AreaOfInterestDto();\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[\"title\"] = this.title;\r\n data[\"parent\"] = this.parent ? this.parent.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAreaOfInterestDto {\r\n id: string;\r\n title: string | undefined;\r\n parent: AreaOfInterestDto | undefined;\r\n}\r\n\r\nexport class ProfileSummaryDto implements IProfileSummaryDto {\r\n userId!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n bio!: string | undefined;\r\n profilePictureAttachmentId!: string | undefined;\r\n isFollowed!: boolean;\r\n\r\n constructor(data?: IProfileSummaryDto) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.bio = _data[\"bio\"];\r\n this.profilePictureAttachmentId = _data[\"profilePictureAttachmentId\"];\r\n this.isFollowed = _data[\"isFollowed\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProfileSummaryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProfileSummaryDto();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"bio\"] = this.bio;\r\n data[\"profilePictureAttachmentId\"] = this.profilePictureAttachmentId;\r\n data[\"isFollowed\"] = this.isFollowed;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProfileSummaryDto {\r\n userId: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n bio: string | undefined;\r\n profilePictureAttachmentId: string | undefined;\r\n isFollowed: boolean;\r\n}\r\n\r\nexport class SearchProfileDto implements ISearchProfileDto {\r\n id!: string;\r\n userId!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n location!: string | undefined;\r\n speciality!: string | undefined;\r\n isAcceptingNewPatients!: boolean | undefined;\r\n telephoneNumber!: string | undefined;\r\n telephoneExtension!: string | undefined;\r\n profilePictureAttachmentId!: string | undefined;\r\n\r\n constructor(data?: ISearchProfileDto) {\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.userId = _data[\"userId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.location = _data[\"location\"];\r\n this.speciality = _data[\"speciality\"];\r\n this.isAcceptingNewPatients = _data[\"isAcceptingNewPatients\"];\r\n this.telephoneNumber = _data[\"telephoneNumber\"];\r\n this.telephoneExtension = _data[\"telephoneExtension\"];\r\n this.profilePictureAttachmentId = _data[\"profilePictureAttachmentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchProfileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchProfileDto();\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[\"userId\"] = this.userId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"location\"] = this.location;\r\n data[\"speciality\"] = this.speciality;\r\n data[\"isAcceptingNewPatients\"] = this.isAcceptingNewPatients;\r\n data[\"telephoneNumber\"] = this.telephoneNumber;\r\n data[\"telephoneExtension\"] = this.telephoneExtension;\r\n data[\"profilePictureAttachmentId\"] = this.profilePictureAttachmentId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchProfileDto {\r\n id: string;\r\n userId: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n location: string | undefined;\r\n speciality: string | undefined;\r\n isAcceptingNewPatients: boolean | undefined;\r\n telephoneNumber: string | undefined;\r\n telephoneExtension: string | undefined;\r\n profilePictureAttachmentId: string | undefined;\r\n}\r\n\r\nexport class SearchProfileRequest implements ISearchProfileRequest {\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n location!: string | undefined;\r\n speciality!: string | undefined;\r\n subSpecialty!: string | undefined;\r\n acceptingNewPatients!: boolean | undefined;\r\n\r\n constructor(data?: ISearchProfileRequest) {\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.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.location = _data[\"location\"];\r\n this.speciality = _data[\"speciality\"];\r\n this.subSpecialty = _data[\"subSpecialty\"];\r\n this.acceptingNewPatients = _data[\"acceptingNewPatients\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchProfileRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchProfileRequest();\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[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"location\"] = this.location;\r\n data[\"speciality\"] = this.speciality;\r\n data[\"subSpecialty\"] = this.subSpecialty;\r\n data[\"acceptingNewPatients\"] = this.acceptingNewPatients;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchProfileRequest {\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n location: string | undefined;\r\n speciality: string | undefined;\r\n subSpecialty: string | undefined;\r\n acceptingNewPatients: boolean | undefined;\r\n}\r\n\r\nexport class GetAttachmentDto implements IGetAttachmentDto {\r\n id!: string;\r\n attachmenUrlLocation!: AttachmenUrlLocation;\r\n type!: AttachmentType;\r\n name!: string | undefined;\r\n fileName!: string | undefined;\r\n url!: string | undefined;\r\n contentType!: string | undefined;\r\n\r\n constructor(data?: IGetAttachmentDto) {\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.attachmenUrlLocation = _data[\"attachmenUrlLocation\"];\r\n this.type = _data[\"type\"];\r\n this.name = _data[\"name\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.url = _data[\"url\"];\r\n this.contentType = _data[\"contentType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetAttachmentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetAttachmentDto();\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[\"attachmenUrlLocation\"] = this.attachmenUrlLocation;\r\n data[\"type\"] = this.type;\r\n data[\"name\"] = this.name;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"url\"] = this.url;\r\n data[\"contentType\"] = this.contentType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetAttachmentDto {\r\n id: string;\r\n attachmenUrlLocation: AttachmenUrlLocation;\r\n type: AttachmentType;\r\n name: string | undefined;\r\n fileName: string | undefined;\r\n url: string | undefined;\r\n contentType: string | undefined;\r\n}\r\n\r\nexport class GetUserFollowDTO implements IGetUserFollowDTO {\r\n userId!: string;\r\n name!: string | undefined;\r\n profilePictureAttachmentId!: string | undefined;\r\n\r\n constructor(data?: IGetUserFollowDTO) {\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.name = _data[\"name\"];\r\n this.profilePictureAttachmentId = _data[\"profilePictureAttachmentId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GetUserFollowDTO {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetUserFollowDTO();\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[\"name\"] = this.name;\r\n data[\"profilePictureAttachmentId\"] = this.profilePictureAttachmentId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGetUserFollowDTO {\r\n userId: string;\r\n name: string | undefined;\r\n profilePictureAttachmentId: string | undefined;\r\n}\r\n\r\nexport class ContactUs implements IContactUs {\r\n name!: string | undefined;\r\n email!: string | undefined;\r\n message!: string | undefined;\r\n reCaptchaToken!: string | undefined;\r\n reason!: ContactUsReason;\r\n\r\n constructor(data?: IContactUs) {\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.message = _data[\"message\"];\r\n this.reCaptchaToken = _data[\"reCaptchaToken\"];\r\n this.reason = _data[\"reason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContactUs {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContactUs();\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[\"message\"] = this.message;\r\n data[\"reCaptchaToken\"] = this.reCaptchaToken;\r\n data[\"reason\"] = this.reason;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContactUs {\r\n name: string | undefined;\r\n email: string | undefined;\r\n message: string | undefined;\r\n reCaptchaToken: string | undefined;\r\n reason: ContactUsReason;\r\n}\r\n\r\nexport enum ContactUsReason {\r\n BusinessInquiry = \"BusinessInquiry\",\r\n Investor = \"Investor\",\r\n Press = \"Press\",\r\n}\r\n\r\nexport class Attachment2 implements IAttachment2 {\r\n form_file!: string | undefined;\r\n file_url!: string | undefined;\r\n name!: string | undefined;\r\n file_name!: string | undefined;\r\n type!: AttachmentType;\r\n content_type!: string | undefined;\r\n order_index!: number;\r\n\r\n constructor(data?: IAttachment2) {\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.form_file = _data[\"form_file\"];\r\n this.file_url = _data[\"file_url\"];\r\n this.name = _data[\"name\"];\r\n this.file_name = _data[\"file_name\"];\r\n this.type = _data[\"type\"];\r\n this.content_type = _data[\"content_type\"];\r\n this.order_index = _data[\"order_index\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Attachment2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Attachment2();\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[\"form_file\"] = this.form_file;\r\n data[\"file_url\"] = this.file_url;\r\n data[\"name\"] = this.name;\r\n data[\"file_name\"] = this.file_name;\r\n data[\"type\"] = this.type;\r\n data[\"content_type\"] = this.content_type;\r\n data[\"order_index\"] = this.order_index;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAttachment2 {\r\n form_file: string | undefined;\r\n file_url: string | undefined;\r\n name: string | undefined;\r\n file_name: string | undefined;\r\n type: AttachmentType;\r\n content_type: string | undefined;\r\n order_index: number;\r\n}\r\n\r\nexport class Company2 implements ICompany2 {\r\n company_code!: string | undefined;\r\n company_name!: string | undefined;\r\n company_type!: string | undefined;\r\n street_name!: string | undefined;\r\n suite_number!: string | undefined;\r\n city_name!: string | undefined;\r\n country_name!: string | undefined;\r\n postal_code!: string | undefined;\r\n post_office_box!: string | undefined;\r\n province_name!: string | undefined;\r\n\r\n constructor(data?: ICompany2) {\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.company_code = _data[\"company_code\"];\r\n this.company_name = _data[\"company_name\"];\r\n this.company_type = _data[\"company_type\"];\r\n this.street_name = _data[\"street_name\"];\r\n this.suite_number = _data[\"suite_number\"];\r\n this.city_name = _data[\"city_name\"];\r\n this.country_name = _data[\"country_name\"];\r\n this.postal_code = _data[\"postal_code\"];\r\n this.post_office_box = _data[\"post_office_box\"];\r\n this.province_name = _data[\"province_name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Company2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Company2();\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[\"company_code\"] = this.company_code;\r\n data[\"company_name\"] = this.company_name;\r\n data[\"company_type\"] = this.company_type;\r\n data[\"street_name\"] = this.street_name;\r\n data[\"suite_number\"] = this.suite_number;\r\n data[\"city_name\"] = this.city_name;\r\n data[\"country_name\"] = this.country_name;\r\n data[\"postal_code\"] = this.postal_code;\r\n data[\"post_office_box\"] = this.post_office_box;\r\n data[\"province_name\"] = this.province_name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICompany2 {\r\n company_code: string | undefined;\r\n company_name: string | undefined;\r\n company_type: string | undefined;\r\n street_name: string | undefined;\r\n suite_number: string | undefined;\r\n city_name: string | undefined;\r\n country_name: string | undefined;\r\n postal_code: string | undefined;\r\n post_office_box: string | undefined;\r\n province_name: string | undefined;\r\n}\r\n\r\nexport class DrugProduct implements IDrugProduct {\r\n drug_code!: string | undefined;\r\n class_name!: string | undefined;\r\n drug_identification_number!: string | undefined;\r\n brand_name!: string | undefined;\r\n descriptor!: string | undefined;\r\n number_of_ais!: number;\r\n ai_group_no!: string | undefined;\r\n company_name!: string | undefined;\r\n original_url!: string | undefined;\r\n last_update_date!: Date;\r\n promoted_by!: string | undefined;\r\n voice_of!: string | undefined;\r\n attachment_ids!: string[] | undefined;\r\n monograph_url!: string | undefined;\r\n monograph_name!: string | undefined;\r\n drug_ingredients!: DrugIngredient2[] | undefined;\r\n\r\n constructor(data?: IDrugProduct) {\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.drug_code = _data[\"drug_code\"];\r\n this.class_name = _data[\"class_name\"];\r\n this.drug_identification_number = _data[\"drug_identification_number\"];\r\n this.brand_name = _data[\"brand_name\"];\r\n this.descriptor = _data[\"descriptor\"];\r\n this.number_of_ais = _data[\"number_of_ais\"];\r\n this.ai_group_no = _data[\"ai_group_no\"];\r\n this.company_name = _data[\"company_name\"];\r\n this.original_url = _data[\"original_url\"];\r\n this.last_update_date = _data[\"last_update_date\"] ? new Date(_data[\"last_update_date\"].toString()) : undefined;\r\n this.promoted_by = _data[\"promoted_by\"];\r\n this.voice_of = _data[\"voice_of\"];\r\n if (Array.isArray(_data[\"attachment_ids\"])) {\r\n this.attachment_ids = [] as any;\r\n for (let item of _data[\"attachment_ids\"])\r\n this.attachment_ids!.push(item);\r\n }\r\n this.monograph_url = _data[\"monograph_url\"];\r\n this.monograph_name = _data[\"monograph_name\"];\r\n if (Array.isArray(_data[\"drug_ingredients\"])) {\r\n this.drug_ingredients = [] as any;\r\n for (let item of _data[\"drug_ingredients\"])\r\n this.drug_ingredients!.push(DrugIngredient2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugProduct {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugProduct();\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[\"drug_code\"] = this.drug_code;\r\n data[\"class_name\"] = this.class_name;\r\n data[\"drug_identification_number\"] = this.drug_identification_number;\r\n data[\"brand_name\"] = this.brand_name;\r\n data[\"descriptor\"] = this.descriptor;\r\n data[\"number_of_ais\"] = this.number_of_ais;\r\n data[\"ai_group_no\"] = this.ai_group_no;\r\n data[\"company_name\"] = this.company_name;\r\n data[\"original_url\"] = this.original_url;\r\n data[\"last_update_date\"] = this.last_update_date ? this.last_update_date.toISOString() : undefined;\r\n data[\"promoted_by\"] = this.promoted_by;\r\n data[\"voice_of\"] = this.voice_of;\r\n if (Array.isArray(this.attachment_ids)) {\r\n data[\"attachment_ids\"] = [];\r\n for (let item of this.attachment_ids)\r\n data[\"attachment_ids\"].push(item);\r\n }\r\n data[\"monograph_url\"] = this.monograph_url;\r\n data[\"monograph_name\"] = this.monograph_name;\r\n if (Array.isArray(this.drug_ingredients)) {\r\n data[\"drug_ingredients\"] = [];\r\n for (let item of this.drug_ingredients)\r\n data[\"drug_ingredients\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugProduct {\r\n drug_code: string | undefined;\r\n class_name: string | undefined;\r\n drug_identification_number: string | undefined;\r\n brand_name: string | undefined;\r\n descriptor: string | undefined;\r\n number_of_ais: number;\r\n ai_group_no: string | undefined;\r\n company_name: string | undefined;\r\n original_url: string | undefined;\r\n last_update_date: Date;\r\n promoted_by: string | undefined;\r\n voice_of: string | undefined;\r\n attachment_ids: string[] | undefined;\r\n monograph_url: string | undefined;\r\n monograph_name: string | undefined;\r\n drug_ingredients: DrugIngredient2[] | undefined;\r\n}\r\n\r\nexport class DrugIngredient2 implements IDrugIngredient2 {\r\n drug_code!: string | undefined;\r\n ingredient_name!: string | undefined;\r\n dosage_value!: number | undefined;\r\n dosage_unit!: string | undefined;\r\n strength!: number | undefined;\r\n strength_unit!: string | undefined;\r\n original_url!: string | undefined;\r\n\r\n constructor(data?: IDrugIngredient2) {\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.drug_code = _data[\"drug_code\"];\r\n this.ingredient_name = _data[\"ingredient_name\"];\r\n this.dosage_value = _data[\"dosage_value\"];\r\n this.dosage_unit = _data[\"dosage_unit\"];\r\n this.strength = _data[\"strength\"];\r\n this.strength_unit = _data[\"strength_unit\"];\r\n this.original_url = _data[\"original_url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugIngredient2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugIngredient2();\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[\"drug_code\"] = this.drug_code;\r\n data[\"ingredient_name\"] = this.ingredient_name;\r\n data[\"dosage_value\"] = this.dosage_value;\r\n data[\"dosage_unit\"] = this.dosage_unit;\r\n data[\"strength\"] = this.strength;\r\n data[\"strength_unit\"] = this.strength_unit;\r\n data[\"original_url\"] = this.original_url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugIngredient2 {\r\n drug_code: string | undefined;\r\n ingredient_name: string | undefined;\r\n dosage_value: number | undefined;\r\n dosage_unit: string | undefined;\r\n strength: number | undefined;\r\n strength_unit: string | undefined;\r\n original_url: string | undefined;\r\n}\r\n\r\nexport class TherapeuticClass2 implements ITherapeuticClass2 {\r\n drug_code!: string | undefined;\r\n tc_atc_number!: string | undefined;\r\n tc_atc!: string | undefined;\r\n tc_ahfs_number!: string | undefined;\r\n tc_ahfs!: string | undefined;\r\n original_url!: string | undefined;\r\n\r\n constructor(data?: ITherapeuticClass2) {\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.drug_code = _data[\"drug_code\"];\r\n this.tc_atc_number = _data[\"tc_atc_number\"];\r\n this.tc_atc = _data[\"tc_atc\"];\r\n this.tc_ahfs_number = _data[\"tc_ahfs_number\"];\r\n this.tc_ahfs = _data[\"tc_ahfs\"];\r\n this.original_url = _data[\"original_url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TherapeuticClass2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TherapeuticClass2();\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[\"drug_code\"] = this.drug_code;\r\n data[\"tc_atc_number\"] = this.tc_atc_number;\r\n data[\"tc_atc\"] = this.tc_atc;\r\n data[\"tc_ahfs_number\"] = this.tc_ahfs_number;\r\n data[\"tc_ahfs\"] = this.tc_ahfs;\r\n data[\"original_url\"] = this.original_url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITherapeuticClass2 {\r\n drug_code: string | undefined;\r\n tc_atc_number: string | undefined;\r\n tc_atc: string | undefined;\r\n tc_ahfs_number: string | undefined;\r\n tc_ahfs: string | undefined;\r\n original_url: string | undefined;\r\n}\r\n\r\nexport class IDrugIngredient implements IIDrugIngredient {\r\n drug_code!: string | undefined;\r\n ingredient_name!: string | undefined;\r\n dosage_value!: number | undefined;\r\n dosage_unit!: string | undefined;\r\n strength!: number | undefined;\r\n strength_unit!: string | undefined;\r\n original_url!: string | undefined;\r\n\r\n constructor(data?: IIDrugIngredient) {\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.drug_code = _data[\"drug_code\"];\r\n this.ingredient_name = _data[\"ingredient_name\"];\r\n this.dosage_value = _data[\"dosage_value\"];\r\n this.dosage_unit = _data[\"dosage_unit\"];\r\n this.strength = _data[\"strength\"];\r\n this.strength_unit = _data[\"strength_unit\"];\r\n this.original_url = _data[\"original_url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IDrugIngredient {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IDrugIngredient();\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[\"drug_code\"] = this.drug_code;\r\n data[\"ingredient_name\"] = this.ingredient_name;\r\n data[\"dosage_value\"] = this.dosage_value;\r\n data[\"dosage_unit\"] = this.dosage_unit;\r\n data[\"strength\"] = this.strength;\r\n data[\"strength_unit\"] = this.strength_unit;\r\n data[\"original_url\"] = this.original_url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIDrugIngredient {\r\n drug_code: string | undefined;\r\n ingredient_name: string | undefined;\r\n dosage_value: number | undefined;\r\n dosage_unit: string | undefined;\r\n strength: number | undefined;\r\n strength_unit: string | undefined;\r\n original_url: string | undefined;\r\n}\r\n\r\nexport class DrugIngredient3 extends IDrugIngredient implements IDrugIngredient3 {\r\n drug_code!: string | undefined;\r\n ingredient_name!: string | undefined;\r\n dosage_value!: number | undefined;\r\n dosage_unit!: string | undefined;\r\n strength!: number | undefined;\r\n strength_unit!: string | undefined;\r\n original_url!: string | undefined;\r\n\r\n constructor(data?: IDrugIngredient3) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.drug_code = _data[\"drug_code\"];\r\n this.ingredient_name = _data[\"ingredient_name\"];\r\n this.dosage_value = _data[\"dosage_value\"];\r\n this.dosage_unit = _data[\"dosage_unit\"];\r\n this.strength = _data[\"strength\"];\r\n this.strength_unit = _data[\"strength_unit\"];\r\n this.original_url = _data[\"original_url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugIngredient3 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugIngredient3();\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[\"drug_code\"] = this.drug_code;\r\n data[\"ingredient_name\"] = this.ingredient_name;\r\n data[\"dosage_value\"] = this.dosage_value;\r\n data[\"dosage_unit\"] = this.dosage_unit;\r\n data[\"strength\"] = this.strength;\r\n data[\"strength_unit\"] = this.strength_unit;\r\n data[\"original_url\"] = this.original_url;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugIngredient3 extends IIDrugIngredient {\r\n drug_code: string | undefined;\r\n ingredient_name: string | undefined;\r\n dosage_value: number | undefined;\r\n dosage_unit: string | undefined;\r\n strength: number | undefined;\r\n strength_unit: string | undefined;\r\n original_url: string | undefined;\r\n}\r\n\r\nexport class SummaryBasisOfDecision implements ISummaryBasisOfDecision {\r\n template!: number;\r\n control_number!: string | undefined;\r\n date_issued!: Date | undefined;\r\n link_id!: string | undefined;\r\n brand_name!: string | undefined;\r\n manufacturer!: string | undefined;\r\n med_ingredient!: string | undefined;\r\n bd_din_list!: string | undefined;\r\n sub_type_number!: string | undefined;\r\n date_submission!: Date | undefined;\r\n date_authorization!: Date | undefined;\r\n notice_decision!: string | undefined;\r\n sci_reg_decision!: string | undefined;\r\n quality_basis!: string | undefined;\r\n non_clin_basis!: string | undefined;\r\n non_clin_basis2!: string | undefined;\r\n clin_basis!: string | undefined;\r\n clin_basis2!: string | undefined;\r\n clin_basis3!: string | undefined;\r\n benefit_risk!: string | undefined;\r\n summary!: string | undefined;\r\n what_approved!: string | undefined;\r\n why_approved!: string | undefined;\r\n steps_approval!: string | undefined;\r\n assess_basis!: string | undefined;\r\n followup_measures!: string | undefined;\r\n post_auth!: string | undefined;\r\n other_info!: string | undefined;\r\n a_sci_reg_dcision!: string | undefined;\r\n science_rationale!: string | undefined;\r\n a_clin_basis!: string | undefined;\r\n a_clin_basis2!: string | undefined;\r\n a_non_clin_basis!: string | undefined;\r\n a_non_clin_basis2!: string | undefined;\r\n b_quality_basis!: string | undefined;\r\n contact!: string | undefined;\r\n paat_info!: string | undefined;\r\n summary_drug!: string | undefined;\r\n branch_info!: string | undefined;\r\n trademark!: string | undefined;\r\n din!: string | undefined;\r\n licence_number!: string | undefined;\r\n ai_str_route_summary!: string | undefined;\r\n is_md!: boolean | undefined;\r\n din_list!: string[] | undefined;\r\n post_activity_list!: string | undefined;\r\n milestone_list!: string | undefined;\r\n original_url!: string | undefined;\r\n\r\n constructor(data?: ISummaryBasisOfDecision) {\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.template = _data[\"template\"];\r\n this.control_number = _data[\"control_number\"];\r\n this.date_issued = _data[\"date_issued\"] ? new Date(_data[\"date_issued\"].toString()) : undefined;\r\n this.link_id = _data[\"link_id\"];\r\n this.brand_name = _data[\"brand_name\"];\r\n this.manufacturer = _data[\"manufacturer\"];\r\n this.med_ingredient = _data[\"med_ingredient\"];\r\n this.bd_din_list = _data[\"bd_din_list\"];\r\n this.sub_type_number = _data[\"sub_type_number\"];\r\n this.date_submission = _data[\"date_submission\"] ? new Date(_data[\"date_submission\"].toString()) : undefined;\r\n this.date_authorization = _data[\"date_authorization\"] ? new Date(_data[\"date_authorization\"].toString()) : undefined;\r\n this.notice_decision = _data[\"notice_decision\"];\r\n this.sci_reg_decision = _data[\"sci_reg_decision\"];\r\n this.quality_basis = _data[\"quality_basis\"];\r\n this.non_clin_basis = _data[\"non_clin_basis\"];\r\n this.non_clin_basis2 = _data[\"non_clin_basis2\"];\r\n this.clin_basis = _data[\"clin_basis\"];\r\n this.clin_basis2 = _data[\"clin_basis2\"];\r\n this.clin_basis3 = _data[\"clin_basis3\"];\r\n this.benefit_risk = _data[\"benefit_risk\"];\r\n this.summary = _data[\"summary\"];\r\n this.what_approved = _data[\"what_approved\"];\r\n this.why_approved = _data[\"why_approved\"];\r\n this.steps_approval = _data[\"steps_approval\"];\r\n this.assess_basis = _data[\"assess_basis\"];\r\n this.followup_measures = _data[\"followup_measures\"];\r\n this.post_auth = _data[\"post_auth\"];\r\n this.other_info = _data[\"other_info\"];\r\n this.a_sci_reg_dcision = _data[\"a_sci_reg_dcision\"];\r\n this.science_rationale = _data[\"science_rationale\"];\r\n this.a_clin_basis = _data[\"a_clin_basis\"];\r\n this.a_clin_basis2 = _data[\"a_clin_basis2\"];\r\n this.a_non_clin_basis = _data[\"a_non_clin_basis\"];\r\n this.a_non_clin_basis2 = _data[\"a_non_clin_basis2\"];\r\n this.b_quality_basis = _data[\"b_quality_basis\"];\r\n this.contact = _data[\"contact\"];\r\n this.paat_info = _data[\"paat_info\"];\r\n this.summary_drug = _data[\"summary_drug\"];\r\n this.branch_info = _data[\"branch_info\"];\r\n this.trademark = _data[\"trademark\"];\r\n this.din = _data[\"din\"];\r\n this.licence_number = _data[\"licence_number\"];\r\n this.ai_str_route_summary = _data[\"ai_str_route_summary\"];\r\n this.is_md = _data[\"is_md\"];\r\n if (Array.isArray(_data[\"din_list\"])) {\r\n this.din_list = [] as any;\r\n for (let item of _data[\"din_list\"])\r\n this.din_list!.push(item);\r\n }\r\n this.post_activity_list = _data[\"post_activity_list\"];\r\n this.milestone_list = _data[\"milestone_list\"];\r\n this.original_url = _data[\"original_url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SummaryBasisOfDecision {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SummaryBasisOfDecision();\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[\"template\"] = this.template;\r\n data[\"control_number\"] = this.control_number;\r\n data[\"date_issued\"] = this.date_issued ? this.date_issued.toISOString() : undefined;\r\n data[\"link_id\"] = this.link_id;\r\n data[\"brand_name\"] = this.brand_name;\r\n data[\"manufacturer\"] = this.manufacturer;\r\n data[\"med_ingredient\"] = this.med_ingredient;\r\n data[\"bd_din_list\"] = this.bd_din_list;\r\n data[\"sub_type_number\"] = this.sub_type_number;\r\n data[\"date_submission\"] = this.date_submission ? this.date_submission.toISOString() : undefined;\r\n data[\"date_authorization\"] = this.date_authorization ? this.date_authorization.toISOString() : undefined;\r\n data[\"notice_decision\"] = this.notice_decision;\r\n data[\"sci_reg_decision\"] = this.sci_reg_decision;\r\n data[\"quality_basis\"] = this.quality_basis;\r\n data[\"non_clin_basis\"] = this.non_clin_basis;\r\n data[\"non_clin_basis2\"] = this.non_clin_basis2;\r\n data[\"clin_basis\"] = this.clin_basis;\r\n data[\"clin_basis2\"] = this.clin_basis2;\r\n data[\"clin_basis3\"] = this.clin_basis3;\r\n data[\"benefit_risk\"] = this.benefit_risk;\r\n data[\"summary\"] = this.summary;\r\n data[\"what_approved\"] = this.what_approved;\r\n data[\"why_approved\"] = this.why_approved;\r\n data[\"steps_approval\"] = this.steps_approval;\r\n data[\"assess_basis\"] = this.assess_basis;\r\n data[\"followup_measures\"] = this.followup_measures;\r\n data[\"post_auth\"] = this.post_auth;\r\n data[\"other_info\"] = this.other_info;\r\n data[\"a_sci_reg_dcision\"] = this.a_sci_reg_dcision;\r\n data[\"science_rationale\"] = this.science_rationale;\r\n data[\"a_clin_basis\"] = this.a_clin_basis;\r\n data[\"a_clin_basis2\"] = this.a_clin_basis2;\r\n data[\"a_non_clin_basis\"] = this.a_non_clin_basis;\r\n data[\"a_non_clin_basis2\"] = this.a_non_clin_basis2;\r\n data[\"b_quality_basis\"] = this.b_quality_basis;\r\n data[\"contact\"] = this.contact;\r\n data[\"paat_info\"] = this.paat_info;\r\n data[\"summary_drug\"] = this.summary_drug;\r\n data[\"branch_info\"] = this.branch_info;\r\n data[\"trademark\"] = this.trademark;\r\n data[\"din\"] = this.din;\r\n data[\"licence_number\"] = this.licence_number;\r\n data[\"ai_str_route_summary\"] = this.ai_str_route_summary;\r\n data[\"is_md\"] = this.is_md;\r\n if (Array.isArray(this.din_list)) {\r\n data[\"din_list\"] = [];\r\n for (let item of this.din_list)\r\n data[\"din_list\"].push(item);\r\n }\r\n data[\"post_activity_list\"] = this.post_activity_list;\r\n data[\"milestone_list\"] = this.milestone_list;\r\n data[\"original_url\"] = this.original_url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISummaryBasisOfDecision {\r\n template: number;\r\n control_number: string | undefined;\r\n date_issued: Date | undefined;\r\n link_id: string | undefined;\r\n brand_name: string | undefined;\r\n manufacturer: string | undefined;\r\n med_ingredient: string | undefined;\r\n bd_din_list: string | undefined;\r\n sub_type_number: string | undefined;\r\n date_submission: Date | undefined;\r\n date_authorization: Date | undefined;\r\n notice_decision: string | undefined;\r\n sci_reg_decision: string | undefined;\r\n quality_basis: string | undefined;\r\n non_clin_basis: string | undefined;\r\n non_clin_basis2: string | undefined;\r\n clin_basis: string | undefined;\r\n clin_basis2: string | undefined;\r\n clin_basis3: string | undefined;\r\n benefit_risk: string | undefined;\r\n summary: string | undefined;\r\n what_approved: string | undefined;\r\n why_approved: string | undefined;\r\n steps_approval: string | undefined;\r\n assess_basis: string | undefined;\r\n followup_measures: string | undefined;\r\n post_auth: string | undefined;\r\n other_info: string | undefined;\r\n a_sci_reg_dcision: string | undefined;\r\n science_rationale: string | undefined;\r\n a_clin_basis: string | undefined;\r\n a_clin_basis2: string | undefined;\r\n a_non_clin_basis: string | undefined;\r\n a_non_clin_basis2: string | undefined;\r\n b_quality_basis: string | undefined;\r\n contact: string | undefined;\r\n paat_info: string | undefined;\r\n summary_drug: string | undefined;\r\n branch_info: string | undefined;\r\n trademark: string | undefined;\r\n din: string | undefined;\r\n licence_number: string | undefined;\r\n ai_str_route_summary: string | undefined;\r\n is_md: boolean | undefined;\r\n din_list: string[] | undefined;\r\n post_activity_list: string | undefined;\r\n milestone_list: string | undefined;\r\n original_url: string | undefined;\r\n}\r\n\r\nexport class RegulatoryDecision implements IRegulatoryDecision {\r\n link_id!: string | undefined;\r\n drug_name!: string | undefined;\r\n contact_name!: string | undefined;\r\n contact_url!: string | undefined;\r\n medical_ingredient!: string | undefined;\r\n therapeutic_area!: string | undefined;\r\n purpose!: string | undefined;\r\n reason_decision!: string | undefined;\r\n decision!: string | undefined;\r\n decision_descr!: string | undefined;\r\n date_decision!: Date | undefined;\r\n manufacturer!: string | undefined;\r\n prescription_status!: string | undefined;\r\n type_submission!: string | undefined;\r\n date_filed!: Date | undefined;\r\n control_number!: string | undefined;\r\n application_number!: string | undefined;\r\n application_type!: string | undefined;\r\n licence_num!: string | undefined;\r\n device_class!: string | undefined;\r\n created_date!: Date | undefined;\r\n modified_date!: Date | undefined;\r\n footnotes!: string | undefined;\r\n summary_title!: string | undefined;\r\n summary_subtitle!: string | undefined;\r\n summary_text1!: string | undefined;\r\n summary_text2!: string | undefined;\r\n summary_text3!: string | undefined;\r\n is_md!: boolean;\r\n din_list!: string[] | undefined;\r\n original_url!: string | undefined;\r\n\r\n constructor(data?: IRegulatoryDecision) {\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.link_id = _data[\"link_id\"];\r\n this.drug_name = _data[\"drug_name\"];\r\n this.contact_name = _data[\"contact_name\"];\r\n this.contact_url = _data[\"contact_url\"];\r\n this.medical_ingredient = _data[\"medical_ingredient\"];\r\n this.therapeutic_area = _data[\"therapeutic_area\"];\r\n this.purpose = _data[\"purpose\"];\r\n this.reason_decision = _data[\"reason_decision\"];\r\n this.decision = _data[\"decision\"];\r\n this.decision_descr = _data[\"decision_descr\"];\r\n this.date_decision = _data[\"date_decision\"] ? new Date(_data[\"date_decision\"].toString()) : undefined;\r\n this.manufacturer = _data[\"manufacturer\"];\r\n this.prescription_status = _data[\"prescription_status\"];\r\n this.type_submission = _data[\"type_submission\"];\r\n this.date_filed = _data[\"date_filed\"] ? new Date(_data[\"date_filed\"].toString()) : undefined;\r\n this.control_number = _data[\"control_number\"];\r\n this.application_number = _data[\"application_number\"];\r\n this.application_type = _data[\"application_type\"];\r\n this.licence_num = _data[\"licence_num\"];\r\n this.device_class = _data[\"device_class\"];\r\n this.created_date = _data[\"created_date\"] ? new Date(_data[\"created_date\"].toString()) : undefined;\r\n this.modified_date = _data[\"modified_date\"] ? new Date(_data[\"modified_date\"].toString()) : undefined;\r\n this.footnotes = _data[\"footnotes\"];\r\n this.summary_title = _data[\"summary_title\"];\r\n this.summary_subtitle = _data[\"summary_subtitle\"];\r\n this.summary_text1 = _data[\"summary_text1\"];\r\n this.summary_text2 = _data[\"summary_text2\"];\r\n this.summary_text3 = _data[\"summary_text3\"];\r\n this.is_md = _data[\"is_md\"];\r\n if (Array.isArray(_data[\"din_list\"])) {\r\n this.din_list = [] as any;\r\n for (let item of _data[\"din_list\"])\r\n this.din_list!.push(item);\r\n }\r\n this.original_url = _data[\"original_url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegulatoryDecision {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegulatoryDecision();\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[\"link_id\"] = this.link_id;\r\n data[\"drug_name\"] = this.drug_name;\r\n data[\"contact_name\"] = this.contact_name;\r\n data[\"contact_url\"] = this.contact_url;\r\n data[\"medical_ingredient\"] = this.medical_ingredient;\r\n data[\"therapeutic_area\"] = this.therapeutic_area;\r\n data[\"purpose\"] = this.purpose;\r\n data[\"reason_decision\"] = this.reason_decision;\r\n data[\"decision\"] = this.decision;\r\n data[\"decision_descr\"] = this.decision_descr;\r\n data[\"date_decision\"] = this.date_decision ? this.date_decision.toISOString() : undefined;\r\n data[\"manufacturer\"] = this.manufacturer;\r\n data[\"prescription_status\"] = this.prescription_status;\r\n data[\"type_submission\"] = this.type_submission;\r\n data[\"date_filed\"] = this.date_filed ? this.date_filed.toISOString() : undefined;\r\n data[\"control_number\"] = this.control_number;\r\n data[\"application_number\"] = this.application_number;\r\n data[\"application_type\"] = this.application_type;\r\n data[\"licence_num\"] = this.licence_num;\r\n data[\"device_class\"] = this.device_class;\r\n data[\"created_date\"] = this.created_date ? this.created_date.toISOString() : undefined;\r\n data[\"modified_date\"] = this.modified_date ? this.modified_date.toISOString() : undefined;\r\n data[\"footnotes\"] = this.footnotes;\r\n data[\"summary_title\"] = this.summary_title;\r\n data[\"summary_subtitle\"] = this.summary_subtitle;\r\n data[\"summary_text1\"] = this.summary_text1;\r\n data[\"summary_text2\"] = this.summary_text2;\r\n data[\"summary_text3\"] = this.summary_text3;\r\n data[\"is_md\"] = this.is_md;\r\n if (Array.isArray(this.din_list)) {\r\n data[\"din_list\"] = [];\r\n for (let item of this.din_list)\r\n data[\"din_list\"].push(item);\r\n }\r\n data[\"original_url\"] = this.original_url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRegulatoryDecision {\r\n link_id: string | undefined;\r\n drug_name: string | undefined;\r\n contact_name: string | undefined;\r\n contact_url: string | undefined;\r\n medical_ingredient: string | undefined;\r\n therapeutic_area: string | undefined;\r\n purpose: string | undefined;\r\n reason_decision: string | undefined;\r\n decision: string | undefined;\r\n decision_descr: string | undefined;\r\n date_decision: Date | undefined;\r\n manufacturer: string | undefined;\r\n prescription_status: string | undefined;\r\n type_submission: string | undefined;\r\n date_filed: Date | undefined;\r\n control_number: string | undefined;\r\n application_number: string | undefined;\r\n application_type: string | undefined;\r\n licence_num: string | undefined;\r\n device_class: string | undefined;\r\n created_date: Date | undefined;\r\n modified_date: Date | undefined;\r\n footnotes: string | undefined;\r\n summary_title: string | undefined;\r\n summary_subtitle: string | undefined;\r\n summary_text1: string | undefined;\r\n summary_text2: string | undefined;\r\n summary_text3: string | undefined;\r\n is_md: boolean;\r\n din_list: string[] | undefined;\r\n original_url: string | undefined;\r\n}\r\n\r\nexport class SafetyReview implements ISafetyReview {\r\n template!: number;\r\n link_id!: string | undefined;\r\n review_date!: Date | undefined;\r\n drug_name!: string | undefined;\r\n safety_issue!: string | undefined;\r\n safetyissue_title!: string | undefined;\r\n findings_title!: string | undefined;\r\n issue!: string | undefined;\r\n background!: string | undefined;\r\n objective!: string | undefined;\r\n key_findings!: string | undefined;\r\n overview!: string | undefined;\r\n additional!: string | undefined;\r\n full_review!: string | undefined;\r\n title!: string | undefined;\r\n created_date!: Date | undefined;\r\n modified_date!: Date | undefined;\r\n key_message_list!: SafetyReviewListItem[] | undefined;\r\n footnotes_list!: SafetyReviewListItem[] | undefined;\r\n reference_list!: SafetyReviewListItem[] | undefined;\r\n use_canada_list!: SafetyReviewListItem[] | undefined;\r\n finding_list!: SafetyReviewListItem[] | undefined;\r\n conclusion_list!: SafetyReviewListItem[] | undefined;\r\n original_url!: string | undefined;\r\n\r\n constructor(data?: ISafetyReview) {\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.template = _data[\"template\"];\r\n this.link_id = _data[\"link_id\"];\r\n this.review_date = _data[\"review_date\"] ? new Date(_data[\"review_date\"].toString()) : undefined;\r\n this.drug_name = _data[\"drug_name\"];\r\n this.safety_issue = _data[\"safety_issue\"];\r\n this.safetyissue_title = _data[\"safetyissue_title\"];\r\n this.findings_title = _data[\"findings_title\"];\r\n this.issue = _data[\"issue\"];\r\n this.background = _data[\"background\"];\r\n this.objective = _data[\"objective\"];\r\n this.key_findings = _data[\"key_findings\"];\r\n this.overview = _data[\"overview\"];\r\n this.additional = _data[\"additional\"];\r\n this.full_review = _data[\"full_review\"];\r\n this.title = _data[\"title\"];\r\n this.created_date = _data[\"created_date\"] ? new Date(_data[\"created_date\"].toString()) : undefined;\r\n this.modified_date = _data[\"modified_date\"] ? new Date(_data[\"modified_date\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"key_message_list\"])) {\r\n this.key_message_list = [] as any;\r\n for (let item of _data[\"key_message_list\"])\r\n this.key_message_list!.push(SafetyReviewListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"footnotes_list\"])) {\r\n this.footnotes_list = [] as any;\r\n for (let item of _data[\"footnotes_list\"])\r\n this.footnotes_list!.push(SafetyReviewListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"reference_list\"])) {\r\n this.reference_list = [] as any;\r\n for (let item of _data[\"reference_list\"])\r\n this.reference_list!.push(SafetyReviewListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"use_canada_list\"])) {\r\n this.use_canada_list = [] as any;\r\n for (let item of _data[\"use_canada_list\"])\r\n this.use_canada_list!.push(SafetyReviewListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"finding_list\"])) {\r\n this.finding_list = [] as any;\r\n for (let item of _data[\"finding_list\"])\r\n this.finding_list!.push(SafetyReviewListItem.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"conclusion_list\"])) {\r\n this.conclusion_list = [] as any;\r\n for (let item of _data[\"conclusion_list\"])\r\n this.conclusion_list!.push(SafetyReviewListItem.fromJS(item));\r\n }\r\n this.original_url = _data[\"original_url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyReview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyReview();\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[\"template\"] = this.template;\r\n data[\"link_id\"] = this.link_id;\r\n data[\"review_date\"] = this.review_date ? this.review_date.toISOString() : undefined;\r\n data[\"drug_name\"] = this.drug_name;\r\n data[\"safety_issue\"] = this.safety_issue;\r\n data[\"safetyissue_title\"] = this.safetyissue_title;\r\n data[\"findings_title\"] = this.findings_title;\r\n data[\"issue\"] = this.issue;\r\n data[\"background\"] = this.background;\r\n data[\"objective\"] = this.objective;\r\n data[\"key_findings\"] = this.key_findings;\r\n data[\"overview\"] = this.overview;\r\n data[\"additional\"] = this.additional;\r\n data[\"full_review\"] = this.full_review;\r\n data[\"title\"] = this.title;\r\n data[\"created_date\"] = this.created_date ? this.created_date.toISOString() : undefined;\r\n data[\"modified_date\"] = this.modified_date ? this.modified_date.toISOString() : undefined;\r\n if (Array.isArray(this.key_message_list)) {\r\n data[\"key_message_list\"] = [];\r\n for (let item of this.key_message_list)\r\n data[\"key_message_list\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.footnotes_list)) {\r\n data[\"footnotes_list\"] = [];\r\n for (let item of this.footnotes_list)\r\n data[\"footnotes_list\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.reference_list)) {\r\n data[\"reference_list\"] = [];\r\n for (let item of this.reference_list)\r\n data[\"reference_list\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.use_canada_list)) {\r\n data[\"use_canada_list\"] = [];\r\n for (let item of this.use_canada_list)\r\n data[\"use_canada_list\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.finding_list)) {\r\n data[\"finding_list\"] = [];\r\n for (let item of this.finding_list)\r\n data[\"finding_list\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.conclusion_list)) {\r\n data[\"conclusion_list\"] = [];\r\n for (let item of this.conclusion_list)\r\n data[\"conclusion_list\"].push(item.toJSON());\r\n }\r\n data[\"original_url\"] = this.original_url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyReview {\r\n template: number;\r\n link_id: string | undefined;\r\n review_date: Date | undefined;\r\n drug_name: string | undefined;\r\n safety_issue: string | undefined;\r\n safetyissue_title: string | undefined;\r\n findings_title: string | undefined;\r\n issue: string | undefined;\r\n background: string | undefined;\r\n objective: string | undefined;\r\n key_findings: string | undefined;\r\n overview: string | undefined;\r\n additional: string | undefined;\r\n full_review: string | undefined;\r\n title: string | undefined;\r\n created_date: Date | undefined;\r\n modified_date: Date | undefined;\r\n key_message_list: SafetyReviewListItem[] | undefined;\r\n footnotes_list: SafetyReviewListItem[] | undefined;\r\n reference_list: SafetyReviewListItem[] | undefined;\r\n use_canada_list: SafetyReviewListItem[] | undefined;\r\n finding_list: SafetyReviewListItem[] | undefined;\r\n conclusion_list: SafetyReviewListItem[] | undefined;\r\n original_url: string | undefined;\r\n}\r\n\r\nexport class SafetyReviewListItem implements ISafetyReviewListItem {\r\n field_id!: number;\r\n order_no!: number;\r\n bullet!: string | undefined;\r\n\r\n constructor(data?: ISafetyReviewListItem) {\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.field_id = _data[\"field_id\"];\r\n this.order_no = _data[\"order_no\"];\r\n this.bullet = _data[\"bullet\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SafetyReviewListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SafetyReviewListItem();\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[\"field_id\"] = this.field_id;\r\n data[\"order_no\"] = this.order_no;\r\n data[\"bullet\"] = this.bullet;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISafetyReviewListItem {\r\n field_id: number;\r\n order_no: number;\r\n bullet: string | undefined;\r\n}\r\n\r\nexport class Trial implements ITrial {\r\n nct_id!: string | undefined;\r\n title!: string | undefined;\r\n trial_status_type!: string | undefined;\r\n last_verified_date!: Date;\r\n gender_type!: string | undefined;\r\n min_age!: number;\r\n min_age_units!: string | undefined;\r\n min_age_in_years!: number;\r\n max_age!: number;\r\n max_age_units!: string | undefined;\r\n max_age_in_years!: number;\r\n meta_description!: string | undefined;\r\n meta_keywords!: string | undefined;\r\n original_url!: string | undefined;\r\n locations!: TrialLocation[] | undefined;\r\n contacts!: TrialContact[] | undefined;\r\n promoted_by!: string | undefined;\r\n voice_of!: string | undefined;\r\n attachment_ids!: string[] | undefined;\r\n\r\n constructor(data?: ITrial) {\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.nct_id = _data[\"nct_id\"];\r\n this.title = _data[\"title\"];\r\n this.trial_status_type = _data[\"trial_status_type\"];\r\n this.last_verified_date = _data[\"last_verified_date\"] ? new Date(_data[\"last_verified_date\"].toString()) : undefined;\r\n this.gender_type = _data[\"gender_type\"];\r\n this.min_age = _data[\"min_age\"];\r\n this.min_age_units = _data[\"min_age_units\"];\r\n this.min_age_in_years = _data[\"min_age_in_years\"];\r\n this.max_age = _data[\"max_age\"];\r\n this.max_age_units = _data[\"max_age_units\"];\r\n this.max_age_in_years = _data[\"max_age_in_years\"];\r\n this.meta_description = _data[\"meta_description\"];\r\n this.meta_keywords = _data[\"meta_keywords\"];\r\n this.original_url = _data[\"original_url\"];\r\n if (Array.isArray(_data[\"locations\"])) {\r\n this.locations = [] as any;\r\n for (let item of _data[\"locations\"])\r\n this.locations!.push(TrialLocation.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"contacts\"])) {\r\n this.contacts = [] as any;\r\n for (let item of _data[\"contacts\"])\r\n this.contacts!.push(TrialContact.fromJS(item));\r\n }\r\n this.promoted_by = _data[\"promoted_by\"];\r\n this.voice_of = _data[\"voice_of\"];\r\n if (Array.isArray(_data[\"attachment_ids\"])) {\r\n this.attachment_ids = [] as any;\r\n for (let item of _data[\"attachment_ids\"])\r\n this.attachment_ids!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): Trial {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Trial();\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[\"nct_id\"] = this.nct_id;\r\n data[\"title\"] = this.title;\r\n data[\"trial_status_type\"] = this.trial_status_type;\r\n data[\"last_verified_date\"] = this.last_verified_date ? this.last_verified_date.toISOString() : undefined;\r\n data[\"gender_type\"] = this.gender_type;\r\n data[\"min_age\"] = this.min_age;\r\n data[\"min_age_units\"] = this.min_age_units;\r\n data[\"min_age_in_years\"] = this.min_age_in_years;\r\n data[\"max_age\"] = this.max_age;\r\n data[\"max_age_units\"] = this.max_age_units;\r\n data[\"max_age_in_years\"] = this.max_age_in_years;\r\n data[\"meta_description\"] = this.meta_description;\r\n data[\"meta_keywords\"] = this.meta_keywords;\r\n data[\"original_url\"] = this.original_url;\r\n if (Array.isArray(this.locations)) {\r\n data[\"locations\"] = [];\r\n for (let item of this.locations)\r\n data[\"locations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.contacts)) {\r\n data[\"contacts\"] = [];\r\n for (let item of this.contacts)\r\n data[\"contacts\"].push(item.toJSON());\r\n }\r\n data[\"promoted_by\"] = this.promoted_by;\r\n data[\"voice_of\"] = this.voice_of;\r\n if (Array.isArray(this.attachment_ids)) {\r\n data[\"attachment_ids\"] = [];\r\n for (let item of this.attachment_ids)\r\n data[\"attachment_ids\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITrial {\r\n nct_id: string | undefined;\r\n title: string | undefined;\r\n trial_status_type: string | undefined;\r\n last_verified_date: Date;\r\n gender_type: string | undefined;\r\n min_age: number;\r\n min_age_units: string | undefined;\r\n min_age_in_years: number;\r\n max_age: number;\r\n max_age_units: string | undefined;\r\n max_age_in_years: number;\r\n meta_description: string | undefined;\r\n meta_keywords: string | undefined;\r\n original_url: string | undefined;\r\n locations: TrialLocation[] | undefined;\r\n contacts: TrialContact[] | undefined;\r\n promoted_by: string | undefined;\r\n voice_of: string | undefined;\r\n attachment_ids: string[] | undefined;\r\n}\r\n\r\nexport class TrialLocation implements ITrialLocation {\r\n name!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n country!: string | undefined;\r\n zip!: string | undefined;\r\n\r\n constructor(data?: ITrialLocation) {\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.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n this.zip = _data[\"zip\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TrialLocation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrialLocation();\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[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n data[\"zip\"] = this.zip;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITrialLocation {\r\n name: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n country: string | undefined;\r\n zip: string | undefined;\r\n}\r\n\r\nexport class TrialContact implements ITrialContact {\r\n last_name!: string | undefined;\r\n phone!: string | undefined;\r\n email!: string | undefined;\r\n role!: string | undefined;\r\n\r\n constructor(data?: ITrialContact) {\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.last_name = _data[\"last_name\"];\r\n this.phone = _data[\"phone\"];\r\n this.email = _data[\"email\"];\r\n this.role = _data[\"role\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TrialContact {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrialContact();\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[\"last_name\"] = this.last_name;\r\n data[\"phone\"] = this.phone;\r\n data[\"email\"] = this.email;\r\n data[\"role\"] = this.role;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITrialContact {\r\n last_name: string | undefined;\r\n phone: string | undefined;\r\n email: string | undefined;\r\n role: string | undefined;\r\n}\r\n\r\nexport class Article implements IArticle {\r\n title!: string | undefined;\r\n content!: string | undefined;\r\n date_completed!: string | undefined;\r\n date_revised!: string | undefined;\r\n original_url!: string | undefined;\r\n pmid!: string | undefined;\r\n status!: string | undefined;\r\n citationCount!: number;\r\n authors!: ArticleAuthor[] | undefined;\r\n keywords!: string[] | undefined;\r\n promoted_by!: string | undefined;\r\n voice_of!: string | undefined;\r\n attachment_ids!: string[] | undefined;\r\n article_date!: string | undefined;\r\n journal_title!: string | undefined;\r\n journal_pub_date!: string | undefined;\r\n\r\n constructor(data?: IArticle) {\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.title = _data[\"title\"];\r\n this.content = _data[\"content\"];\r\n this.date_completed = _data[\"date_completed\"];\r\n this.date_revised = _data[\"date_revised\"];\r\n this.original_url = _data[\"original_url\"];\r\n this.pmid = _data[\"pmid\"];\r\n this.status = _data[\"status\"];\r\n this.citationCount = _data[\"citationCount\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(ArticleAuthor.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"keywords\"])) {\r\n this.keywords = [] as any;\r\n for (let item of _data[\"keywords\"])\r\n this.keywords!.push(item);\r\n }\r\n this.promoted_by = _data[\"promoted_by\"];\r\n this.voice_of = _data[\"voice_of\"];\r\n if (Array.isArray(_data[\"attachment_ids\"])) {\r\n this.attachment_ids = [] as any;\r\n for (let item of _data[\"attachment_ids\"])\r\n this.attachment_ids!.push(item);\r\n }\r\n this.article_date = _data[\"article_date\"];\r\n this.journal_title = _data[\"journal_title\"];\r\n this.journal_pub_date = _data[\"journal_pub_date\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Article {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Article();\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[\"title\"] = this.title;\r\n data[\"content\"] = this.content;\r\n data[\"date_completed\"] = this.date_completed;\r\n data[\"date_revised\"] = this.date_revised;\r\n data[\"original_url\"] = this.original_url;\r\n data[\"pmid\"] = this.pmid;\r\n data[\"status\"] = this.status;\r\n data[\"citationCount\"] = this.citationCount;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.keywords)) {\r\n data[\"keywords\"] = [];\r\n for (let item of this.keywords)\r\n data[\"keywords\"].push(item);\r\n }\r\n data[\"promoted_by\"] = this.promoted_by;\r\n data[\"voice_of\"] = this.voice_of;\r\n if (Array.isArray(this.attachment_ids)) {\r\n data[\"attachment_ids\"] = [];\r\n for (let item of this.attachment_ids)\r\n data[\"attachment_ids\"].push(item);\r\n }\r\n data[\"article_date\"] = this.article_date;\r\n data[\"journal_title\"] = this.journal_title;\r\n data[\"journal_pub_date\"] = this.journal_pub_date;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArticle {\r\n title: string | undefined;\r\n content: string | undefined;\r\n date_completed: string | undefined;\r\n date_revised: string | undefined;\r\n original_url: string | undefined;\r\n pmid: string | undefined;\r\n status: string | undefined;\r\n citationCount: number;\r\n authors: ArticleAuthor[] | undefined;\r\n keywords: string[] | undefined;\r\n promoted_by: string | undefined;\r\n voice_of: string | undefined;\r\n attachment_ids: string[] | undefined;\r\n article_date: string | undefined;\r\n journal_title: string | undefined;\r\n journal_pub_date: string | undefined;\r\n}\r\n\r\nexport class ArticleAuthor implements IArticleAuthor {\r\n author!: string | undefined;\r\n\r\n constructor(data?: IArticleAuthor) {\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.author = _data[\"author\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArticleAuthor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArticleAuthor();\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[\"author\"] = this.author;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArticleAuthor {\r\n author: string | undefined;\r\n}\r\n\r\nexport class DrugDetails implements IDrugDetails {\r\n din!: string | undefined;\r\n manufacturer!: string | undefined;\r\n individualPrice!: string | undefined;\r\n listDate!: string | undefined;\r\n amountMOHLTCPays!: string | undefined;\r\n itemNumber!: string | undefined;\r\n strength!: string | undefined;\r\n dosageForm!: string | undefined;\r\n\r\n constructor(data?: IDrugDetails) {\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.din = _data[\"din\"];\r\n this.manufacturer = _data[\"manufacturer\"];\r\n this.individualPrice = _data[\"individualPrice\"];\r\n this.listDate = _data[\"listDate\"];\r\n this.amountMOHLTCPays = _data[\"amountMOHLTCPays\"];\r\n this.itemNumber = _data[\"itemNumber\"];\r\n this.strength = _data[\"strength\"];\r\n this.dosageForm = _data[\"dosageForm\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugDetails();\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[\"din\"] = this.din;\r\n data[\"manufacturer\"] = this.manufacturer;\r\n data[\"individualPrice\"] = this.individualPrice;\r\n data[\"listDate\"] = this.listDate;\r\n data[\"amountMOHLTCPays\"] = this.amountMOHLTCPays;\r\n data[\"itemNumber\"] = this.itemNumber;\r\n data[\"strength\"] = this.strength;\r\n data[\"dosageForm\"] = this.dosageForm;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugDetails {\r\n din: string | undefined;\r\n manufacturer: string | undefined;\r\n individualPrice: string | undefined;\r\n listDate: string | undefined;\r\n amountMOHLTCPays: string | undefined;\r\n itemNumber: string | undefined;\r\n strength: string | undefined;\r\n dosageForm: string | undefined;\r\n}\r\n\r\nexport class UpdateFolio implements IUpdateFolio {\r\n logoAttachmentId!: string;\r\n shareLevel!: FolioShareLevel;\r\n title!: string | undefined;\r\n summary!: string | undefined;\r\n folioId!: string;\r\n\r\n constructor(data?: IUpdateFolio) {\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.logoAttachmentId = _data[\"logoAttachmentId\"];\r\n this.shareLevel = _data[\"shareLevel\"];\r\n this.title = _data[\"title\"];\r\n this.summary = _data[\"summary\"];\r\n this.folioId = _data[\"folioId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateFolio {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateFolio();\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[\"logoAttachmentId\"] = this.logoAttachmentId;\r\n data[\"shareLevel\"] = this.shareLevel;\r\n data[\"title\"] = this.title;\r\n data[\"summary\"] = this.summary;\r\n data[\"folioId\"] = this.folioId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateFolio {\r\n logoAttachmentId: string;\r\n shareLevel: FolioShareLevel;\r\n title: string | undefined;\r\n summary: string | undefined;\r\n folioId: string;\r\n}\r\n\r\nexport class Folio implements IFolio {\r\n logoAttachmentId!: string;\r\n authorId!: string;\r\n contentIds!: string[] | undefined;\r\n shareLevel!: FolioShareLevel;\r\n title!: string | undefined;\r\n summary!: string | undefined;\r\n\r\n constructor(data?: IFolio) {\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.logoAttachmentId = _data[\"logoAttachmentId\"];\r\n this.authorId = _data[\"authorId\"];\r\n if (Array.isArray(_data[\"contentIds\"])) {\r\n this.contentIds = [] as any;\r\n for (let item of _data[\"contentIds\"])\r\n this.contentIds!.push(item);\r\n }\r\n this.shareLevel = _data[\"shareLevel\"];\r\n this.title = _data[\"title\"];\r\n this.summary = _data[\"summary\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Folio {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Folio();\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[\"logoAttachmentId\"] = this.logoAttachmentId;\r\n data[\"authorId\"] = this.authorId;\r\n if (Array.isArray(this.contentIds)) {\r\n data[\"contentIds\"] = [];\r\n for (let item of this.contentIds)\r\n data[\"contentIds\"].push(item);\r\n }\r\n data[\"shareLevel\"] = this.shareLevel;\r\n data[\"title\"] = this.title;\r\n data[\"summary\"] = this.summary;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFolio {\r\n logoAttachmentId: string;\r\n authorId: string;\r\n contentIds: string[] | undefined;\r\n shareLevel: FolioShareLevel;\r\n title: string | undefined;\r\n summary: string | undefined;\r\n}\r\n\r\nexport class AddFolioClippingModel implements IAddFolioClippingModel {\r\n folioId!: string;\r\n contentItemId!: string;\r\n\r\n constructor(data?: IAddFolioClippingModel) {\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.folioId = _data[\"folioId\"];\r\n this.contentItemId = _data[\"contentItemId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddFolioClippingModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddFolioClippingModel();\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[\"folioId\"] = this.folioId;\r\n data[\"contentItemId\"] = this.contentItemId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddFolioClippingModel {\r\n folioId: string;\r\n contentItemId: string;\r\n}\r\n\r\nexport class RemoveFolioClippingModel implements IRemoveFolioClippingModel {\r\n folioId!: string;\r\n contentItemId!: string;\r\n\r\n constructor(data?: IRemoveFolioClippingModel) {\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.folioId = _data[\"folioId\"];\r\n this.contentItemId = _data[\"contentItemId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RemoveFolioClippingModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RemoveFolioClippingModel();\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[\"folioId\"] = this.folioId;\r\n data[\"contentItemId\"] = this.contentItemId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRemoveFolioClippingModel {\r\n folioId: string;\r\n contentItemId: string;\r\n}\r\n\r\nexport class GetFolioAttachment implements IGetFolioAttachment {\r\n id!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: IGetFolioAttachment) {\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): GetFolioAttachment {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GetFolioAttachment();\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 IGetFolioAttachment {\r\n id: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class FolioUserResult implements IFolioUserResult {\r\n userId!: string;\r\n name!: string | undefined;\r\n email!: string | undefined;\r\n status!: FolioInvitationStatus;\r\n\r\n constructor(data?: IFolioUserResult) {\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.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FolioUserResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FolioUserResult();\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[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFolioUserResult {\r\n userId: string;\r\n name: string | undefined;\r\n email: string | undefined;\r\n status: FolioInvitationStatus;\r\n}\r\n\r\nexport class FolioInvitationModel implements IFolioInvitationModel {\r\n email!: string | undefined;\r\n\r\n constructor(data?: IFolioInvitationModel) {\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 }\r\n }\r\n\r\n static fromJS(data: any): FolioInvitationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FolioInvitationModel();\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 return data;\r\n }\r\n}\r\n\r\nexport interface IFolioInvitationModel {\r\n email: string | undefined;\r\n}\r\n\r\nexport class PendingFolioInvite implements IPendingFolioInvite {\r\n id!: string;\r\n folioId!: string;\r\n name!: string | undefined;\r\n invitedByName!: string | undefined;\r\n invitedByEmail!: string | undefined;\r\n\r\n constructor(data?: IPendingFolioInvite) {\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.folioId = _data[\"folioId\"];\r\n this.name = _data[\"name\"];\r\n this.invitedByName = _data[\"invitedByName\"];\r\n this.invitedByEmail = _data[\"invitedByEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PendingFolioInvite {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PendingFolioInvite();\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[\"folioId\"] = this.folioId;\r\n data[\"name\"] = this.name;\r\n data[\"invitedByName\"] = this.invitedByName;\r\n data[\"invitedByEmail\"] = this.invitedByEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPendingFolioInvite {\r\n id: string;\r\n folioId: string;\r\n name: string | undefined;\r\n invitedByName: string | undefined;\r\n invitedByEmail: string | undefined;\r\n}\r\n\r\nexport class UpdateFolioInvitationModel implements IUpdateFolioInvitationModel {\r\n inviteId!: string;\r\n userId!: string;\r\n folioInvitationStatus!: FolioInvitationStatus;\r\n\r\n constructor(data?: IUpdateFolioInvitationModel) {\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.inviteId = _data[\"inviteId\"];\r\n this.userId = _data[\"userId\"];\r\n this.folioInvitationStatus = _data[\"folioInvitationStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateFolioInvitationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateFolioInvitationModel();\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[\"inviteId\"] = this.inviteId;\r\n data[\"userId\"] = this.userId;\r\n data[\"folioInvitationStatus\"] = this.folioInvitationStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateFolioInvitationModel {\r\n inviteId: string;\r\n userId: string;\r\n folioInvitationStatus: FolioInvitationStatus;\r\n}\r\n\r\nexport class ContentItemRelatedResult implements IContentItemRelatedResult {\r\n id!: string;\r\n type!: ContentItemType;\r\n title!: string | undefined;\r\n isRecent!: boolean;\r\n\r\n constructor(data?: IContentItemRelatedResult) {\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.type = _data[\"type\"];\r\n this.title = _data[\"title\"];\r\n this.isRecent = _data[\"isRecent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemRelatedResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemRelatedResult();\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[\"type\"] = this.type;\r\n data[\"title\"] = this.title;\r\n data[\"isRecent\"] = this.isRecent;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemRelatedResult {\r\n id: string;\r\n type: ContentItemType;\r\n title: string | undefined;\r\n isRecent: boolean;\r\n}\r\n\r\nexport class ContentItemVersionEntryResult implements IContentItemVersionEntryResult {\r\n contentItemId!: string;\r\n versionId!: string;\r\n createdOn!: Date;\r\n\r\n constructor(data?: IContentItemVersionEntryResult) {\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.contentItemId = _data[\"contentItemId\"];\r\n this.versionId = _data[\"versionId\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemVersionEntryResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemVersionEntryResult();\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[\"contentItemId\"] = this.contentItemId;\r\n data[\"versionId\"] = this.versionId;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemVersionEntryResult {\r\n contentItemId: string;\r\n versionId: string;\r\n createdOn: Date;\r\n}\r\n\r\nexport class ContentItemResult implements IContentItemResult {\r\n contentItemId!: string;\r\n versionId!: string;\r\n title!: string | undefined;\r\n summary!: string | undefined;\r\n createdOn!: Date;\r\n publishedOn!: Date | undefined;\r\n contentItemType!: ContentItemType;\r\n attachments!: Attachment[] | undefined;\r\n images!: Attachment[] | undefined;\r\n featuredImage!: Attachment | undefined;\r\n promotedBy!: string | undefined;\r\n voiceOf!: string | undefined;\r\n sourceUrl!: string | undefined;\r\n source!: string | undefined;\r\n likes!: number;\r\n hasUserLikedContent!: boolean;\r\n savedToFolioIds!: string[] | undefined;\r\n creator!: ContentAuthorResult | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IContentItemResult) {\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 this._discriminator = \"ContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.contentItemId = _data[\"contentItemId\"];\r\n this.versionId = _data[\"versionId\"];\r\n this.title = _data[\"title\"];\r\n this.summary = _data[\"summary\"];\r\n this.createdOn = _data[\"createdOn\"] ? new Date(_data[\"createdOn\"].toString()) : undefined;\r\n this.publishedOn = _data[\"publishedOn\"] ? new Date(_data[\"publishedOn\"].toString()) : undefined;\r\n this.contentItemType = _data[\"contentItemType\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(Attachment.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"images\"])) {\r\n this.images = [] as any;\r\n for (let item of _data[\"images\"])\r\n this.images!.push(Attachment.fromJS(item));\r\n }\r\n this.featuredImage = _data[\"featuredImage\"] ? Attachment.fromJS(_data[\"featuredImage\"]) : undefined;\r\n this.promotedBy = _data[\"promotedBy\"];\r\n this.voiceOf = _data[\"voiceOf\"];\r\n this.sourceUrl = _data[\"sourceUrl\"];\r\n this.source = _data[\"source\"];\r\n this.likes = _data[\"likes\"];\r\n this.hasUserLikedContent = _data[\"hasUserLikedContent\"];\r\n if (Array.isArray(_data[\"savedToFolioIds\"])) {\r\n this.savedToFolioIds = [] as any;\r\n for (let item of _data[\"savedToFolioIds\"])\r\n this.savedToFolioIds!.push(item);\r\n }\r\n this.creator = _data[\"creator\"] ? ContentAuthorResult.fromJS(_data[\"creator\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"DrugContentItemResult\") {\r\n let result = new DrugContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DrugBrandContentItemResult\") {\r\n let result = new DrugBrandContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DecisionContentItemResult\") {\r\n let result = new DecisionContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"ArticleContentItemResult\") {\r\n let result = new ArticleContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"FolioContentItemResult\") {\r\n let result = new FolioContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"TrialContentItemResult\") {\r\n let result = new TrialContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DraftUserArticleContentItemResult\") {\r\n let result = new DraftUserArticleContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"UserArticleContentItemResult\") {\r\n let result = new UserArticleContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DraftUserExternalLinkContentItemResult\") {\r\n let result = new DraftUserExternalLinkContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"UserExternalLinkContentItemResult\") {\r\n let result = new UserExternalLinkContentItemResult();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new ContentItemResult();\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[\"discriminator\"] = this._discriminator;\r\n data[\"contentItemId\"] = this.contentItemId;\r\n data[\"versionId\"] = this.versionId;\r\n data[\"title\"] = this.title;\r\n data[\"summary\"] = this.summary;\r\n data[\"createdOn\"] = this.createdOn ? this.createdOn.toISOString() : undefined;\r\n data[\"publishedOn\"] = this.publishedOn ? this.publishedOn.toISOString() : undefined;\r\n data[\"contentItemType\"] = this.contentItemType;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.images)) {\r\n data[\"images\"] = [];\r\n for (let item of this.images)\r\n data[\"images\"].push(item.toJSON());\r\n }\r\n data[\"featuredImage\"] = this.featuredImage ? this.featuredImage.toJSON() : undefined;\r\n data[\"promotedBy\"] = this.promotedBy;\r\n data[\"voiceOf\"] = this.voiceOf;\r\n data[\"sourceUrl\"] = this.sourceUrl;\r\n data[\"source\"] = this.source;\r\n data[\"likes\"] = this.likes;\r\n data[\"hasUserLikedContent\"] = this.hasUserLikedContent;\r\n if (Array.isArray(this.savedToFolioIds)) {\r\n data[\"savedToFolioIds\"] = [];\r\n for (let item of this.savedToFolioIds)\r\n data[\"savedToFolioIds\"].push(item);\r\n }\r\n data[\"creator\"] = this.creator ? this.creator.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemResult {\r\n contentItemId: string;\r\n versionId: string;\r\n title: string | undefined;\r\n summary: string | undefined;\r\n createdOn: Date;\r\n publishedOn: Date | undefined;\r\n contentItemType: ContentItemType;\r\n attachments: Attachment[] | undefined;\r\n images: Attachment[] | undefined;\r\n featuredImage: Attachment | undefined;\r\n promotedBy: string | undefined;\r\n voiceOf: string | undefined;\r\n sourceUrl: string | undefined;\r\n source: string | undefined;\r\n likes: number;\r\n hasUserLikedContent: boolean;\r\n savedToFolioIds: string[] | undefined;\r\n creator: ContentAuthorResult | undefined;\r\n}\r\n\r\nexport class DrugBrandContentItemResult extends ContentItemResult implements IDrugBrandContentItemResult {\r\n name!: string | undefined;\r\n drugItems!: DrugContentItemResult[] | undefined;\r\n\r\n constructor(data?: IDrugBrandContentItemResult) {\r\n super(data);\r\n this._discriminator = \"DrugBrandContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"drugItems\"])) {\r\n this.drugItems = [] as any;\r\n for (let item of _data[\"drugItems\"])\r\n this.drugItems!.push(DrugContentItemResult.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugBrandContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugBrandContentItemResult();\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 if (Array.isArray(this.drugItems)) {\r\n data[\"drugItems\"] = [];\r\n for (let item of this.drugItems)\r\n data[\"drugItems\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugBrandContentItemResult extends IContentItemResult {\r\n name: string | undefined;\r\n drugItems: DrugContentItemResult[] | undefined;\r\n}\r\n\r\nexport class DrugContentItemResult extends ContentItemResult implements IDrugContentItemResult {\r\n din!: string | undefined;\r\n name!: string | undefined;\r\n drugCode!: string | undefined;\r\n drugStatus!: DrugStatus;\r\n drugIngredients!: DrugContentItemIngredient[] | undefined;\r\n drugData!: DrugData[] | undefined;\r\n\r\n constructor(data?: IDrugContentItemResult) {\r\n super(data);\r\n this._discriminator = \"DrugContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.din = _data[\"din\"];\r\n this.name = _data[\"name\"];\r\n this.drugCode = _data[\"drugCode\"];\r\n this.drugStatus = _data[\"drugStatus\"];\r\n if (Array.isArray(_data[\"drugIngredients\"])) {\r\n this.drugIngredients = [] as any;\r\n for (let item of _data[\"drugIngredients\"])\r\n this.drugIngredients!.push(DrugContentItemIngredient.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"drugData\"])) {\r\n this.drugData = [] as any;\r\n for (let item of _data[\"drugData\"])\r\n this.drugData!.push(DrugData.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugContentItemResult();\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[\"din\"] = this.din;\r\n data[\"name\"] = this.name;\r\n data[\"drugCode\"] = this.drugCode;\r\n data[\"drugStatus\"] = this.drugStatus;\r\n if (Array.isArray(this.drugIngredients)) {\r\n data[\"drugIngredients\"] = [];\r\n for (let item of this.drugIngredients)\r\n data[\"drugIngredients\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.drugData)) {\r\n data[\"drugData\"] = [];\r\n for (let item of this.drugData)\r\n data[\"drugData\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugContentItemResult extends IContentItemResult {\r\n din: string | undefined;\r\n name: string | undefined;\r\n drugCode: string | undefined;\r\n drugStatus: DrugStatus;\r\n drugIngredients: DrugContentItemIngredient[] | undefined;\r\n drugData: DrugData[] | undefined;\r\n}\r\n\r\nexport class DrugData implements IDrugData {\r\n id!: string;\r\n din!: string | undefined;\r\n manufacturer!: string | undefined;\r\n individualPrice!: string | undefined;\r\n listDate!: string | undefined;\r\n amountMOHLTCPays!: string | undefined;\r\n itemNumber!: string | undefined;\r\n strength!: string | undefined;\r\n dosageForm!: string | undefined;\r\n\r\n constructor(data?: IDrugData) {\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.din = _data[\"din\"];\r\n this.manufacturer = _data[\"manufacturer\"];\r\n this.individualPrice = _data[\"individualPrice\"];\r\n this.listDate = _data[\"listDate\"];\r\n this.amountMOHLTCPays = _data[\"amountMOHLTCPays\"];\r\n this.itemNumber = _data[\"itemNumber\"];\r\n this.strength = _data[\"strength\"];\r\n this.dosageForm = _data[\"dosageForm\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DrugData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DrugData();\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[\"din\"] = this.din;\r\n data[\"manufacturer\"] = this.manufacturer;\r\n data[\"individualPrice\"] = this.individualPrice;\r\n data[\"listDate\"] = this.listDate;\r\n data[\"amountMOHLTCPays\"] = this.amountMOHLTCPays;\r\n data[\"itemNumber\"] = this.itemNumber;\r\n data[\"strength\"] = this.strength;\r\n data[\"dosageForm\"] = this.dosageForm;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDrugData {\r\n id: string;\r\n din: string | undefined;\r\n manufacturer: string | undefined;\r\n individualPrice: string | undefined;\r\n listDate: string | undefined;\r\n amountMOHLTCPays: string | undefined;\r\n itemNumber: string | undefined;\r\n strength: string | undefined;\r\n dosageForm: string | undefined;\r\n}\r\n\r\nexport class DecisionContentItemResult extends ContentItemResult implements IDecisionContentItemResult {\r\n referenceNumber!: string | undefined;\r\n dateIssued!: Date | undefined;\r\n decisionItems!: DecisionItem[] | undefined;\r\n\r\n constructor(data?: IDecisionContentItemResult) {\r\n super(data);\r\n this._discriminator = \"DecisionContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.referenceNumber = _data[\"referenceNumber\"];\r\n this.dateIssued = _data[\"dateIssued\"] ? new Date(_data[\"dateIssued\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"decisionItems\"])) {\r\n this.decisionItems = [] as any;\r\n for (let item of _data[\"decisionItems\"])\r\n this.decisionItems!.push(DecisionItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DecisionContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DecisionContentItemResult();\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[\"referenceNumber\"] = this.referenceNumber;\r\n data[\"dateIssued\"] = this.dateIssued ? this.dateIssued.toISOString() : undefined;\r\n if (Array.isArray(this.decisionItems)) {\r\n data[\"decisionItems\"] = [];\r\n for (let item of this.decisionItems)\r\n data[\"decisionItems\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDecisionContentItemResult extends IContentItemResult {\r\n referenceNumber: string | undefined;\r\n dateIssued: Date | undefined;\r\n decisionItems: DecisionItem[] | undefined;\r\n}\r\n\r\nexport class ArticleContentItemResult extends ContentItemResult implements IArticleContentItemResult {\r\n content!: string | undefined;\r\n author!: string | undefined;\r\n journalTitle!: string | undefined;\r\n journalIssueDate!: string | undefined;\r\n authors!: ArticleAuthor2[] | undefined;\r\n\r\n constructor(data?: IArticleContentItemResult) {\r\n super(data);\r\n this._discriminator = \"ArticleContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.content = _data[\"content\"];\r\n this.author = _data[\"author\"];\r\n this.journalTitle = _data[\"journalTitle\"];\r\n this.journalIssueDate = _data[\"journalIssueDate\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(ArticleAuthor2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArticleContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArticleContentItemResult();\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[\"content\"] = this.content;\r\n data[\"author\"] = this.author;\r\n data[\"journalTitle\"] = this.journalTitle;\r\n data[\"journalIssueDate\"] = this.journalIssueDate;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArticleContentItemResult extends IContentItemResult {\r\n content: string | undefined;\r\n author: string | undefined;\r\n journalTitle: string | undefined;\r\n journalIssueDate: string | undefined;\r\n authors: ArticleAuthor2[] | undefined;\r\n}\r\n\r\nexport class ArticleAuthor2 implements IArticleAuthor2 {\r\n id!: string;\r\n author!: string | undefined;\r\n articleId!: string;\r\n article!: ArticleContentItemVersion | undefined;\r\n\r\n constructor(data?: IArticleAuthor2) {\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.author = _data[\"author\"];\r\n this.articleId = _data[\"articleId\"];\r\n this.article = _data[\"article\"] ? ArticleContentItemVersion.fromJS(_data[\"article\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArticleAuthor2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArticleAuthor2();\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[\"author\"] = this.author;\r\n data[\"articleId\"] = this.articleId;\r\n data[\"article\"] = this.article ? this.article.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArticleAuthor2 {\r\n id: string;\r\n author: string | undefined;\r\n articleId: string;\r\n article: ArticleContentItemVersion | undefined;\r\n}\r\n\r\nexport class ArticleContentItemVersion extends ContentItemVersion implements IArticleContentItemVersion {\r\n content!: string | undefined;\r\n author!: string | undefined;\r\n pmid!: string | undefined;\r\n mednetID!: string | undefined;\r\n processingStatus!: ProcessingStatus;\r\n keywords!: string[] | undefined;\r\n journalTitle!: string | undefined;\r\n journalIssueDate!: string | undefined;\r\n dateCompleted!: Date | undefined;\r\n dateRevised!: Date | undefined;\r\n authors!: ArticleAuthor2[] | undefined;\r\n citationCount!: number | undefined;\r\n\r\n constructor(data?: IArticleContentItemVersion) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.content = _data[\"content\"];\r\n this.author = _data[\"author\"];\r\n this.pmid = _data[\"pmid\"];\r\n this.mednetID = _data[\"mednetID\"];\r\n this.processingStatus = _data[\"processingStatus\"];\r\n if (Array.isArray(_data[\"keywords\"])) {\r\n this.keywords = [] as any;\r\n for (let item of _data[\"keywords\"])\r\n this.keywords!.push(item);\r\n }\r\n this.journalTitle = _data[\"journalTitle\"];\r\n this.journalIssueDate = _data[\"journalIssueDate\"];\r\n this.dateCompleted = _data[\"dateCompleted\"] ? new Date(_data[\"dateCompleted\"].toString()) : undefined;\r\n this.dateRevised = _data[\"dateRevised\"] ? new Date(_data[\"dateRevised\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(ArticleAuthor2.fromJS(item));\r\n }\r\n this.citationCount = _data[\"citationCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ArticleContentItemVersion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ArticleContentItemVersion();\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[\"content\"] = this.content;\r\n data[\"author\"] = this.author;\r\n data[\"pmid\"] = this.pmid;\r\n data[\"mednetID\"] = this.mednetID;\r\n data[\"processingStatus\"] = this.processingStatus;\r\n if (Array.isArray(this.keywords)) {\r\n data[\"keywords\"] = [];\r\n for (let item of this.keywords)\r\n data[\"keywords\"].push(item);\r\n }\r\n data[\"journalTitle\"] = this.journalTitle;\r\n data[\"journalIssueDate\"] = this.journalIssueDate;\r\n data[\"dateCompleted\"] = this.dateCompleted ? this.dateCompleted.toISOString() : undefined;\r\n data[\"dateRevised\"] = this.dateRevised ? this.dateRevised.toISOString() : undefined;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"citationCount\"] = this.citationCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IArticleContentItemVersion extends IContentItemVersion {\r\n content: string | undefined;\r\n author: string | undefined;\r\n pmid: string | undefined;\r\n mednetID: string | undefined;\r\n processingStatus: ProcessingStatus;\r\n keywords: string[] | undefined;\r\n journalTitle: string | undefined;\r\n journalIssueDate: string | undefined;\r\n dateCompleted: Date | undefined;\r\n dateRevised: Date | undefined;\r\n authors: ArticleAuthor2[] | undefined;\r\n citationCount: number | undefined;\r\n}\r\n\r\nexport enum ProcessingStatus {\r\n Publisher = \"Publisher\",\r\n InDataReview = \"In-Data-Review\",\r\n InProcess = \"In-Process\",\r\n Medline = \"MEDLINE\",\r\n PubMedNotMedline = \"PubMed-not-MEDLINE\",\r\n OldMedline = \"OLDMEDLINE\",\r\n Completed = \"Completed\",\r\n Mednet = \"Mednet\",\r\n}\r\n\r\nexport class FolioContentItemResult extends ContentItemResult implements IFolioContentItemResult {\r\n logo!: Attachment | undefined;\r\n author!: string | undefined;\r\n clippings!: ContentItem[] | undefined;\r\n shareLevel!: FolioShareLevel;\r\n\r\n constructor(data?: IFolioContentItemResult) {\r\n super(data);\r\n this._discriminator = \"FolioContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.logo = _data[\"logo\"] ? Attachment.fromJS(_data[\"logo\"]) : undefined;\r\n this.author = _data[\"author\"];\r\n if (Array.isArray(_data[\"clippings\"])) {\r\n this.clippings = [] as any;\r\n for (let item of _data[\"clippings\"])\r\n this.clippings!.push(ContentItem.fromJS(item));\r\n }\r\n this.shareLevel = _data[\"shareLevel\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FolioContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FolioContentItemResult();\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[\"logo\"] = this.logo ? this.logo.toJSON() : undefined;\r\n data[\"author\"] = this.author;\r\n if (Array.isArray(this.clippings)) {\r\n data[\"clippings\"] = [];\r\n for (let item of this.clippings)\r\n data[\"clippings\"].push(item.toJSON());\r\n }\r\n data[\"shareLevel\"] = this.shareLevel;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFolioContentItemResult extends IContentItemResult {\r\n logo: Attachment | undefined;\r\n author: string | undefined;\r\n clippings: ContentItem[] | undefined;\r\n shareLevel: FolioShareLevel;\r\n}\r\n\r\nexport class TrialContentItemResult extends ContentItemResult implements ITrialContentItemResult {\r\n nctID!: string | undefined;\r\n trialTitle!: string | undefined;\r\n trialStatusId!: string;\r\n trialStatusType!: TrialStatusType | undefined;\r\n lastVerifiedDate!: Date;\r\n genderTypeId!: string;\r\n gender!: string | undefined;\r\n minAge!: number;\r\n minAgeUnits!: string | undefined;\r\n minAgeInYears!: number;\r\n maxAge!: number;\r\n maxAgeUnits!: string | undefined;\r\n maxAgeInYears!: number;\r\n metaDescription!: string | undefined;\r\n metaKeywords!: string | undefined;\r\n locations!: TrialLocation2[] | undefined;\r\n\r\n constructor(data?: ITrialContentItemResult) {\r\n super(data);\r\n this._discriminator = \"TrialContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.nctID = _data[\"nctID\"];\r\n this.trialTitle = _data[\"trialTitle\"];\r\n this.trialStatusId = _data[\"trialStatusId\"];\r\n this.trialStatusType = _data[\"trialStatusType\"] ? TrialStatusType.fromJS(_data[\"trialStatusType\"]) : undefined;\r\n this.lastVerifiedDate = _data[\"lastVerifiedDate\"] ? new Date(_data[\"lastVerifiedDate\"].toString()) : undefined;\r\n this.genderTypeId = _data[\"genderTypeId\"];\r\n this.gender = _data[\"gender\"];\r\n this.minAge = _data[\"minAge\"];\r\n this.minAgeUnits = _data[\"minAgeUnits\"];\r\n this.minAgeInYears = _data[\"minAgeInYears\"];\r\n this.maxAge = _data[\"maxAge\"];\r\n this.maxAgeUnits = _data[\"maxAgeUnits\"];\r\n this.maxAgeInYears = _data[\"maxAgeInYears\"];\r\n this.metaDescription = _data[\"metaDescription\"];\r\n this.metaKeywords = _data[\"metaKeywords\"];\r\n if (Array.isArray(_data[\"locations\"])) {\r\n this.locations = [] as any;\r\n for (let item of _data[\"locations\"])\r\n this.locations!.push(TrialLocation2.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TrialContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrialContentItemResult();\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[\"nctID\"] = this.nctID;\r\n data[\"trialTitle\"] = this.trialTitle;\r\n data[\"trialStatusId\"] = this.trialStatusId;\r\n data[\"trialStatusType\"] = this.trialStatusType ? this.trialStatusType.toJSON() : undefined;\r\n data[\"lastVerifiedDate\"] = this.lastVerifiedDate ? this.lastVerifiedDate.toISOString() : undefined;\r\n data[\"genderTypeId\"] = this.genderTypeId;\r\n data[\"gender\"] = this.gender;\r\n data[\"minAge\"] = this.minAge;\r\n data[\"minAgeUnits\"] = this.minAgeUnits;\r\n data[\"minAgeInYears\"] = this.minAgeInYears;\r\n data[\"maxAge\"] = this.maxAge;\r\n data[\"maxAgeUnits\"] = this.maxAgeUnits;\r\n data[\"maxAgeInYears\"] = this.maxAgeInYears;\r\n data[\"metaDescription\"] = this.metaDescription;\r\n data[\"metaKeywords\"] = this.metaKeywords;\r\n if (Array.isArray(this.locations)) {\r\n data[\"locations\"] = [];\r\n for (let item of this.locations)\r\n data[\"locations\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITrialContentItemResult extends IContentItemResult {\r\n nctID: string | undefined;\r\n trialTitle: string | undefined;\r\n trialStatusId: string;\r\n trialStatusType: TrialStatusType | undefined;\r\n lastVerifiedDate: Date;\r\n genderTypeId: string;\r\n gender: string | undefined;\r\n minAge: number;\r\n minAgeUnits: string | undefined;\r\n minAgeInYears: number;\r\n maxAge: number;\r\n maxAgeUnits: string | undefined;\r\n maxAgeInYears: number;\r\n metaDescription: string | undefined;\r\n metaKeywords: string | undefined;\r\n locations: TrialLocation2[] | undefined;\r\n}\r\n\r\nexport class TrialLocation2 implements ITrialLocation2 {\r\n address!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n country!: string | undefined;\r\n\r\n constructor(data?: ITrialLocation2) {\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.address = _data[\"address\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TrialLocation2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TrialLocation2();\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[\"address\"] = this.address;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITrialLocation2 {\r\n address: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n country: string | undefined;\r\n}\r\n\r\nexport class DraftUserArticleContentItemResult extends ContentItemResult implements IDraftUserArticleContentItemResult {\r\n content!: string | undefined;\r\n postedBy!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n isPublished!: boolean;\r\n\r\n constructor(data?: IDraftUserArticleContentItemResult) {\r\n super(data);\r\n this._discriminator = \"DraftUserArticleContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.content = _data[\"content\"];\r\n this.postedBy = _data[\"postedBy\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.isPublished = _data[\"isPublished\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DraftUserArticleContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DraftUserArticleContentItemResult();\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[\"content\"] = this.content;\r\n data[\"postedBy\"] = this.postedBy;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"isPublished\"] = this.isPublished;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDraftUserArticleContentItemResult extends IContentItemResult {\r\n content: string | undefined;\r\n postedBy: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n isPublished: boolean;\r\n}\r\n\r\nexport class UserArticleContentItemResult extends ContentItemResult implements IUserArticleContentItemResult {\r\n content!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n postedBy!: string | undefined;\r\n ownerId!: string;\r\n\r\n constructor(data?: IUserArticleContentItemResult) {\r\n super(data);\r\n this._discriminator = \"UserArticleContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.content = _data[\"content\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.postedBy = _data[\"postedBy\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserArticleContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserArticleContentItemResult();\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[\"content\"] = this.content;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"postedBy\"] = this.postedBy;\r\n data[\"ownerId\"] = this.ownerId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserArticleContentItemResult extends IContentItemResult {\r\n content: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n postedBy: string | undefined;\r\n ownerId: string;\r\n}\r\n\r\nexport class DraftUserExternalLinkContentItemResult extends ContentItemResult implements IDraftUserExternalLinkContentItemResult {\r\n externalLinkType!: ExternalLinkType;\r\n externalLink!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n postedBy!: string | undefined;\r\n isPublished!: boolean;\r\n\r\n constructor(data?: IDraftUserExternalLinkContentItemResult) {\r\n super(data);\r\n this._discriminator = \"DraftUserExternalLinkContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.externalLinkType = _data[\"externalLinkType\"];\r\n this.externalLink = _data[\"externalLink\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.postedBy = _data[\"postedBy\"];\r\n this.isPublished = _data[\"isPublished\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DraftUserExternalLinkContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DraftUserExternalLinkContentItemResult();\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[\"externalLinkType\"] = this.externalLinkType;\r\n data[\"externalLink\"] = this.externalLink;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"postedBy\"] = this.postedBy;\r\n data[\"isPublished\"] = this.isPublished;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDraftUserExternalLinkContentItemResult extends IContentItemResult {\r\n externalLinkType: ExternalLinkType;\r\n externalLink: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n postedBy: string | undefined;\r\n isPublished: boolean;\r\n}\r\n\r\nexport class UserExternalLinkContentItemResult extends ContentItemResult implements IUserExternalLinkContentItemResult {\r\n externalLinkType!: ExternalLinkType;\r\n externalLink!: string | undefined;\r\n authors!: UserContentAuthorDto[] | undefined;\r\n ownerId!: string;\r\n postedBy!: string | undefined;\r\n\r\n constructor(data?: IUserExternalLinkContentItemResult) {\r\n super(data);\r\n this._discriminator = \"UserExternalLinkContentItemResult\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.externalLinkType = _data[\"externalLinkType\"];\r\n this.externalLink = _data[\"externalLink\"];\r\n if (Array.isArray(_data[\"authors\"])) {\r\n this.authors = [] as any;\r\n for (let item of _data[\"authors\"])\r\n this.authors!.push(UserContentAuthorDto.fromJS(item));\r\n }\r\n this.ownerId = _data[\"ownerId\"];\r\n this.postedBy = _data[\"postedBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserExternalLinkContentItemResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserExternalLinkContentItemResult();\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[\"externalLinkType\"] = this.externalLinkType;\r\n data[\"externalLink\"] = this.externalLink;\r\n if (Array.isArray(this.authors)) {\r\n data[\"authors\"] = [];\r\n for (let item of this.authors)\r\n data[\"authors\"].push(item.toJSON());\r\n }\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"postedBy\"] = this.postedBy;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserExternalLinkContentItemResult extends IContentItemResult {\r\n externalLinkType: ExternalLinkType;\r\n externalLink: string | undefined;\r\n authors: UserContentAuthorDto[] | undefined;\r\n ownerId: string;\r\n postedBy: string | undefined;\r\n}\r\n\r\nexport class SearchModel implements ISearchModel {\r\n pageSize!: number | undefined;\r\n pageNumber!: number | undefined;\r\n text!: string | undefined;\r\n dateFrom!: Date | undefined;\r\n dateTo!: Date | undefined;\r\n author!: string | undefined;\r\n drugId!: string | undefined;\r\n hasAttachment!: boolean | undefined;\r\n\r\n constructor(data?: ISearchModel) {\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.pageSize = _data[\"pageSize\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.text = _data[\"text\"];\r\n this.dateFrom = _data[\"dateFrom\"] ? new Date(_data[\"dateFrom\"].toString()) : undefined;\r\n this.dateTo = _data[\"dateTo\"] ? new Date(_data[\"dateTo\"].toString()) : undefined;\r\n this.author = _data[\"author\"];\r\n this.drugId = _data[\"drugId\"];\r\n this.hasAttachment = _data[\"hasAttachment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchModel();\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[\"pageSize\"] = this.pageSize;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"text\"] = this.text;\r\n data[\"dateFrom\"] = this.dateFrom ? this.dateFrom.toISOString() : undefined;\r\n data[\"dateTo\"] = this.dateTo ? this.dateTo.toISOString() : undefined;\r\n data[\"author\"] = this.author;\r\n data[\"drugId\"] = this.drugId;\r\n data[\"hasAttachment\"] = this.hasAttachment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchModel {\r\n pageSize: number | undefined;\r\n pageNumber: number | undefined;\r\n text: string | undefined;\r\n dateFrom: Date | undefined;\r\n dateTo: Date | undefined;\r\n author: string | undefined;\r\n drugId: string | undefined;\r\n hasAttachment: boolean | 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 axios, { AxiosResponse } from \"axios\";\r\nimport store from \"@/store/userStore\";\r\n\r\nexport default abstract class AxiosClient {\r\n public constructor() {}\r\n\r\n protected transformOptions(options: any) {\r\n // If there is an access token in the store, attach it to the request\r\n if (store.getters.accessToken) {\r\n options.headers[\"Authorization\"] = `Bearer ${store.getters.accessToken}`;\r\n }\r\n\r\n return Promise.resolve(options);\r\n }\r\n\r\n protected async transformResult(url: string, response: AxiosResponse, processor: (response: AxiosResponse) => any) {\r\n // If we receive a 401 response and there is a refresh token. Make a request to refresh the token.\r\n // If the refresh is a success, we will rerun the previous request,\r\n // otherwise we will logout and redirect to login\r\n if (response.status == 401 && store.getters.hasRefreshToken) {\r\n try {\r\n return processor(await this.tryRefreshTokenAsync(response));\r\n } catch {\r\n this.logoutAndRedirect();\r\n return processor(response);\r\n }\r\n } else {\r\n return processor(response);\r\n }\r\n }\r\n\r\n /**\r\n * Use the refresh token to try and get a new access token\r\n */\r\n async tryRefreshTokenAsync(response: AxiosResponse): Promise> {\r\n await store.dispatch(\"refreshLogin\");\r\n response.config.headers[\"Authorization\"] = `Bearer ${store.getters.accessToken}`;\r\n let instance = axios.create();\r\n return await instance.request(response.config);\r\n }\r\n\r\n /**\r\n * Logout and redirect to the login page\r\n */\r\n logoutAndRedirect() {\r\n store.dispatch(\"logout\");\r\n const router = require(\"@/router/index\");\r\n router.default.push({ name: \"Login\" });\r\n }\r\n\r\n public getBaseUrl(val?: string): string {\r\n return process.env.VUE_APP_API_BASE_URL!;\r\n }\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/author_multiple.f7bde44c.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAABHNCSVQICAgIfAhkiAAAAnhJREFUWEfNlv1RwkAQxU0FYgViBUAFQgd2IFYgVkCsQKhAqECsQErADrADrADfY/Yyy+a+QvKHmclAcrnb3+3u273i6p9cRdccZVn2ce+brtsZCIw/wPgc91Agtvh9wftdDlQnIDC2gLFnj8GDwKxSMK1BAEEjj87Q8Xj8LYri2hh+ku+CPK1ALASsrPFuiruH/wzNQFmOwlwMQoMw8q4MnSDcc1OYrkDOIC6BuRiExrDrGX4OsfjneqYxiCzca1IrPDBU00ivkQ2CSWNMflN1Yg91LObz+TIlTfGeTeAt1py4uVkgmFBiAouV79rgJRXBXUYvVl3Ie+fkjefKfhLEI9Ef5oWRJqvnJBOG3zpZ37nwREFCdUJcbeWbhPFI/sbBB0FiEEqeNRjMG/nig/fsQV+4mSu8lqK604MXJAciAsMQbTWMB+Ib42MdyhpIDoS4mP2Fu9rwGUm4QBLuRF0Vh4WQXjS08j8DwaDtot6KCckeVGML9pAABD1ROxpUIBjkeeJDudQLIYlK19+rb2swTSDOckTi6hYPQghItLvKptgQT4kp4fB6wm1Ge+SodljJyqeACMxKvp+6eTkQ1iMapCo0IRAFw8qqw6SnUB1TX07YdbVHdNyTxcnIs8SzbQFrvJvlVFvrkbM+gMFGMOKhseTFNhegliOykFVOEgYG+5DyAJL+jIUxNeYraEw0fQQMwhiJvuKZIbroCpX4JIynbEcln6KLNb0gTKBO1Mp2yrgeTx0DLAzPIQwVk/J05daJFFTOwcjC6DWz60RrEFETzxIsXLdqwUZ1ohMQt4gkKPsH233yjJoynp0jTRZq+20yR9oayJ3/B8n7cjLSUV/3AAAAAElFTkSuQmCC\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":_vm.width,\"persistent\":\"\"},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',{staticClass:\"background\"},[_c('v-card-title',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"section-title\",attrs:{\"align\":\"center\"}},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('DoceoIcon',{attrs:{\"icon\":_vm.DOCEO_ICONS.CLOSE,\"size\":16,\"alt\":\"Close\"},on:{\"click\":_vm.close}})],1)],1)],1),_c('v-card-text',[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")])],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"ripple\":false},on:{\"click\":_vm.close}},[_vm._v(\" \"+_vm._s(_vm.buttonText)+\" \")]),_c('v-spacer')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DoceoIcon from \"@/components/DoceoIcon.vue\";\r\nimport DOCEO_ICONS from \"@/constants/icons\";\r\n\r\nexport default Vue.extend({\r\n name: \"RegisterConfirmedDialogDialog\",\r\n components: { DoceoIcon },\r\n props: {\r\n isOpen: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n title: {\r\n type: String,\r\n required: true,\r\n },\r\n message: {\r\n type: String,\r\n required: true,\r\n },\r\n buttonText: {\r\n type: String,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"700px\",\r\n },\r\n },\r\n data: () => ({\r\n DOCEO_ICONS,\r\n }),\r\n computed: {},\r\n methods: {\r\n /**\r\n * Emit an event to close the dialog\r\n */\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InfoDialog.vue?vue&type=template&id=4cdb0a22&scoped=true&\"\nimport script from \"./InfoDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./InfoDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./InfoDialog.vue?vue&type=style&index=0&id=4cdb0a22&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4cdb0a22\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VDialog,VRow,VSpacer})\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAVBAMAAACwDgOmAAAAMFBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlTPQ5AAAAD3RSTlMAgMDwQBCX0FAw4CCwYHD7XtViAAAAuUlEQVQI12Ng4FX+DwSfFQMYGFj1/0PASgYGpl+tDCDg/jmA4f5SMJM7Vz+BQb8BzOb7td+AwT6AgTXr82nuXK7fDP8ZGKKAxkxgYPoCYp9PZZAvgLI/MzCwf4GwWT4xMDD+g7A5vzMwsP2FqrFvYAj+CWX3f2tcnwBlM/7//ycAymbYeNABaNRPBv0JDBDA/4EhXwDKBloXbAJh8v13YOD4XyMIBDL1H4EC0yHe+uwAkt0BEpcAGgEArApSfx9KAYwAAAAASUVORK5CYII=\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MarketingFooter.vue?vue&type=style&index=0&id=083a4893&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAuCAYAAACF6SFvAAAABHNCSVQICAgIfAhkiAAAA9NJREFUaEPVmU1W2zAQgD1eJMvSEwAnKCxa0lXTE7SBAwAnaLJpYAVdQbqBnqDkACHhBIRVCV2EnqAcISxD39N0RomNfyRHtmXAei/v5dmjkb75kTQyOIbte/9mTaBYBoA1rwsgDB1w7r823t0aqlGKhXQLWHJcnLAgOjih38V+4/2diX5IEjrq/1oBAQc04To4sJIki4hnJDfY26xdmAzMul3H3aZ+O4t0kz421ml7c6ObpFsJc9IfLz2IfwSBTZOJRWQmCHi416j9UPXNo5u8dEeR0Wo3NgYq3TEYaTF0+yTsh1MGIA6R2MCd89E2W5h+S1l0en3IWE2VsUIwHLvk9kvdYCi1ITls3g3oCT8EfbRy+FXdamsqpidk1R0VBJIOkLpID6uSf3kcvW7Wu7dV2w3q82fB7p/idByN39lAi+1IynlknSwndMwb8x6z2Se2mWSsIbbaWzX2tGy+xPH59SVNpR7uoFGSMDBDkQeSp8YGCo2+2FgyJhSGFeB+3G+8HfrqOv3RZzIO54nfKObZzmajKKR0Zkhvnoh5I0Ccm7SCrvow5JW/ofAyja2UqHlBtMOh8629tXEI86QfhwQ5TGQO2GjzjLahaq4jGjWed4C8ckpe+RIMMGWy5ZmMVeOoJ0J5ug609nPyfAgki3WWPHbQ9Y2FLIUaw3CIPW6QT2BFG3DRVZPPcAxjKzlszNFcRzwVr8oLo8CGTu/6jna5Zf9dScJMHjUCKy6F15/SLgAKx1zFlua8O7950FuX7MJR/3fdRcEn5VK1qNEFwq48fB33RhMKwVcezYv3juJcVIHKawlDi0CTEuqkVK4JT7ZLJTWV3/MWW9VKRCZArPKlhw9T1tyh5dkv0EIFS6c3OqQS5qBETpHh5c03Vn3R8eaMXvLFw4tuvElWoVJvNdblHRs3ZSlJZcGAyoJPQZqXtMKpQLQws8uNhyGRvgkBGdT3Nt2puk/QgWhh+MVzA6UFSYR5TqAsIAthfCDxQLeTjycEfm5ypZQl5LKCGMGwkLylFzgsGigPiDHMUwDlBUkFUySQDZDUMEUAKUHQua+6lZXghmiSf5nuX23lkGojpq3s3nWhnuVrXCaYIjwkV0jFEcXEI55MZhgfiL6TRE8KaSbgyeYFyZQz0YnqTgppgGyAWIFJPCkYfBaxBWINJglo5iH1lwCbIFZhHoGmlEPh8kETcl26hGimXX6TwjfXAqBTbFDghSrENPn15DA8YEIJXgiI9TCLWu2od7PjAv4MPC8MpHAY6SH6+IvCOaMT9yB4+WArtIJ6CskZ1V5kM9F1hvgPaQEVFnQcKKQAAAAASUVORK5CYII=\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._t(\"extraInput\")],2),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"autocomplete\":\"new-password\",\"type\":\"password\",\"dense\":\"\",\"label\":\"New Password\",\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.passwordErrors},on:{\"blur\":function($event){return _vm.$v.password.$touch()}},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"autocomplete\":\"new-password\",\"type\":\"password\",\"dense\":\"\",\"label\":\"Confirm New Password\",\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.verifyPasswordErrors},on:{\"blur\":function($event){return _vm.$v.verifyPassword.$touch()}},model:{value:(_vm.verifyPassword),callback:function ($$v) {_vm.verifyPassword=$$v},expression:\"verifyPassword\"}})],1)],1),_vm._t(\"error\"),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"primary--text font-weight-bold\"},[_vm._v(\"Your password must contain:\")])])],1),_c('PasswordStrength',{attrs:{\"isValid\":_vm.containsNumber,\"message\":\"A number\"}}),_c('PasswordStrength',{attrs:{\"isValid\":_vm.containsLowercase,\"message\":\"A lowercase letter\"}}),_c('PasswordStrength',{attrs:{\"isValid\":_vm.containsUppercase,\"message\":\"An uppercase letter\"}}),_c('PasswordStrength',{attrs:{\"isValid\":_vm.containsSpecial,\"message\":\"A special character (!_@*/#)\"}})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[(_vm.isValid)?_c('doceo-icon',{staticStyle:{\"height\":\"22px\"},attrs:{\"icon\":_vm.DOCEO_ICONS.GREEN_CHECKMARK,\"size\":16,\"cursor\":\"default\"}}):_c('v-icon',{attrs:{\"color\":\"#9A9A9A\",\"size\":\"16px\"}},[_vm._v(\"mdi-checkbox-blank-circle-outline\")])],1),_c('v-col',[_c('span',[_vm._v(_vm._s(_vm.message))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nimport DoceoIcon from \"@/components/DoceoIcon.vue\";\r\nimport DOCEO_ICONS from \"@/constants/icons\";\r\n\r\nexport default Vue.extend({\r\n name: \"RegisterConfirmedDialogDialog\",\r\n components: {\r\n DoceoIcon,\r\n },\r\n props: {\r\n isValid: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n message: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n data: () => ({\r\n DOCEO_ICONS,\r\n }),\r\n computed: {},\r\n methods: {},\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordStrength.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordStrength.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PasswordStrength.vue?vue&type=template&id=2fd22a54&scoped=true&\"\nimport script from \"./PasswordStrength.vue?vue&type=script&lang=ts&\"\nexport * from \"./PasswordStrength.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2fd22a54\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nimport { validationMixin } from \"vuelidate\";\r\nimport { required, sameAs } from \"vuelidate/lib/validators\";\r\nimport PasswordStrength from \"@/components/userManagement/PasswordStrength.vue\";\r\n\r\nexport default Vue.extend({\r\n name: \"Login\",\r\n mixins: [validationMixin],\r\n components: { PasswordStrength },\r\n props: {},\r\n created() {},\r\n validations: {\r\n password: {\r\n required,\r\n containsUppercase: function(value) {\r\n return /[A-Z]/.test(value);\r\n },\r\n containsLowercase: function(value) {\r\n return /[a-z]/.test(value);\r\n },\r\n containsNumber: function(value) {\r\n return /[0-9]/.test(value);\r\n },\r\n containsSpecial: function(value) {\r\n return /[#?!@$%^&*-]/.test(value);\r\n },\r\n },\r\n\r\n verifyPassword: { required, sameAsPassword: sameAs(\"password\") },\r\n },\r\n data: () => ({\r\n password: \"\",\r\n verifyPassword: \"\",\r\n isRegistering: false,\r\n errorMsg: undefined as string | undefined,\r\n isSubmitting: false,\r\n isInfoDialogOpen: false,\r\n }),\r\n methods: {\r\n async resetPassword() {},\r\n\r\n /**\r\n * Validate the login form and perform a login\r\n */\r\n async buttonClicked() {\r\n this.$v.$touch();\r\n this.errorMsg = undefined;\r\n\r\n if (this.$v.$invalid) {\r\n return;\r\n }\r\n\r\n this.resetPassword();\r\n },\r\n },\r\n computed: {\r\n containsUppercase(): Boolean {\r\n return /[A-Z]/.test(this.password);\r\n },\r\n\r\n containsLowercase(): Boolean {\r\n return /[a-z]/.test(this.password);\r\n },\r\n containsNumber(): Boolean {\r\n return /[0-9]/.test(this.password);\r\n },\r\n containsSpecial(): Boolean {\r\n return /[#?!@$%^&*-]/.test(this.password);\r\n },\r\n /**\r\n * Password error checking\r\n */\r\n passwordErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.password.$dirty) return errors;\r\n !this.$v.password.required && errors.push(\"Password is required.\");\r\n !this.$v.password.containsUppercase && errors.push(\"Password must contain an uppercase letter\");\r\n !this.$v.password.containsLowercase && errors.push(\"Password must contain a lowercase letter\");\r\n !this.$v.password.containsNumber && errors.push(\"Password must contain a numer\");\r\n !this.$v.password.containsSpecial && errors.push(\"Password must contain a special character\");\r\n return errors;\r\n },\r\n /**\r\n * Verify password error checking\r\n */\r\n verifyPasswordErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.verifyPassword.$dirty) return errors;\r\n !this.$v.verifyPassword.required && errors.push(\"Password is required.\");\r\n !this.$v.verifyPassword.sameAsPassword && errors.push(\"Password must be the same\");\r\n\r\n return errors;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordFields.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PasswordFields.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PasswordFields.vue?vue&type=template&id=145482e6&\"\nimport script from \"./PasswordFields.vue?vue&type=script&lang=ts&\"\nexport * from \"./PasswordFields.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n","/**\r\n * Managing the signalR chat hub\r\n */\r\n\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport { ChatroomModel } from \"@/api/signalRModels/ChatRoomModel\";\r\nimport { CreateChatroomCommand } from \"@/api/signalRModels/CreateChatroomCommand\";\r\nimport { GetMessageQuery } from \"@/api/signalRModels/GetMessageQuery\";\r\nimport { JoinChatroomCommand } from \"@/api/signalRModels/JoinChatroomCommand\";\r\nimport { MessageModel } from \"@/api/signalRModels/MessageModel\";\r\nimport { SendMessageCommand } from \"@/api/signalRModels/SendMessageCommand\";\r\n\r\nimport { useConversationStore } from \"@/store/conversationStore\";\r\n\r\nexport const useChatHubStore = defineStore(\"chatHub\", {\r\n state: () => ({\r\n storeIsLoadingState: false,\r\n isConnectedToHub: false,\r\n hubConnectAttemptCount: 0,\r\n connection: null as signalR.HubConnection | null,\r\n }),\r\n getters: {\r\n isLoadingState: (state) => state.storeIsLoadingState,\r\n isConnected: (state) => state.isConnectedToHub,\r\n },\r\n actions: {\r\n SET_CONNECTION(connection: signalR.HubConnection) {\r\n this.connection = connection;\r\n },\r\n\r\n SET_IS_LOADING_STATE(isLoadingState: boolean) {\r\n this.storeIsLoadingState = isLoadingState;\r\n },\r\n\r\n SET_IS_CONNECTED_TO_HUB(isConnected: boolean) {\r\n this.isConnectedToHub = isConnected;\r\n },\r\n\r\n CLEAR_HUB_CONNECT_ATTEMPT_COUNT() {\r\n this.hubConnectAttemptCount = 0;\r\n },\r\n\r\n SET_HUB_CONNECT_ATTEMPT_COUNT(count: number) {\r\n this.hubConnectAttemptCount = count;\r\n },\r\n\r\n async createChatroom(createChatroomCommand: CreateChatroomCommand): Promise {\r\n return (await this.connection?.invoke(\"CreateChatroom\", createChatroomCommand)) as string;\r\n },\r\n\r\n async getInvitedChatrooms(): Promise {\r\n const chatrooms = (await this.connection?.invoke(\"GetInvitedChatrooms\")) as ChatroomModel[];\r\n const conversationStore = useConversationStore();\r\n conversationStore.setInvitedChatrooms(chatrooms);\r\n return chatrooms;\r\n },\r\n\r\n async getJoinedChatrooms(): Promise {\r\n return (await this.connection?.invoke(\"GetJoinedChatrooms\")) as ChatroomModel[];\r\n },\r\n\r\n async getMessages(query: GetMessageQuery): Promise {\r\n return (await this.connection?.invoke(\"GetMessages\", query)) as MessageModel[];\r\n },\r\n\r\n async inviteUserToChatroom(email: string, chatroomId: string): Promise {\r\n return this.connection?.invoke(\"InviteUserToChatroom\", email, chatroomId);\r\n },\r\n\r\n async joinChatroom(command: JoinChatroomCommand): Promise {\r\n return (await this.connection?.invoke(\"JoinChatroom\", command)) as ChatroomModel;\r\n },\r\n\r\n async leaveChatroom(chatroomId: string): Promise {\r\n return this.connection?.invoke(\"LeaveChatroom\", chatroomId);\r\n },\r\n\r\n async loadChatrooms(): Promise {\r\n const chatrooms = (await this.connection?.invoke(\"Load\")) as ChatroomModel[];\r\n const conversationStore = useConversationStore();\r\n conversationStore.setChatrooms(chatrooms);\r\n return chatrooms;\r\n },\r\n\r\n async readLastMessage(chatroomId: string): Promise {\r\n return this.connection?.invoke(\"ReadLastMessage\", chatroomId);\r\n },\r\n\r\n async resendChatroomInvitationEmail(userId: string, chatroomId: string): Promise {\r\n return this.connection?.invoke(\"ResendChatroomInvitationEmail\", userId, chatroomId);\r\n },\r\n\r\n async sendMessage(sendMessageCommand: SendMessageCommand): Promise {\r\n return this.connection?.invoke(\"SendMessage\", sendMessageCommand);\r\n },\r\n },\r\n});\r\n","import VueRouter, { RouteConfig } from \"vue-router\";\r\n\r\nconst Discover = () => import(\"../views/Discover.vue\");\r\nconst Folio = () => import(\"../views/Folio.vue\");\r\nconst DoctorSearch = () => import(\"../views/DoctorSearch.vue\");\r\nconst Profile = () => import(\"../views/Profile.vue\");\r\nconst ContentItemDetails = () => import(\"@/views/ContentItemDetails.vue\");\r\nconst Search = () => import(\"@/views/Search.vue\");\r\nconst DrugGroup = () => import(\"@/views/DrugGroup.vue\");\r\nconst Discussions = () => import(\"@/views/Discussions.vue\");\r\nconst MyContent = () => import(\"@/views/MyContent.vue\");\r\nconst CreateContent = () => import(\"@/views/CreateContent.vue\");\r\nconst AccountManagement = () => import(\"@/views/AccountManagement.vue\");\r\nconst Landing = () => import(\"@/views/Landing.vue\");\r\nconst Home = () => import(\"@/views/marketing/Home.vue\");\r\nconst TermsOfService = () => import(\"@/views/marketing/TermsOfService.vue\");\r\nconst PrivacyPolicy = () => import(\"@/views/marketing/PrivacyPolicy.vue\");\r\nconst AboutUs = () => import(\"@/views/marketing/AboutUs.vue\");\r\nconst ContactUs = () => import(\"@/views/marketing/ContactUs.vue\");\r\n\r\nimport store from \"@/store/userStore\";\r\n\r\nimport SearchType from \"@/constants/searchType\";\r\nimport Roles from \"@/constants/roles\";\r\n\r\n/**\r\n * By default all routes will require the user to be logged in.\r\n * If the page should be visible to all vistors, add a meta field to the route with the noAuthRequired flag set to true. (See Login route for an example)\r\n */\r\n\r\n/**\r\n * If you are updating or adding a new router that is public, the path also needs to be added to the path.js file to ensure it's picked up in the sitemap.xml\r\n */\r\n\r\nexport enum ActiveNav {\r\n Discover,\r\n Folio,\r\n DoctorSearch,\r\n MyContent,\r\n MarketingHome,\r\n MarketingAboutUs,\r\n MarketingContact,\r\n}\r\n\r\nconst routes: Array = [];\r\n\r\nif (process.env.VUE_APP_INCLUDE_APP == \"true\") {\r\n routes.push(\r\n {\r\n path: \"/\",\r\n redirect: () => (store.getters.isLoggedIn ? { name: \"Discover\" } : { name: \"Home\" }),\r\n },\r\n {\r\n path: \"/Home/:dialog?\",\r\n name: \"Home\",\r\n component: Home,\r\n meta: {\r\n noAuthRequired: true,\r\n searchType: SearchType.None,\r\n activeNav: ActiveNav.MarketingHome,\r\n isMarketing: true,\r\n },\r\n },\r\n {\r\n path: \"/Login\",\r\n name: \"Login\",\r\n redirect: \"/Home/Login\",\r\n },\r\n {\r\n path: \"/discover\",\r\n name: \"Discover\",\r\n component: Discover,\r\n meta: {\r\n searchType: SearchType.Content,\r\n activeNav: ActiveNav.Discover,\r\n },\r\n },\r\n {\r\n path: \"/Profile/:userId?\",\r\n name: \"Profile\",\r\n component: Profile,\r\n meta: {\r\n searchType: SearchType.None,\r\n },\r\n },\r\n {\r\n path: \"/folio\",\r\n name: \"Folio\",\r\n component: Folio,\r\n meta: {\r\n searchType: SearchType.Content,\r\n activeNav: ActiveNav.Folio,\r\n allowedRoles: [Roles.Doctor, Roles.Admin],\r\n },\r\n },\r\n {\r\n path: \"/discussions\",\r\n name: \"Discussions\",\r\n component: Discussions,\r\n meta: {\r\n searchType: SearchType.None,\r\n allowedRoles: [Roles.Doctor],\r\n },\r\n },\r\n {\r\n path: \"/doctor-search\",\r\n name: \"DoctorSearch\",\r\n component: DoctorSearch,\r\n meta: {\r\n searchType: SearchType.None,\r\n activeNav: ActiveNav.DoctorSearch,\r\n allowedRoles: [Roles.Doctor, Roles.Admin],\r\n },\r\n },\r\n {\r\n path: \"/contents/:contentItemId\",\r\n name: \"ContentItemDetails\",\r\n component: ContentItemDetails,\r\n props: true,\r\n meta: {\r\n searchType: SearchType.Content,\r\n },\r\n },\r\n {\r\n path: \"/contents\",\r\n name: \"Search\",\r\n component: Search,\r\n meta: {\r\n searchType: SearchType.Content,\r\n },\r\n },\r\n {\r\n path: \"/drug/:name\",\r\n name: \"DrugGroup\",\r\n component: DrugGroup,\r\n props: true,\r\n meta: {\r\n searchType: SearchType.Content,\r\n },\r\n },\r\n {\r\n path: \"/my-posts\",\r\n name: \"MyContent\",\r\n component: MyContent,\r\n meta: {\r\n searchType: SearchType.None,\r\n activeNav: ActiveNav.MyContent,\r\n },\r\n },\r\n {\r\n path: \"/create-content/:contentItemType?\",\r\n name: \"CreateContent\",\r\n component: CreateContent,\r\n meta: {\r\n activeNav: ActiveNav.MyContent,\r\n allowedRoles: [Roles.Doctor, Roles.Admin, Roles.VoiceOf],\r\n },\r\n },\r\n {\r\n path: \"/account-management/:accountType\",\r\n name: \"AccountManagement\",\r\n component: AccountManagement,\r\n meta: {\r\n allowedRoles: [Roles.Admin],\r\n },\r\n },\r\n {\r\n path: \"/landing\",\r\n name: \"landing\",\r\n component: Landing,\r\n meta: {\r\n noAuthRequired: true,\r\n searchType: SearchType.None,\r\n },\r\n },\r\n {\r\n path: \"/terms-of-service\",\r\n name: \"TermsOfService\",\r\n component: TermsOfService,\r\n meta: {\r\n noAuthRequired: true,\r\n isMarketing: true,\r\n },\r\n },\r\n {\r\n path: \"/privacy-policy\",\r\n name: \"PrivacyPolicy\",\r\n component: PrivacyPolicy,\r\n meta: {\r\n noAuthRequired: true,\r\n isMarketing: true,\r\n },\r\n },\r\n {\r\n path: \"/about-us\",\r\n name: \"AboutUs\",\r\n component: AboutUs,\r\n meta: {\r\n noAuthRequired: true,\r\n isMarketing: true,\r\n activeNav: ActiveNav.MarketingAboutUs,\r\n },\r\n },\r\n {\r\n path: \"/contact-us\",\r\n name: \"ContactUs\",\r\n component: ContactUs,\r\n meta: {\r\n noAuthRequired: true,\r\n isMarketing: true,\r\n activeNav: ActiveNav.MarketingContact,\r\n },\r\n },\r\n {\r\n // handles invalid routes, must be last\r\n path: \"*\",\r\n redirect: \"/discover\",\r\n }\r\n );\r\n} else {\r\n routes.push(\r\n {\r\n path: \"/\",\r\n name: \"landing\",\r\n component: Landing,\r\n meta: {\r\n noAuthRequired: true,\r\n },\r\n },\r\n {\r\n path: \"*\",\r\n redirect: \"/\",\r\n }\r\n );\r\n}\r\n\r\nconst router = new VueRouter({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes,\r\n});\r\n\r\nrouter.beforeEach(async (to, _, next) => {\r\n if (to.meta && to.meta.noAuthRequired) {\r\n next();\r\n return;\r\n }\r\n if (store.getters.isLoggedIn) {\r\n await store.dispatch(\"checkTokenExpiringSoon\");\r\n\r\n if (to.meta?.allowedRoles) {\r\n if (!store.getters.roles?.some((role: string) => to.meta!.allowedRoles.includes(role))) {\r\n next(\"/\");\r\n return;\r\n }\r\n }\r\n next();\r\n } else {\r\n next(\"/Login\");\r\n }\r\n});\r\n\r\nrouter.afterEach((to, from) => {\r\n if (to.meta?.isMarketing === true) {\r\n window.scrollTo(0, 0); // scroll to top when navigating to a marketing page\r\n }\r\n});\r\n\r\nexport default router;\r\n","module.exports = __webpack_public_path__ + \"img/instagram.d4f52828.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoceoImage.vue?vue&type=style&index=0&id=561c000c&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAfRJREFUWEftmEFSwjAUhvNQ1+IMsBVPYHsCOYI3EAX33AA4AboWFE/gFbhB8QTiFpgR1yrPl3YKBZLmpQJu0kUZJgnvy5//fx0K06B2OQdoghCe2POFAkc5xHbBf+zDeFh7AwHlPTMsykmYktc7g8mwjv8FEdctel1wIMlTcIqse9Ip4hQx9SnnEecR5xGTAs4jJoVcH3Ee2blH6C+IwPBmKpU+vgWzSgJJEt2z8mQGiYouIaL9rn/nq5QZRF8SSRmwViYTiGnfpnGVTtYgyiKI7wLglH8QmzPtQJAwIDJmfCHi65H4qXyJgzsAuFoZW9jYjMgGUSUihjjx+7OPoJonmAHBnK+S8mhYIMpYovgkW1ZK/sMwLqyD4cSaBbIRSwVEDDMObj3KzICCc2w+kOWMVBB1ryCb4PxavljRFQphAIPV8fQspYKolpog4uLT4KaKkHvimlcLooIgcz6X/F6VK/kkqDfoiDocGCXINiCWnqn1ObFmmTUZU64ayXmkjDTvRdpaI8hfIWRxbY9JkKWDpMTUVhkJ8y0OR7pY60G2CMHpMVoQbkxtlZEvlxHgZX1dBBLUZ0nJdgWh7TGkftHv5iXIIu+AeF/wew3bndrOp5ot2nwzXIeiTSCt8Lku27L8TD7EbH/cdj4ZuExrZvLpLdf+AsaTaj0KVJ3aAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAuCAYAAABEbmvDAAAABHNCSVQICAgIfAhkiAAAAS5JREFUWEftmDESREAQRVtEKHQEoRtwA6FQ6Bg4jowbcANuIhXtbgeqdrDMr1q9G/SE6pd58/rXqOJUVfUggRVFEaVpar2TIwXGRAicKBjDxXFMSZJcmhMHYyIeKds7WzuwsiwvT2MTqOv6NHYFJwbmui4ty2LAFkVBQRAcHkAMLMsyaprGgPA8j/I8P4QTA+OKjONIXdft4Nic7/vGc1Ew3vkIjsfJ5tjgusTBeOO2bWmaJsPQFu4nYJ/gwjAk7iIvMbCjS5XHOs+zYW79OoiB2dx9a4bh/hJMdJSIsVvB+r6HWIZhkLnHIKpXePttva1jCoYaQPM6SjWGGkDz2jE1hhpA89oxNYYaQPPaMTWGGkDz2jE1hhpA89qxrxtDX3hX/if/+W0Oo2A2lt4zT3trHnz2MjXkAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"img/SophiaMedAi-logo.8b5a388e.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAkBAMAAAAA+cVfAAAAKlBMVEVHcEz/bAD/bAD/bAD/cAD/bQD/cAD/bAD/agD/bAD/bAD/bAD/bQD/bQAPmfsCAAAADXRSTlMAQIzQILcQ4DDwWaBwarFLMwAAAMtJREFUKM9jYGBwsr2LAqoFGICA6S46uJoAFLbFEL5rhk0xUDkDgy8W4bsCDLrYhAOwGX337gWGuyQIX6SisAlH7d3rDc53705ki0USbmBYe/cWA8fduwcYcpGEQZ69wsAA8h47krAAWDXj3bsKkMCAChsyzr17U0D47t1ZLLbUdjeRwhewh/cEXLGDIy5xxDzDXqzpBIvyS6BUxeAUiyJ4M8iBAQx4QLwNDBgAqPxyAqZw+t27NzBFIbGFBehexSbKwFqGVZhNAE0AAAkZ+JWHA3IlAAAAAElFTkSuQmCC\"","/**\r\n * Managing everything related to profiles\r\n */\r\n\r\nimport { AreaOfInterestDto, IUpdateProfileDto, ProfileClient, ProfileDto, UpdateProfileDto, SpecialtyDto } from \"@/api/DoceoApi\";\r\nimport { defineStore } from \"pinia\";\r\n\r\nimport store from \"@/store/userStore\";\r\n\r\nexport const useProfileStore = defineStore(\"profile\", {\r\n state: () => ({\r\n storeProfile: null as ProfileDto | null,\r\n storeAreasOfInterest: [] as AreaOfInterestDto[],\r\n storeAllSpecialties: [] as SpecialtyDto[],\r\n }),\r\n getters: {\r\n profile: (state) => state.storeProfile,\r\n areasOfInterest: (state) => state.storeAreasOfInterest,\r\n allSpecialties: (state) => state.storeAllSpecialties,\r\n profilePictureAttachmentId: (state) => state.storeProfile?.profilePictureAttachmentId,\r\n },\r\n actions: {\r\n async getProfileAsync() {\r\n let profileClient = new ProfileClient();\r\n let profile = await profileClient.getProfile(store.getters.userId);\r\n this.storeProfile = profile;\r\n },\r\n async updateProfile(updatedProfile: IUpdateProfileDto) {\r\n let profileClient = new ProfileClient();\r\n await profileClient.updateProfile(new UpdateProfileDto(updatedProfile));\r\n await this.getProfileAsync();\r\n },\r\n async uploadProfilePicture(file: File) {\r\n let fileParameter = {\r\n data: file,\r\n fileName: file.name\r\n };\r\n\r\n let profileClient = new ProfileClient();\r\n await profileClient.uploadProfilePicture(fileParameter);\r\n await this.getProfileAsync();\r\n },\r\n async getAreasOfInterests() {\r\n if (this.storeAreasOfInterest.length == 0) {\r\n let profileClient = new ProfileClient();\r\n this.storeAreasOfInterest = await profileClient.getAreasOfInterest();\r\n }\r\n },\r\n async getAllSpecialties() {\r\n if (this.storeAllSpecialties.length == 0) {\r\n let profileClient = new ProfileClient();\r\n this.storeAllSpecialties = await profileClient.getAllSpecialties();\r\n }\r\n }\r\n },\r\n});\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAgNJREFUWEftmMFRwkAUht8mHhxDRo5KDmIF0oGUYAdiB3QAVqBWoFZgC3SgViAewjkMMMMB8nxLTGYTsuxmg3jZwEzIJNn37f/e+xOWod+6iREGwFgHDr7hGGN2f7QIX9jab30BsPbBGbKAOHZnk0sCCfD/IJLI7ixkFkTMglWkWJNWEauIyqdsjdgasTWiUsDWiEoh6yO2Rv6+RvhrN+NfpA/9MNxqFSsPK77+F4+rMJmD/CpRDGYKYwaCPA2UDiZJhQRyl0JGIEggUgieLn6eR5WBlhAZgJRNF78p6oU4PrFU4djDPz2ET2e+6Mb+ySOFvs1PVj9H+oqUCpFAMIgihGYzbngjyslVDkZTGi0QSSdMnRi6bBF+pIHlMInX1CpWXYgMxgs6sQMjOj4VA6vaercikhRjDHd8YUU2Q0xg3qt4jBxE4hUqiDT4ygt6zIHnreJNDGhrDlKQcq/AV1rZ6ela99o774PjPOTbutxjJCClLVIJIg1Oy2KUQnVba3UN+XnWprpqiNetGsGIsnFdq2vqQvDg0rYWyFSKbHmFiSIZjO+Ni22djrcLZG8QKo/h5+Vdo/AKY2X44jKwt+L9KUgkSqbrFaYwJR4zJZAmy/U7wpM7D/umQXTvWzdaQzK2weZ6xHt3PhlubI7bMt+LDzHdQU2vw+OzNiyXEX968zF+AIN6ZD31oN2vAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAABHNCSVQICAgIfAhkiAAAAVFJREFUSEudlU2KwjAUxycwoNea1bhUcBCZC7jzAkpS9ASZK8gIw4C4dOcxPIKrnkCo/4RGkvQ1eU0gTZo0v/f6viLe0JRS7xh+0f8w/zdrJQ1nVcuzo9Baj+q6PmI+Q3+gL0sEtGDZKrXH+1bgccLC1NN0sICqqmTTNFZb14QQysAnWDACxiUCIo0d4o7Jh2htVCQgBcbezcJLBOTA1qG+nbgm4oA7cM4fcMEkPCPAOP7L/1vMrfOMjaP10CwME8Xne8G9mmecHIQbpfEr1mNV4nccPmDtm/hujT2dOh9ECwFWWHMpHW9nM7kX3hMVgwSQ8ES4bUH/QWeVig48F8fcRKMylLJxJ9y4AvzawgJnwjRwsquKg8BcAaaeF4E5Aih4MqWppCF88MBNNHdm2eDQLlWEGJnsLhxwxUJKefYdugLgmqoVOQG4Sz/NNwBfzPgEwqnhaNiVrm8AAAAASUVORK5CYII=\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoDialog.vue?vue&type=style&index=0&id=4cdb0a22&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAmCAYAAAC76qlaAAAABHNCSVQICAgIfAhkiAAAA8xJREFUWEfNmU1u2lAQgGeo2bUN3lVKUOkJyg1KTxB6goBUInVVOEFyg9BVJYiU5AQhJwg9QZMTJBGp1J2dkB3g6QzBYBv/Pj+iege8mfe98fy9AeEFn3c/rYphFPYAqIYAtcXWNgFcAeFgOnMu/n4zb+OQSidWyW6aNsuvHlGcJKh6zp3+wwECtVm+FKuD8HRcdDoC5123ffy4h86s81SEmg98u2dVC4iXDtHnP/vmlSpgUE4s9GZSOAKkRgadtoOFNhJVgKiKOH87JdbxZfTVHIiepcV3+tYhAh7wd7ZO+J2e/Zs3rmaAjlhKZ6OWuTz8CrxnDRHxk+t3OuA9xsjJvYIu9x93HZrdLcHLfYkR3yOW77DbnKrsOneRKVoqskEOAuwuArpKRHf3+2Y1Dnwhj91Ra6uTFYBjpsExc5JVLj5w6cHhbCQxmAKcVRHcElLzvmUO04KU+xa/KeTUp+mhFbQ/OHvWFfv4x7ht2JeG0yk106TMHX/M5KJn97jmvRvebOcNzi6Df0+zgxwAocAu9PYiar1O8FGr5Ks3PotL8SkaeJMG3LPGlooHiIPJdHbtfRMMntoQSXvGgouwhs2ey7cb1quynsQW+3si+AI+0ddzUSgIx4KXe/bNPF+ic80O1dCaERRgXRECztstsxJU4Q3O/87SAssZ5RcXnFokOOddbl5wN4dxNiLK4D8YXLpK37O0+EYqnYajcNvRDGs7fPmx3LNsTm1bGvbTpmJskBnszX15XD6Uj6065+VzbbvmVCQVUxqqMDVrFUlDLs+JuxJ3gLvTlsmd4fqzBi5LtvtWuwB4pI1AUVGUm6y5ile/XOX4VFK23cuF4vaqYv4bT2RWCUA3EIx534LgNDLeF1VJfXKTKX2I60JDXYWvXDw+wEstBApKonK3V1UouCzQ2ZZmYucLw7gIlbAUmApc7oyvp8BXJHyfaeOci6MKTiofdxfNAxRh8HLwdMEjiHqas0e6iiv8fFsHzqUa748hZNIFPhlQTXIRVzQR3F04n/u9Aml2JE1WtbYGgYuwFosHlTwfAM/1TKdYuwJ0bAEKO3XqwWUak8kahiaEepaxR2pXcUfDPIDkQgSVtExJ68SniaCuOmBd+vg8/U2MxVzFkWwik9K6TtjVYehsbEA7bSCGGQGlSvKk6vAlehKxMkM0VFwjMo9LL07O/ACx06wkFwj7feEWh6oD1FCLB79cdIXiz/VchYcDj3UMHIKuqh/HGSk2j8shlnlbcjf/KxD6RiQ78CCI4+KWp6n8fw4MNwHrPUjqAqTiIpuU+QdJLrEKpSbyYAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAB4CAYAAACJmxDgAAAABHNCSVQICAgIfAhkiAAAAaJJREFUeF7tmD9KxEAUhxMQIUV6z5BWhARLC2vPsVfQY+gJrC20X9LlD1vpBbzAXmAxiQ9RkGF334TNGwj5tp0fk+HL9968TRzN7BfP7LwRB7Z+YxCGsEMAJVACJawdgDCEjxOgD1sbAmEI04etHYAwhLnpAjtA0QUGzixhDRzCEKatWTsAYQgzrQV2YPFFl2XZeZIkZxr3NE13ZVl+aTlt/eRZIs/zlziO77QH9X2/aprmSctp6xz4ECEIa+4cWsdhhRxFR9FNfTVTdIsoOnnNryP68pXMEhdafhiGD8l8arnf9fe6ru/3Zfe2taIoBs+NrWLrqqpuOLAVXtkXwoZwf7aGMIQdAqOVuPVFKBfCg1wc1x75R8m8eeSiruu2bdtuvPuwz6Z/GYafRQw/KCEE+C4xRoP/WboEXcIhgBLWSsj/v5XME5da0Upbe5b5YK3ltPWTv61pD5h6nQNPTdTdD8IQdgigBEqghLUDEIbwcQL0YWtDIAxh+rC1AxCGMDddYAcousDAmSWsgUMYwrQ1awcgDGGmtcAOUHSBgc9ulvgGgdUHiBLlPQ4AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACcAAAApCAYAAAC2qTBFAAAABHNCSVQICAgIfAhkiAAAAtJJREFUWEftmE9SU0EQh3kbF27wBoYTCCcAbiAXUDiBceEaPIGxcoG4YC038HkCwgl83EC2VsXw+6x51jDpefOHYCiLrpoiTOb1fK+7p7snzdYjluYRs209wdV65/+23Hg8ftE0zStZZ7RcLkdYSf/P9flqMpl0tVb7o6fmYYD03DuNsQafYwJcq/GxBrQIrgDKgp1p8r0gf+YaJBtOYLtS+i1hqdS+gB0KcJ5amO1WgR1r8acI2I3m2QwXMpDXGsRhTI4EeJECTFrOWezSUHStuTNtgrtWRM+NNMlLMV4GC7IsOAjnYuyHYbEvgmLTLJEeXuCtAbgzFIMpOEtpEVgPFAH8LDhOvClROOcWrOZLFVgCEOt1Ft0QXGi1aykhjqrFhQkg256SqPWG4FDiBzKJ9KyazD0oQHSceno66d3JtlzEpVHzlwBHdO9Zuc+0nBQcaEMSbi/USZLwWkT6Wyna95SRmJm7IzG40PTf9TDAaxEDzgyZJ7jQ3IblaAgmuW6lNn71Fq/brdRiv/YWxRzBH9bThzytpu5N5DncR6PaSzS5D8GFSugkBgt1zlFWvHVa5yf3qgoxkpKwts4Utyc5ENaaSPEvr60ol7LQekxXAUbABhuJVMvE5QU3+IW6CNAVe6pNWGFoVner+zlnPZS2BiDQMw3ens8rQpHXFfGDrorPja/NeuqvS7bpDjDMe+Fe5K3+TkCsMg4sYM39XiwWb6bT6Xnk+7/TWXAJC6b2sL6/kLWPUg9mwzlAYpBDEt4HBveRa3/Jtc+CRckbWBFcr9z1ZPT+uDu8WfkMXBt5GUar4Zcs8iZx18XerArOV+ZAOTT9aWQzxtw/iZErZqs1hw8Gl4qb4EWwNpdzX8yOhAX3tlwJHGuNdonp/Da9dMOS9S4MSD1+Yjfd+88t56xn5c2VGrsROAc4098+JZnN7MbgHGD/UwTNBKnljmwULhWrt09LPDmhCBEaAAAAAElFTkSuQmCC\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loaded)?_c('v-app',[(!_vm.isMarketing)?_c('DoceoAppBar'):_c('marketing-header'),_c('v-main',[_c('router-view')],1),(_vm.error)?_c('v-snackbar',{attrs:{\"color\":\"error\"},model:{value:(_vm.snackbar),callback:function ($$v) {_vm.snackbar=$$v},expression:\"snackbar\"}},[_vm._v(\" \"+_vm._s(_vm.error)+\" \")]):_vm._e(),(_vm.message)?_c('v-snackbar',{attrs:{\"color\":\"success\"},model:{value:(_vm.messageSnackbar),callback:function ($$v) {_vm.messageSnackbar=$$v},expression:\"messageSnackbar\"}},[_vm._v(\" \"+_vm._s(_vm.message)+\" \")]):_vm._e(),(_vm.isMarketing)?_c('marketing-footer'):_vm._e()],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isLoggedIn)?_c('div',[_c('v-app-bar',{staticClass:\"header\",attrs:{\"color\":\"white\",\"elevation\":\"0\",\"light\":\"\",\"app\":\"\"}},[(_vm.isPhoneScreen)?_c('v-app-bar-nav-icon',{on:{\"click\":function($event){_vm.drawer = !_vm.drawer}}}):_vm._e(),(!_vm.isPhoneScreen)?[_c('v-toolbar-title',{staticStyle:{\"min-width\":\"212px\"}},[_c('v-img',{attrs:{\"contain\":\"\",\"src\":require('../assets/SophiaMedAi-logo.png'),\"height\":\"48\",\"width\":\"212\",\"alt\":\"SophiaMed AI\",\"title\":\"SophiaMed AI\"}})],1),_c('v-btn',{attrs:{\"text\":\"\",\"ripple\":false},on:{\"click\":_vm.goToDiscover}},[_c('span',{class:[\n 'header',\n 'nav-link',\n _vm.onDiscoverPage ? 'nav-active-page' : '' ]},[_vm._v(\"Discover\")])]),(_vm.hasFolioAccess)?_c('v-btn',{attrs:{\"text\":\"\",\"ripple\":false},on:{\"click\":_vm.goToFolio}},[_c('span',{class:[\n 'header',\n 'nav-link',\n _vm.onFolioPage ? 'nav-active-page' : '' ]},[_vm._v(\"My Folios\")])]):_vm._e(),(_vm.hasDoctorSearchAccess)?_c('v-btn',{attrs:{\"text\":\"\",\"ripple\":false},on:{\"click\":_vm.goToDoctorSearch}},[_c('span',{class:[\n 'header',\n 'nav-link',\n _vm.onDoctorSearchPage ? 'nav-active-page' : '' ]},[_vm._v(\"Doctors\")])]):_vm._e(),_c('v-btn',{attrs:{\"text\":\"\",\"ripple\":false},on:{\"click\":_vm.goToMyContent}},[_c('span',{class:[\n 'header',\n 'nav-link',\n _vm.onMyContentPage ? 'nav-active-page' : '' ]},[_vm._v(\"My Posts\")])])]:_vm._e(),(_vm.showSearch)?[(!_vm.isSmallScreen)?[_c('v-row',[_c('v-col',{staticClass:\"mr-4\"},[_c('v-text-field',{attrs:{\"rounded\":\"\",\"prepend-inner-icon\":\"mdi-magnify\",\"placeholder\":\"Search\",\"light\":\"\",\"hide-details\":\"\",\"filled\":\"\",\"dense\":\"\",\"color\":\"#AAAAAA\",\"background-color\":\"#F2F2F2\",\"append-icon\":_vm.showSearchFilter ? 'mdi-tune' : ''},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch.apply(null, arguments)}},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}})],1)],1),_c('v-spacer')]:_c('v-row',[_c('v-col',[_c('doceo-icon',{attrs:{\"icon\":_vm.DOCEO_ICONS.SEARCH,\"alt\":\"Search\",\"title\":\"Search\"},on:{\"click\":function($event){_vm.mobileSearch = !_vm.mobileSearch}}})],1)],1)]:[_c('v-row',[_c('v-col')],1)],(_vm.hasAccountManagementAccess)?_c('v-menu',{attrs:{\"auto\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({staticClass:\"ml-6\"},'v-icon',attrs,false),on),[_vm._v(\" mdi-account-cog \")])]}}],null,false,884671587)},[_c('v-list',[_c('v-list-item',{on:{\"click\":_vm.goToSponsorAccountManagement}},[_c('v-list-item-title',[_vm._v(\"Sponsor\")])],1),_c('v-list-item',{on:{\"click\":_vm.goToVoiceOfAccountManagement}},[_c('v-list-item-title',[_vm._v(\"Voice Of\")])],1)],1)],1):_vm._e(),(_vm.hasDiscussionAccess)?_c('v-badge',{staticClass:\"ml-6\",attrs:{\"content\":_vm.unreadMessageCount,\"value\":_vm.unreadMessageCount > 0,\"color\":\"red\",\"overlap\":\"\"}},[_c('doceo-icon',{attrs:{\"icon\":_vm.DOCEO_ICONS.CHAT_BUBBLE,\"hoverIcon\":_vm.DOCEO_ICONS.CHAT_BUBBLE_ACTIVE,\"alt\":\"Discussions\",\"title\":\"Discussions\"},on:{\"click\":_vm.goToDiscussions}})],1):_vm._e(),_c('v-menu',{attrs:{\"bottom\":\"\",\"offset-y\":\"\",\"rounded\":\"lg\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-badge',{staticClass:\"ml-6\",attrs:{\"content\":_vm.notificationsCount,\"value\":_vm.notificationsCount,\"color\":\"red\",\"overlap\":\"\"}},[_c('doceo-icon',_vm._g(_vm._b({attrs:{\"icon\":_vm.DOCEO_ICONS.NOTIFICATION,\"hoverIcon\":_vm.DOCEO_ICONS.NOTIFICATION_ACTIVE,\"alt\":\"Notifications\",\"title\":\"Notifications\"}},'doceo-icon',attrs,false),on))],1)]}}],null,false,3387122250)},[_c('v-sheet',{attrs:{\"rounded\":\"lg\"}},[_c('v-card',{attrs:{\"width\":\"300\",\"rounded\":\"lg\"}},[_c('v-responsive',{staticClass:\"overflow-y-auto\",attrs:{\"max-height\":\"410\"}},[_c('v-card-text',{staticClass:\"pa-7\"},[(_vm.notificationsCount > 0)?_c('v-row',[_vm._l((_vm.pendingFolioInvites),function(invite,index){return _c('div',{key:invite.folioId},[(index != 0)?_c('v-col',{key:index,staticClass:\"py-4 px-0\",attrs:{\"cols\":\"12\"}},[_c('v-divider')],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_vm._v(_vm._s(invite.invitedByName)+\" has invited you to join the folio \\\"\"+_vm._s(invite.name)+\"\\\"\")])],1),_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"submit\",\"depressed\":\"\",\"rounded\":\"\",\"ripple\":false},on:{\"click\":function($event){return _vm.acceptInvite(invite)}}},[_vm._v(\" Accept \")])],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"text\":\"\",\"outlined\":\"\",\"rounded\":\"\",\"ripple\":false},on:{\"click\":function($event){return _vm.declineInvite(invite)}}},[_vm._v(\" Decline \")])],1)],1)],1)],1)}),_vm._l((_vm.pendingChatroomInvites),function(invite,index){return _c('div',{key:invite.id},[(index !== 0)?_c('v-col',{key:index,staticClass:\"py-4 px-0\",attrs:{\"cols\":\"12\"}},[_c('v-divider')],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_vm._v(\"You have been invited to join the chatroom: \"+_vm._s(invite.name))])],1),_c('v-row',{attrs:{\"dense\":\"\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"submit\",\"depressed\":\"\",\"rounded\":\"\",\"ripple\":false},on:{\"click\":function($event){return _vm.acceptChatroomInviteAndGo(invite)}}},[_vm._v(\" Accept \")])],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"text\":\"\",\"outlined\":\"\",\"rounded\":\"\",\"ripple\":false},on:{\"click\":function($event){return _vm.declineChatroomInvite(invite)}}},[_vm._v(\" Decline \")])],1),(invite['hasError'])?_c('v-row',[_c('v-col',[_c('span',{staticClass:\"error--text text-center\"},[_vm._v(\"Failed to join chatroom. The invitation may have expired.\")])])],1):_vm._e()],1)],1)],1)})],2):_c('v-row',[_c('v-col',[_vm._v(\" You have no pending notifications \")])],1)],1)],1)],1)],1)],1),_c('v-divider',{staticClass:\"ml-6\",attrs:{\"vertical\":\"\"}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isSmallScreen),expression:\"!isSmallScreen\"}],staticClass:\"ml-4\"},[_vm._v(_vm._s(_vm.firstName))]),_c('v-menu',{attrs:{\"left\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-2\",attrs:{\"icon\":\"\",\"ripple\":false}},'v-btn',attrs,false),on),[(_vm.profilePictureAttachmentId)?_c('doceo-image',{staticStyle:{\"border-radius\":\"36px\"},attrs:{\"attachmentId\":_vm.profilePictureAttachmentId,\"imgHeight\":\"36\",\"imgWidth\":\"36\"}}):_c('doceo-icon',{attrs:{\"icon\":_vm.DOCEO_ICONS.AUTHOR,\"alt\":\"Author\",\"title\":\"Author\"}})],1)]}}],null,false,293523288)},[_c('v-list',{staticClass:\"cursor-pointer\"},[_c('v-list-item',{attrs:{\"ripple\":false},on:{\"click\":_vm.goToProfile}},[_c('v-list-item-title',[_vm._v(\"Profile\")])],1),_c('v-list-item',{attrs:{\"ripple\":false},on:{\"click\":_vm.performLogout}},[_c('v-list-item-title',[_vm._v(\"Logout\")])],1)],1)],1)],2),(_vm.showSearch && _vm.isSmallScreen && _vm.mobileSearch)?_c('v-text-field',{staticStyle:{\"margin-top\":\"64px\",\"margin-bottom\":\"-56px\"},attrs:{\"rounded\":\"\",\"prepend-inner-icon\":\"mdi-magnify\",\"placeholder\":\"Search\",\"light\":\"\",\"hide-details\":\"\",\"filled\":\"\",\"dense\":\"\",\"outlined\":\"\",\"color\":\"#AAAAAA\",\"background-color\":\"#F2F2F2\",\"append-icon\":_vm.showSearchFilter ? 'mdi-tune' : ''},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onSearch.apply(null, arguments)}},model:{value:(_vm.searchTerm),callback:function ($$v) {_vm.searchTerm=$$v},expression:\"searchTerm\"}}):_vm._e(),_c('v-navigation-drawer',{attrs:{\"clipped\":\"\",\"hide-overlay\":\"\",\"app\":\"\",\"color\":\"white\",\"temporary\":\"\"},model:{value:(_vm.drawer),callback:function ($$v) {_vm.drawer=$$v},expression:\"drawer\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"color\":\"white\"}},[_c('v-list-item',[_c('v-list-item-avatar',{staticClass:\"justify-center\",attrs:{\"tile\":\"\",\"width\":\"120\"}},[_c('v-img',{attrs:{\"src\":require('../assets/SophiaMedAi-logo.png'),\"contain\":\"\"}})],1)],1)],1),_c('v-divider'),_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\",\"color\":\"white\",\"outlined\":\"\"}},[_c('v-list-item',{on:{\"click\":_vm.goToDiscover}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{class:[\n 'primary--text',\n 'header',\n 'nav-link',\n _vm.onDiscoverPage ? 'text-decoration-underline' : '' ]},[_vm._v(\"Discover\")])])],1)],1),_c('v-list-item',{on:{\"click\":_vm.goToFolio}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{class:[\n 'primary--text',\n 'header',\n 'nav-link',\n _vm.onFolioPage ? 'text-decoration-underline' : '' ]},[_vm._v(\"My Folios \")])])],1)],1),_c('v-list-item',{on:{\"click\":_vm.goToDoctorSearch}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{class:[\n 'primary--text',\n 'header',\n 'nav-link',\n _vm.onDoctorSearchPage ? 'text-decoration-underline' : '' ]},[_vm._v(\"Doctors\")])])],1)],1),_c('v-list-item',{on:{\"click\":_vm.goToMyContent}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{class:[\n 'primary--text',\n 'header',\n 'nav-link',\n _vm.onMyContentPage ? 'text-decoration-underline' : '' ]},[_vm._v(\"My Posts\")])])],1)],1)],1)],1),_c('v-dialog',{attrs:{\"max-width\":\"400\"},model:{value:(_vm.doctorSearchFilterDialog),callback:function ($$v) {_vm.doctorSearchFilterDialog=$$v},expression:\"doctorSearchFilterDialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"Search Filters:\")]),_c('v-card-text',[_c('v-row',[_c('v-col',[_c('v-checkbox',{attrs:{\"label\":\"Accepting New Patients\"},model:{value:(_vm.doctorSearchFilters.acceptingNewPatients),callback:function ($$v) {_vm.$set(_vm.doctorSearchFilters, \"acceptingNewPatients\", $$v)},expression:\"doctorSearchFilters.acceptingNewPatients\"}})],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"submit\",\"ripple\":false},on:{\"click\":function($event){_vm.doctorSearchFilterDialog = false}}},[_vm._v(\"Close\")])],1)],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapGetters, mapActions as mapActionsVuex } from \"vuex\";\r\nimport { useProfileStore } from \"@/store/profileStore\";\r\nimport { useConversationStore } from \"@/store/conversationStore\";\r\nimport { useFolioStore } from \"@/store/folioStore\";\r\nimport { mapState, mapActions } from \"pinia\";\r\nimport {\r\n FolioClient,\r\n FolioInvitationStatus,\r\n IUpdateFolioInvitationModel,\r\n PendingFolioInvite,\r\n UpdateFolioInvitationModel,\r\n} from \"@/api/DoceoApi\";\r\nimport { ChatroomModel } from \"@/api/signalRModels/ChatRoomModel\";\r\nimport DOCEO_ICONS from \"@/constants/icons\";\r\nimport DoceoIcon from \"@/components/DoceoIcon.vue\";\r\nimport DoceoImage from \"@/components/DoceoImage.vue\";\r\nimport SearchType from \"@/constants/searchType\";\r\nimport Roles from \"@/constants/roles\";\r\nimport { ActiveNav } from \"@/router\";\r\n\r\n/**\r\n * This is the app bar of the app. It contains everything for the header of the app\r\n */\r\nexport default Vue.extend({\r\n name: \"AppBar\",\r\n components: { DoceoIcon, DoceoImage },\r\n data: () => ({\r\n drawer: false,\r\n searchTerm: \"\",\r\n mobileSearch: false,\r\n doctorSearchFilterDialog: false,\r\n doctorSearchFilters: {\r\n acceptingNewPatients: false,\r\n },\r\n DOCEO_ICONS,\r\n }),\r\n created() {\r\n window.addEventListener(\"resize\", this.myEventHandler);\r\n },\r\n destroyed() {\r\n window.removeEventListener(\"resize\", this.myEventHandler);\r\n },\r\n methods: {\r\n ...mapActionsVuex([\"logout\", \"removeInvite\"]),\r\n ...mapActions(useFolioStore, [\"fetchFolios\"]),\r\n ...mapActions(useConversationStore, [\r\n \"acceptChatroomInvite\",\r\n \"declineChatroomInvite\",\r\n ]),\r\n acceptChatroomInviteAndGo(chatroom: ChatroomModel) {\r\n this.acceptChatroomInvite(chatroom).then(() => {\r\n this.$router.push({\r\n name: \"Discussions\",\r\n query: { chatroomId: chatroom.id },\r\n });\r\n });\r\n },\r\n declineInvite(invite: PendingFolioInvite) {\r\n this.updateInvite(invite, FolioInvitationStatus.Declined);\r\n },\r\n async acceptInvite(invite: PendingFolioInvite) {\r\n await this.updateInvite(invite, FolioInvitationStatus.Accepted);\r\n\r\n // If the user is on the folio page, refresh the list of folios to include the one they just accepted\r\n if (this.$route.name == \"Folio\") {\r\n this.fetchFolios();\r\n }\r\n },\r\n async updateInvite(\r\n invite: PendingFolioInvite,\r\n status: FolioInvitationStatus\r\n ) {\r\n this.removeInvite(invite.id);\r\n\r\n let folioClient = new FolioClient();\r\n let updateFolioInvitation: IUpdateFolioInvitationModel = {\r\n inviteId: invite.id,\r\n userId: this.userId,\r\n folioInvitationStatus: status,\r\n };\r\n await folioClient.updatePendingInvites(\r\n invite.folioId,\r\n new UpdateFolioInvitationModel(updateFolioInvitation)\r\n );\r\n },\r\n /**\r\n * Close the drawer if the window is resized to a screen size of \"small\" or larger\r\n */\r\n myEventHandler() {\r\n if (!this.isSmallScreen) {\r\n this.drawer = false;\r\n }\r\n },\r\n /**\r\n * Navigates to the search page with the user's inputted search term and clears the search input box.\r\n */\r\n onSearch() {\r\n if (this.searchTerm !== \"\") {\r\n switch (this.$route.meta?.searchType) {\r\n case SearchType.Content:\r\n this.$router\r\n .push({ name: \"Search\", query: { searchTerm: this.searchTerm } })\r\n .catch(() => {});\r\n break;\r\n }\r\n this.mobileSearch = false;\r\n }\r\n },\r\n\r\n /**\r\n * Perform a logout and redirect to the home page\r\n */\r\n async performLogout() {\r\n await this.logout();\r\n this.$router.push({ name: \"Home\" });\r\n },\r\n /**\r\n * Navigate to the discussions page\r\n */\r\n goToDiscussions() {\r\n this.$router.push({ name: \"Discussions\" }).catch(() => {});\r\n },\r\n /**\r\n * Navigate to the discover page\r\n */\r\n goToDiscover() {\r\n this.$router.push({ name: \"Discover\" }).catch(() => {});\r\n },\r\n /**\r\n * Navigate to the folio page\r\n */\r\n goToFolio() {\r\n this.$router.push({ name: \"Folio\" }).catch(() => {});\r\n },\r\n /**\r\n * Navigate to the doctor page\r\n */\r\n goToDoctorSearch() {\r\n this.$router.push({ name: \"DoctorSearch\" }).catch(() => {});\r\n },\r\n /**\r\n * Navigate to the \"my content\" page\r\n */\r\n goToMyContent() {\r\n this.$router.push({ name: \"MyContent\" }).catch(() => {});\r\n },\r\n /**\r\n * Navigate to the profile page\r\n */\r\n goToProfile() {\r\n this.$router.push({ name: \"Profile\" }).catch(() => {});\r\n },\r\n /**\r\n * Navigate to the sponsor account management page\r\n */\r\n goToSponsorAccountManagement() {\r\n this.$router\r\n .push({ name: \"AccountManagement\", params: { accountType: \"sponsor\" } })\r\n .catch(() => {});\r\n },\r\n /**\r\n * Navigate to the voice-of account management page\r\n */\r\n goToVoiceOfAccountManagement() {\r\n this.$router\r\n .push({ name: \"AccountManagement\", params: { accountType: \"voiceof\" } })\r\n .catch(() => {});\r\n },\r\n },\r\n computed: {\r\n ...mapGetters([\r\n \"isLoggedIn\",\r\n \"firstName\",\r\n \"pendingFolioInvites\",\r\n \"userId\",\r\n \"roles\",\r\n ]),\r\n ...mapState(useProfileStore, [\"profilePictureAttachmentId\"]),\r\n ...mapState(useConversationStore, [\r\n \"unreadMessageCount\",\r\n \"pendingChatroomInvites\",\r\n ]),\r\n /**\r\n * Determine whether the user is currently viewing on a \"extra small\" screen (Phone).\r\n */\r\n isPhoneScreen(): boolean {\r\n switch (this.$vuetify.breakpoint.name) {\r\n case \"xs\": // < 600px\r\n return true;\r\n case \"sm\": // 600px > < 960px\r\n return false;\r\n case \"md\": // 960px > < 1264px\r\n return false;\r\n case \"lg\": // 1264px > < 1904px\r\n return false;\r\n case \"xl\": //\t> 1904px\r\n return false;\r\n default:\r\n return false;\r\n }\r\n },\r\n /**\r\n * Determine whether the user is currently viewing on a \"small\" screen.\r\n * Currently we define small screens to be of size \"xs\" or \"sm\"\r\n */\r\n isSmallScreen(): boolean {\r\n switch (this.$vuetify.breakpoint.name) {\r\n case \"xs\": // < 600px\r\n return true;\r\n case \"sm\": // 600px > < 960px\r\n return true;\r\n case \"md\": // 960px > < 1264px\r\n return false;\r\n case \"lg\": // 1264px > < 1904px\r\n return false;\r\n case \"xl\": //\t> 1904px\r\n return false;\r\n default:\r\n return false;\r\n }\r\n },\r\n /** The total number of notifications that are pending. */\r\n notificationsCount(): number {\r\n return (\r\n this.pendingFolioInvites.length + this.pendingChatroomInvites.length\r\n );\r\n },\r\n\r\n showSearch(): boolean {\r\n return this.$route.meta?.searchType != SearchType.None;\r\n },\r\n showSearchFilter(): boolean {\r\n return false;\r\n },\r\n\r\n onDiscoverPage(): boolean {\r\n return this.$route.meta?.activeNav === ActiveNav.Discover;\r\n },\r\n onFolioPage(): boolean {\r\n return this.$route.meta?.activeNav === ActiveNav.Folio;\r\n },\r\n onDoctorSearchPage(): boolean {\r\n return this.$route.meta?.activeNav === ActiveNav.DoctorSearch;\r\n },\r\n onMyContentPage(): boolean {\r\n return this.$route.meta?.activeNav === ActiveNav.MyContent;\r\n },\r\n\r\n hasFolioAccess(): boolean {\r\n const allowedRoles = [Roles.Doctor, Roles.Admin];\r\n return this.roles.some((role) => allowedRoles.includes(role));\r\n },\r\n hasDoctorSearchAccess(): boolean {\r\n const allowedRoles = [Roles.Doctor, Roles.Admin];\r\n return this.roles.some((role) => allowedRoles.includes(role));\r\n },\r\n hasDiscussionAccess(): boolean {\r\n return this.roles.some((role) => role === Roles.Doctor);\r\n },\r\n hasAccountManagementAccess(): boolean {\r\n return this.roles.some((role) => role === Roles.Admin);\r\n },\r\n },\r\n watch: {\r\n $route(to, from) {\r\n // If there is a search term in the query, update the search term\r\n if (to.query.searchTerm) {\r\n this.searchTerm = to.query.searchTerm;\r\n } else {\r\n this.searchTerm = \"\";\r\n }\r\n\r\n // clear search bar when going to different type of search\r\n if (to.meta?.searchType != from.meta?.searchType) {\r\n this.searchTerm = \"\";\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoceoAppBar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DoceoAppBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DoceoAppBar.vue?vue&type=template&id=37e24573&scoped=true&\"\nimport script from \"./DoceoAppBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./DoceoAppBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DoceoAppBar.vue?vue&type=style&index=0&id=37e24573&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"37e24573\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VResponsive } from 'vuetify/lib/components/VResponsive';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAppBar,VAppBarNavIcon,VBadge,VBtn,VCard,VCardActions,VCardText,VCardTitle,VCheckbox,VCol,VDialog,VDivider,VIcon,VImg,VList,VListItem,VListItemAvatar,VListItemContent,VListItemTitle,VMenu,VNavigationDrawer,VResponsive,VRow,VSheet,VSpacer,VTextField,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-app-bar',{staticClass:\"marketing-app-bar z-index-1\",attrs:{\"color\":\"rgba(255,255,255,0)\",\"elevation\":\"0\",\"light\":\"\",\"height\":\"100px\"}},[_c('v-container',{staticClass:\"pa-0 h-100\",attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"h-100\",attrs:{\"dense\":\"\",\"justify\":\"center\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"10\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[(_vm.isSmallScreen)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){_vm.drawerOpen = !_vm.drawerOpen}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-img',{staticClass:\"cursor-pointer\",attrs:{\"src\":require('@/assets/SophiaMedAi-logo.png'),\"height\":\"50\",\"width\":\"220\",\"contain\":\"\",\"alt\":\"SophiaMed AI Medical Information Discovery and Curation Platform\",\"title\":\"SophiaMed AI Medical Information Discovery and Curation Platform\"},on:{\"click\":_vm.goToHome}})],1),_c('v-spacer'),(!_vm.isSmallScreen)?[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{staticClass:\"mx-2\",attrs:{\"text\":\"\",\"ripple\":false,\"to\":{ name: 'Home' }}},[_c('span',{class:[\n 'nav-button',\n _vm.onHomePage ? 'nav-active-page' : '' ]},[_vm._v(\"Home\")])]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"text\":\"\",\"ripple\":false,\"to\":{ name: 'AboutUs' }}},[_c('span',{class:[\n 'nav-button',\n _vm.onAboutUsPage ? 'nav-active-page' : '' ]},[_vm._v(\"About Us\")])]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"text\":\"\",\"ripple\":false,\"to\":{ name: 'ContactUs' }}},[_c('span',{class:[\n 'nav-button',\n _vm.onContactPage ? 'nav-active-page' : '' ]},[_vm._v(\"Contact\")])]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"outlined\":\"\",\"color\":\"primary\",\"ripple\":false},on:{\"click\":function($event){_vm.openDialog = _vm.Dialog.Register}}},[_c('span',{staticClass:\"nav-button primary--text\"},[_vm._v(\"Sign up\")])]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"primary\",\"elevation\":\"0\",\"ripple\":false},on:{\"click\":function($event){_vm.openDialog = _vm.Dialog.Login}}},[_c('span',{staticClass:\"nav-button white--text\"},[_vm._v(\"Log in\")])])],1)]:_vm._e()],2)],1)],1)],1)],1),_c('v-navigation-drawer',{attrs:{\"clipped\":\"\",\"hide-overlay\":\"\",\"app\":\"\",\"color\":\"white\",\"temporary\":\"\"},model:{value:(_vm.drawerOpen),callback:function ($$v) {_vm.drawerOpen=$$v},expression:\"drawerOpen\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"color\":\"white\"}},[_c('v-list-item',[_c('v-list-item-avatar',{staticClass:\"justify-center\",attrs:{\"tile\":\"\",\"width\":\"120\"}},[_c('v-img',{attrs:{\"src\":require('@/assets/SophiaMedAi-logo.png'),\"contain\":\"\"}})],1)],1)],1),_c('v-divider'),(_vm.isSmallScreen)?_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\",\"color\":\"white\",\"outlined\":\"\"}},[_c('v-list-item',{attrs:{\"to\":{ name: 'Home' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"primary--text\"},[_vm._v(\"Home\")])])],1)],1),_c('v-list-item',{attrs:{\"to\":{ name: 'AboutUs' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"primary--text\"},[_vm._v(\"About Us\")])])],1)],1),_c('v-list-item',{attrs:{\"to\":{ name: 'ContactUs' }}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"primary--text\"},[_vm._v(\"Contact\")])])],1)],1),_c('v-list-item',{on:{\"click\":function($event){_vm.openDialog = _vm.Dialog.Register}}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"primary--text\"},[_vm._v(\"Sign up\")])])],1)],1),_c('v-list-item',{on:{\"click\":function($event){_vm.openDialog = _vm.Dialog.Login}}},[_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"primary--text\"},[_vm._v(\"Log in\")])])],1)],1)],1):_vm._e()],1),(_vm.openDialog == _vm.Dialog.Login)?_c('LoginDialog',{attrs:{\"isOpen\":_vm.openDialog == _vm.Dialog.Login},on:{\"close\":_vm.closeDialog,\"openRegister\":function($event){_vm.openDialog = _vm.Dialog.Register},\"openForgotPassword\":function($event){_vm.openDialog = _vm.Dialog.ForgotPassword}}}):_vm._e(),(_vm.openDialog == _vm.Dialog.Register)?_c('RegisterDialog',{attrs:{\"isOpen\":_vm.openDialog == _vm.Dialog.Register},on:{\"close\":_vm.closeDialog,\"openLogin\":function($event){_vm.openDialog = _vm.Dialog.Login}}}):_vm._e(),(_vm.openDialog == _vm.Dialog.ForgotPassword)?_c('ForgotPasswordDialog',{attrs:{\"isOpen\":_vm.openDialog == _vm.Dialog.ForgotPassword},on:{\"close\":_vm.closeDialog,\"openLogin\":function($event){_vm.openDialog = _vm.Dialog.Login}}}):_vm._e(),(_vm.openDialog == _vm.Dialog.ResetForgotPassword)?_c('ResetForgotPasswordDialog',{attrs:{\"isOpen\":_vm.openDialog == _vm.Dialog.ResetForgotPassword},on:{\"close\":_vm.closeDialog,\"openLogin\":function($event){_vm.openDialog = _vm.Dialog.Login}}}):_vm._e(),(_vm.openDialog == _vm.Dialog.VerifyEmail)?_c('VerifyEmailDialog',{attrs:{\"isOpen\":_vm.openDialog == _vm.Dialog.VerifyEmail},on:{\"close\":_vm.closeDialog,\"openLogin\":function($event){_vm.openDialog = _vm.Dialog.Login}}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"width\":\"400\"},on:{\"click:outside\":function($event){return _vm.$emit('close')}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',{staticClass:\"pa-4\"},[_c('v-card-text',[_c('v-form',{ref:\"loginForm\",on:{\"submit\":function($event){$event.preventDefault();return _vm.loginClicked.apply(null, arguments)}},model:{value:(_vm.isFormValid),callback:function ($$v) {_vm.isFormValid=$$v},expression:\"isFormValid\"}},[_c('v-row',{staticClass:\"mb-6 mt-2\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"align\":\"center\"}},[_c('span',{staticClass:\"first-header primary--text\"},[_vm._v(\"Login\")])])],1),_c('v-row',{attrs:{\"dense\":\"\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Email\",\"required\":\"\",\"rules\":_vm.usernameRules,\"dense\":\"\",\"outlined\":\"\"},model:{value:(_vm.loginUsername),callback:function ($$v) {_vm.loginUsername=$$v},expression:\"loginUsername\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Password\",\"required\":\"\",\"rules\":_vm.passwordRules,\"type\":\"password\",\"dense\":\"\",\"outlined\":\"\"},model:{value:(_vm.loginPassword),callback:function ($$v) {_vm.loginPassword=$$v},expression:\"loginPassword\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}}),_c('v-spacer')],1),(_vm.errorMsg)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"error--text\"},[_vm._v(_vm._s(_vm.errorMsg))])])],1):_vm._e(),_c('v-row',{staticClass:\"mt-4 mb-2\",attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"submit\",\"loading\":_vm.isLoggingIn,\"type\":\"submit\",\"ripple\":false}},[_vm._v(\"Login\")])],1)],1),_c('v-row',{attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"#9A9A9A\",\"text\":\"\",\"ripple\":false},on:{\"click\":_vm.openRegister}},[_vm._v(\"Not yet a member? Sign up.\")])],1)],1),_c('v-row',{attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"#9A9A9A\",\"text\":\"\",\"ripple\":false},on:{\"click\":_vm.openForgotPassword}},[_vm._v(\"Forgot password?\")])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapActions as mapActionsVuex } from \"vuex\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { ProblemDetails } from \"@/api/DoceoApi\";\r\nimport { useChatHubStore } from \"@/store/chatHubStore\";\r\nimport { mapActions } from \"pinia\";\r\n\r\nexport default Vue.extend({\r\n name: \"LoginDialog\",\r\n created() {\r\n if (this.isLoggedIn) {\r\n this.$router.push({ name: \"Discover\" });\r\n }\r\n },\r\n props: {\r\n isOpen: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n data: () => ({\r\n isFormValid: false,\r\n loginUsername: \"\",\r\n loginPassword: \"\",\r\n usernameRules: [(v: string) => !!v || \"Username is required\"],\r\n passwordRules: [(v: string) => !!v || \"Password is required\"],\r\n errorMsg: undefined as string | undefined,\r\n isLoggingIn: false,\r\n }),\r\n watch: {\r\n // This will solve our current issue of being redirected back to the login screen\r\n // when a token is being refreshed. We need to find a better way to do this.\r\n isLoggedIn: function(val) {\r\n if (val) {\r\n this.$router.push({ name: \"Discover\" });\r\n }\r\n },\r\n },\r\n methods: {\r\n ...mapActionsVuex([\"login\", \"setRefreshRouteName\"]),\r\n ...mapActions(useChatHubStore, [\"loadChatrooms\"]),\r\n /**\r\n * Validate the login form and perform a login\r\n */\r\n async loginClicked() {\r\n this.loginForm.validate();\r\n this.errorMsg = undefined;\r\n\r\n if (!this.isFormValid) {\r\n return;\r\n }\r\n\r\n try {\r\n this.isLoggingIn = true;\r\n await this.login({ username: this.loginUsername, password: this.loginPassword });\r\n this.$router.push({ name: \"Discover\" });\r\n } catch (x) {\r\n if (x instanceof ProblemDetails) {\r\n this.errorMsg = x.detail;\r\n } else {\r\n this.errorMsg = \"Unknown error. Try again later\"; // TODO: Proper error message\r\n }\r\n } finally {\r\n this.isLoggingIn = false;\r\n }\r\n },\r\n openRegister() {\r\n this.$emit(\"openRegister\");\r\n },\r\n openForgotPassword() {\r\n this.$emit(\"openForgotPassword\");\r\n },\r\n },\r\n computed: {\r\n ...mapGetters([\"refreshRouteName\", \"isLoggedIn\"]),\r\n /**\r\n * This takes the loginForm ref and casts it so that there is a validate method description for typescript\r\n */\r\n loginForm(): Vue & { validate: () => boolean } {\r\n return this.$refs.loginForm as Vue & { validate: () => boolean };\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoginDialog.vue?vue&type=template&id=6505aa72&scoped=true&\"\nimport script from \"./LoginDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoginDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6505aa72\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VDialog,VForm,VRow,VSpacer,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"width\":\"475\"},on:{\"click:outside\":function($event){return _vm.$emit('close')}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',{staticClass:\"pa-4\"},[_c('v-card-text',[_c('v-form',[_c('v-row',{staticClass:\"mb-6 mt-2\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"align\":\"center\"}},[_c('span',{staticClass:\"first-header primary--text\"},[_vm._v(\"Sign Up\")])])],1),_c('v-row',{staticClass:\"mb-2\",attrs:{\"justify\":\"center\",\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" SophiaMed AI is currently available to Canadian doctors, nurse practitioners, and medical residents \")])],1),_c('v-row',{attrs:{\"dense\":\"\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-select',{attrs:{\"items\":_vm.userRoleOptions,\"label\":\"I am a\",\"required\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"change\":_vm.clearGenericCheckbox},model:{value:(_vm.userSelectedRole),callback:function ($$v) {_vm.userSelectedRole=$$v},expression:\"userSelectedRole\"}})],1),(_vm.isDoctorSelected)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"dense\":\"\",\"label\":\"MINC# (CAMD-XXXX-XXXX)\",\"required\":\"\",\"outlined\":\"\",\"persistent-hint\":\"\",\"hint\":\"MINC number helps validate you\",\"error-messages\":_vm.mincErrors},on:{\"blur\":function($event){return _vm.$v.minc.$touch()}},model:{value:(_vm.minc),callback:function ($$v) {_vm.minc=$$v},expression:\"minc\"}})],1):_vm._e(),(_vm.isMedicalResidentSelected)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"dense\":\"\",\"label\":\"School name\",\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.schoolErrors},on:{\"blur\":function($event){return _vm.$v.school.$touch()}},model:{value:(_vm.school),callback:function ($$v) {_vm.school=$$v},expression:\"school\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"dense\":\"\",\"label\":\"First Name\",\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.firstNameErrors},on:{\"blur\":function($event){return _vm.$v.firstName.$touch()}},model:{value:(_vm.firstName),callback:function ($$v) {_vm.firstName=$$v},expression:\"firstName\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"dense\":\"\",\"label\":\"Last Name\",\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.lastNameErrors},on:{\"blur\":function($event){return _vm.$v.lastName.$touch()}},model:{value:(_vm.lastName),callback:function ($$v) {_vm.lastName=$$v},expression:\"lastName\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"dense\":\"\",\"label\":\"Email\",\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.emailErrors},on:{\"blur\":function($event){return _vm.$v.email.$touch()}},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.genericCheckboxErrors,\"hide-details\":\"auto\",\"ripple\":false},on:{\"blur\":function($event){return _vm.$v.genericCheckbox.$touch()}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',[_vm._v(\" \"+_vm._s(_vm.genericCheckboxMessage)+\" \")])]},proxy:true}]),model:{value:(_vm.genericCheckbox),callback:function ($$v) {_vm.genericCheckbox=$$v},expression:\"genericCheckbox\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{staticClass:\"mt-2\",attrs:{\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.privacyPolicyErrors,\"hide-details\":\"auto\",\"ripple\":false},on:{\"blur\":function($event){return _vm.$v.privacyPolicy.$touch()}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',[_vm._v(\" I accept the \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.privacyPolicyUrl,\"rel\":\"noopener\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\" Privacy Policy \")])])]},proxy:true}]),model:{value:(_vm.privacyPolicy),callback:function ($$v) {_vm.privacyPolicy=$$v},expression:\"privacyPolicy\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{staticClass:\"mt-2\",attrs:{\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.termsOfServiceErrors,\"hide-details\":\"auto\",\"ripple\":false},on:{\"blur\":function($event){return _vm.$v.termsOfService.$touch()}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',[_vm._v(\" I accept the \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":_vm.termsOfServiceUrl,\"rel\":\"noopener\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(\" Terms and Conditions \")])])]},proxy:true}]),model:{value:(_vm.termsOfService),callback:function ($$v) {_vm.termsOfService=$$v},expression:\"termsOfService\"}})],1),(_vm.userSelectedRole == 'doctor')?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{staticClass:\"mt-2\",attrs:{\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.mincVerifiedErrors,\"hide-details\":\"auto\",\"ripple\":false},on:{\"blur\":function($event){return _vm.$v.mincVerified.$touch()}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',[_vm._v(\" I verify that the MINC provided is mine \")])]},proxy:true}],null,false,3438957042),model:{value:(_vm.mincVerified),callback:function ($$v) {_vm.mincVerified=$$v},expression:\"mincVerified\"}})],1):_vm._e()],1),(_vm.errorMsg)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"error--text\"},[_vm._v(_vm._s(_vm.errorMsg))])])],1):_vm._e(),_c('v-row',{staticClass:\"mt-8 mb-2\",attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"submit\",\"loading\":_vm.isRegistering,\"ripple\":false},on:{\"click\":_vm.registerClicked}},[_vm._v(\"Step 1: Verify Eligibility\")])],1)],1),_c('v-row',{attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"#9A9A9A\",\"text\":\"\",\"ripple\":false},on:{\"click\":_vm.openLogin}},[_vm._v(\"Already a member? Log in.\")])],1)],1)],1)],1)],1)],1),_c('InfoDialog',{attrs:{\"isOpen\":_vm.isConfirmedDialogOpen,\"title\":\"Account Created\",\"message\":\"We've emailed you a confirmation link. Once you confirm your email you can login.\",\"buttonText\":\"LOGIN\"},on:{\"close\":_vm.openLogin}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { CreateUserCommand, ICreateUserCommand, ProblemDetails, UserClient, UserType } from \"@/api/DoceoApi\";\r\nimport InfoDialog from \"@/components/userManagement/InfoDialog.vue\";\r\n\r\nimport { validationMixin } from \"vuelidate\";\r\nimport { required, maxLength, email, requiredIf } from \"vuelidate/lib/validators\";\r\n\r\nconst mincValidate = (value: string) => {\r\n if (!value) return true;\r\n let regexp = new RegExp(\"[a-zA-Z]{4}[1-9]{8}\");\r\n return regexp.test(value.replaceAll(\"-\", \"\"));\r\n};\r\n\r\nconst checkboxAccepted = (value: boolean) => {\r\n return value;\r\n};\r\n\r\nconst privacyAccepted = (value: boolean) => {\r\n return value;\r\n};\r\n\r\nconst termsAccepted = (value: boolean) => {\r\n return value;\r\n};\r\n\r\nexport default Vue.extend({\r\n name: \"RegisterDialog\",\r\n mixins: [validationMixin],\r\n components: { InfoDialog },\r\n validations() {\r\n return {\r\n firstName: { required, maxLength: maxLength(50) },\r\n lastName: { required, maxLength: maxLength(50) },\r\n minc: { mincValidate },\r\n email: { required, email: (val) => (email as any)(val.toLowerCase()) },\r\n privacyPolicy: { privacyAccepted },\r\n termsOfService: { termsAccepted },\r\n genericCheckbox: { checkboxAccepted },\r\n school: {\r\n required: requiredIf(() => {\r\n return this.userSelectedRole == UserType.MedicalResident;\r\n }),\r\n },\r\n };\r\n },\r\n created() {\r\n if (this.$route.query.email) {\r\n this.email = this.$route.query.email as string;\r\n }\r\n if (this.$route.query.fname) {\r\n this.firstName = this.$route.query.fname as string;\r\n }\r\n if (this.$route.query.lname) {\r\n this.lastName = this.$route.query.lname as string;\r\n }\r\n if (this.$route.query.discussion) {\r\n this.pendingDiscussionId = this.$route.query.discussion as string;\r\n }\r\n if (this.$route.query.folio) {\r\n this.pendingFolioId = this.$route.query.folio as string;\r\n }\r\n },\r\n props: {\r\n isOpen: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n data: () => ({\r\n firstName: \"\",\r\n lastName: \"\",\r\n email: \"\",\r\n minc: undefined as string | undefined,\r\n school: undefined as string | undefined,\r\n userSelectedRole: UserType.Doctor,\r\n errorMsg: undefined as string | undefined,\r\n isRegistering: false,\r\n isConfirmedDialogOpen: false,\r\n pendingFolioId: null as string | null,\r\n pendingDiscussionId: null as string | null,\r\n privacyPolicy: false,\r\n termsOfService: false,\r\n genericCheckbox: false,\r\n userRoleOptions: [\r\n {\r\n text: \"Doctor\",\r\n value: UserType.Doctor,\r\n },\r\n {\r\n text: \"Nurse Practitioner\",\r\n value: UserType.NursePractitioner,\r\n },\r\n {\r\n text: \"Medical Resident\",\r\n value: UserType.MedicalResident,\r\n },\r\n {\r\n text: \"Medical Student\",\r\n value: UserType.MedicalStudent,\r\n },\r\n ],\r\n }),\r\n methods: {\r\n /**\r\n * Validate the login form and perform a login\r\n */\r\n async registerClicked() {\r\n this.errorMsg = undefined;\r\n\r\n this.$v.$touch();\r\n\r\n if (this.$v.$invalid) {\r\n return;\r\n }\r\n\r\n var createUser: ICreateUserCommand = {\r\n email: this.email,\r\n firstName: this.firstName ?? \"\",\r\n lastName: this.lastName ?? \"\",\r\n userType: this.userSelectedRole,\r\n minc: (this.minc ?? \"\").replaceAll(\"-\", \"\"),\r\n schoolName: this.school,\r\n pendingDiscussionId: this.pendingDiscussionId ?? undefined,\r\n pendingFolioId: this.pendingFolioId ?? undefined,\r\n };\r\n\r\n let createCommand = new CreateUserCommand(createUser);\r\n\r\n try {\r\n this.isRegistering = true;\r\n await new UserClient().create(createCommand);\r\n this.isConfirmedDialogOpen = true;\r\n } catch (x) {\r\n if (x instanceof ProblemDetails) {\r\n this.errorMsg = x.detail;\r\n } else {\r\n this.errorMsg = \"Unknown error. Try again later\"; // TODO: Proper error message\r\n }\r\n } finally {\r\n this.isRegistering = false;\r\n }\r\n },\r\n openLogin() {\r\n this.$emit(\"openLogin\");\r\n },\r\n\r\n clearGenericCheckbox() {\r\n this.genericCheckbox = false;\r\n },\r\n },\r\n computed: {\r\n isDoctorSelected(): boolean {\r\n return this.userSelectedRole == UserType.Doctor;\r\n },\r\n isNursePractitionerSelected(): boolean {\r\n return this.userSelectedRole == UserType.NursePractitioner;\r\n },\r\n isMedicalResidentSelected(): boolean {\r\n return this.userSelectedRole == UserType.MedicalResident;\r\n },\r\n termsOfServiceUrl(): string {\r\n let routeData = this.$router.resolve({ name: \"TermsOfService\" });\r\n return routeData.href;\r\n },\r\n privacyPolicyUrl(): string {\r\n let routeData = this.$router.resolve({ name: \"PrivacyPolicy\" });\r\n return routeData.href;\r\n },\r\n /**\r\n * First name error checking\r\n */\r\n firstNameErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.firstName.$dirty) return errors;\r\n !this.$v.firstName.required && errors.push(\"First Name is required.\");\r\n return errors;\r\n },\r\n /**\r\n * Last name error checking\r\n */\r\n lastNameErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.lastName.$dirty) return errors;\r\n !this.$v.lastName.required && errors.push(\"Last Name is required.\");\r\n return errors;\r\n },\r\n /**\r\n * Email error checking\r\n */\r\n emailErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.email.$dirty) return errors;\r\n !this.$v.email.email && errors.push(\"Must be valid Email\");\r\n !this.$v.email.required && errors.push(\"Email is required.\");\r\n return errors;\r\n },\r\n /**\r\n * MINC error checking\r\n */\r\n mincErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.minc.$dirty) return errors;\r\n !this.$v.minc.mincValidate && errors.push(\"Invalid MINC\");\r\n\r\n return errors;\r\n },\r\n schoolErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.school.$dirty) return errors;\r\n !this.$v.school.required && errors.push(\"School name is required.\");\r\n return errors;\r\n },\r\n /** Privacy Policy Errors */\r\n privacyPolicyErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.privacyPolicy.$dirty) return errors;\r\n !this.$v.privacyPolicy.privacyAccepted && errors.push(\"You must accept the privacy policy\");\r\n\r\n return errors;\r\n },\r\n /** Terms of Service Errors */\r\n termsOfServiceErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.termsOfService.$dirty) return errors;\r\n !this.$v.termsOfService.termsAccepted && errors.push(\"You must accept the terms and conditions\");\r\n\r\n return errors;\r\n },\r\n genericCheckboxErrors(): string[] {\r\n const errors = [] as string[];\r\n if (!this.$v.genericCheckbox.$dirty) return errors;\r\n !this.$v.genericCheckbox.checkboxAccepted && errors.push(\"Required\");\r\n return errors;\r\n },\r\n genericCheckboxMessage(): string {\r\n switch (this.userSelectedRole) {\r\n case UserType.Doctor:\r\n return \"I am a licensed doctor in Canada\";\r\n case UserType.MedicalResident:\r\n return \"I am a medical resident in Canada\";\r\n case UserType.NursePractitioner:\r\n return \"I am a licensed nurse practitioner in Canada\";\r\n case UserType.MedicalStudent:\r\n return \"I am a medical student in Canada\";\r\n default:\r\n return \"I am a license doctor in Canada\";\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegisterDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RegisterDialog.vue?vue&type=template&id=06a6e16c&scoped=true&\"\nimport script from \"./RegisterDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./RegisterDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"06a6e16c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCheckbox,VCol,VDialog,VForm,VRow,VSelect,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"width\":\"400\"},on:{\"click:outside\":function($event){return _vm.$emit('close')}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',{staticClass:\"pa-4\"},[_c('v-card-text',[_c('v-form',[_c('v-row',{staticClass:\"mb-6 mt-2\",attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"align\":\"center\"}},[_c('span',{staticClass:\"first-header primary--text\"},[_vm._v(\"Forgot your password?\")])])],1),_c('v-row',{staticClass:\"mb-4\",attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" Confirm your email and we'll send the instructions. \")])],1),_c('v-row',{attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"dense\":\"\",\"label\":\"Email\",\"required\":\"\",\"outlined\":\"\",\"error-messages\":_vm.emailErrors},on:{\"blur\":function($event){return _vm.$v.email.$touch()}},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})],1)],1),(_vm.errorMsg)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"error--text\"},[_vm._v(_vm._s(_vm.errorMsg))])])],1):_vm._e(),_c('v-row',{staticClass:\"mt-8 mb-2\",attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"submit\",\"loading\":_vm.isSubmitting,\"ripple\":false},on:{\"click\":_vm.requestLinkClicked}},[_vm._v(\"Request Reset Link\")])],1)],1),_c('v-row',{attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"#9A9A9A\",\"text\":\"\",\"block\":\"\",\"ripple\":false},on:{\"click\":_vm.openLogin}},[_vm._v(\"Back to login\")])],1)],1)],1)],1)],1)],1),_c('InfoDialog',{attrs:{\"width\":\"300px\",\"isOpen\":_vm.isInfoDialogOpen,\"title\":\"Link Sent\",\"message\":\"We've emailed you a link to reset your password.\",\"buttonText\":\"LOGIN\"},on:{\"close\":_vm.dialogClosed}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ForgotPasswordCommand, IForgotPasswordCommand, ProblemDetails, UserClient } from \"@/api/DoceoApi\";\r\nimport InfoDialog from \"@/components/userManagement/InfoDialog.vue\";\r\n\r\nimport { validationMixin } from \"vuelidate\";\r\nimport { required, email } from \"vuelidate/lib/validators\";\r\n\r\nexport default Vue.extend({\r\n name: \"ForgotPasswordDialog\",\r\n mixins: [validationMixin],\r\n components: { InfoDialog },\r\n validations: {\r\n email: { required, email: (val) => (email as any)(val.toLowerCase()) },\r\n },\r\n props: {\r\n isOpen: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n data: () => ({\r\n email: \"\",\r\n errorMsg: undefined as string | undefined,\r\n isSubmitting: false,\r\n isInfoDialogOpen: false,\r\n }),\r\n methods: {\r\n /**\r\n * Called when the user closes the result dialog\r\n */\r\n dialogClosed() {\r\n this.isInfoDialogOpen = false;\r\n this.openLogin();\r\n },\r\n /**\r\n * Validate the form and perform a request to reset password.\r\n * When the request finishes, the dialog will open if it was a success response\r\n */\r\n async requestLinkClicked() {\r\n this.errorMsg = undefined;\r\n\r\n this.$v.$touch();\r\n\r\n if (this.$v.$invalid) {\r\n return;\r\n }\r\n\r\n let userClient = new UserClient();\r\n let forgotPassword: IForgotPasswordCommand = {\r\n email: this.email,\r\n };\r\n let forgotPasswordCommand = new ForgotPasswordCommand(forgotPassword);\r\n try {\r\n await userClient.forgotPassword(forgotPasswordCommand);\r\n this.isInfoDialogOpen = true;\r\n } catch (x) {\r\n if (x instanceof ProblemDetails) {\r\n this.errorMsg = x.detail;\r\n } else {\r\n this.errorMsg = \"Unknown error. Try again later\"; // TODO: Proper error message\r\n }\r\n } finally {\r\n this.isSubmitting = false;\r\n }\r\n },\r\n openLogin() {\r\n this.$emit(\"openLogin\");\r\n },\r\n },\r\n computed: {\r\n /**\r\n * Email error checking\r\n */\r\n emailErrors() {\r\n const errors = [] as string[];\r\n if (!this.$v.email.$dirty) return errors;\r\n !this.$v.email.email && errors.push(\"Must be valid Email\");\r\n !this.$v.email.required && errors.push(\"Email is required.\");\r\n return errors;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ForgotPasswordDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ForgotPasswordDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ForgotPasswordDialog.vue?vue&type=template&id=c7ff8cce&scoped=true&\"\nimport script from \"./ForgotPasswordDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ForgotPasswordDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c7ff8cce\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VDialog,VForm,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"width\":\"400\"},on:{\"click:outside\":function($event){return _vm.$emit('close')}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',{staticClass:\"pa-4\"},[_c('v-card-text',[_c('v-form',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"align\":\"center\"}},[_c('span',{staticClass:\"second-header\"},[_vm._v(\"Reset Password\")])])],1),_c('SetPassword',{ref:\"mychild\",scopedSlots:_vm._u([{key:\"extraInput\",fn:function(){return [_c('v-text-field',{attrs:{\"type\":\"username\",\"dense\":\"\",\"label\":\"Email\",\"required\":\"\",\"outlined\":\"\",\"readonly\":\"\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})]},proxy:true},(_vm.errorMsg)?{key:\"error\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"error--text\"},[_vm._v(_vm._s(_vm.errorMsg))])])],1)]},proxy:true}:null],null,true)}),_c('v-row',{staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-divider')],1)],1),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"submit\",\"loading\":_vm.isSubmitting,\"ripple\":false},on:{\"click\":_vm.buttonClicked}},[_vm._v(\"Reset Password\")])],1)],1)],1)],1)],1)],1),_c('InfoDialog',{attrs:{\"isOpen\":_vm.isInfoDialogOpen,\"title\":\"Password set\",\"message\":\"Your password has been set successfully.\",\"buttonText\":\"LOGIN\"},on:{\"close\":_vm.openLogin}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SetPassword from \"@/components/userManagement/PasswordFields.vue\";\r\nimport { Validation, validationMixin } from \"vuelidate\";\r\nimport { ValidationProperties, ValidationGroups } from \"vue/types/vue\";\r\nimport { UserClient, ProblemDetails, IResetPasswordCommand, ResetPasswordCommand } from \"@/api/DoceoApi\";\r\nimport InfoDialog from \"@/components/userManagement/InfoDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n name: \"ResetForgotPasswordDialog\",\r\n mixins: [validationMixin],\r\n components: { SetPassword, InfoDialog },\r\n created() {\r\n if (this.$route.query.t && this.$route.query.e) {\r\n this.token = this.$route.query.t as string;\r\n this.email = this.$route.query.e as string;\r\n } else {\r\n this.$router.push({ name: \"Home\" }); // TODO: Display error?\r\n }\r\n },\r\n props: {\r\n isOpen: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n data: () => ({\r\n token: \"\",\r\n email: \"\",\r\n isSubmitting: false,\r\n errorMsg: undefined as string | undefined,\r\n isInfoDialogOpen: false,\r\n }),\r\n validations: {},\r\n\r\n methods: {\r\n /**\r\n * Verify the user's email and set their password\r\n */\r\n async buttonClicked() {\r\n this.$v.$touch();\r\n var childForm: ValidationProperties & ValidationGroups & Validation = (this.$refs.mychild as any).$v;\r\n childForm.$touch();\r\n this.errorMsg = undefined;\r\n\r\n if (this.$v.$invalid || childForm.$invalid) {\r\n return;\r\n }\r\n\r\n let resetPassword: IResetPasswordCommand = {\r\n token: this.token,\r\n email: this.email,\r\n password: childForm.password?.$model,\r\n };\r\n\r\n try {\r\n this.isSubmitting = true;\r\n let result = await new UserClient().resetPassword(new ResetPasswordCommand(resetPassword));\r\n\r\n if (result.succeeded) {\r\n this.isInfoDialogOpen = true;\r\n } else if (result.errors && result.errors.length > 0) {\r\n this.errorMsg = result.errors[0].description;\r\n } else {\r\n this.errorMsg = \"Unknown error. Try again later\"; // TODO: Proper error message\r\n }\r\n } catch (x) {\r\n if (x instanceof ProblemDetails) {\r\n this.errorMsg = x.detail;\r\n } else {\r\n this.errorMsg = \"Unknown error. Try again later\"; // TODO: Proper error message\r\n }\r\n } finally {\r\n this.isSubmitting = false;\r\n }\r\n },\r\n openLogin() {\r\n this.$emit(\"openLogin\");\r\n },\r\n },\r\n computed: {},\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetForgotPasswordDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ResetForgotPasswordDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ResetForgotPasswordDialog.vue?vue&type=template&id=196b090c&scoped=true&\"\nimport script from \"./ResetForgotPasswordDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ResetForgotPasswordDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"196b090c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VDialog,VDivider,VForm,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-dialog',{attrs:{\"width\":\"400\"},on:{\"click:outside\":function($event){return _vm.$emit('close')}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',{staticClass:\"pa-4\"},[_c('v-card-text',[_c('v-form',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"align\":\"center\"}},[_c('span',{staticClass:\"second-header\"},[_vm._v(\"Finish Registration\")])])],1),_c('SetPassword',{ref:\"mychild\",scopedSlots:_vm._u([{key:\"extraInput\",fn:function(){return [_c('v-text-field',{attrs:{\"type\":\"username\",\"dense\":\"\",\"label\":\"Email\",\"required\":\"\",\"outlined\":\"\",\"readonly\":\"\"},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}})]},proxy:true},(_vm.errorMsg)?{key:\"error\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"error--text\"},[_vm._v(_vm._s(_vm.errorMsg))])])],1)]},proxy:true}:null],null,true)}),_c('v-row',{staticClass:\"mb-4\",attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-divider')],1)],1),_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"submit\",\"loading\":_vm.isSubmitting,\"ripple\":false},on:{\"click\":_vm.buttonClicked}},[_vm._v(\"STEP 2: FINISH REGISTRATION\")])],1)],1)],1)],1)],1)],1),_c('InfoDialog',{attrs:{\"isOpen\":_vm.isInfoDialogOpen,\"title\":\"Password set\",\"message\":\"Your password has been set successfully.\",\"buttonText\":\"LOGIN\"},on:{\"close\":_vm.openLogin}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ActiveNav } from \"@/router\";\r\nimport Vue from \"vue\";\r\nimport LoginDialog from \"@/components/userManagement/LoginDialog.vue\";\r\nimport RegisterDialog from \"@/components/userManagement/RegisterDialog.vue\";\r\nimport ForgotPasswordDialog from \"@/components/userManagement/ForgotPasswordDialog.vue\";\r\nimport ResetForgotPasswordDialog from \"@/components/userManagement/ResetForgotPasswordDialog.vue\";\r\nimport VerifyEmailDialog from \"@/components/userManagement/VerifyEmailDialog.vue\";\r\n\r\nenum Dialog {\r\n None,\r\n Login,\r\n Register,\r\n ForgotPassword,\r\n ResetForgotPassword,\r\n VerifyEmail,\r\n}\r\n\r\nexport default Vue.extend({\r\n name: \"MarketingHeader\",\r\n components: {\r\n LoginDialog,\r\n RegisterDialog,\r\n ForgotPasswordDialog,\r\n ResetForgotPasswordDialog,\r\n VerifyEmailDialog,\r\n },\r\n data: () => ({\r\n drawerOpen: false,\r\n openDialog: Dialog.None,\r\n Dialog,\r\n }),\r\n created() {\r\n this.checkDialogParam();\r\n },\r\n methods: {\r\n checkDialogParam() {\r\n if (this.$route.name == \"Home\") {\r\n switch (this.$route.params?.dialog) {\r\n case \"Login\":\r\n this.openDialog = Dialog.Login;\r\n break;\r\n case \"Register\":\r\n this.openDialog = Dialog.Register;\r\n break;\r\n case \"ForgotPassword\":\r\n this.openDialog = Dialog.ForgotPassword;\r\n break;\r\n case \"ResetPassword\":\r\n this.openDialog = Dialog.ResetForgotPassword;\r\n break;\r\n case \"VerifyEmail\":\r\n this.openDialog = Dialog.VerifyEmail;\r\n break;\r\n }\r\n }\r\n },\r\n goToHome() {\r\n this.$router.push({ name: \"Home\" }).catch(() => {});\r\n },\r\n closeDialog() {\r\n this.openDialog = Dialog.None;\r\n if (this.$route.params.dialog) {\r\n this.$router.push({ name: this.$route.name! });\r\n }\r\n },\r\n },\r\n computed: {\r\n onHomePage() {\r\n return this.$route.meta?.activeNav === ActiveNav.MarketingHome;\r\n },\r\n onAboutUsPage() {\r\n return this.$route.meta?.activeNav === ActiveNav.MarketingAboutUs;\r\n },\r\n onContactPage() {\r\n return this.$route.meta?.activeNav === ActiveNav.MarketingContact;\r\n },\r\n isSmallScreen() {\r\n return this.$vuetify.breakpoint.smAndDown;\r\n },\r\n },\r\n watch: {\r\n $route() {\r\n this.checkDialogParam();\r\n },\r\n },\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SetPassword from \"@/components/userManagement/PasswordFields.vue\";\r\nimport { Validation, validationMixin } from \"vuelidate\";\r\nimport { ValidationProperties, ValidationGroups } from \"vue/types/vue\";\r\nimport { ISetPasswordCommand, SetPasswordCommand, UserClient, ProblemDetails } from \"@/api/DoceoApi\";\r\nimport InfoDialog from \"@/components/userManagement/InfoDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n name: \"VerifyEmailDialog\",\r\n mixins: [validationMixin],\r\n components: { SetPassword, InfoDialog },\r\n created() {\r\n if (this.$route.query.t && this.$route.query.e) {\r\n this.token = this.$route.query.t as string;\r\n this.email = this.$route.query.e as string;\r\n } else {\r\n this.$router.push({ name: \"Home\" }); // TODO: Display error?\r\n }\r\n },\r\n validations: {},\r\n props: {\r\n isOpen: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n data: () => ({\r\n token: \"\",\r\n email: \"\",\r\n isSubmitting: false,\r\n errorMsg: undefined as string | undefined,\r\n isInfoDialogOpen: false,\r\n }),\r\n methods: {\r\n /**\r\n * Verify the user's email and set their password\r\n */\r\n async buttonClicked() {\r\n this.$v.$touch();\r\n var childForm: ValidationProperties & ValidationGroups & Validation = (this.$refs.mychild as any).$v;\r\n childForm.$touch();\r\n this.errorMsg = undefined;\r\n\r\n if (this.$v.$invalid || childForm.$invalid) {\r\n return;\r\n }\r\n\r\n let setPassword: ISetPasswordCommand = {\r\n token: this.token,\r\n email: this.email,\r\n password: childForm.password?.$model,\r\n };\r\n\r\n try {\r\n this.isSubmitting = true;\r\n let result = await new UserClient().setPassword(new SetPasswordCommand(setPassword));\r\n\r\n if (result.succeeded) {\r\n this.isInfoDialogOpen = true;\r\n } else if (result.errors && result.errors.length > 0) {\r\n this.errorMsg = result.errors[0].description;\r\n } else {\r\n this.errorMsg = \"Unknown error. Try again later\"; // TODO: Proper error message\r\n }\r\n } catch (x) {\r\n if (x instanceof ProblemDetails) {\r\n this.errorMsg = x.detail;\r\n } else {\r\n this.errorMsg = \"Unknown error. Try again later\"; // TODO: Proper error message\r\n }\r\n } finally {\r\n this.isSubmitting = false;\r\n }\r\n },\r\n openLogin() {\r\n this.$emit(\"openLogin\");\r\n },\r\n },\r\n computed: {},\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerifyEmailDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerifyEmailDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VerifyEmailDialog.vue?vue&type=template&id=0e9c8a56&scoped=true&\"\nimport script from \"./VerifyEmailDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./VerifyEmailDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e9c8a56\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VDialog,VDivider,VForm,VRow,VTextField})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MarketingHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MarketingHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MarketingHeader.vue?vue&type=template&id=15677b2a&scoped=true&\"\nimport script from \"./MarketingHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./MarketingHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MarketingHeader.vue?vue&type=style&index=0&id=15677b2a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"15677b2a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAvatar } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAppBar,VAppBarNavIcon,VBtn,VCol,VContainer,VDivider,VImg,VList,VListItem,VListItemAvatar,VListItemContent,VListItemTitle,VNavigationDrawer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"footer my-16\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"10\"}},[_c('v-divider'),_c('v-row',{staticClass:\"mt-16\"},[_c('v-col',{staticClass:\"mb-8\",attrs:{\"cols\":\"12\",\"md\":\"3\",\"lg\":\"4\",\"xl\":\"6\"}},[_c('v-img',{attrs:{\"src\":require('@/assets/SophiaMedAi-logo.png'),\"height\":\"64px\",\"width\":\"282px\",\"contain\":\"\",\"alt\":\"SophiaMed AI Medical Information Discovery and Curation Platform\",\"title\":\"SophiaMed AI Medical Information Discovery and Curation Platform\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"9\",\"lg\":\"8\",\"xl\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"mb-8\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-row',[_c('v-col',{staticClass:\"font-weight-bold mb-8\"},[_vm._v(\"About us\")])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-btn',{staticClass:\"px-0 py-1 footer-nav-link\",attrs:{\"text\":\"\",\"to\":{ name: 'AboutUs' },\"ripple\":false}},[_c('span',{staticClass:\"button-text\"},[_vm._v(\"What is SophiaMed AI?\")])])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-btn',{staticClass:\"px-0 py-1 footer-nav-link\",attrs:{\"text\":\"\",\"to\":{ name: 'ContactUs' },\"ripple\":false}},[_c('span',{staticClass:\"button-text\"},[_vm._v(\"Contact\")])])],1)],1)],1),_c('v-col',{staticClass:\"mb-8\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-row',[_c('v-col',{staticClass:\"font-weight-bold mb-8\"},[_vm._v(\"Our Policies\")])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-btn',{staticClass:\"px-0 py-1 footer-nav-link\",attrs:{\"text\":\"\",\"to\":{ name: 'TermsOfService' },\"ripple\":false}},[_c('span',{staticClass:\"button-text\"},[_vm._v(\"Terms and Conditions\")])])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-btn',{staticClass:\"px-0 py-1 footer-nav-link\",attrs:{\"text\":\"\",\"to\":{ name: 'PrivacyPolicy' },\"ripple\":false}},[_c('span',{staticClass:\"button-text\"},[_vm._v(\"Privacy Policy\")])])],1)],1)],1),_c('v-col',{staticClass:\"mb-8\",attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-row',[_c('v-col',{staticClass:\"font-weight-bold mb-8\"},[_vm._v(\"More Info\")])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-btn',{staticClass:\"px-0 py-1 footer-nav-link\",attrs:{\"text\":\"\",\"to\":{ name: 'ContactUs' },\"ripple\":false}},[_c('span',{staticClass:\"button-text\"},[_vm._v(\"Business Inquiries\")])])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-btn',{staticClass:\"px-0 py-1 footer-nav-link\",attrs:{\"text\":\"\",\"to\":{ name: 'ContactUs' },\"ripple\":false}},[_c('span',{staticClass:\"button-text\"},[_vm._v(\"Investors\")])])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('v-btn',{staticClass:\"px-0 py-1 footer-nav-link\",attrs:{\"text\":\"\",\"to\":{ name: 'ContactUs' },\"ripple\":false}},[_c('span',{staticClass:\"button-text\"},[_vm._v(\"Press\")])])],1)],1)],1)],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"button-text pa-0\"},[_vm._v(\"© 2024 SophiaMed AI. All Rights Reserved.\")])]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-btn',{staticClass:\"pa-0 ma-0 \",attrs:{\"href\":\"https://launchitsolutions.ca/\",\"target\":\"_blank\",\"rel\":\"noopener\",\"text\":\"\",\"ripple\":false}},[_c('span',{staticClass:\"button-text company-link\",class:{ 'primary--text': hover }},[_vm._v(\"A Launchit Solutions Company\")])])]}}])})],1)],1)],1),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{staticClass:\"pa-0 footer-external-link\",attrs:{\"href\":\"https://www.linkedin.com/company/doceo-md\",\"target\":\"_blank\",\"rel\":\"noopener\",\"text\":\"\",\"ripple\":false}},[_c('span',{staticClass:\"d-none\"},[_vm._v(\"Linkedin\")]),_c('doceo-icon',{attrs:{\"icon\":_vm.DOCEO_ICONS.MARKETING_LINKEDIN,\"size\":24,\"alt\":\"LinkedIn\",\"title\":\"LinkedIn\"}})],1)],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{staticClass:\"pa-0 footer-external-link\",attrs:{\"href\":\"https://www.instagram.com/doceo.md\",\"target\":\"_blank\",\"rel\":\"noopener\",\"text\":\"\",\"ripple\":false}},[_c('span',{staticClass:\"d-none\"},[_vm._v(\"Instagram\")]),_c('doceo-icon',{attrs:{\"icon\":_vm.DOCEO_ICONS.MARKETING_INSTAGRAM,\"size\":24,\"alt\":\"Instagram\",\"title\":\"Instagram\"}})],1)],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{staticClass:\"pa-0 footer-external-link\",attrs:{\"href\":\"https://www.facebook.com/Doceomd-102161072501153\",\"target\":\"_blank\",\"rel\":\"noopener\",\"text\":\"\",\"ripple\":false}},[_c('span',{staticClass:\"d-none\"},[_vm._v(\"Facebook\")]),_c('doceo-icon',{attrs:{\"icon\":_vm.DOCEO_ICONS.MARKETING_FACEBOOK,\"size\":24,\"alt\":\"Facebook\",\"title\":\"Facebook\"}})],1)],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DoceoIcon from \"../DoceoIcon.vue\";\r\nimport DOCEO_ICONS from \"@/constants/icons\";\r\n\r\nexport default Vue.extend({\r\n name: \"MarketingFooter\",\r\n components: { DoceoIcon },\r\n data: () => ({\r\n DOCEO_ICONS,\r\n }),\r\n methods: {},\r\n computed: {},\r\n watch: {},\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MarketingFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MarketingFooter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MarketingFooter.vue?vue&type=template&id=083a4893&scoped=true&\"\nimport script from \"./MarketingFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./MarketingFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MarketingFooter.vue?vue&type=style&index=0&id=083a4893&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"083a4893\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VDivider,VHover,VImg,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nimport DoceoAppBar from \"@/components/DoceoAppBar.vue\";\r\nimport MarketingHeader from \"./components/marketing/MarketingHeader.vue\";\r\nimport MarketingFooter from \"./components/marketing/MarketingFooter.vue\";\r\nimport { useErrorStore } from \"@/store/errorStore\";\r\nimport { useProfileStore } from \"@/store/profileStore\";\r\nimport { mapState, mapActions } from \"pinia\";\r\nimport { mapGetters, mapActions as mapActionsVuex } from \"vuex\";\r\n\r\nexport default Vue.extend({\r\n name: \"App\",\r\n components: { DoceoAppBar, MarketingHeader, MarketingFooter },\r\n metaInfo: {\r\n // if no subcomponents specify a metaInfo.title, this title will be used\r\n title: \"SophiaMed AI | Medical Information Discovery and Curation Platform\",\r\n htmlAttrs: {\r\n lang: \"en\",\r\n },\r\n },\r\n async created() {\r\n // If the user is logged in but the user isn't set then make a request for the user details (Use case: Page refresh)\r\n if (this.isLoggedIn && !this.isUserSet) {\r\n try {\r\n await this.checkToken();\r\n await this.getUserAsync();\r\n await this.getProfileAsync();\r\n if (this.hasDoctorRole || this.hasAdminRole) {\r\n await this.getPendingInvites();\r\n }\r\n } catch {\r\n this.$router.push({ name: \"Login\" });\r\n this.logout();\r\n }\r\n }\r\n this.loaded = true;\r\n },\r\n data: () => ({\r\n snackbar: true,\r\n messageSnackbar: true,\r\n loaded: false,\r\n }),\r\n methods: {\r\n ...mapActionsVuex([\"getUserAsync\", \"getPendingInvites\", \"checkToken\", \"logout\"]),\r\n ...mapActions(useProfileStore, [\"getProfileAsync\"]),\r\n },\r\n computed: {\r\n ...mapGetters([\"isUserSet\", \"userId\", \"isLoggedIn\", \"hasDoctorRole\", \"hasAdminRole\"]),\r\n ...mapState(useErrorStore, [\"error\", \"message\"]),\r\n ...mapState(useProfileStore, [\"profile\"]),\r\n isMarketing() {\r\n return this.$route.meta?.isMarketing ?? false;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5beedb63&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VApp,VMain,VSnackbar})\n","import Vue from \"vue\";\r\nimport Vuetify from \"vuetify/lib/framework\";\r\n\r\nVue.use(Vuetify);\r\n\r\nexport default new Vuetify({\r\n icons: {\r\n iconfont: \"faSvg\",\r\n },\r\n theme: {\r\n options: { customProperties: true },\r\n themes: {\r\n light: {\r\n primary: \"#FF6D00\",\r\n secondary: \"#002e4b\",\r\n submit: \"#FF6D00\",\r\n secondaryButton: \"#9a9a9a\",\r\n },\r\n },\r\n },\r\n});\r\n","import _Vue from \"vue\";\r\nimport dayjs from 'dayjs';\r\nimport relativeTime from 'dayjs/plugin/relativeTime';\r\nimport isBetween from 'dayjs/plugin/isBetween';\r\nimport utc from 'dayjs/plugin/utc';\r\nimport timezone from 'dayjs/plugin/timezone';\r\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\r\nimport weekday from 'dayjs/plugin/weekday';\r\nimport duration from 'dayjs/plugin/duration';\r\n\r\ndayjs.extend(relativeTime);\r\ndayjs.extend(isBetween)\r\ndayjs.extend(utc)\r\ndayjs.extend(timezone)\r\ndayjs.extend(weekOfYear);\r\ndayjs.extend(weekday);\r\ndayjs.extend(duration);\r\n\r\nexport function DayJsPlugin(Vue: typeof _Vue, options?: any): void {\r\n Vue.prototype.$dayjs = dayjs;\r\n}\r\n","import _Vue from \"vue\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { useHubStore } from \"@/store/hubStore\";\r\nimport store from \"@/store/userStore\";\r\n\r\nexport function ContentHub(Vue: typeof _Vue, options?: any): void {\r\n const connection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Information)\r\n .withUrl(`${process.env.VUE_APP_API_BASE_URL}/contentHub`, {\r\n accessTokenFactory: () => {\r\n return store.getters.accessToken;\r\n },\r\n })\r\n .withAutomaticReconnect({\r\n nextRetryDelayInMilliseconds: (retryContext) => {\r\n const reconnectDelay = Math.random() * 10000 + 1000;\r\n let hubStore = useHubStore();\r\n hubStore.SET_HUB_CONNECT_ATTEMPT_COUNT(retryContext.previousRetryCount);\r\n\r\n return reconnectDelay;\r\n },\r\n })\r\n .build();\r\n\r\n connection.onreconnecting(function() {\r\n let hubStore = useHubStore();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(false);\r\n });\r\n\r\n connection.onreconnected(function() {\r\n let hubStore = useHubStore();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(true);\r\n hubStore.CLEAR_HUB_CONNECT_ATTEMPT_COUNT();\r\n });\r\n\r\n connection.on(\"NewPendingFolioInvite\", () => {});\r\n\r\n async function start() {\r\n let hubStore = useHubStore();\r\n try {\r\n if (connection.state != signalR.HubConnectionState.Connected) {\r\n await connection.start();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(true);\r\n }\r\n } catch (err) {\r\n console.error(err);\r\n setTimeout(start, 5000);\r\n }\r\n }\r\n\r\n async function stop() {\r\n let hubStore = useHubStore();\r\n await connection.stop();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(false);\r\n }\r\n\r\n if (store.getters.isLoggedIn) {\r\n start();\r\n }\r\n\r\n // Watch the isLoggedIn getter for changes.\r\n // Start the connection once a user is authenticated, and stop it when they're not.\r\n // store.watch(\r\n // (_, getters) => getters.isLoggedIn,\r\n // (newValue, _) => {\r\n // if (newValue) {\r\n // // The user is authenticated.\r\n // start();\r\n // } else if (!newValue) {\r\n // // The user is no longer authenticated.\r\n // stop();\r\n // }\r\n // }\r\n // );\r\n}\r\n","import _Vue from \"vue\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { useHubStore } from \"@/store/hubStore\";\r\nimport { useChatHubStore } from \"@/store/chatHubStore\";\r\nimport store from \"@/store/userStore\";\r\n\r\nexport function NotificationHub(Vue: typeof _Vue, options?: any): void {\r\n const connection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Information)\r\n .withUrl(`${process.env.VUE_APP_API_BASE_URL}/notificationHub`, {\r\n accessTokenFactory: () => {\r\n return store.getters.accessToken;\r\n },\r\n })\r\n .withAutomaticReconnect({\r\n nextRetryDelayInMilliseconds: (retryContext) => {\r\n const reconnectDelay = Math.random() * 10000 + 1000;\r\n let hubStore = useHubStore();\r\n hubStore.SET_HUB_CONNECT_ATTEMPT_COUNT(retryContext.previousRetryCount);\r\n\r\n return reconnectDelay;\r\n },\r\n })\r\n .build();\r\n\r\n connection.onreconnecting(function() {\r\n let hubStore = useHubStore();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(false);\r\n });\r\n\r\n connection.onreconnected(function() {\r\n let hubStore = useHubStore();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(true);\r\n hubStore.CLEAR_HUB_CONNECT_ATTEMPT_COUNT();\r\n });\r\n\r\n connection.on(\"NewPendingFolioInvite\", () => {\r\n store.dispatch(\"getPendingInvites\");\r\n });\r\n\r\n connection.on(\"NewPendingChatroomInvite\", () => {\r\n const chatHubStore = useChatHubStore();\r\n chatHubStore.getInvitedChatrooms();\r\n });\r\n\r\n async function start() {\r\n let hubStore = useHubStore();\r\n try {\r\n if (connection.state != signalR.HubConnectionState.Connected) {\r\n await connection.start();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(true);\r\n }\r\n } catch (err) {\r\n console.error(err);\r\n setTimeout(start, 5000);\r\n }\r\n }\r\n\r\n async function stop() {\r\n let hubStore = useHubStore();\r\n await connection.stop();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(false);\r\n }\r\n\r\n if (store.getters.isLoggedIn) {\r\n start();\r\n }\r\n\r\n // Watch the isLoggedIn getter for changes.\r\n // Start the connection once a user is authenticated, and stop it when they're not.\r\n store.watch(\r\n (_, getters) => getters.isLoggedIn,\r\n (newValue, _) => {\r\n if (newValue) {\r\n // The user is authenticated.\r\n start();\r\n } else if (!newValue) {\r\n // The user is no longer authenticated.\r\n stop();\r\n }\r\n }\r\n );\r\n}\r\n","import _Vue from \"vue\";\r\nimport * as signalR from \"@microsoft/signalr\";\r\nimport { useChatHubStore } from \"@/store/chatHubStore\";\r\nimport { useConversationStore } from \"@/store/conversationStore\";\r\nimport store from \"@/store/userStore\";\r\nimport { BroadcastMessageCommand } from \"@/api/signalRModels/BroadcastMessageCommand\";\r\n\r\nexport function ChatHub(Vue: typeof _Vue, options?: any): void {\r\n const connection = new signalR.HubConnectionBuilder()\r\n .configureLogging(signalR.LogLevel.Information)\r\n .withUrl(`${process.env.VUE_APP_API_BASE_URL}/chat`, {\r\n accessTokenFactory: () => {\r\n return store.getters.accessToken;\r\n },\r\n })\r\n .withAutomaticReconnect({\r\n nextRetryDelayInMilliseconds: (retryContext) => {\r\n const reconnectDelay = Math.random() * 10000 + 1000;\r\n let hubStore = useChatHubStore();\r\n hubStore.SET_HUB_CONNECT_ATTEMPT_COUNT(retryContext.previousRetryCount);\r\n\r\n return reconnectDelay;\r\n },\r\n })\r\n .build();\r\n\r\n connection.onreconnecting(function() {\r\n let hubStore = useChatHubStore();\r\n\r\n hubStore.SET_IS_CONNECTED_TO_HUB(false);\r\n });\r\n\r\n connection.onreconnected(function() {\r\n let hubStore = useChatHubStore();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(true);\r\n hubStore.CLEAR_HUB_CONNECT_ATTEMPT_COUNT();\r\n });\r\n\r\n connection.on(\"BroadcastMessage\", (broadcastMessageCommand: BroadcastMessageCommand) => {\r\n let conversationStore = useConversationStore();\r\n conversationStore.receiveMessage(broadcastMessageCommand);\r\n });\r\n\r\n async function start() {\r\n let hubStore = useChatHubStore();\r\n hubStore.SET_CONNECTION(connection);\r\n try {\r\n await connection.start();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(true);\r\n hubStore.loadChatrooms();\r\n hubStore.getInvitedChatrooms();\r\n } catch (err) {\r\n console.error(err);\r\n setTimeout(start, 5000);\r\n }\r\n }\r\n\r\n async function stop() {\r\n let hubStore = useChatHubStore();\r\n await connection.stop();\r\n hubStore.SET_IS_CONNECTED_TO_HUB(false);\r\n }\r\n\r\n if (store.getters.isLoggedIn && store.getters.hasDoctorRole) {\r\n start();\r\n }\r\n\r\n // Watch the isLoggedIn getter for changes.\r\n // Start the connection once a user is authenticated, and stop it when they're not.\r\n store.watch(\r\n (_, getters) => getters.isLoggedIn,\r\n (newValue, _) => {\r\n if (newValue && store.getters.hasDoctorRole) {\r\n start();\r\n } else if (!newValue) {\r\n // The user is no longer authenticated.\r\n stop();\r\n }\r\n }\r\n );\r\n}\r\n","import Vue from \"vue\";\r\nimport App from \"./App.vue\";\r\nimport VueMeta from \"vue-meta\";\r\nimport VueGtag from \"vue-gtag\";\r\nimport VueRouter from \"vue-router\";\r\nimport { createPinia, PiniaVuePlugin } from \"pinia\";\r\nimport router from \"./router\";\r\nimport vuetify from \"./plugins/vuetify\";\r\nimport { DayJsPlugin } from \"@/plugins/dayjs/dayjsPlugin\";\r\nimport { ContentHub } from \"@/hubs/contentHub\";\r\nimport { NotificationHub } from \"@/hubs/notificationHub\";\r\nimport { ChatHub } from \"@/hubs/chatHub\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { far } from \"@fortawesome/free-regular-svg-icons\";\r\nimport { VueMasonryPlugin } from \"vue-masonry\";\r\nimport store from \"@/store/userStore\";\r\n\r\nVue.config.productionTip = false;\r\nVue.use(PiniaVuePlugin);\r\nconst pinia = createPinia();\r\nVue.use(DayJsPlugin);\r\n\r\nVue.use(VueRouter);\r\nVue.use(VueMasonryPlugin);\r\nVue.use(VueMeta);\r\n\r\nlibrary.add(fas);\r\nlibrary.add(far);\r\n\r\nVue.component(\"font-awesome-icon\", FontAwesomeIcon);\r\n\r\nnew Vue({\r\n pinia,\r\n router,\r\n vuetify,\r\n store,\r\n render: (h) => h(App),\r\n}).$mount(\"#app\");\r\n\r\nVue.use(\r\n VueGtag,\r\n {\r\n config: { id: process.env.VUE_APP_GOOGLE_ANALYTICS },\r\n },\r\n router\r\n);\r\n\r\nVue.use(ContentHub);\r\nVue.use(NotificationHub);\r\nVue.use(ChatHub);\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAuCAYAAACF6SFvAAAABHNCSVQICAgIfAhkiAAAA7hJREFUaEPVmU1WGkEQx7tGXEffM2zVC0Q5QcgJkhuIwayDJ9CcQLOOvOAJxBMETzB4grhG3wuuBSr/GpjJfPSMPR8dYHYwRVX96qO7uiFl+IzcL4fOBu8yq8PgJ0QDnqrneuPH0FCNViymewtCYxFkxePN2fR2u9F7MNFPWUJ/3NbeC22cQaZJivayZGG45zjU33l3dWtiWHRPnNoRM7de162GDvHlzkH3Oku3FgaGtmDoDKHpmDgWleExkzqvH3S/635bRjcC9uCwOt1pdPs63QmYeTZqN3jxr5zyE0mJJAw/3beRCXWpFEkpFX6YuKMLVgRGapdo9ivNGEpCoSQiTsBpRZRerVJ+mzw9Rble4LctLQGHvhVVi89ZukVv/bB7HNYXeCHph0E3Ub+iOLOzFuoA6glqZRkNncyGBMdBIMIscViPLc0HlNzbxhUyPX8C04/DE2RENWNhR9SDQJmVhVjOyJSnxPfeJEhhqzooVh8ANAhgntz2Jya6iYMYZSQF0StJDVTa92aRWgQiFATpTZTbfgAzGrZ/h8urtMGg8qJAVelNgLP6huyc07zp2TWOTE5Bv58rBYmVm58dQoldosS+Bj6aNnxOKNvizNSgR/dkgN54v24wiUyj1Gg0PMFyXG6DtB11rf74qsnqlrAkZy3zS/HTxGhob52Ls7pbWxgdMHqm/YANYdckGqssgx66X9sFQLPX3K3t0hxfzfD5WjLTxNIsc5m/b3uT8aqvCvHtkHh27E05ABrD/zer3BOvzY01nmz7MB3AXKwNTMxRKbF6o4vj9+JJrmqrOdfovEJW9uXSIwQT7535sSPvkcNmdrX+hA5oEV/RO+fwXm5jVm5U057LFuXlO5sI/Mht93CoOloloBSQ+001baK8vDs2ebRVhAz18eajzZIx1W0KkgrjXW6ojQEydLDMDOUBSYWRF8sGyguSCbNMoCIgr8L4QBNVw2QdnRBsLdtFQYxgRMi79FAsx+vIyFM1UBkQY5j/AVQWJBeMTaAqQHLD2ABKGVGea2qyF94QTfalQqOX1R5i9Yx70GaRf+MKwVSRoapKK5yxwjA+kFIzmeVyTQo2QAr1TLx2804KtkAqgckzKdgEqQwmC0iOeHJBMtOM6HLXFR/jTVatNJlSPaMrOYw+PZPjg5zbAdLJu/xmwVYK4xvSHfDCTvgXEGWyoPutFRgxpDuCy/e2QCrtGV2kntzPLSbnp//OJoh1GDHg/fmrqIe/6vpyt1V1aVW2aZo6JntRlY2eZvcvDUoaNCzWxH0AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAAwCAYAAABaHInAAAAABHNCSVQICAgIfAhkiAAAAppJREFUaEPtmlFSwjAQhnc7vKszwqvewPYE6AnUGzhTfFZPIJ5AfBZmvIH1BOIJWryA+grOiM8q66baWqrShBIatHmiZJvsl3+bnUwWIdX6/r6NFm0DwSYA2QC4nLYx45mG7FsACF0a4VXNOQ+SfmHyod9zD5CwZYbjKl7QkBCatY3OWfRWDDYI3EtegR2V4cyzJa9qd3aFXyHYwG8c8q9T8xydwiOCo6rTbmH4TSH5Y0MQXPFzqwKvwYpzwbFsZmNBeB+AJotS//KQw5KsLeRO0XEcdzAUEy9USDJDdwyO4ESApf/cYrCumRr97FWoHMJ1Qpwb5E3jKbmlV+322E65CIBP/t7yK1aYI2o0ZLAGJZ1fRLBwA0xxZII9+u7OCPGYZeRkPftGQPcW72SrTsfLM7oy2MB37wFxLc+kWe9yyAQ1u+1k2U3qNxOMqFdzOrkiQhksDEXOFYi4kWdFf32X6IHD/HDuoagFRsOgyopp8EHLkCWYlmXVOKiyYrrzmCxrVr5TBusH7h0Crss6oNNuUr5TBptHgpZdDJqQ75TBtOcxeaqJ+U4ZTHbeou1KsKIVUJ2/VCxasWnzWFbeUVUky15ZsTzb/SzOWVlAUf98wWZwztIGNnUem9E5SxuY7MBF2ymHYtEOy85fgsmulCl2pWKmKCHrR6mY7EqZYlcqZooSsn78I8X8xpBvA5eilVnE+7FvF38Ez3/4qjZ9uQ5ftRKy8V20HX9f4v55M/ZDXK6H5RBA4oI9DkcuNfLAslqVt5ee0eUQt/t1GFEzBfXMZRzMxO1PFrDER2u/4bFq20WHVa75EzUqY6UPoXIflS6JsMw11Xxe5l1Q+C1KjaIJv9V0fH5zojJHfIy2sZAfMKKUr0uAXrqs7x0SU+ufBQhMZwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAAA9CAYAAAAeYmHpAAAABHNCSVQICAgIfAhkiAAABSVJREFUaEPtmjtv01AUx69LA0JFNB14D4RPAAww0IEwsLBQBuak36B8AuATAJ+gycACA0Vi4CFBujCwkA4gMZEODDykGiSKIK3N/9i+5tqJfR9+FTWWIifOfZzf/Z977vG1LbYLD2sXMrMJ9G5RfaL0RGmNEfjR7V51GTvDXLeBc4NXtSyrB1cabDvO6tzi4kCjyUKLGrv3xvJyY8qybgJyARbWFazso/zdg61WV6FsoUW0oQFbh/F3ANs2tGzguu4ilO8Z1s9cTQsawGfgso/Qa+jCphagnaXZVuueaf0s9ZShAdwMgEdcGcqtwwhSjj7i3G3i9wLqnR5nJDrvzLbbi1kATOoqQQcKv4rP3QB2Ca66ktY5zX/8fwvwrXi5KsCl0DSHYezbuEsD+B5gl3RGmgaPvAHtzYr1ygZXge7EFQoCUUcHmJcNVF+Ju3yZ4KnQZCCM+yjCmSgcHxzynkDxyFwvC1wGHVGZ5jBcOnPkpkGoEjwV2u50NsTgBehrsqCl4/JVgSdCwyBaamhN9o48VRYHpgrwNGhaYm4K0F2o3NZRUrVs2eBp0PH5TKmjUcRWgY+Au0hyLZiGMwY+9wQmDZrW04uC0peKzpc3u90Tvx3nA/qdCQeqAPAdA+0+eHDA3tx8CoPmySho7e1l0ZmOPJezHQHtAf/8+QwKX4hMBe7mOYPrBLLbcO9bKvNTp0wicEIjeSieBt3GyC8Lfffr7fZZHSBZWV1g3l5W8DTocSnoqby2fbSBc3R1WRraF28MkKDkslZrA+fs6jLouItTZnYWavdlrpv0v33//pz758+TkaCl1iAP6mFpE1dXubUcwMCTgk12AD5Qs/NfKQJmw+FLXKH7auVj+vx5xo4dY87aGnMGg8hSZrKcqUDTNhHtmohHH+CUrNiqlpsCWzMzbPrKlbCb7devmfPpk4MLU2LfOopLoalhpIhLAL9jCm4KzPubbjaZdeiQ9xNTg22vrjLXtkfAIcQNCHFXJoQSdAA+soOC61LFswJ77rt3LyNwNuvvMoXgGxsOkvOI4oEH9tLAlaFNwPMA5sZ7bn75MmO1mg9u22zrxQvvK42LANlDPnEpN2gd8DyBQ/B63Vc8AHfev2fb796N8MnU1lKat445nurqRQDzvqcaDbbn3LkQlOa38+VLBFyWTxhBpym+r1Zb+D0c0j641rIkCz7i/9Pz88w6fty7RMAE7vt8cB/OmA0Xn0tq0xg6BfwX/tuvA6FbNr6M0dymOS4eaS6eCToFXJdDuzwlLNZJP2dy19fZ1ps3cejE5Ssz9DjwkVxRG0leYerwYbbnor+x4379yrZ6vTh04q1wLtBVKV67fj0EHT58WD50BBwBxVObNvcKPMJM7ft3Nnz+3O8pCGaY08UrzdkSlrPC0MnN40uWz56ckhYiRdng40a00OidJGEcvIzg5imMDyXjeNifKGghSlfl6rxfqPwYd1v0AtDYo1DoqqK67Pl54dBlg6s8aCwFukxw2R0W2VIadAq4cYzjQYs/+pHdXfEJXip0EjgZAcM/43REdUEfA7yG4KV0Z1c6dJqrUwYHmG9QbAjDjkY80XUdF1tDtBxxZYVovYbvTdWNykqgA/Bxm42h0J76wTNqPg/jsN66bPAAojLoALyJM73xED4HV3Zv/y3Ftskz80qhOSC9gkkA+NB7LpEX6+KDQIkHrq1keStiR0CLYMEAUECKv4PaM1F1nOfsOGhV985SbgKdZfT+p7oTpf8ntbLYuiuV/gtDbMNcP6dSkgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAjCAYAAABsFtHvAAAABHNCSVQICAgIfAhkiAAAAu1JREFUWEftWDtvE0EQzlq2ZDchFDyqxGmh4Cgs2wVK0tDGESVFnIY6FhUFwqGhxPQIzC/A/wBHwi+58FUoUoywGySEZBwJyUayfXxzuj2Nj/Pm1pwQiJx0im/n8c3Mtzs3F7GiuLLZbAnifdxVy7IKzWazp9InWSaTKQshdslmNBodmKY5XGQjFgngJAknn5j8RaPRODwn2Bzkb6UOAj5AwOVlwLcB/o45OoajbRU4Ai7C5gmzOYJN8d8BT6VSRiQS2cJNnNvXbDYz8awsO8qcR+Z5ljnxXwZdx37Zu5wbhrEWj8efS2M4WsFv18b77OdMZQNZdTqdFtrttiltbe+UaTQaJX7XWNShgvttQuFk3EGWSZ5N2Jlz35PJ5DZVQHh3qKPUB8dDcHyLcX6GAN2SLdjBdDw3WJZ9/B5izfVDMqIAp2CHwKsQbjFnBWyQEtZDO2oOrR0eMDCEQBez+CK60mXqSmGCk3/4M3kFkP3OL+AUESnTXkgkEt+8FVlQbnvZJ8M9+Ks44HMVVoKTAapC7TKPu4eKFFV9WgYFm0M4ziHLCtEn1730nguuylJX9veDI6NnulkF1L8PvXV2DO2jZvE2GtDR0mqyedmc/7/g1GSoFIyLR0vXVG34APRukgrRfHHU5nq7bK9hl16ryaTT6bvg5hULooXX4D2n7XbA2RV+Zlut1ilsHsKmwGxeygFSF3wX73P7pUAXwN7D0R0H/Av+XpUyvPtvAvwDNu9TrD1m4O64fQE+1169w4TccOBvFaW2zyVdGDC/1+v1j/QbshuQxaRsMBicdLvdH1i/hvXrcj0Wi32t1Wqf6Vmr7H9ktyMiGvAusXJsBvkg1A0OFe7Bxh0uaYL1GyArEBzx4V4XiOvTByee95Fgka/bAySE9Inz+ncAdG2xL96gunl7WPQZn3X9BdYH8Nl4PE7SPOhOqvhOq3jm98AONRT7oDQnKZ375wBRAEd0G3wTajj3VUW29JVaRcYlPgH/BP2jSEkRQFK2AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAkFJREFUWEftmK9ywkAQxjcO10hcUodr3iC8AXVIWoXtG5BIVFuJaiNRHRwSiypxuFKHTB0u3S8TmMs1fy5poBV3M8dAcrf747vdDazhed4tEU14OjwvPXbs0GeGV4NfPviDfWkCwd+OGa4BEv8hROKaGYz/CzKZIFzOO3zfzzjIVUSDyMGqFdGKCHmjs0bXEblOa0W0IlXPbh0jOkYuHiNRFFEYhmRZFtm2+h+BVoN1v99TEAR0OBwSAYbDIfV6vSoxkvutgUCJ2Wx2goDxTqdDo9GIut1uJUwrIFAASkAReQBmPB6TaZqlMK2AQIk8iKNnKAJlAFU0fg2yWCxos9nI9j/5giVeROAC5iwgy+WS1uu1bDvkC32eTzwznh3HocFgkMvSWBGoADWkkUDw782IJ4JixfNGXOO6LvX74MyORiDb7Zbm83nGUhzHX4ZhAOJ0TkUwUAXqiKM2iFwrYCwP4uiEYRy+v2LIK9ExMklM61ogebUiNX6PxkpRIAKG772L9+UaowxSUitKIQRl7vj9iwiD2gJlAKUMUlArAv62cKA0eO0DL3wUFx9rzHQ6zdjI/YOFwMqpFbUgBGVwhD/SWrav2jE6pamSFNIidrLiS27ZXhWQX0HAeVFai2ClIGVpWlcZwLC9nZzWwhHmN/PahKiqMalqhV1FpTRtoAyay2/yvuRouFUVSZKdBaKoxkB9rism+qxivj+nn+t+2Vrr2YfHG459VLTAPSM9o+SpJD7EallusJh92bwNT+4I278BGhrsPcpbniIAAAAASUVORK5CYII=\"","/**\r\n * Managing everything related to folios\r\n */\r\n\r\nimport {\r\n AddFolioClippingModel,\r\n ContentItemSummaryResult,\r\n ContentItemType,\r\n Folio,\r\n FolioClient,\r\n FolioContentItemResult,\r\n GetFolioAttachment,\r\n RemoveFolioClippingModel,\r\n UpdateFolio,\r\n} from \"@/api/DoceoApi\";\r\nimport { defineStore } from \"pinia\";\r\nimport Vue from \"vue\";\r\nimport store from \"@/store/userStore\";\r\n\r\ninterface SummaryFilters {\r\n includeContentTypes: ContentItemType[] | null | undefined;\r\n excludeContentTypes: ContentItemType[] | null | undefined;\r\n}\r\n\r\nexport const useFolioStore = defineStore(\"folio\", {\r\n state: () => ({\r\n storeFolios: [] as ContentItemSummaryResult[],\r\n folioViewing: null as FolioContentItemResult | null,\r\n folioLogos: [] as GetFolioAttachment[],\r\n isFetchingFolios: false, // Keep track of whether a request is currently out to fetch folios. This ensures we only get the folios once if we request multiple times quickly\r\n }),\r\n getters: {\r\n folios: (state) => state.storeFolios as ContentItemSummaryResult[],\r\n myCreatedFolios: (state) => state.storeFolios.filter((e) => e.creator?.userId == store.getters.userId) as ContentItemSummaryResult[], // Return only folios that the user is the creator of\r\n },\r\n actions: {\r\n async addFolioClipping(folioClippingModel: AddFolioClippingModel) {\r\n const folioClient = new FolioClient();\r\n return await folioClient.addFolioClippings(folioClippingModel.folioId, folioClippingModel);\r\n },\r\n async removeFolioClipping(folioClippingModel: RemoveFolioClippingModel) {\r\n const folioClient = new FolioClient();\r\n return await folioClient.removeFolioClipping(folioClippingModel.folioId, folioClippingModel);\r\n },\r\n async getDefaultLogos() {\r\n let folioClient = new FolioClient();\r\n if (this.folioLogos.length > 0) {\r\n return this.folioLogos;\r\n }\r\n let logos = await folioClient.getFolioLogo();\r\n this.folioLogos = logos;\r\n return await folioClient.getFolioLogo();\r\n },\r\n /**\r\n * Create a new folio\r\n */\r\n async deleteFolio(folioId: string) {\r\n const folioClient = new FolioClient();\r\n\r\n // prettier-ignore\r\n try {\r\n await folioClient.deleteFolio(folioId)\r\n const contentIndex = this.storeFolios.findIndex((x) => x.contentItemId === folioId);\r\n if (contentIndex > -1) {\r\n this.storeFolios.splice(contentIndex, 1);\r\n }\r\n return Promise.resolve();\r\n } catch (x: any) {\r\n if (x && x.status) {\r\n return Promise.reject(x.status);\r\n }\r\n return Promise.reject();\r\n }\r\n },\r\n /**\r\n * Create a new folio\r\n */\r\n async createFolio(newFolio: Folio) {\r\n const folioClient = new FolioClient();\r\n\r\n // prettier-ignore\r\n try {\r\n let result = await folioClient.createFolio(newFolio);\r\n const contentIndex = this.storeFolios.findIndex((x) => x.contentItemId === result.contentItemId);\r\n\r\n if (contentIndex === -1) {\r\n this.storeFolios.unshift(result);\r\n } else {\r\n Vue.set(this.storeFolios, contentIndex, result);\r\n }\r\n return Promise.resolve();\r\n \r\n } catch (x: any) {\r\n if (x && x.status) {\r\n return Promise.reject(x.status);\r\n }\r\n return Promise.reject();\r\n }\r\n },\r\n\r\n /**\r\n * Create a new folio\r\n */\r\n async updateFolio(updateFolio: UpdateFolio) {\r\n const folioClient = new FolioClient();\r\n\r\n // prettier-ignore\r\n try {\r\n let result = await folioClient.updateFolio(updateFolio);\r\n const contentIndex = this.storeFolios.findIndex((x) => x.contentItemId === result.contentItemId);\r\n\r\n if (contentIndex > -1) {\r\n Vue.set(this.storeFolios, contentIndex, result);\r\n }\r\n return Promise.resolve();\r\n \r\n } catch (x: any) {\r\n if (x && x.status) {\r\n return Promise.reject(x.status);\r\n }\r\n return Promise.reject();\r\n }\r\n },\r\n\r\n /**\r\n * Retrieve a list of all folios\r\n */\r\n async fetchFolios(filters: SummaryFilters | undefined = undefined) {\r\n if (this.isFetchingFolios) {\r\n return;\r\n }\r\n\r\n this.isFetchingFolios = true;\r\n const folioClient = new FolioClient();\r\n\r\n let items: ContentItemSummaryResult[];\r\n try {\r\n // items = await contentsClient.getContentItemSummaries(100, [ContentItemType.Folio], null);\r\n items = await folioClient.getFolios();\r\n\r\n for (const item of items) {\r\n const contentIndex = this.storeFolios.findIndex((x) => x.contentItemId === item.contentItemId);\r\n\r\n if (contentIndex === -1) {\r\n this.storeFolios.push(item);\r\n } else {\r\n Vue.set(this.storeFolios, contentIndex, item);\r\n }\r\n }\r\n this.isFetchingFolios = false;\r\n } catch {\r\n this.isFetchingFolios = false;\r\n }\r\n },\r\n },\r\n});\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAuCAYAAACF6SFvAAAABHNCSVQICAgIfAhkiAAABEZJREFUaEPVWUtS20AQnZa8MKuQEwAnCFmkyl7FWaaCSXICzAliTgA5Ac4JYk6AwaSyxFlhKouQE8RHgFVcFVud7pEl6zMjjaVRGbQx2DNv+nW/7ukZgTB88NurXTF3tgTAbjgFYSTc2QO8+3lnCKMcFsX2EDYdwHt/IH3W4ALejicm+JA1CL83tr1/4pgGtYjEduZYxL4jcAD7txcmCzO2mIkDRNHJwya8OwDswd74LAtbSQbPdzc9d+MYQHRNDIuNQXEP4J1A+/aLam45bJwAwBG0bwYq7BQZ9hjO4JwGL+W0MiNWSHphvGocoAc9AWKzCGQwB4TXVTkrRoa1i/PatX4xJBtpCqDElR8Uvlz5zadHnls/Ja921Enj4zG0Q3geaY//yYJGkrW7Pz6M4oWWcPjRrf9K6ZeAwQEikWmyoFFEjgapLCDpqR0kZ9Fc6RX1Avy1p8alpY5g76a3jNjiL2/YuCbAVlz/BEJE5FpGD5vF5uU8RFoGOH9kCMQ+QgUpcsUbaI9HUikyvMPmB7KX8yR8dE7Os9P/PWCvopX1Wx46y4+tjuBSbjr7452QjHfZ+JMujxmhz1tzQch3SJRQGSL+ojJCCaVQnD+77fEJyKT3ar+i9vHyxsrKIRZgUcImiBl5RDkopZpFdGA+bPZowU+W9KVc3KZzljKOSxic2UsgiY3IZa8DKwxTuLhbrc2MpwFLDbxhkyUWbpD2vWjN+hhQKqNRXDCZVDppa341dhVCTTkd8ceTJbOo0TFHMJkJfbMVfPtUZJa2E38/2QKQ2m9YZsnSXG7nLyT/QpOS+xZVszPAYaNF2xn1ZYuHy4FjcdcsZKrBpITXqck9lDsP7TXU1cKzJUTZVsbAmBJDVHshzP4+9xvNq2aXiJ5G8VU9UIn1LU5NO5olRr1ZJ+wJklXN704fW4TU9kANd/jSY3k4S+ZOLIlyTygWPa+D0hCJHNBiVs6HjRM6MB2n4dYdIfX6gbyie2TMdiLUJ0IHj4eQzpG0Sc6mLfh4t7hj0zRh3mVzQGfQ93FC645O1Jo0Ef5VmQzycqNWH9HPL2IQFg9YJkmmPtCpiWjJyHK9ZkKrEskks05CRYjkkgkJufVJvEPgSwV7Z/p8KeulFdvojbQrbzpdPl5HWh77hIpGRFuatVtWxYTKEjGSWUwCFRGyQWRlMjKHLBNSEkF8gPl0O7ohmqRDoabLDiHN7SYTceetIm/jCpHJj1Be0M1bFJOIrFwAVKD+1a7bT3YK/litwZrGw6z8ZpErHJkAVNcpqAlVExErkcklJM/pgeSqJZIn7FXkqu3lWG3yCK5EKy+tlTsAU1b+q8SNfvr4kEbgg5Uzm3ZXLb+V5owKXH/ACzLJv4AwdZLpuNIFQLeQ7giePOqaGmoyrjIysjhfNjoI8DUsFIsrIRPDioyplIwkxC9/6Z09vV0eVCGtygqAzptcGGwmum6d/+0CThjzlsyXAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAYBAMAAADjUntGAAAAMFBMVEVHcEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlTPQ5AAAAD3RSTlMAQYDkL8AQraA/1WbwIZIqPqeUAAAAfUlEQVQY02Nw//OAAQ7q//9GcP7//47gnP//A8F5//8jgsNdIcCAE7DNnHmBbaYDkHVrVQDj//9q/f8/A5X7/zcAcrT+/wfZB+HYAzl/EqCc/5+BeAOU8yMh6///BijnGAOQCIByAkCOhHEakDkKtOBcL3/Aq6QEdL6S0gYAzBJ3sDY/Ja8AAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEUAAAA4CAYAAACrMTU2AAAABHNCSVQICAgIfAhkiAAABHZJREFUaEPtml1S2zAQxzEwAzyVnqBwgoYHBnjCnIBwgoYTNJyA9ASEExBOUDgB6RMwPNQ9AeEETZ8gM0D6/7sylR3LkvwBoxjPZJxJ9PnT7mp3JW+mwNNoNJYXFha2Pc9roBkf72W8+f01n+F4PA7Q4QCfPj4/rq6u+D334+WpubGxsTs7O9tC3Wae+lXXAaQBPt3RaHQaBMHQtj8rKFtbW010dgSJWLHt6K3KY7y9h4eHAxs4RlA2NzcJ4QQw/LeaXMF+h8/Pz53r6+tjk3a0UACkBRhHaIz2wvXn7P7+fl8nNZlQoC6E0XadRGL8wePj4/7NzQ2Nc+qjhAIJobrQmE7jMwSYHRWYVCiQkC5IfJ1GGtKchlCl1TRVmoAibMjJlAOJphdcXl6uJecag8JdBirzc0qMqum6HgNMzG4moVw4vO2aQpgoB19mB15wP/rjBQodM/z4PXfLbleMqdELFKjOrUueagVrsAc1OmO7IZSaS0nIFyrUhwrtyFBIaLcC+k41CTCrjLA9hv9LS0u/nRp9dYM9gAp1vXfV+U8YksJcjO/BwHZgYA+rg+9Wy5AUj1D6gLJdwtDPmQET2Tdu758M27xDuTPUHYoMno1ty9uncmiIidaoPvRgc6cQMZk/qN+UnR/aqcXFxS4m+SULDOqeIgHUluMPLJJPSKj7QVWXfT49PflyQGfap26h6MgRylhXUPP/y/6eLIcJUnI+p9VH578AMnUxDOycsk/UHVhI6cTQMK5vhaFQB1XQsuwVOweUjqpu1mLl7dNk8cuAkhplRp1rVly52qyvUutoh8hYCGYKc0f5ZUCZybtqVUlK0VxQKVBUkxNO4S1WVJXbVSZ5dG5CgT5NNOiglC0ZmfK2nCkXeRlG3LpdLcAE9+TDK9Q9hPgrbU00q2Sf6+vrjfn5eaqNrs9MMNHuU1bcE57U5TwlJJzIT7E5NSjSZyocxj/vHq2Ehv4PpHaZUHgGfGGibDUoc46Noxn6GABD0VV6kDWAEU3xX5QsoPR0LnkdwODI4yNDjhCKsNyMgWr7MA6DPWkRgJyjLStadhKsnNGXodTZ4IYGNlrNWDBX1EV2UURE6qMhO5AxKMI152m8aYLIRQ7JMYc7jvzjRNhfJ6MrG9dMKGKLLhR+uyA+THIh6+cb3TqIJjTNtw+ygMS25LTVBZhpdOrO4aS1sq54ZV7vEslg+i+peVYX1EQeoy6xlbolp02Shndubo5gnI2NmMJE9r+ddc9Na2iTcBy2L3cA0oEP0rORau2VUcnwOmFfhDPGxFlPPouqBEoZ9oVibDM4i7J9lB1ARQJTFclq21hShP+ygjdTjtb2xdTIWYCorKgVFI7C4PRuYrC6s5rKZpezYWsoAozxPVvqODzHFd3V75zjr6RaLihClZTnxAnfIHbzsJJZlNxoESha++KSHbH2U1QLkWVfXLMjpUFR2RcX7UipUIR9ieV35Xxnyer+Ks3ltiny6IRjN6D/4qodKV1ShLT4eDPO4NvppxRJcZpAyuD/Aqp3ZHnM7oIKAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABUCAYAAAAVgLC7AAAABHNCSVQICAgIfAhkiAAAC6ZJREFUeF7tnHtwXUUZwJs+bFqkD8t0GGQwCtVpWkswps1LuDwcdGppixVBhBYYUDoCBQooWNoqiEqBFkShMrSAzym1FR1kYIBW+kgaYkKx0SmBUov8oUGa0ZAmffn77pxzZ++5u+eee3bPTZR7Zu6kvfvtt9/+9tvXt3tu2ZDSY0WgzCp3KfOQggDW1dXNOXr06Gw+7c3NzatK/IbkB1hVVTVu5MiR88vKyhbxqfChAfGypqamte93iKEeWFtbmwLaBiCNC4IC4HIALisB1BAQrxs1atRSkhbpAAGvG7ALtm/fvlFNB/gC/r+UNAG+nPSV/++AtR7IWCdgZmu8rpvvJG0Z3vempAvs8vLy66SLBzx1PwDHv+8A4kVrgTFf12UPHDiwsr29fb+fhuwyZK/TdXGRAWBBk9T/IuysCnpApOuqz95Dhw7NaWlpafe/9LxuA/BSpi4u3T+JSWbGjBmzKfcK9O/j7xIa6V8DCT4DEHgVGNSmehNj3St4XUr1upqamqphw4YJvApDF18Z9FRXFWRoORddzyj6VgPwa670x9GjAszqujJRHD58OKV6nqwDKURm5axHZMXjALdRhR3HIFOeVCo1vK+v73XST1Jk+rq7u8d0dHT0uyyrEF1pgOJVw4cPF+/LPMF1nifzouqhIozcZsDNSQqcbxBd96qhQ4c+HKzckSNHzmJRL3YNyJMGGJw4BArjV8q3yFvWiJFVAchWa8Hq6urRLNKnbNu2rSVf7bGxg2FjsgbgpQB8Il/+pNJ9gPsxbqxSyFx1jWdY1lxvs85D5xmU9zs+x9Jgr9E9G9ra2v6pq2h9ff1UZF7VpfH9tTT2A0kByqe3TDOu7QVMhZ9RFsfAXRPwvMcwekE+5ab0ysrKD4wdO3YP6Sf4MoC4D5036PJgw23YcIcB4ELy/SSuLbb5yjRLl1UAzOxASN+E8eIt6UdmZgzO6sqFGoHOL6PzV4FGeQe9x+l00cib+f50XRpj4OV04awGLtQeG3nxwKxdhzp5eHvhrAGa9I/6u5C4BaP3CQB+NZif7z7JePjn4PfYeNRUlkSHsOepuLbY5hMPDHrYmRi0SRRr0qy6rm8sevfo1pGkZ429Ij99+vTPsO78o6miLLXqd+zYsd0WRNz8WR4o6zngpSMvhqWNtfc1NjaOp9La3QPdcVEwzgjsW4D9fVMF2SWdxFp1X1wAtvnEAyVktQh4FShb6W+/gmNjcGkTt+Awj6KMOyh/iaobO36LfeeZysu3325oaDiBBluMjik00K00UGtc23X5jJt9Tfd1EkBlPJN97CM6YwB4PwAlOJF5kP87/8nM1moa8ruR/4QJCI31cbp/E+l+VOhdgH+oKACDA3eUyYNuP4XdwiwMXE9Lv6YzlB3FcmRuN1TiYSr4dT8trLt7MhuRn2sCghPswvMq1XS8sA7bBKqTR+uBmtk3a22oKxngl/L9Y34a3aaGwf3loCxysh27yuCBj+BRV/ppeNBZeNDzpprSqHci/21dOnW4E3i3BtNkScZMb5yUCqVqAihxPjWslbU2DBbCOHMswN4izxglTesdpmCt5APITwGSgQuEa9EZdnh1MR74i6A9YTsXPPBUPHBnoaBM8pEA5jv/oKJXUtHVaiHkeQ8Yx2g8cBvf1Rk88CHyXO2noXc1ejMeGczDDHyaGi1S8mnXmV76aKD3DiqAeNXvMWhmlAoCZTdQJhkqkOXp6N2KXL2psroZmDwfRv4tQ543yHOyK3iix4UHylKoByijgobRXb5Ed3lS/R7Zd5A1zYQrqOBNiieJ3tEGb9XOwExSP2SSyugI5H0U/bIKcPaYAAaDq5ndSbBkgEymkh2GSuZESsK2Zej4LhVMz9CMYx9hGHgzpKbrkL1ATZfw2IgRI94ORJYyIui7kCHi187omTwwGKHp7e0dbwqY0uLzaPF1BqMyQCSdKMwHicL821QBPPZbeGx618EMPJMZWIYG7QOMJcDIitCYgq6+Auwcs3XrVmP5ccAaF9LeVi4FvLVh0WZgL6bguw2FP4iXfMNPy+dVQLkBKPeJfL4tHLDnAXu9Wq5u3eeno/tpdOeM03GgqXmsjx0x+l66zPUGQx4HYOaIVLe/VvNRyaup5EPyHQ3zOH8uCangZHT/1U/3ArSbQuTnIy86nT4uAK4B4AKdVQBZD5B5fhqwz0H2OVMN1NgeQOSMxhh3DM7A6P4Duj9n0t3f3z+utbVVDr+cPtYAqaic0slpne55lorKUWT6QfYi/uQsfP10AF5Ct/yZJ2uMAZKetRxhaDiZxuo0kSFtAw15vlNynjJrgLT8c7T8OQYPbMbwWj+NQf5GBvIVIRVJ7ywAPR2Z5hC555HLlIm8jMEyFpue85HPOY51AdQFwJcA2GgA2AnAzKIZ2Pcje43JcL8L55mYZMu3Br2Xix6WLsexdNkbsl40HhUMCoBUdgeG1JiMUccqAL5IRVMhABfThe9B7lnkPhtSwcyOBdkVyN4Y0n1zQmQuwPk6rD0QgHKm+2mTUVTuFKIfcqNAlibv6XYsSl6ZJaWLh2728cD0npkh4USGBAmblYcArET2Ly6hqbqsAQKlCSgzQgy8GS+8O98MrOT/B/+eGFZhAO7hczrl/tI0fHj5X6Dss5OCJ3qLAVCuwz0gp31U9sQkK6PRfQEATbskJ6a4AGicRJxYGFMJDdbT1dU1obOzsy+mikjZXAA0LmMiWZCQUDA4m1AxTrpw6KlZUoZH0NtA95XgbaKPCw/8OWPbVxK1snDlBQVO2aMfT+TnbOrxMY4mnuIs55WoRboA+GMKzoThoxacsNxSvO87Ucrwzr9vQTa9FJKjCD41rEe1Mc6gTmuArAPvQuk3oxhbRJlJADTujcUOwMmVZtne5QQsAChvISyPYq81QAy5GUN+EKWwYshQ+VYqb1zYe/A+j80S1Mh5gciz8Roa4EdR7LUGGHbTIIoBrmXUqLZOd54zk3QWrixPNF32TKILy82A37gGEVcfR51TOercFczvTRRP4nkNeXQXdPBk7YG0aCP70ZfiVth1PsNR51y6tpwxay9w+jYgs+/gwYOfIvDaFdUua4B04VMoTHsPJqoRDuWCgdaJdOlVgLswShlx7hpaA8x30hbFcIcyB/Cii+kRrYC7DL03meKEmjLvwntz7tLks80aoDerGQ/A8xkwSNIlwi3xx7BjBK2pTgDSjeUVhKmDBEahZuzibada3nb6T6EZRd4VQO3dmDgGFTOPxBXp7rUEfCUGGetxApDF9IOMNQtjWTBwmfaz5KlmyfOGjQlOAOY7BLIxMKm8eF8jOxa5/WX1OAHIWvCLdIWsW1hWViWfWXsxM06xTgDmO9iOY1hSefC82/C877nS7wSgt5QJvrDoykaXekKvKscpyCXAwRqZ9rlkXXSKA0uXxxlAJhK5xjZgr53mASLHm7JQPuIKnK/HGUAmkklMJLtdG+hAX0tPT8+ZO3fu7HGgK0eFM4DeONjOevDUJAyNo5MJ41V+yuCMLVu2vBsnf5Q8rgHOAuCAvXoaqPDr2FJvs8soOkApkLHwT/w5LUrhScngeV3E9aqJ6/0tqTKcj4G+QsbCabT8y3xGJG28Tj/w+im7lkkj61dIkrLFaRf2jcQL5cdw0nedB+CZBTzj7X7X9iQC0JtQHsUTJKhZtIcg6kzOc58uWoEUlBhAD2Lou26uKkq37QXeF7hR8IIrnVH1JArQg3gPnqj9OZOoRobJAU9eHTuvGPdgdHYkDtCDmOKvvEHp+n7gOl5fWFjIKZqLRlN1FAWgFDht2rRjeJbhMfJqrPorSXHqJC9M347XbY6T2WWeogH0jeZX2Mp5fewiIF4R4ZBbravcs36GsW6N6x+OsAFadICqsR7MOkDKC9jH85nAvyfwt9e7B71XXqDhNYY2XhJ826aiSeUdUIBJVaqYeksALWmXAJYAWhKwzF7ywBJASwKW2UseWAJoScAye8kDSwAtCVhm/y8OtVOgPjYluwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAnCAYAAABjYToLAAAABHNCSVQICAgIfAhkiAAAAyxJREFUWEftmE1oE1EQx2c2TRubplbpRfRQvy56KIqilnZjUDwIWrz4CVqhu9YqogcVFW9+oBcFqQ1prRFRkYIEvHhrsjl4UQheFKwoVDy3m4i1TXacDU1N2/3IxiU9mL3skjf75vf+M2/mbRBmrkZZOU8EnYiwE4hSBJhKT+cuQDQ0XrCp5B11ZwFJiTFQ5wLHRONTntpNk+Ed3yoJpftCXSm+3zNzzCrG0wNiqOJgrFac1QpaOZ4SvKsrrZquGNmpoWkYygx2xO3s3BzHgKykONFarSZdLLAog50wB6MJNRJsclONUuZC6BppaqwVeNfhUqMXOM4H0hExVspkbtrky4Wv522LNzcdnbsJaIJrWddiQOXLRfEqdcCabLZF/63SyT5f7TlgbobiX+f6v8EC8kgzknerhtpaVnIZavSDQPiSmWhPwjDmjNTNK9YgKT38sM3IIP05J0E8lC2M+buTRzwCPTcNFdFDdSB4Rh8PyMl2PhDc4EeRN9aC6HC7Y0Dqz6D/DkS2TBfPmTdulBIvAfGgkTO1boUPHqz/PQsmJ456AJ9Z5FC/GhF7G6Rkr4DUV0quMdwnzHn3qY/aRgv2zsFKUIwE4R0SDZUCVbAhou/ZLLT9ehwcmy0XThTjsB8WEF6YOeXVvwKCvYjocwI2YzvMaucj57pivPLJMqHybDkNWn8Oih+cg9nnWBlCFb9CfdybzzoGswvlPKoxIHxCSLwPaB0HaDfHaLkVub5T+WC60jGYbbmY8coO5PR4x1BxnVrSPbKqBj1vuHRstISbrGt2DlZCKBnqKa/6uJHzelnZXAPw3hJM00TnYHblgj1qGm3IDAY/mjnnw2mCHYtm4xrRIffBiL5y5V9jpQiD3WXHF01tCM45B7MJJdex1+lIcL8N2FV2fNO8FsJl98EIopxfJ63AGuTENQFQ76GGF5+aywCzy7GiJm6aY5JyhXfmLQuwS64rxu0orA6IpyuvmF25qII5PY9VFasq9ncfl1fHqruSFXRy5vdXFWPF+MP0NgLtMWojKtRvL/4Y9Z9SdgkaXDdrOdwDY/ylc9+qJXGEjvE/SZJFrwz/AcngDAmHwul1AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAhZJREFUWEftmEtOAkEQhrvBEBMDcgPxBLI3AbyBNxAXEJfeADiBuoWFeAKPIExiXKonEG/AQxNihLK6hxnm0U3NDA833SwIzAz19V9/VdPNs3XrnAM0GOdFtvMBAwDemnRKXZ6r9z8Y44WdM7gBYTBul48RxIL/g7Ajj9slbkC8WTCKBD1pFDGKUH3KeMR4xHiEUsB4hFLI9BHjka17BBjHlzOS/wdfy6wSAua4E1miUDPXXU8MooQAYMBTiBdfmUQgIgzuDNVKJIRJBMJ0EK5VhDJe79AJiw2iZAD2ifk4osPp74gFAkjBA8bEBL1PfmaVbCZ9i5a98IaihNvYBsuBYN2zIas+5RGmhzAn/nlLR5FixVIkEGA0g73Kd+f0zf1eC0Ny0Jtwda+AMMQi1kHtuZjmvz1U4dCXJtn49GW9UhFdw8LcX4qDFd08bZjZq+86UdZaEF2voCCc4NmaVUVf3wf94l8Sllf1iigsj3APk3apSmfcvgMPgK7x7SasTLjHKEFUZRcXwlWmbnWjlHWkqvGVaVQ5PPdhmnqYpvKqR0mQdSFk8AhlTYDoyzS2MAiTy6QGwbJ2fmcFyAYhiB4jLuvLl+gVsRVZPCAPlxl7DD6/AOkPvZJF7RWJYUI9BkZ44JsX56xuvc8B7r46ZfF5qwNPu5s4+YYdBFoI0pRLo2jL4t23iG0VhbH9q5fCdDodytUbxx8BoHw9J+AVKgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADEAAAAgCAMAAACMyGAQAAAANlBMVEVHcEz/bgD/bAD/bQD/bQD/bQD/bAD/awD/bQD/bAD/bAD/bQD/bAD/bQD/bQD/bAD/awD/bQANuiHrAAAAEXRSTlMAIOFfP8GJcO9A0fmhD7JNMELZxLIAAACzSURBVDjLvZRZDoMwDAWdPQ0QyP0vWzcGRCulPKtS55uRbDNApV2IBHAVWviDUfwIMzDGZLXRfjfq445PwxAOftU3wxHF/J0gRDFep5vgC+w5JVCwYvDeFjRSNyqRAYVp6cZKFEBj7reyijfv+7M8WgSFIu+DR8ug4brBo3lV8m0jKqAhv4Gi2Ft65dFmUKhS4oIntR71OjypHUVSgiYpoSqSEtC9t0NAP6Wg3tudRgI5hSc/7UgVs9u2zQAAAABJRU5ErkJggg==\"","/**\r\n * Helper functions for Google Analytics\r\n */\r\n\r\nimport { defineStore } from \"pinia\";\r\nimport { time } from \"vue-gtag\";\r\n\r\nexport enum EventTimeName {\r\n loadTrending = \"Load Trending\",\r\n loadFollowing = \"Load Following\",\r\n loadInitialDiscover = \"Load Initial Discover\",\r\n loadDiscover = \"Load Additional Discover\",\r\n loadContentItem = \"Load Content Item\",\r\n loadSearchItems = \"Load Search Items\",\r\n}\r\n\r\nexport enum EventTimeCategory {\r\n discoverFeed = \"Discover Feed\",\r\n content = \"Content\",\r\n search = \"Search\",\r\n}\r\n\r\nexport const useAnalyticsStore = defineStore(\"analytics\", {\r\n state: () => ({}),\r\n getters: {},\r\n actions: {\r\n /**\r\n * Submits a timing_complete event to google analytics\r\n */\r\n async submitEventTimer(startTime: Date, endTime: Date, eventName: EventTimeName, eventCategory: EventTimeCategory) {\r\n let millisecondsBetween = endTime.getTime() - startTime.getTime();\r\n time({\r\n name: eventName,\r\n value: millisecondsBetween,\r\n event_category: eventCategory,\r\n });\r\n },\r\n },\r\n});\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAtCAYAAADLEbkXAAAABHNCSVQICAgIfAhkiAAAAfxJREFUWEftmE9OwkAUxt8jMXGhsd2ZQCOeQG4gR/AGwoKuuQFyAnVl0pqgJ/AK3EA9gZjiemriwgTT8Q1QMzQzbaf8cTNDAiHM9P3me+97HYrePbvgCQ4QoQW7HhwmCfDhh+8+oBfEb4DQ3DXDXzyCiXznFL0w5v8GsQwc9Ry0IHIWrCLZmrSKWEWK+pStEVsjtkaKFLA1UqSQ7SO2RrZeI+LUjfQCWO/8vdliXYOnMshCic2NSiDzJNAb/TNUjiqQ1UByIOaMSxITxcxBFNvlwN+pYE9keUxVMQMRW83kg3P++rUH7cMfuKEfL1dyZUBTGkR1zRQi7rqxM2LOwQzGiHi2qgxf2ju/sMuBqGzJ+WcC0KbHCS9pCD1MscPKgWQ3o4BIp9QD1qoBjCmFRybmzgXRpTjhvCserOgCzWEQnzcCousVRRCSMh2CGWWLl1OaVbbWKqIwiOgQj1HP7ZTdaT1k/Rrg9UrxanqMGkSZEzOINLgXMkphsa1LFats07JqyPMaARO2Ps9bWwiyLoQIrrO1DJYPkmNTU2UEzOEMJjpb60E2CFGmx2hBytrUVBnxcBk4PmXXLUACFsuSbQtC22NI/ch3HZT9TsV5O/XdvulOTec3QnZFR4eBWEfHiOG059J3GqIti0/5JmZ6cdP5x3es+b0Psbh7i7W/XnRuPaBPk3gAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAABHNCSVQICAgIfAhkiAAABOtJREFUaEPdmo1xEzEQheM0AFSAUwGkAkwFJBUkqSChgjgVABVgKiCpAKcCnApwKiA0EPO+m5WRF+msO58dx5q58Vm3Wu3T/khaqbfXcRkOh297vd47sX05m80Gxv6lft/a+0S/D7yLbsy76G7VjvrOSq8LTldXVx8MxJH49VvynKrdNWAvLy9vWvKYN1sJmACdCNBntLOqIK79gwBeCOC3tnxbATNAwxW0UyovWvwoM70ubRDoGgHDf9Twk57Bko4wJXwGH6I8BB8yHkHD8IHnhyX84APAYj8sBiamCPE9ZXYyxz8ynRFA2owuoNQO/xyI16l4vUgAJeAciy4MVu1YFAETs1Nx+ZrhhB9ciKaKdKsW8UGb+O1JhteZaBjE1YCJCYAA5gvmBqDpsk7afBffvgFMmelI38/q+NZqrAZU0ai1AeTbSIYL1eHXvtSCywJLmZ/50lGpnXcBDB74n/oeJXwvO8BJYBYofjjB7jDJJpGpK2AGjug50vPG8X2fGuj/gFk4BtR80jVNDZ4KVACCbJJl7DRH0ALcwlSQAgaoQcmodKmRUl42LTDtxIVp5n1csQAsE9Y3FigagEsFFOa4+QrFA/sl5v2ogxsbodI+N0ZnIOKpYKq6gyDAHFhGWwfrmqdWHQGb51BEXObWFQP7HQcMvX8zsKvKsLb2ko8oGa9QWJO+osMKmHdIi4J91XeyTFoXMsnHZnbqomTlawEYa7PzSIAv+oiDbn1JaK2SPQDzQWMhwmwzukT4r4JIzybkn7Hwqita9W8LYMk7c7IcAszPCVsb4nMDmQj9HwHm/YudKnXPpkjeoYS9jAS+AthYFaTLQkkuKj1KItK6o2ZpH6IbSL540X7bGJgxYfPZN7AsPpkYk/kI82HWdoF+qneCUx09/FnNU2rpIcgB8xGxdrUhJnT02mlwovpDr1XrNEVfRa4MPYD91iRLb30wCHEAnKCxhYhSFxH1jVH3y5hKvly7RMRqRa9GywZ8AcdOA/OmsmxkUqZ1Z770n3VlTPfetJ+iT5lilj5jindtggf2zL4n+FltysAAx/T3akvepC54jCI/q6WvCx5jfWwc7lOO/1R1uai4sxP0zi6p/Bww36w9lWk17TcxpRyGbYuPdM9521JF0J3faHKEE+fqSAkwn219asBWQvPkrv7/Sw1g0zoW5Xg0Ppd6dskccjU6ba1A7n76zWZwH0SuZY7HTaPUJuglF66DC4WysOwqSXFv3Y5aoJqluE1rfolFddGuekOa8oGObrkAM4j7Tx4jlR7VbAJI3IctqIuOuJoc/NWmANYNMpFiCF2WHfwFajE61bu/KcC8VnwloSuwkgXzQ5Z4voJ9s6PaCNxI76lrCRs7M9O8dG7Xmvw41c6zSzO+Gq0cODaPRMxpV5px/tTXf24LxCE9kCxdPCwFBqeMWYZOAA7ATpZf4oO5AQhXSJUiaykCZuC4DsS1u9x1IL5dt72SZ1cD0Q6P96W9plcxioEZOPZu7LjjVEJqVAE5sYuWe4+Pj39CjoPotr+/Xw0Odxz1wDNlbjHfW/3hFlAyT5ISoBGwwMCiFAB94jRjPa2rSeQACH9uVFoBiwCeErEy5tlIkJjYzA5Ao7ZMVgLmNDgwk2qrRbSDZsZtNOQHoBNgMVNbIQCSAMAvhfeQjycPGSLo2N4BU+w/JVr8CxbfsDLUiVhPAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAA9CAYAAAAAq1FaAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEQklEQVRo3t2aMUziUBjH/6+LTtKEhe26OYqTMslNLibq6AQkjCa6ESY0cenkMZKYKJuDUZx0O5jEyd5idJJuEENsNzp9N9j2Hr3iFXil5b6E4b3S5v36fe97//e9AiEYEclEdEBET/THPojohoiymBcjorw98K/sJxEp8wAS1D6IKB1XkCw/UsMwqNFoUCaToUwmQ1tbW9RsNr1ATyLHwATCvAFQAEDXdezt7fn+L5fLIZ/PY2FhwekqMMYuRIxBEuUVB8SyrJEgAFCv19FsNvmuA1EvVBIAogCoOG1N0/55z/HxMd9ME1EuUhg7/Z4DeAPgpttutxvofl3X+eYFEb1NCyVNEVZvAPJ8v2VZgWF8/qfYUDdEJM8kARBRHsA53/f6+gpN01CtVsd6VjKZxP7+PtbX15FIJPhLHQDfGWOd0GC8IJZlodFojA3hZ6enp1hbW+O7NBvIEA5jL3DuutDr9bC7uyt0rSqVStje3h4CYoythjFnzsMEAQBVVXF7e+vNdHmhMER0CCDthFaxWAxNSaiqilarNRSBQRNCUM+460i73Ua/3w9VGpXLZZim6TRlAIdCYIhox34gTNNEuVyeida7v78fUkGiPOPG7MvLy8yEa7VahWVZ7hpkv9SpYdz0cnJyMlMl7pFG2alg+F1hr9cLfa54zRMJG9N6Jj2u5hJptVrNdyxzCeNEhF+kTAKjRA0zGAyEqeZvkzxUpHU6ncBJILBn6vV67CtDUtwHKDLMIjfPXJ0szHhxx63Ecxtmkafl/27OCIeJKi37qIBvk8JkYxhmytRzxjCMSAmCShrpi0zmqtSzs7NIYTwqYGdcz7i7yyik/z+2ArlRNQFphFeG9vxRW61WC1QT8PPMkTPRTNOEqqqxmPmek4OK30GV5FO8OBhRVIjUVFX1FtvPveHGOBAFnxVLGfisHxcKhVgtislkEldXV/xB1QVjrODnmRtwJaW4gQBAv9/3Rkuer9pItlcO+XXl8vIytpJFVVU8Pj76hhuzYT4cr7RarZkV+qaxu7s7/hjkmDF2JNmF6ZlXLAVnt5wTZjtxWlPGCTdu7VGIKCs5XpmnfcsImZOWeA3mkduxN48Alv+7zdkvdxblcnM1+MXFxSFHSfg82QUApFKpuYJZXl7mm5oEoOG0NjY25gakUqlAlt3cZQLQJPsjHB0AZFnG9fU1kslkrEFKpRI2Nzf5rh+MMYNxavmGv9put6HrupAzflEis1gsYmVlBYoyVAr4BSDrwthAeXi+vODXn8FggG63O9OCYCKRgCzLSKVS3sn+F4jf3j9LRE2KvxlEdDRyP+OBSuPzYDYLYCVG0+UWQNPex/zljUCfm9hwMkYUrp+fn7Pv7+8Tp8LV1dXq0tKSXz2r4/yCfBQk5LPGTCZD09z/8PAgZBxC5IyowcQCJi4vQorjoCY14QMIOn/CgA/tbX4FFZYXfwN+BjYKxGRnNAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAmCAYAAAAiEnDvAAAABHNCSVQICAgIfAhkiAAAAeFJREFUSEu9lU1OwlAUhW3SCSNxBcIKLAOSdiSsQFyBuAJ1BeIOYAXgCsQVCCNIGFhXIO6gjMqApJ7z0tuU0r/XRpuQmvdev3fuuT8aZxmP4ziP2LrDzwqCYGEYxmS1Ws3Tjhtpi7Ztz/ARAcnnCaBxcvEE0u12LdM0P7MUQlV7vV5v4/snEKgYQcVzFgTrt8mw/gaSFw5C2e33+5brul5uONysbazcwBTj5iH8ucJ7ifdYK8U5pqZupdZJbQjCYA1c5tTJK+pkmGlsUaHJh77vX8QzdBROTlaOhMHoe6iZyWIEsSyr2Wg0vrHRLOGJi0x1TiBQwXROSwDUkcPh0NlsNi7/jpQAwna/LgtBSJHBCgJACwCGovN4MLhNgxUEaeWMeAgJPwUp3uHCc54Vg0WJxw0sfmFvXjAKJjgzCC9SBhtQwYW3kNzHu5cHwUUvOLOVJNBgQjg3b/B7B3VQNJQIQY2McM5lc+K7CSGqWymRY08DQsUc5jPtySZK4mn8HwiNi09/bSVMOXyy4Fsg8qtAloD06kJUf8T7qooSqYmoOatA1PCJ104VSB+QRS2IDJ5Ef6kQSxcbekm6nCX+ETZpZUg0tLQ84b9O1ojIllqpC9lyEOlCjmKXgqsFkeGVBvkFMGKeOxmmNakAAAAASUVORK5CYII=\""],"sourceRoot":""}