cs-models 0.0.606__py3-none-any.whl → 0.0.827__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cs_models/database/operations.py +17 -5
- cs_models/resources/ArtifactVectorIndex/__init__.py +0 -0
- cs_models/resources/ArtifactVectorIndex/models.py +32 -0
- cs_models/resources/ArtifactVectorIndex/schemas.py +16 -0
- cs_models/resources/ArtifactVectorIndexQueue/__init__.py +0 -0
- cs_models/resources/ArtifactVectorIndexQueue/models.py +34 -0
- cs_models/resources/ArtifactVectorIndexQueue/schemas.py +17 -0
- cs_models/resources/AssistantCommand/models.py +14 -1
- cs_models/resources/AssistantCommand/schemas.py +2 -0
- cs_models/resources/AssistantCommandArtifact/__init__.py +0 -0
- cs_models/resources/AssistantCommandArtifact/models.py +33 -0
- cs_models/resources/AssistantCommandArtifact/schemas.py +15 -0
- cs_models/resources/AssistantCommandChart/__init__.py +0 -0
- cs_models/resources/AssistantCommandChart/models.py +37 -0
- cs_models/resources/AssistantCommandChart/schemas.py +16 -0
- cs_models/resources/AssistantSession/models.py +9 -1
- cs_models/resources/AssistantSession/schemas.py +4 -0
- cs_models/resources/AssistantUserQuery/models.py +5 -1
- cs_models/resources/AssistantUserQuery/schemas.py +40 -1
- cs_models/resources/B3CRSS/__init__.py +0 -0
- cs_models/resources/B3CRSS/models.py +25 -0
- cs_models/resources/B3CRSS/schemas.py +14 -0
- cs_models/resources/CampaignTracker/__init__.py +0 -0
- cs_models/resources/CampaignTracker/models.py +29 -0
- cs_models/resources/CampaignTracker/schemas.py +17 -0
- cs_models/resources/CompanyDrugCount/__init__.py +0 -0
- cs_models/resources/CompanyDrugCount/models.py +28 -0
- cs_models/resources/CompanyDrugCount/schemas.py +11 -0
- cs_models/resources/CompanyFiling/models.py +1 -0
- cs_models/resources/CompanyFiling/schemas.py +1 -0
- cs_models/resources/CompanyMarketCap/__init__.py +0 -0
- cs_models/resources/CompanyMarketCap/models.py +29 -0
- cs_models/resources/CompanyMarketCap/schemas.py +11 -0
- cs_models/resources/CompanyOUS/models.py +2 -0
- cs_models/resources/CompanyOUS/schemas.py +2 -0
- cs_models/resources/CompanyOutbox/models.py +1 -0
- cs_models/resources/CompanyOutbox/schemas.py +1 -0
- cs_models/resources/CompanyReview/models.py +4 -1
- cs_models/resources/CompanyReview/schemas.py +3 -0
- cs_models/resources/CompanySEC/models.py +2 -0
- cs_models/resources/CompanySEC/schemas.py +2 -0
- cs_models/resources/Config/models.py +2 -0
- cs_models/resources/Config/schemas.py +3 -0
- cs_models/resources/CoverPage13F/__init__.py +0 -0
- cs_models/resources/CoverPage13F/models.py +29 -0
- cs_models/resources/CoverPage13F/schemas.py +27 -0
- cs_models/resources/Cusip13FSubsidiary/__init__.py +0 -0
- cs_models/resources/Cusip13FSubsidiary/models.py +28 -0
- cs_models/resources/Cusip13FSubsidiary/schemas.py +14 -0
- cs_models/resources/Deal/models.py +4 -0
- cs_models/resources/Deal/schemas.py +3 -0
- cs_models/resources/DealAdvisor/__init__.py +0 -0
- cs_models/resources/DealAdvisor/models.py +35 -0
- cs_models/resources/DealAdvisor/schemas.py +15 -0
- cs_models/resources/DealInvestor/models.py +1 -0
- cs_models/resources/DealInvestor/schemas.py +1 -0
- cs_models/resources/DealType/__init__.py +0 -0
- cs_models/resources/DealType/models.py +33 -0
- cs_models/resources/DealType/schemas.py +14 -0
- cs_models/resources/DealUnderwriter/__init__.py +0 -0
- cs_models/resources/DealUnderwriter/models.py +35 -0
- cs_models/resources/DealUnderwriter/schemas.py +15 -0
- cs_models/resources/Designation/models.py +7 -0
- cs_models/resources/Designation/schemas.py +2 -0
- cs_models/resources/DesignationOutbox/models.py +2 -0
- cs_models/resources/DesignationOutbox/schemas.py +1 -0
- cs_models/resources/Digest/models.py +1 -0
- cs_models/resources/Digest/schemas.py +1 -0
- cs_models/resources/DocChunk/__init__.py +0 -0
- cs_models/resources/DocChunk/models.py +33 -0
- cs_models/resources/DocChunk/schemas.py +20 -0
- cs_models/resources/DocMarkdownTable/__init__.py +0 -0
- cs_models/resources/DocMarkdownTable/models.py +29 -0
- cs_models/resources/DocMarkdownTable/schemas.py +16 -0
- cs_models/resources/EventLLM/__init__.py +0 -0
- cs_models/resources/EventLLM/models.py +41 -0
- cs_models/resources/EventLLM/schemas.py +39 -0
- cs_models/resources/EventsQueue/__init__.py +0 -0
- cs_models/resources/EventsQueue/models.py +33 -0
- cs_models/resources/EventsQueue/schemas.py +18 -0
- cs_models/resources/ExplorerColumn/__init__.py +0 -0
- cs_models/resources/ExplorerColumn/models.py +33 -0
- cs_models/resources/ExplorerColumn/schemas.py +16 -0
- cs_models/resources/ExternalDrive/__init__.py +0 -0
- cs_models/resources/ExternalDrive/models.py +29 -0
- cs_models/resources/ExternalDrive/schemas.py +14 -0
- cs_models/resources/FDADrugReview/__init__.py +0 -0
- cs_models/resources/FDADrugReview/models.py +29 -0
- cs_models/resources/FDADrugReview/schemas.py +19 -0
- cs_models/resources/FDADrugReviewFile/__init__.py +0 -0
- cs_models/resources/FDADrugReviewFile/models.py +43 -0
- cs_models/resources/FDADrugReviewFile/schemas.py +22 -0
- cs_models/resources/FDADrugReviewFileCondition/__init__.py +0 -0
- cs_models/resources/FDADrugReviewFileCondition/models.py +42 -0
- cs_models/resources/FDADrugReviewFileCondition/schemas.py +18 -0
- cs_models/resources/FDADrugReviewFileIntervention/__init__.py +0 -0
- cs_models/resources/FDADrugReviewFileIntervention/models.py +42 -0
- cs_models/resources/FDADrugReviewFileIntervention/schemas.py +18 -0
- cs_models/resources/FDADrugReviewFileTarget/__init__.py +0 -0
- cs_models/resources/FDADrugReviewFileTarget/models.py +42 -0
- cs_models/resources/FDADrugReviewFileTarget/schemas.py +18 -0
- cs_models/resources/FDALabel/models.py +3 -0
- cs_models/resources/FDALabel/schemas.py +2 -0
- cs_models/resources/FDAMeetingFiling/models.py +1 -0
- cs_models/resources/FDAMeetingFiling/schemas.py +1 -0
- cs_models/resources/FinancingDealType/__init__.py +0 -0
- cs_models/resources/FinancingDealType/models.py +28 -0
- cs_models/resources/FinancingDealType/schemas.py +13 -0
- cs_models/resources/InfoTable13F/__init__.py +0 -0
- cs_models/resources/InfoTable13F/models.py +26 -0
- cs_models/resources/InfoTable13F/schemas.py +20 -0
- cs_models/resources/InterventionInterventionSalesData/__init__.py +0 -0
- cs_models/resources/InterventionInterventionSalesData/models.py +40 -0
- cs_models/resources/InterventionInterventionSalesData/schemas.py +16 -0
- cs_models/resources/InterventionSalesData/__init__.py +0 -0
- cs_models/resources/InterventionSalesData/models.py +51 -0
- cs_models/resources/InterventionSalesData/schemas.py +43 -0
- cs_models/resources/LicensingCollab/models.py +2 -1
- cs_models/resources/LicensingCollab/schemas.py +1 -0
- cs_models/resources/Meeting/models.py +8 -0
- cs_models/resources/Meeting/schemas.py +84 -0
- cs_models/resources/MeetingDataOutbox/__init__.py +0 -0
- cs_models/resources/MeetingDataOutbox/models.py +53 -0
- cs_models/resources/MeetingDataOutbox/schemas.py +27 -0
- cs_models/resources/MeetingDataOutboxRow/__init__.py +0 -0
- cs_models/resources/MeetingDataOutboxRow/models.py +30 -0
- cs_models/resources/MeetingDataOutboxRow/schemas.py +14 -0
- cs_models/resources/MindgramOAuth/__init__.py +0 -0
- cs_models/resources/MindgramOAuth/models.py +35 -0
- cs_models/resources/MindgramOAuth/schemas.py +33 -0
- cs_models/resources/NCTFDADrugReviewFile/__init__.py +0 -0
- cs_models/resources/NCTFDADrugReviewFile/models.py +37 -0
- cs_models/resources/NCTFDADrugReviewFile/schemas.py +16 -0
- cs_models/resources/NCTFacilities/models.py +1 -0
- cs_models/resources/NCTFacilities/schemas.py +1 -0
- cs_models/resources/NCTParticipationCriteria/__init__.py +0 -0
- cs_models/resources/NCTParticipationCriteria/models.py +28 -0
- cs_models/resources/NCTParticipationCriteria/schemas.py +14 -0
- cs_models/resources/NCTStudy/models.py +2 -0
- cs_models/resources/NCTStudy/schemas.py +2 -0
- cs_models/resources/NCTUserDocument/__init__.py +0 -0
- cs_models/resources/NCTUserDocument/models.py +37 -0
- cs_models/resources/NCTUserDocument/schemas.py +16 -0
- cs_models/resources/NotificationReadStatus/__init__.py +0 -0
- cs_models/resources/NotificationReadStatus/models.py +30 -0
- cs_models/resources/NotificationReadStatus/schemas.py +15 -0
- cs_models/resources/OCRJobs/__init__.py +0 -0
- cs_models/resources/OCRJobs/models.py +41 -0
- cs_models/resources/OCRJobs/schemas.py +22 -0
- cs_models/resources/OtherManager13F/__init__.py +0 -0
- cs_models/resources/OtherManager13F/models.py +18 -0
- cs_models/resources/OtherManager13F/schemas.py +12 -0
- cs_models/resources/OtherManager213F/__init__.py +0 -0
- cs_models/resources/OtherManager213F/models.py +15 -0
- cs_models/resources/OtherManager213F/schemas.py +13 -0
- cs_models/resources/Patent/models.py +3 -0
- cs_models/resources/Patent/schemas.py +2 -0
- cs_models/resources/PatentApplication/models.py +3 -0
- cs_models/resources/PatentApplication/schemas.py +2 -0
- cs_models/resources/PromptIndices/__init__.py +0 -0
- cs_models/resources/PromptIndices/models.py +27 -0
- cs_models/resources/PromptIndices/schemas.py +17 -0
- cs_models/resources/PubmedUserDocument/__init__.py +0 -0
- cs_models/resources/PubmedUserDocument/models.py +35 -0
- cs_models/resources/PubmedUserDocument/schemas.py +15 -0
- cs_models/resources/PubmedVectorIndex/__init__.py +0 -0
- cs_models/resources/PubmedVectorIndex/models.py +33 -0
- cs_models/resources/PubmedVectorIndex/schemas.py +16 -0
- cs_models/resources/PurpleBookPatent/__init__.py +0 -0
- cs_models/resources/PurpleBookPatent/models.py +30 -0
- cs_models/resources/PurpleBookPatent/schemas.py +18 -0
- cs_models/resources/SalesEstimate/__init__.py +0 -0
- cs_models/resources/SalesEstimate/models.py +39 -0
- cs_models/resources/SalesEstimate/schemas.py +26 -0
- cs_models/resources/SalesEstimateCompany/__init__.py +0 -0
- cs_models/resources/SalesEstimateCompany/models.py +38 -0
- cs_models/resources/SalesEstimateCompany/schemas.py +35 -0
- cs_models/resources/SalesEstimateCondition/__init__.py +0 -0
- cs_models/resources/SalesEstimateCondition/models.py +41 -0
- cs_models/resources/SalesEstimateCondition/schemas.py +17 -0
- cs_models/resources/SalesEstimateIntervention/__init__.py +0 -0
- cs_models/resources/SalesEstimateIntervention/models.py +41 -0
- cs_models/resources/SalesEstimateIntervention/schemas.py +17 -0
- cs_models/resources/SalesEstimateTarget/__init__.py +0 -0
- cs_models/resources/SalesEstimateTarget/models.py +41 -0
- cs_models/resources/SalesEstimateTarget/schemas.py +17 -0
- cs_models/resources/SalesTable/__init__.py +0 -0
- cs_models/resources/SalesTable/models.py +34 -0
- cs_models/resources/SalesTable/schemas.py +20 -0
- cs_models/resources/SearchLink/__init__.py +0 -0
- cs_models/resources/SearchLink/models.py +29 -0
- cs_models/resources/SearchLink/schemas.py +16 -0
- cs_models/resources/Signature13F/__init__.py +0 -0
- cs_models/resources/Signature13F/models.py +15 -0
- cs_models/resources/Signature13F/schemas.py +13 -0
- cs_models/resources/SmartDefGrid/__init__.py +0 -0
- cs_models/resources/SmartDefGrid/models.py +30 -0
- cs_models/resources/SmartDefGrid/schemas.py +52 -0
- cs_models/resources/SmartDefGridCell/__init__.py +0 -0
- cs_models/resources/SmartDefGridCell/models.py +51 -0
- cs_models/resources/SmartDefGridCell/schemas.py +39 -0
- cs_models/resources/SmartDefGridCellAnswer/__init__.py +0 -0
- cs_models/resources/SmartDefGridCellAnswer/models.py +45 -0
- cs_models/resources/SmartDefGridCellAnswer/schemas.py +23 -0
- cs_models/resources/SmartDefGridCellAnswerCitation/__init__.py +0 -0
- cs_models/resources/SmartDefGridCellAnswerCitation/models.py +21 -0
- cs_models/resources/SmartDefGridCellAnswerCitation/schemas.py +14 -0
- cs_models/resources/SmartDefGridCellQuestion/__init__.py +0 -0
- cs_models/resources/SmartDefGridCellQuestion/models.py +76 -0
- cs_models/resources/SmartDefGridCellQuestion/schemas.py +41 -0
- cs_models/resources/SmartDefGridCellValue/__init__.py +0 -0
- cs_models/resources/SmartDefGridCellValue/models.py +54 -0
- cs_models/resources/SmartDefGridCellValue/schemas.py +19 -0
- cs_models/resources/SmartDefGridRun/__init__.py +0 -0
- cs_models/resources/SmartDefGridRun/models.py +60 -0
- cs_models/resources/SmartDefGridRun/schemas.py +31 -0
- cs_models/resources/SmartGrid/__init__.py +0 -0
- cs_models/resources/SmartGrid/models.py +34 -0
- cs_models/resources/SmartGrid/schemas.py +18 -0
- cs_models/resources/SmartGridCell/__init__.py +0 -0
- cs_models/resources/SmartGridCell/models.py +44 -0
- cs_models/resources/SmartGridCell/schemas.py +22 -0
- cs_models/resources/Submission13F/__init__.py +0 -0
- cs_models/resources/Submission13F/models.py +12 -0
- cs_models/resources/Submission13F/schemas.py +10 -0
- cs_models/resources/SummaryPage13F/__init__.py +0 -0
- cs_models/resources/SummaryPage13F/models.py +12 -0
- cs_models/resources/SummaryPage13F/schemas.py +9 -0
- cs_models/resources/TableFigure/__init__.py +0 -0
- cs_models/resources/TableFigure/models.py +40 -0
- cs_models/resources/TableFigure/schemas.py +61 -0
- cs_models/resources/TableOutbox/models.py +4 -0
- cs_models/resources/TableOutbox/schemas.py +2 -0
- cs_models/resources/TargetSyn/models.py +4 -0
- cs_models/resources/TargetSyn/schemas.py +3 -0
- cs_models/resources/Transcript/__init__.py +0 -0
- cs_models/resources/Transcript/models.py +31 -0
- cs_models/resources/Transcript/schemas.py +20 -0
- cs_models/resources/TranscriptCondition/__init__.py +0 -0
- cs_models/resources/TranscriptCondition/models.py +41 -0
- cs_models/resources/TranscriptCondition/schemas.py +17 -0
- cs_models/resources/TranscriptEquity/__init__.py +0 -0
- cs_models/resources/TranscriptEquity/models.py +28 -0
- cs_models/resources/TranscriptEquity/schemas.py +15 -0
- cs_models/resources/TranscriptEquityCompany/__init__.py +0 -0
- cs_models/resources/TranscriptEquityCompany/models.py +34 -0
- cs_models/resources/TranscriptEquityCompany/schemas.py +16 -0
- cs_models/resources/TranscriptGrouping/__init__.py +0 -0
- cs_models/resources/TranscriptGrouping/models.py +23 -0
- cs_models/resources/TranscriptGrouping/schemas.py +14 -0
- cs_models/resources/TranscriptGroupingMap/__init__.py +0 -0
- cs_models/resources/TranscriptGroupingMap/models.py +31 -0
- cs_models/resources/TranscriptGroupingMap/schemas.py +14 -0
- cs_models/resources/TranscriptIntervention/__init__.py +0 -0
- cs_models/resources/TranscriptIntervention/models.py +41 -0
- cs_models/resources/TranscriptIntervention/schemas.py +17 -0
- cs_models/resources/TranscriptItem/__init__.py +0 -0
- cs_models/resources/TranscriptItem/models.py +35 -0
- cs_models/resources/TranscriptItem/schemas.py +20 -0
- cs_models/resources/TranscriptTarget/__init__.py +0 -0
- cs_models/resources/TranscriptTarget/models.py +41 -0
- cs_models/resources/TranscriptTarget/schemas.py +17 -0
- cs_models/resources/UserAutomatedDigest/__init__.py +0 -0
- cs_models/resources/UserAutomatedDigest/models.py +35 -0
- cs_models/resources/UserAutomatedDigest/schemas.py +19 -0
- cs_models/resources/UserDocument/__init__.py +0 -0
- cs_models/resources/UserDocument/models.py +42 -0
- cs_models/resources/UserDocument/schemas.py +24 -0
- cs_models/resources/UserDocumentAccess/__init__.py +0 -0
- cs_models/resources/UserDocumentAccess/models.py +29 -0
- cs_models/resources/UserDocumentAccess/schemas.py +18 -0
- cs_models/resources/UserDocumentChunk/__init__.py +0 -0
- cs_models/resources/UserDocumentChunk/models.py +35 -0
- cs_models/resources/UserDocumentChunk/schemas.py +18 -0
- cs_models/resources/UserDocumentCompany/__init__.py +0 -0
- cs_models/resources/UserDocumentCompany/models.py +40 -0
- cs_models/resources/UserDocumentCompany/schemas.py +36 -0
- cs_models/resources/UserDocumentCondition/__init__.py +0 -0
- cs_models/resources/UserDocumentCondition/models.py +42 -0
- cs_models/resources/UserDocumentCondition/schemas.py +18 -0
- cs_models/resources/UserDocumentHierarchy/__init__.py +0 -0
- cs_models/resources/UserDocumentHierarchy/models.py +51 -0
- cs_models/resources/UserDocumentHierarchy/schemas.py +24 -0
- cs_models/resources/UserDocumentIntervention/__init__.py +0 -0
- cs_models/resources/UserDocumentIntervention/models.py +42 -0
- cs_models/resources/UserDocumentIntervention/schemas.py +18 -0
- cs_models/resources/UserDocumentMeeting/__init__.py +0 -0
- cs_models/resources/UserDocumentMeeting/models.py +33 -0
- cs_models/resources/UserDocumentMeeting/schemas.py +14 -0
- cs_models/resources/UserDocumentTag/__init__.py +0 -0
- cs_models/resources/UserDocumentTag/models.py +31 -0
- cs_models/resources/UserDocumentTag/schemas.py +15 -0
- cs_models/resources/UserDocumentTarget/__init__.py +0 -0
- cs_models/resources/UserDocumentTarget/models.py +42 -0
- cs_models/resources/UserDocumentTarget/schemas.py +18 -0
- cs_models/resources/UserExplorerColumn/__init__.py +0 -0
- cs_models/resources/UserExplorerColumn/models.py +30 -0
- cs_models/resources/UserExplorerColumn/schemas.py +14 -0
- cs_models/resources/UserInternalDocWorkflow/__init__.py +0 -0
- cs_models/resources/UserInternalDocWorkflow/models.py +28 -0
- cs_models/resources/UserInternalDocWorkflow/schemas.py +11 -0
- cs_models/resources/UserMeeting/__init__.py +0 -0
- cs_models/resources/UserMeeting/models.py +31 -0
- cs_models/resources/UserMeeting/schemas.py +12 -0
- cs_models/resources/UserMeetingFavorite/__init__.py +0 -0
- cs_models/resources/UserMeetingFavorite/models.py +36 -0
- cs_models/resources/UserMeetingFavorite/schemas.py +13 -0
- cs_models/resources/UserOrganization/__init__.py +0 -0
- cs_models/resources/UserOrganization/models.py +26 -0
- cs_models/resources/UserOrganization/schemas.py +12 -0
- cs_models/resources/UserSavedSearch/models.py +1 -0
- cs_models/resources/UserSavedSearch/schemas.py +1 -0
- cs_models/resources/UserSavedSearchAccess/__init__.py +0 -0
- cs_models/resources/UserSavedSearchAccess/models.py +34 -0
- cs_models/resources/UserSavedSearchAccess/schemas.py +18 -0
- cs_models/resources/UserSavedSearchCollectionMap/__init__.py +0 -0
- cs_models/resources/UserSavedSearchCollectionMap/models.py +33 -0
- cs_models/resources/UserSavedSearchCollectionMap/schemas.py +14 -0
- cs_models/resources/UserSavedSearchDigest/__init__.py +0 -0
- cs_models/resources/UserSavedSearchDigest/models.py +36 -0
- cs_models/resources/UserSavedSearchDigest/schemas.py +16 -0
- cs_models/resources/UserVAParameterView/__init__.py +0 -0
- cs_models/resources/UserVAParameterView/models.py +27 -0
- cs_models/resources/UserVAParameterView/schemas.py +13 -0
- cs_models/resources/UserWatchlistAccess/__init__.py +0 -0
- cs_models/resources/UserWatchlistAccess/models.py +31 -0
- cs_models/resources/UserWatchlistAccess/schemas.py +15 -0
- cs_models/resources/UserWorkbook/__init__.py +0 -0
- cs_models/resources/UserWorkbook/models.py +31 -0
- cs_models/resources/UserWorkbook/schemas.py +15 -0
- cs_models/resources/UserWorkbookWorkflows/__init__.py +0 -0
- cs_models/resources/UserWorkbookWorkflows/models.py +27 -0
- cs_models/resources/UserWorkbookWorkflows/schemas.py +15 -0
- cs_models/resources/UserWorkbookWorkflowsShared/__init__.py +0 -0
- cs_models/resources/UserWorkbookWorkflowsShared/models.py +31 -0
- cs_models/resources/UserWorkbookWorkflowsShared/schemas.py +15 -0
- cs_models/resources/VACompanyMap/__init__.py +0 -0
- cs_models/resources/VACompanyMap/models.py +37 -0
- cs_models/resources/VACompanyMap/schemas.py +38 -0
- cs_models/resources/VAParameter/__init__.py +0 -0
- cs_models/resources/VAParameter/models.py +36 -0
- cs_models/resources/VAParameter/schemas.py +25 -0
- cs_models/resources/VAParameterCondition/__init__.py +0 -0
- cs_models/resources/VAParameterCondition/models.py +41 -0
- cs_models/resources/VAParameterCondition/schemas.py +17 -0
- cs_models/resources/VAParameterGeography/__init__.py +0 -0
- cs_models/resources/VAParameterGeography/models.py +0 -0
- cs_models/resources/VAParameterGeography/schemas.py +0 -0
- cs_models/resources/VAParameterIntervention/__init__.py +0 -0
- cs_models/resources/VAParameterIntervention/models.py +41 -0
- cs_models/resources/VAParameterIntervention/schemas.py +17 -0
- cs_models/resources/VAParameterValue/__init__.py +0 -0
- cs_models/resources/VAParameterValue/models.py +42 -0
- cs_models/resources/VAParameterValue/schemas.py +27 -0
- cs_models/resources/VAParameterView/__init__.py +0 -0
- cs_models/resources/VAParameterView/models.py +35 -0
- cs_models/resources/VAParameterView/schemas.py +15 -0
- cs_models/resources/ViewPublicAssistantUserQuery/__init__.py +0 -0
- cs_models/resources/ViewPublicAssistantUserQuery/models.py +30 -0
- cs_models/resources/ViewPublicAssistantUserQuery/schemas.py +14 -0
- cs_models/resources/ViewPublicWorkbook/__init__.py +0 -0
- cs_models/resources/ViewPublicWorkbook/models.py +30 -0
- cs_models/resources/ViewPublicWorkbook/schemas.py +14 -0
- cs_models/resources/ViewPublicationCondition/__init__.py +0 -0
- cs_models/resources/ViewPublicationCondition/models.py +32 -0
- cs_models/resources/ViewPublicationCondition/schemas.py +16 -0
- cs_models/resources/WatchlistDigest/__init__.py +0 -0
- cs_models/resources/WatchlistDigest/models.py +36 -0
- cs_models/resources/WatchlistDigest/schemas.py +16 -0
- cs_models/resources/Workbook/__init__.py +0 -0
- cs_models/resources/Workbook/models.py +37 -0
- cs_models/resources/Workbook/schemas.py +26 -0
- cs_models/resources/WorkbookBlock/__init__.py +0 -0
- cs_models/resources/WorkbookBlock/models.py +50 -0
- cs_models/resources/WorkbookBlock/schemas.py +63 -0
- cs_models/resources/WorkbookBlockComment/__init__.py +0 -0
- cs_models/resources/WorkbookBlockComment/models.py +36 -0
- cs_models/resources/WorkbookBlockComment/schemas.py +15 -0
- cs_models/resources/WorkbookMeta/__init__.py +0 -0
- cs_models/resources/WorkbookMeta/models.py +14 -0
- cs_models/resources/WorkbookMeta/schemas.py +9 -0
- cs_models/resources/WorkbookWorkflow/__init__.py +0 -0
- cs_models/resources/WorkbookWorkflow/models.py +39 -0
- cs_models/resources/WorkbookWorkflow/schemas.py +24 -0
- cs_models/resources/WorkbookWorkflowBlock/__init__.py +0 -0
- cs_models/resources/WorkbookWorkflowBlock/models.py +37 -0
- cs_models/resources/WorkbookWorkflowBlock/schemas.py +60 -0
- cs_models/utils/utils.py +27 -1
- cs_models-0.0.827.dist-info/METADATA +29 -0
- {cs_models-0.0.606.dist-info → cs_models-0.0.827.dist-info}/RECORD +392 -56
- {cs_models-0.0.606.dist-info → cs_models-0.0.827.dist-info}/WHEEL +1 -1
- cs_models-0.0.606.dist-info/METADATA +0 -29
- {cs_models-0.0.606.dist-info → cs_models-0.0.827.dist-info}/top_level.txt +0 -0
cs_models/database/operations.py
CHANGED
|
@@ -6,7 +6,7 @@ from contextlib import contextmanager
|
|
|
6
6
|
|
|
7
7
|
from marshmallow import EXCLUDE
|
|
8
8
|
from sqlalchemy import event
|
|
9
|
-
from sqlalchemy.orm import
|
|
9
|
+
from sqlalchemy.orm import sessionmaker, scoped_session
|
|
10
10
|
|
|
11
11
|
from ..aact_database import engine as engine_aact
|
|
12
12
|
from ..database import engine, get_engine_for_port
|
|
@@ -18,6 +18,16 @@ from ..database import engine, get_engine_for_port
|
|
|
18
18
|
# logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
|
|
19
19
|
|
|
20
20
|
|
|
21
|
+
# Define a function to create a scoped session with specific configurations
|
|
22
|
+
def create_scoped_session(engine):
|
|
23
|
+
return scoped_session(
|
|
24
|
+
sessionmaker(
|
|
25
|
+
autocommit=False,
|
|
26
|
+
autoflush=False,
|
|
27
|
+
bind=engine
|
|
28
|
+
)
|
|
29
|
+
)
|
|
30
|
+
|
|
21
31
|
@contextmanager
|
|
22
32
|
def assert_sql(expected):
|
|
23
33
|
stmts = []
|
|
@@ -54,7 +64,8 @@ def session_scope(db: typing.Optional[str] = None):
|
|
|
54
64
|
bind_engine = get_engine_for_port(tunnel.local_bind_port)
|
|
55
65
|
if db == "aact":
|
|
56
66
|
bind_engine = engine_aact
|
|
57
|
-
|
|
67
|
+
Session = create_scoped_session(bind_engine)
|
|
68
|
+
session = Session()
|
|
58
69
|
|
|
59
70
|
try:
|
|
60
71
|
yield session
|
|
@@ -63,12 +74,13 @@ def session_scope(db: typing.Optional[str] = None):
|
|
|
63
74
|
session.rollback()
|
|
64
75
|
raise
|
|
65
76
|
finally:
|
|
66
|
-
|
|
77
|
+
Session.remove()
|
|
67
78
|
else:
|
|
68
79
|
bind_engine = engine
|
|
69
80
|
if db == "aact":
|
|
70
81
|
bind_engine = engine_aact
|
|
71
|
-
|
|
82
|
+
Session = create_scoped_session(bind_engine)
|
|
83
|
+
session = Session()
|
|
72
84
|
|
|
73
85
|
try:
|
|
74
86
|
yield session
|
|
@@ -77,7 +89,7 @@ def session_scope(db: typing.Optional[str] = None):
|
|
|
77
89
|
session.rollback()
|
|
78
90
|
raise
|
|
79
91
|
finally:
|
|
80
|
-
|
|
92
|
+
Session.remove()
|
|
81
93
|
|
|
82
94
|
|
|
83
95
|
def create(session, model, schema, obj):
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import (
|
|
4
|
+
Column,
|
|
5
|
+
Integer,
|
|
6
|
+
DateTime,
|
|
7
|
+
Boolean,
|
|
8
|
+
String,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
from ...database import Base
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ArtifactVectorIndexModel(Base):
|
|
15
|
+
__tablename__ = "artifact_vector_index"
|
|
16
|
+
|
|
17
|
+
id = Column(Integer, primary_key=True)
|
|
18
|
+
artifact_id = Column(
|
|
19
|
+
String(50),
|
|
20
|
+
nullable=False,
|
|
21
|
+
index=True,
|
|
22
|
+
)
|
|
23
|
+
embedding_created = Column(Boolean, nullable=True)
|
|
24
|
+
embedding_s3_key = Column(String(128), nullable=True)
|
|
25
|
+
vector_indexed = Column(Boolean, nullable=True)
|
|
26
|
+
updated_at = Column(
|
|
27
|
+
DateTime,
|
|
28
|
+
nullable=False,
|
|
29
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
30
|
+
default=lambda: datetime.utcnow(),
|
|
31
|
+
onupdate=lambda: datetime.utcnow(),
|
|
32
|
+
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
validate,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ArtifactVectorIndexResourceSchema(Schema):
|
|
9
|
+
not_blank = validate.Length(min=1, error='Field cannot be blank')
|
|
10
|
+
|
|
11
|
+
id = fields.Integer(dump_only=True)
|
|
12
|
+
artifact_id = fields.String(required=True)
|
|
13
|
+
embedding_created = fields.Boolean(allow_none=True)
|
|
14
|
+
embedding_s3_key = fields.String(allow_none=True)
|
|
15
|
+
vector_indexed = fields.Boolean(allow_none=True)
|
|
16
|
+
updated_at = fields.DateTime()
|
|
File without changes
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import (
|
|
4
|
+
Column,
|
|
5
|
+
Integer,
|
|
6
|
+
DateTime,
|
|
7
|
+
Boolean,
|
|
8
|
+
String,
|
|
9
|
+
Text,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
from ...database import Base
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ArtifactVectorIndexQueueModel(Base):
|
|
16
|
+
__tablename__ = "artifact_vector_index_queue"
|
|
17
|
+
|
|
18
|
+
id = Column(Integer, primary_key=True)
|
|
19
|
+
artifact_id = Column(
|
|
20
|
+
String(50),
|
|
21
|
+
nullable=False,
|
|
22
|
+
index=True,
|
|
23
|
+
)
|
|
24
|
+
attempts = Column(Integer, nullable=True)
|
|
25
|
+
submitted = Column(Boolean, nullable=True)
|
|
26
|
+
submitted_date = Column(DateTime, nullable=True)
|
|
27
|
+
error = Column(Text, nullable=True)
|
|
28
|
+
updated_at = Column(
|
|
29
|
+
DateTime,
|
|
30
|
+
nullable=False,
|
|
31
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
32
|
+
default=lambda: datetime.utcnow(),
|
|
33
|
+
onupdate=lambda: datetime.utcnow(),
|
|
34
|
+
)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
validate,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ArtifactVectorIndexQueueResourceSchema(Schema):
|
|
9
|
+
not_blank = validate.Length(min=1, error='Field cannot be blank')
|
|
10
|
+
|
|
11
|
+
id = fields.Integer(dump_only=True)
|
|
12
|
+
artifact_id = fields.String(required=True)
|
|
13
|
+
attempts = fields.Integer(allow_none=True)
|
|
14
|
+
submitted = fields.Boolean(allow_none=True)
|
|
15
|
+
submitted_date = fields.DateTime(allow_none=True)
|
|
16
|
+
error = fields.String(allow_none=True)
|
|
17
|
+
updated_at = fields.DateTime()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import enum
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
|
|
4
|
-
from sqlalchemy import Column, DateTime, Enum, ForeignKey, Integer, Text
|
|
4
|
+
from sqlalchemy import Column, DateTime, Enum, ForeignKey, Integer, Text, Boolean
|
|
5
5
|
from sqlalchemy.orm import relationship
|
|
6
6
|
|
|
7
7
|
from ...database import Base
|
|
@@ -9,10 +9,21 @@ from ...database import Base
|
|
|
9
9
|
|
|
10
10
|
class AssistantCommandTypeEnum(enum.Enum):
|
|
11
11
|
SEARCH = "SEARCH"
|
|
12
|
+
FINAL_ANSWER = "FINAL_ANSWER"
|
|
13
|
+
INTERMEDIATE_ANSWER = "INTERMEDIATE_ANSWER"
|
|
14
|
+
ANSWER = "ANSWER"
|
|
15
|
+
RELEVANCY = "RELEVANCY"
|
|
12
16
|
EXTRACT = "EXTRACT"
|
|
13
17
|
SUMMARIZE = "SUMMARIZE"
|
|
14
18
|
QUESTION_AND_ANSWER = "QUESTION_AND_ANSWER"
|
|
15
19
|
TABLE_GENERATION = "TABLE_GENERATION"
|
|
20
|
+
CHART_GENERATION = "CHART_GENERATION"
|
|
21
|
+
DRUG_LIST = "DRUG_LIST"
|
|
22
|
+
DEAL_LIST = "DEAL_LIST"
|
|
23
|
+
LIST = "LIST"
|
|
24
|
+
SMART_GRID = "SMART_GRID"
|
|
25
|
+
DYNAMIC_TABLE = "DYNAMIC_TABLE"
|
|
26
|
+
FOLLOW_UP_QUESTIONS = "FOLLOW_UP_QUESTIONS"
|
|
16
27
|
|
|
17
28
|
|
|
18
29
|
class AssistantCommandStatusEnum(enum.Enum):
|
|
@@ -37,6 +48,8 @@ class AssistantCommandModel(Base):
|
|
|
37
48
|
label = Column(Text, nullable=False)
|
|
38
49
|
result = Column(Text)
|
|
39
50
|
llm_result = Column(Text)
|
|
51
|
+
error = Column(Text, nullable=True)
|
|
52
|
+
internal_doc = Column(Boolean, nullable=True)
|
|
40
53
|
created_at = Column(DateTime, nullable=False, default=lambda: datetime.utcnow())
|
|
41
54
|
updated_at = Column(
|
|
42
55
|
DateTime,
|
|
@@ -103,6 +103,8 @@ class AssistantCommandResourceSchema(Schema):
|
|
|
103
103
|
lower_neighbour_ids = fields.Method(serialize="serialize_lower_neighbours")
|
|
104
104
|
result = AssistantCommandResultField(required=True, allow_none=True)
|
|
105
105
|
llm_result = AssistantCommandLLMResultField(allow_none=True)
|
|
106
|
+
error = fields.String(allow_none=True)
|
|
107
|
+
internal_doc = fields.Boolean(allow_none=True)
|
|
106
108
|
created_at = fields.DateTime(dump_only=True)
|
|
107
109
|
updated_at = fields.DateTime(dump_only=True)
|
|
108
110
|
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import (
|
|
4
|
+
Column,
|
|
5
|
+
Integer,
|
|
6
|
+
DateTime,
|
|
7
|
+
ForeignKey,
|
|
8
|
+
Float,
|
|
9
|
+
String,
|
|
10
|
+
Text,
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
from ...database import Base
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class AssistantCommandArtifactModel(Base):
|
|
17
|
+
__tablename__ = "assistant_command_artifacts"
|
|
18
|
+
|
|
19
|
+
id = Column(Integer, primary_key=True)
|
|
20
|
+
assistant_command_id = Column(
|
|
21
|
+
Integer,
|
|
22
|
+
ForeignKey('assistant_commands.id'),
|
|
23
|
+
nullable=False,
|
|
24
|
+
)
|
|
25
|
+
artifact_id = Column(String(64), nullable=False)
|
|
26
|
+
score = Column(Float, nullable=True)
|
|
27
|
+
updated_at = Column(
|
|
28
|
+
DateTime,
|
|
29
|
+
nullable=False,
|
|
30
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
31
|
+
default=lambda: datetime.utcnow(),
|
|
32
|
+
onupdate=lambda: datetime.utcnow(),
|
|
33
|
+
)
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
validate,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AssistantCommandArtifactResourceSchema(Schema):
|
|
9
|
+
not_blank = validate.Length(min=1, error='Field cannot be blank')
|
|
10
|
+
|
|
11
|
+
id = fields.Integer(dump_only=True)
|
|
12
|
+
assistant_command_id = fields.Integer(required=True)
|
|
13
|
+
artifact_id = fields.String(required=True)
|
|
14
|
+
score = fields.Float(allow_none=True)
|
|
15
|
+
updated_at = fields.DateTime()
|
|
File without changes
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import (
|
|
4
|
+
Column,
|
|
5
|
+
Integer,
|
|
6
|
+
DateTime,
|
|
7
|
+
ForeignKey,
|
|
8
|
+
Boolean,
|
|
9
|
+
Text,
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
from ...database import Base
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class AssistantCommandChartModel(Base):
|
|
16
|
+
__tablename__ = "assistant_command_charts"
|
|
17
|
+
|
|
18
|
+
id = Column(Integer, primary_key=True)
|
|
19
|
+
assistant_command_id = Column(
|
|
20
|
+
Integer,
|
|
21
|
+
ForeignKey('assistant_commands.id'),
|
|
22
|
+
nullable=False,
|
|
23
|
+
)
|
|
24
|
+
file_id = Column(
|
|
25
|
+
Integer,
|
|
26
|
+
ForeignKey('files.id'),
|
|
27
|
+
nullable=False,
|
|
28
|
+
)
|
|
29
|
+
chart_info = Column(Text, nullable=True)
|
|
30
|
+
is_deleted = Column(Boolean, nullable=True)
|
|
31
|
+
updated_at = Column(
|
|
32
|
+
DateTime,
|
|
33
|
+
nullable=False,
|
|
34
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
35
|
+
default=lambda: datetime.utcnow(),
|
|
36
|
+
onupdate=lambda: datetime.utcnow(),
|
|
37
|
+
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
validate,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class AssistantCommandChartResourceSchema(Schema):
|
|
9
|
+
not_blank = validate.Length(min=1, error='Field cannot be blank')
|
|
10
|
+
|
|
11
|
+
id = fields.Integer(dump_only=True)
|
|
12
|
+
assistant_command_id = fields.Integer(required=True)
|
|
13
|
+
file_id = fields.Integer(required=True)
|
|
14
|
+
chart_info = fields.String(allow_none=True)
|
|
15
|
+
is_deleted = fields.Boolean(allow_none=True)
|
|
16
|
+
updated_at = fields.DateTime()
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""Models for storing Mindgram assistant sessions."""
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
|
|
4
|
-
from sqlalchemy import Column, DateTime, Integer, String
|
|
4
|
+
from sqlalchemy import Column, DateTime, Integer, String, Boolean, ForeignKey
|
|
5
5
|
from sqlalchemy.orm import relationship
|
|
6
6
|
|
|
7
7
|
from ..AssistantUserQuery.models import AssistantUserQueryModel
|
|
@@ -17,11 +17,19 @@ class AssistantSessionModel(Base):
|
|
|
17
17
|
user_id = Column(String(128), nullable=False)
|
|
18
18
|
type = Column(String(50), nullable=False)
|
|
19
19
|
label = Column(String(128), nullable=False)
|
|
20
|
+
display_label = Column(String(128), nullable=True)
|
|
20
21
|
created_at = Column(
|
|
21
22
|
DateTime,
|
|
22
23
|
nullable=False,
|
|
23
24
|
default=lambda: datetime.utcnow(),
|
|
24
25
|
)
|
|
26
|
+
is_deleted = Column(Boolean, nullable=True)
|
|
27
|
+
internal_doc_only = Column(Boolean, nullable=True)
|
|
28
|
+
workbook_id = Column(
|
|
29
|
+
Integer,
|
|
30
|
+
ForeignKey("workbooks.id"),
|
|
31
|
+
nullable=True,
|
|
32
|
+
)
|
|
25
33
|
updated_at = Column(
|
|
26
34
|
DateTime,
|
|
27
35
|
nullable=False,
|
|
@@ -9,12 +9,16 @@ class AssistantSessionResourceSchema(Schema):
|
|
|
9
9
|
user_id = fields.String(required=True)
|
|
10
10
|
type = fields.String(required=True)
|
|
11
11
|
label = fields.String(required=True)
|
|
12
|
+
display_label = fields.String(allow_none=True)
|
|
12
13
|
user_queries = fields.Nested(
|
|
13
14
|
AssistantUserQueryResourceSchema(exclude=("session_id",)),
|
|
14
15
|
many=True,
|
|
15
16
|
dump_only=True,
|
|
16
17
|
)
|
|
18
|
+
is_deleted = fields.Boolean(allow_none=True)
|
|
17
19
|
created_at = fields.DateTime(dump_only=True)
|
|
20
|
+
internal_doc_only = fields.Boolean(allow_none=True)
|
|
21
|
+
workbook_id = fields.Integer(allow_none=True)
|
|
18
22
|
updated_at = fields.DateTime(dump_only=True)
|
|
19
23
|
|
|
20
24
|
__table_args__ = (UniqueConstraint("user_id", "label"),)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import enum
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
|
|
4
|
-
from sqlalchemy import Column, DateTime, Enum, ForeignKey, Integer, String
|
|
4
|
+
from sqlalchemy import Column, DateTime, Enum, ForeignKey, Integer, String, Text
|
|
5
5
|
from sqlalchemy.orm import relationship
|
|
6
6
|
|
|
7
7
|
from ...database import Base
|
|
@@ -28,6 +28,10 @@ class AssistantUserQueryModel(Base):
|
|
|
28
28
|
String,
|
|
29
29
|
nullable=False,
|
|
30
30
|
)
|
|
31
|
+
filter = Column(
|
|
32
|
+
Text,
|
|
33
|
+
nullable=True,
|
|
34
|
+
)
|
|
31
35
|
type = Column(
|
|
32
36
|
String,
|
|
33
37
|
nullable=False,
|
|
@@ -1,15 +1,54 @@
|
|
|
1
|
+
import json
|
|
1
2
|
from marshmallow import Schema, fields
|
|
2
|
-
|
|
3
3
|
from .models import AssistantUserQueryStatusEnum
|
|
4
4
|
from ..AssistantCommand.schemas import (
|
|
5
5
|
AssistantCommandResourceSchema,
|
|
6
6
|
)
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
class AssistantUserQueryFilterField(fields.Field):
|
|
10
|
+
"""Field that stores result for the Assistant command."""
|
|
11
|
+
|
|
12
|
+
def _serialize(self, value, attr, obj, **kwargs):
|
|
13
|
+
"""
|
|
14
|
+
In the DB, the `result` field is a text field. We persist
|
|
15
|
+
data by performing the following:
|
|
16
|
+
|
|
17
|
+
AssistantCommandModel(
|
|
18
|
+
...
|
|
19
|
+
result=json.dumps({...}),
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
So here we need to perform the inverse operation (i.e `json.loads(..)`)
|
|
23
|
+
"""
|
|
24
|
+
if value is None:
|
|
25
|
+
return None
|
|
26
|
+
return json.loads(value)
|
|
27
|
+
|
|
28
|
+
def _deserialize(self, value, attr, data, **kwargs):
|
|
29
|
+
"""
|
|
30
|
+
In the DB, the `result` field is a text field. We persist
|
|
31
|
+
data by performing the following:
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
AssistantCommandModel(
|
|
36
|
+
***AssistantCommandResourceSchema().load({
|
|
37
|
+
...
|
|
38
|
+
"result": [{"some_key": 1}, {"some_key": 2}],
|
|
39
|
+
}),
|
|
40
|
+
)
|
|
41
|
+
"""
|
|
42
|
+
if value is None:
|
|
43
|
+
return None
|
|
44
|
+
return json.dumps(value)
|
|
45
|
+
|
|
46
|
+
|
|
9
47
|
class AssistantUserQueryResourceSchema(Schema):
|
|
10
48
|
id = fields.Integer(dump_only=True)
|
|
11
49
|
session_id = fields.Integer(required=True)
|
|
12
50
|
value = fields.String(required=True)
|
|
51
|
+
filter = AssistantUserQueryFilterField(allow_none=True)
|
|
13
52
|
type = fields.String(required=True)
|
|
14
53
|
status = fields.Enum(AssistantUserQueryStatusEnum, required=True, by_value=True)
|
|
15
54
|
commands = fields.Nested(
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import (
|
|
4
|
+
Column,
|
|
5
|
+
String,
|
|
6
|
+
Integer,
|
|
7
|
+
DateTime,
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
from ...database import Base
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class B3CRSSModel(Base):
|
|
14
|
+
__tablename__ = "b3c_rss"
|
|
15
|
+
|
|
16
|
+
id = Column(Integer, primary_key=True)
|
|
17
|
+
article_id = Column(String(128), nullable=False, index=True)
|
|
18
|
+
article_date = Column(DateTime, nullable=False)
|
|
19
|
+
updated_at = Column(
|
|
20
|
+
DateTime,
|
|
21
|
+
nullable=False,
|
|
22
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
23
|
+
default=lambda: datetime.utcnow(),
|
|
24
|
+
onupdate=lambda: datetime.utcnow(),
|
|
25
|
+
)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
validate,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class B3CRSSResourceSchema(Schema):
|
|
9
|
+
not_blank = validate.Length(min=1, error='Field cannot be blank')
|
|
10
|
+
|
|
11
|
+
id = fields.Integer(dump_only=True)
|
|
12
|
+
article_id = fields.String(required=True)
|
|
13
|
+
article_date = fields.DateTime(required=True)
|
|
14
|
+
updated_at = fields.DateTime()
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import (
|
|
4
|
+
Column,
|
|
5
|
+
Integer,
|
|
6
|
+
DateTime,
|
|
7
|
+
String,
|
|
8
|
+
Text,
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
from ...database import Base
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class CampaignTrackerModel(Base):
|
|
15
|
+
__tablename__ = "campaign_tracker"
|
|
16
|
+
|
|
17
|
+
id = Column(Integer, primary_key=True)
|
|
18
|
+
name = Column(String(128), nullable=False)
|
|
19
|
+
email = Column(String(128), nullable=True)
|
|
20
|
+
company = Column(String(128), nullable=True)
|
|
21
|
+
promo_code = Column(String(50), nullable=True)
|
|
22
|
+
campaign_description = Column(Text, nullable=True)
|
|
23
|
+
updated_at = Column(
|
|
24
|
+
DateTime,
|
|
25
|
+
nullable=False,
|
|
26
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
27
|
+
default=lambda: datetime.utcnow(),
|
|
28
|
+
onupdate=lambda: datetime.utcnow(),
|
|
29
|
+
)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
validate,
|
|
5
|
+
)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class CampaignTrackerResourceSchema(Schema):
|
|
9
|
+
not_blank = validate.Length(min=1, error='Field cannot be blank')
|
|
10
|
+
|
|
11
|
+
id = fields.Integer(dump_only=True)
|
|
12
|
+
name = fields.String(required=True)
|
|
13
|
+
email = fields.String(allow_none=True)
|
|
14
|
+
company = fields.String(allow_none=True)
|
|
15
|
+
promo_code = fields.String(allow_none=True)
|
|
16
|
+
campaign_description = fields.String(allow_none=True)
|
|
17
|
+
updated_at = fields.DateTime(dump_only=True)
|
|
File without changes
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from sqlalchemy import (
|
|
2
|
+
Column,
|
|
3
|
+
Integer,
|
|
4
|
+
String,
|
|
5
|
+
DateTime,
|
|
6
|
+
)
|
|
7
|
+
from datetime import datetime
|
|
8
|
+
|
|
9
|
+
from ...database import Base
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CompanyDrugCountModel(Base):
|
|
13
|
+
__tablename__ = 'company_drug_count'
|
|
14
|
+
|
|
15
|
+
id = Column(Integer, primary_key=True)
|
|
16
|
+
company_id = Column(
|
|
17
|
+
String(50),
|
|
18
|
+
nullable=False,
|
|
19
|
+
index=True
|
|
20
|
+
)
|
|
21
|
+
drug_count = Column(Integer, nullable=False)
|
|
22
|
+
updated_at = Column(
|
|
23
|
+
DateTime,
|
|
24
|
+
nullable=False,
|
|
25
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
26
|
+
default=lambda: datetime.utcnow(),
|
|
27
|
+
onupdate=lambda: datetime.utcnow(),
|
|
28
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class CompanyDrugCountResourceSchema(Schema):
|
|
8
|
+
id = fields.Integer(dump_only=True)
|
|
9
|
+
company_id = fields.String(required=True)
|
|
10
|
+
drug_count = fields.Integer(required=True)
|
|
11
|
+
updated_at = fields.DateTime(dump_only=True)
|
|
@@ -40,6 +40,7 @@ class CompanyFilingModel(Base):
|
|
|
40
40
|
is_deleted = Column(Boolean, nullable=True)
|
|
41
41
|
unprocessed = Column(Boolean, nullable=True)
|
|
42
42
|
reviewed = Column(Boolean, nullable=True)
|
|
43
|
+
page_count = Column(Integer, nullable=True)
|
|
43
44
|
updated_at = Column(
|
|
44
45
|
DateTime,
|
|
45
46
|
nullable=False,
|
|
@@ -24,6 +24,7 @@ class CompanyFilingResourceSchema(Schema):
|
|
|
24
24
|
is_deleted = fields.Boolean(allow_none=True)
|
|
25
25
|
unprocessed = fields.Boolean(allow_none=True)
|
|
26
26
|
reviewed = fields.Boolean(allow_none=True)
|
|
27
|
+
page_count = fields.Integer(allow_none=True)
|
|
27
28
|
updated_at = fields.DateTime(dump_only=True)
|
|
28
29
|
|
|
29
30
|
@pre_load
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
from sqlalchemy import (
|
|
2
|
+
Column,
|
|
3
|
+
Integer,
|
|
4
|
+
String,
|
|
5
|
+
DateTime,
|
|
6
|
+
DECIMAL,
|
|
7
|
+
)
|
|
8
|
+
from datetime import datetime
|
|
9
|
+
|
|
10
|
+
from ...database import Base
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class CompanyMarketCapModel(Base):
|
|
14
|
+
__tablename__ = 'company_market_cap'
|
|
15
|
+
|
|
16
|
+
id = Column(Integer, primary_key=True)
|
|
17
|
+
company_id = Column(
|
|
18
|
+
String(50),
|
|
19
|
+
nullable=False,
|
|
20
|
+
index=True
|
|
21
|
+
)
|
|
22
|
+
market_cap = Column(DECIMAL(20, 2), nullable=False)
|
|
23
|
+
updated_at = Column(
|
|
24
|
+
DateTime,
|
|
25
|
+
nullable=False,
|
|
26
|
+
# https://stackoverflow.com/questions/58776476/why-doesnt-freezegun-work-with-sqlalchemy-default-values
|
|
27
|
+
default=lambda: datetime.utcnow(),
|
|
28
|
+
onupdate=lambda: datetime.utcnow(),
|
|
29
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from marshmallow import (
|
|
2
|
+
Schema,
|
|
3
|
+
fields,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class CompanyMarketCapResourceSchema(Schema):
|
|
8
|
+
id = fields.Integer(dump_only=True)
|
|
9
|
+
company_id = fields.String(required=True)
|
|
10
|
+
market_cap = fields.Decimal(required=True)
|
|
11
|
+
updated_at = fields.DateTime(dump_only=True)
|
|
@@ -6,6 +6,7 @@ from sqlalchemy import (
|
|
|
6
6
|
Boolean,
|
|
7
7
|
ForeignKey,
|
|
8
8
|
Text,
|
|
9
|
+
DECIMAL,
|
|
9
10
|
)
|
|
10
11
|
from datetime import datetime
|
|
11
12
|
|
|
@@ -20,6 +21,7 @@ class CompanyOUSModel(Base):
|
|
|
20
21
|
name = Column(String(190), unique=True, nullable=False)
|
|
21
22
|
ticker = Column(String(20), nullable=True, index=True)
|
|
22
23
|
exchange = Column(String(100), nullable=True)
|
|
24
|
+
market_cap = Column(DECIMAL(20, 2), nullable=False)
|
|
23
25
|
company_url = Column(String(255), nullable=True)
|
|
24
26
|
pipeline_url = Column(String(255), nullable=True)
|
|
25
27
|
ir_url = Column(String(255), nullable=True)
|