@kelpie/ui 0.1.0
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.
- package/LICENSE +661 -0
- package/README.md +44 -0
- package/dist/ServiceStatus.d.ts +6 -0
- package/dist/ServiceStatus.d.ts.map +1 -0
- package/dist/ServiceStatus.js +35 -0
- package/dist/ServiceStatus.js.map +1 -0
- package/dist/api/ApiProvider.d.ts +19 -0
- package/dist/api/ApiProvider.d.ts.map +1 -0
- package/dist/api/ApiProvider.js +18 -0
- package/dist/api/ApiProvider.js.map +1 -0
- package/dist/api/client.d.ts +83 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +162 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/context.d.ts +14 -0
- package/dist/api/context.d.ts.map +1 -0
- package/dist/api/context.js +20 -0
- package/dist/api/context.js.map +1 -0
- package/dist/api/errors.d.ts +9 -0
- package/dist/api/errors.d.ts.map +1 -0
- package/dist/api/errors.js +14 -0
- package/dist/api/errors.js.map +1 -0
- package/dist/api/health.d.ts +15 -0
- package/dist/api/health.d.ts.map +1 -0
- package/dist/api/health.js +22 -0
- package/dist/api/health.js.map +1 -0
- package/dist/api/json.d.ts +3 -0
- package/dist/api/json.d.ts.map +1 -0
- package/dist/api/json.js +5 -0
- package/dist/api/json.js.map +1 -0
- package/dist/api/queryClient.d.ts +17 -0
- package/dist/api/queryClient.d.ts.map +1 -0
- package/dist/api/queryClient.js +33 -0
- package/dist/api/queryClient.js.map +1 -0
- package/dist/api/resource.d.ts +110 -0
- package/dist/api/resource.d.ts.map +1 -0
- package/dist/api/resource.js +238 -0
- package/dist/api/resource.js.map +1 -0
- package/dist/api/resources/account.d.ts +49 -0
- package/dist/api/resources/account.d.ts.map +1 -0
- package/dist/api/resources/account.js +146 -0
- package/dist/api/resources/account.js.map +1 -0
- package/dist/api/resources/activities.d.ts +8 -0
- package/dist/api/resources/activities.d.ts.map +1 -0
- package/dist/api/resources/activities.js +21 -0
- package/dist/api/resources/activities.js.map +1 -0
- package/dist/api/resources/agentTasks.d.ts +31 -0
- package/dist/api/resources/agentTasks.d.ts.map +1 -0
- package/dist/api/resources/agentTasks.js +103 -0
- package/dist/api/resources/agentTasks.js.map +1 -0
- package/dist/api/resources/candidates.d.ts +17 -0
- package/dist/api/resources/candidates.d.ts.map +1 -0
- package/dist/api/resources/candidates.js +40 -0
- package/dist/api/resources/candidates.js.map +1 -0
- package/dist/api/resources/companies.d.ts +22 -0
- package/dist/api/resources/companies.d.ts.map +1 -0
- package/dist/api/resources/companies.js +36 -0
- package/dist/api/resources/companies.js.map +1 -0
- package/dist/api/resources/dashboard.d.ts +8 -0
- package/dist/api/resources/dashboard.d.ts.map +1 -0
- package/dist/api/resources/dashboard.js +27 -0
- package/dist/api/resources/dashboard.js.map +1 -0
- package/dist/api/resources/deals.d.ts +30 -0
- package/dist/api/resources/deals.d.ts.map +1 -0
- package/dist/api/resources/deals.js +38 -0
- package/dist/api/resources/deals.js.map +1 -0
- package/dist/api/resources/decisions.d.ts +13 -0
- package/dist/api/resources/decisions.d.ts.map +1 -0
- package/dist/api/resources/decisions.js +38 -0
- package/dist/api/resources/decisions.js.map +1 -0
- package/dist/api/resources/forms.d.ts +82 -0
- package/dist/api/resources/forms.d.ts.map +1 -0
- package/dist/api/resources/forms.js +129 -0
- package/dist/api/resources/forms.js.map +1 -0
- package/dist/api/resources/handbookPages.d.ts +33 -0
- package/dist/api/resources/handbookPages.d.ts.map +1 -0
- package/dist/api/resources/handbookPages.js +49 -0
- package/dist/api/resources/handbookPages.js.map +1 -0
- package/dist/api/resources/importJobs.d.ts +72 -0
- package/dist/api/resources/importJobs.d.ts.map +1 -0
- package/dist/api/resources/importJobs.js +145 -0
- package/dist/api/resources/importJobs.js.map +1 -0
- package/dist/api/resources/invites.d.ts +19 -0
- package/dist/api/resources/invites.d.ts.map +1 -0
- package/dist/api/resources/invites.js +78 -0
- package/dist/api/resources/invites.js.map +1 -0
- package/dist/api/resources/mcpTools.d.ts +8 -0
- package/dist/api/resources/mcpTools.d.ts.map +1 -0
- package/dist/api/resources/mcpTools.js +23 -0
- package/dist/api/resources/mcpTools.js.map +1 -0
- package/dist/api/resources/members.d.ts +40 -0
- package/dist/api/resources/members.d.ts.map +1 -0
- package/dist/api/resources/members.js +67 -0
- package/dist/api/resources/members.js.map +1 -0
- package/dist/api/resources/moduleSettings.d.ts +14 -0
- package/dist/api/resources/moduleSettings.d.ts.map +1 -0
- package/dist/api/resources/moduleSettings.js +43 -0
- package/dist/api/resources/moduleSettings.js.map +1 -0
- package/dist/api/resources/mutation.d.ts +18 -0
- package/dist/api/resources/mutation.d.ts.map +1 -0
- package/dist/api/resources/mutation.js +12 -0
- package/dist/api/resources/mutation.js.map +1 -0
- package/dist/api/resources/notes.d.ts +14 -0
- package/dist/api/resources/notes.d.ts.map +1 -0
- package/dist/api/resources/notes.js +39 -0
- package/dist/api/resources/notes.js.map +1 -0
- package/dist/api/resources/opportunities.d.ts +29 -0
- package/dist/api/resources/opportunities.d.ts.map +1 -0
- package/dist/api/resources/opportunities.js +38 -0
- package/dist/api/resources/opportunities.js.map +1 -0
- package/dist/api/resources/partnerships.d.ts +33 -0
- package/dist/api/resources/partnerships.d.ts.map +1 -0
- package/dist/api/resources/partnerships.js +39 -0
- package/dist/api/resources/partnerships.js.map +1 -0
- package/dist/api/resources/people.d.ts +22 -0
- package/dist/api/resources/people.d.ts.map +1 -0
- package/dist/api/resources/people.js +36 -0
- package/dist/api/resources/people.js.map +1 -0
- package/dist/api/resources/pipelineStages.d.ts +22 -0
- package/dist/api/resources/pipelineStages.d.ts.map +1 -0
- package/dist/api/resources/pipelineStages.js +61 -0
- package/dist/api/resources/pipelineStages.js.map +1 -0
- package/dist/api/resources/planItems.d.ts +31 -0
- package/dist/api/resources/planItems.d.ts.map +1 -0
- package/dist/api/resources/planItems.js +60 -0
- package/dist/api/resources/planItems.js.map +1 -0
- package/dist/api/resources/positions.d.ts +23 -0
- package/dist/api/resources/positions.d.ts.map +1 -0
- package/dist/api/resources/positions.js +31 -0
- package/dist/api/resources/positions.js.map +1 -0
- package/dist/api/resources/raises.d.ts +30 -0
- package/dist/api/resources/raises.d.ts.map +1 -0
- package/dist/api/resources/raises.js +38 -0
- package/dist/api/resources/raises.js.map +1 -0
- package/dist/api/resources/roles.d.ts +20 -0
- package/dist/api/resources/roles.d.ts.map +1 -0
- package/dist/api/resources/roles.js +31 -0
- package/dist/api/resources/roles.js.map +1 -0
- package/dist/api/resources/search.d.ts +12 -0
- package/dist/api/resources/search.d.ts.map +1 -0
- package/dist/api/resources/search.js +37 -0
- package/dist/api/resources/search.js.map +1 -0
- package/dist/api/resources/session.d.ts +58 -0
- package/dist/api/resources/session.d.ts.map +1 -0
- package/dist/api/resources/session.js +157 -0
- package/dist/api/resources/session.js.map +1 -0
- package/dist/api/resources/webhooks.d.ts +45 -0
- package/dist/api/resources/webhooks.d.ts.map +1 -0
- package/dist/api/resources/webhooks.js +106 -0
- package/dist/api/resources/webhooks.js.map +1 -0
- package/dist/api/resources/workspace.d.ts +20 -0
- package/dist/api/resources/workspace.d.ts.map +1 -0
- package/dist/api/resources/workspace.js +63 -0
- package/dist/api/resources/workspace.js.map +1 -0
- package/dist/app/KelpieApp.d.ts +18 -0
- package/dist/app/KelpieApp.d.ts.map +1 -0
- package/dist/app/KelpieApp.js +59 -0
- package/dist/app/KelpieApp.js.map +1 -0
- package/dist/app/SessionGate.d.ts +14 -0
- package/dist/app/SessionGate.d.ts.map +1 -0
- package/dist/app/SessionGate.js +33 -0
- package/dist/app/SessionGate.js.map +1 -0
- package/dist/components/ActivitiesPanel.d.ts +28 -0
- package/dist/components/ActivitiesPanel.d.ts.map +1 -0
- package/dist/components/ActivitiesPanel.js +75 -0
- package/dist/components/ActivitiesPanel.js.map +1 -0
- package/dist/components/AgentTasks.d.ts +16 -0
- package/dist/components/AgentTasks.d.ts.map +1 -0
- package/dist/components/AgentTasks.js +166 -0
- package/dist/components/AgentTasks.js.map +1 -0
- package/dist/components/Chip.d.ts +10 -0
- package/dist/components/Chip.d.ts.map +1 -0
- package/dist/components/Chip.js +21 -0
- package/dist/components/Chip.js.map +1 -0
- package/dist/components/CopyButton.d.ts +7 -0
- package/dist/components/CopyButton.d.ts.map +1 -0
- package/dist/components/CopyButton.js +30 -0
- package/dist/components/CopyButton.js.map +1 -0
- package/dist/components/DataTable.d.ts +36 -0
- package/dist/components/DataTable.d.ts.map +1 -0
- package/dist/components/DataTable.js +43 -0
- package/dist/components/DataTable.js.map +1 -0
- package/dist/components/DecisionsPanel.d.ts +14 -0
- package/dist/components/DecisionsPanel.d.ts.map +1 -0
- package/dist/components/DecisionsPanel.js +73 -0
- package/dist/components/DecisionsPanel.js.map +1 -0
- package/dist/components/DeleteRecord.d.ts +19 -0
- package/dist/components/DeleteRecord.d.ts.map +1 -0
- package/dist/components/DeleteRecord.js +22 -0
- package/dist/components/DeleteRecord.js.map +1 -0
- package/dist/components/EntitySearch.d.ts +33 -0
- package/dist/components/EntitySearch.d.ts.map +1 -0
- package/dist/components/EntitySearch.js +111 -0
- package/dist/components/EntitySearch.js.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +21 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.js +26 -0
- package/dist/components/ErrorBoundary.js.map +1 -0
- package/dist/components/InlineEdit.d.ts +37 -0
- package/dist/components/InlineEdit.d.ts.map +1 -0
- package/dist/components/InlineEdit.js +77 -0
- package/dist/components/InlineEdit.js.map +1 -0
- package/dist/components/KanbanBoard.d.ts +24 -0
- package/dist/components/KanbanBoard.d.ts.map +1 -0
- package/dist/components/KanbanBoard.js +92 -0
- package/dist/components/KanbanBoard.js.map +1 -0
- package/dist/components/MarkdownView.d.ts +4 -0
- package/dist/components/MarkdownView.d.ts.map +1 -0
- package/dist/components/MarkdownView.js +45 -0
- package/dist/components/MarkdownView.js.map +1 -0
- package/dist/components/NotesPanel.d.ts +17 -0
- package/dist/components/NotesPanel.d.ts.map +1 -0
- package/dist/components/NotesPanel.js +53 -0
- package/dist/components/NotesPanel.js.map +1 -0
- package/dist/components/PageHeader.d.ts +20 -0
- package/dist/components/PageHeader.d.ts.map +1 -0
- package/dist/components/PageHeader.js +15 -0
- package/dist/components/PageHeader.js.map +1 -0
- package/dist/components/PhonesField.d.ts +7 -0
- package/dist/components/PhonesField.d.ts.map +1 -0
- package/dist/components/PhonesField.js +92 -0
- package/dist/components/PhonesField.js.map +1 -0
- package/dist/components/PlanAttention.d.ts +40 -0
- package/dist/components/PlanAttention.d.ts.map +1 -0
- package/dist/components/PlanAttention.js +86 -0
- package/dist/components/PlanAttention.js.map +1 -0
- package/dist/components/PlanPanel.d.ts +18 -0
- package/dist/components/PlanPanel.d.ts.map +1 -0
- package/dist/components/PlanPanel.js +102 -0
- package/dist/components/PlanPanel.js.map +1 -0
- package/dist/components/QueryState.d.ts +24 -0
- package/dist/components/QueryState.d.ts.map +1 -0
- package/dist/components/QueryState.js +34 -0
- package/dist/components/QueryState.js.map +1 -0
- package/dist/components/RecordTabs.d.ts +16 -0
- package/dist/components/RecordTabs.d.ts.map +1 -0
- package/dist/components/RecordTabs.js +15 -0
- package/dist/components/RecordTabs.js.map +1 -0
- package/dist/components/SectionHeader.d.ts +15 -0
- package/dist/components/SectionHeader.d.ts.map +1 -0
- package/dist/components/SectionHeader.js +14 -0
- package/dist/components/SectionHeader.js.map +1 -0
- package/dist/components/SegmentedControl.d.ts +13 -0
- package/dist/components/SegmentedControl.d.ts.map +1 -0
- package/dist/components/SegmentedControl.js +14 -0
- package/dist/components/SegmentedControl.js.map +1 -0
- package/dist/components/Shell.d.ts +2 -0
- package/dist/components/Shell.d.ts.map +1 -0
- package/dist/components/Shell.js +143 -0
- package/dist/components/Shell.js.map +1 -0
- package/dist/components/SidebarField.d.ts +8 -0
- package/dist/components/SidebarField.d.ts.map +1 -0
- package/dist/components/SidebarField.js +6 -0
- package/dist/components/SidebarField.js.map +1 -0
- package/dist/components/SocialProfilesField.d.ts +8 -0
- package/dist/components/SocialProfilesField.d.ts.map +1 -0
- package/dist/components/SocialProfilesField.js +176 -0
- package/dist/components/SocialProfilesField.js.map +1 -0
- package/dist/components/StageSettings.d.ts +16 -0
- package/dist/components/StageSettings.d.ts.map +1 -0
- package/dist/components/StageSettings.js +107 -0
- package/dist/components/StageSettings.js.map +1 -0
- package/dist/components/SummaryBlock.d.ts +12 -0
- package/dist/components/SummaryBlock.d.ts.map +1 -0
- package/dist/components/SummaryBlock.js +12 -0
- package/dist/components/SummaryBlock.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/dates.d.ts +26 -0
- package/dist/lib/dates.d.ts.map +1 -0
- package/dist/lib/dates.js +71 -0
- package/dist/lib/dates.js.map +1 -0
- package/dist/lib/money.d.ts +7 -0
- package/dist/lib/money.d.ts.map +1 -0
- package/dist/lib/money.js +13 -0
- package/dist/lib/money.js.map +1 -0
- package/dist/lib/names.d.ts +9 -0
- package/dist/lib/names.d.ts.map +1 -0
- package/dist/lib/names.js +13 -0
- package/dist/lib/names.js.map +1 -0
- package/dist/lib/plan.d.ts +67 -0
- package/dist/lib/plan.d.ts.map +1 -0
- package/dist/lib/plan.js +96 -0
- package/dist/lib/plan.js.map +1 -0
- package/dist/lib/theme.d.ts +19 -0
- package/dist/lib/theme.d.ts.map +1 -0
- package/dist/lib/theme.js +30 -0
- package/dist/lib/theme.js.map +1 -0
- package/dist/pages/CompaniesPage.d.ts +2 -0
- package/dist/pages/CompaniesPage.d.ts.map +1 -0
- package/dist/pages/CompaniesPage.js +77 -0
- package/dist/pages/CompaniesPage.js.map +1 -0
- package/dist/pages/CompanyDetail.d.ts +2 -0
- package/dist/pages/CompanyDetail.d.ts.map +1 -0
- package/dist/pages/CompanyDetail.js +177 -0
- package/dist/pages/CompanyDetail.js.map +1 -0
- package/dist/pages/DealDetail.d.ts +2 -0
- package/dist/pages/DealDetail.d.ts.map +1 -0
- package/dist/pages/DealDetail.js +192 -0
- package/dist/pages/DealDetail.js.map +1 -0
- package/dist/pages/DealStageSettingsPage.d.ts +7 -0
- package/dist/pages/DealStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/DealStageSettingsPage.js +38 -0
- package/dist/pages/DealStageSettingsPage.js.map +1 -0
- package/dist/pages/DealsPage.d.ts +2 -0
- package/dist/pages/DealsPage.d.ts.map +1 -0
- package/dist/pages/DealsPage.js +177 -0
- package/dist/pages/DealsPage.js.map +1 -0
- package/dist/pages/DecisionsPage.d.ts +2 -0
- package/dist/pages/DecisionsPage.d.ts.map +1 -0
- package/dist/pages/DecisionsPage.js +121 -0
- package/dist/pages/DecisionsPage.js.map +1 -0
- package/dist/pages/FormDetail.d.ts +2 -0
- package/dist/pages/FormDetail.d.ts.map +1 -0
- package/dist/pages/FormDetail.js +56 -0
- package/dist/pages/FormDetail.js.map +1 -0
- package/dist/pages/FormsPage.d.ts +2 -0
- package/dist/pages/FormsPage.d.ts.map +1 -0
- package/dist/pages/FormsPage.js +67 -0
- package/dist/pages/FormsPage.js.map +1 -0
- package/dist/pages/FundraisingPage.d.ts +2 -0
- package/dist/pages/FundraisingPage.d.ts.map +1 -0
- package/dist/pages/FundraisingPage.js +187 -0
- package/dist/pages/FundraisingPage.js.map +1 -0
- package/dist/pages/HiringPage.d.ts +9 -0
- package/dist/pages/HiringPage.d.ts.map +1 -0
- package/dist/pages/HiringPage.js +73 -0
- package/dist/pages/HiringPage.js.map +1 -0
- package/dist/pages/NotFoundPage.d.ts +10 -0
- package/dist/pages/NotFoundPage.d.ts.map +1 -0
- package/dist/pages/NotFoundPage.js +14 -0
- package/dist/pages/NotFoundPage.js.map +1 -0
- package/dist/pages/OpportunitiesPage.d.ts +2 -0
- package/dist/pages/OpportunitiesPage.d.ts.map +1 -0
- package/dist/pages/OpportunitiesPage.js +184 -0
- package/dist/pages/OpportunitiesPage.js.map +1 -0
- package/dist/pages/OpportunityDetail.d.ts +2 -0
- package/dist/pages/OpportunityDetail.d.ts.map +1 -0
- package/dist/pages/OpportunityDetail.js +132 -0
- package/dist/pages/OpportunityDetail.js.map +1 -0
- package/dist/pages/OpportunityStageSettingsPage.d.ts +3 -0
- package/dist/pages/OpportunityStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/OpportunityStageSettingsPage.js +34 -0
- package/dist/pages/OpportunityStageSettingsPage.js.map +1 -0
- package/dist/pages/PartnershipDetail.d.ts +2 -0
- package/dist/pages/PartnershipDetail.d.ts.map +1 -0
- package/dist/pages/PartnershipDetail.js +179 -0
- package/dist/pages/PartnershipDetail.js.map +1 -0
- package/dist/pages/PartnershipStageSettingsPage.d.ts +3 -0
- package/dist/pages/PartnershipStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/PartnershipStageSettingsPage.js +34 -0
- package/dist/pages/PartnershipStageSettingsPage.js.map +1 -0
- package/dist/pages/PartnershipsPage.d.ts +2 -0
- package/dist/pages/PartnershipsPage.d.ts.map +1 -0
- package/dist/pages/PartnershipsPage.js +182 -0
- package/dist/pages/PartnershipsPage.js.map +1 -0
- package/dist/pages/PeoplePage.d.ts +10 -0
- package/dist/pages/PeoplePage.d.ts.map +1 -0
- package/dist/pages/PeoplePage.js +71 -0
- package/dist/pages/PeoplePage.js.map +1 -0
- package/dist/pages/PersonDetail.d.ts +2 -0
- package/dist/pages/PersonDetail.d.ts.map +1 -0
- package/dist/pages/PersonDetail.js +193 -0
- package/dist/pages/PersonDetail.js.map +1 -0
- package/dist/pages/PlanningPage.d.ts +2 -0
- package/dist/pages/PlanningPage.d.ts.map +1 -0
- package/dist/pages/PlanningPage.js +112 -0
- package/dist/pages/PlanningPage.js.map +1 -0
- package/dist/pages/RaiseDetail.d.ts +2 -0
- package/dist/pages/RaiseDetail.d.ts.map +1 -0
- package/dist/pages/RaiseDetail.js +198 -0
- package/dist/pages/RaiseDetail.js.map +1 -0
- package/dist/pages/RaiseStageSettingsPage.d.ts +3 -0
- package/dist/pages/RaiseStageSettingsPage.d.ts.map +1 -0
- package/dist/pages/RaiseStageSettingsPage.js +34 -0
- package/dist/pages/RaiseStageSettingsPage.js.map +1 -0
- package/dist/pages/RoleDetail.d.ts +2 -0
- package/dist/pages/RoleDetail.d.ts.map +1 -0
- package/dist/pages/RoleDetail.js +177 -0
- package/dist/pages/RoleDetail.js.map +1 -0
- package/dist/pages/SearchPage.d.ts +2 -0
- package/dist/pages/SearchPage.d.ts.map +1 -0
- package/dist/pages/SearchPage.js +51 -0
- package/dist/pages/SearchPage.js.map +1 -0
- package/dist/pages/account/AccountLayout.d.ts +2 -0
- package/dist/pages/account/AccountLayout.d.ts.map +1 -0
- package/dist/pages/account/AccountLayout.js +25 -0
- package/dist/pages/account/AccountLayout.js.map +1 -0
- package/dist/pages/account/Field.d.ts +8 -0
- package/dist/pages/account/Field.d.ts.map +1 -0
- package/dist/pages/account/Field.js +6 -0
- package/dist/pages/account/Field.js.map +1 -0
- package/dist/pages/account/PreferencesPage.d.ts +2 -0
- package/dist/pages/account/PreferencesPage.d.ts.map +1 -0
- package/dist/pages/account/PreferencesPage.js +92 -0
- package/dist/pages/account/PreferencesPage.js.map +1 -0
- package/dist/pages/account/ProfilePage.d.ts +14 -0
- package/dist/pages/account/ProfilePage.d.ts.map +1 -0
- package/dist/pages/account/ProfilePage.js +71 -0
- package/dist/pages/account/ProfilePage.js.map +1 -0
- package/dist/pages/account/SecurityPage.d.ts +11 -0
- package/dist/pages/account/SecurityPage.d.ts.map +1 -0
- package/dist/pages/account/SecurityPage.js +78 -0
- package/dist/pages/account/SecurityPage.js.map +1 -0
- package/dist/pages/admin/DataPage.d.ts +3 -0
- package/dist/pages/admin/DataPage.d.ts.map +1 -0
- package/dist/pages/admin/DataPage.js +210 -0
- package/dist/pages/admin/DataPage.js.map +1 -0
- package/dist/pages/admin/McpPage.d.ts +2 -0
- package/dist/pages/admin/McpPage.d.ts.map +1 -0
- package/dist/pages/admin/McpPage.js +128 -0
- package/dist/pages/admin/McpPage.js.map +1 -0
- package/dist/pages/admin/ModulesPage.d.ts +2 -0
- package/dist/pages/admin/ModulesPage.d.ts.map +1 -0
- package/dist/pages/admin/ModulesPage.js +53 -0
- package/dist/pages/admin/ModulesPage.js.map +1 -0
- package/dist/pages/admin/TeamPage.d.ts +2 -0
- package/dist/pages/admin/TeamPage.d.ts.map +1 -0
- package/dist/pages/admin/TeamPage.js +99 -0
- package/dist/pages/admin/TeamPage.js.map +1 -0
- package/dist/pages/admin/WebhookDeliveries.d.ts +4 -0
- package/dist/pages/admin/WebhookDeliveries.d.ts.map +1 -0
- package/dist/pages/admin/WebhookDeliveries.js +88 -0
- package/dist/pages/admin/WebhookDeliveries.js.map +1 -0
- package/dist/pages/admin/WebhooksPage.d.ts +2 -0
- package/dist/pages/admin/WebhooksPage.d.ts.map +1 -0
- package/dist/pages/admin/WebhooksPage.js +152 -0
- package/dist/pages/admin/WebhooksPage.js.map +1 -0
- package/dist/pages/admin/WorkspaceSettingsPage.d.ts +2 -0
- package/dist/pages/admin/WorkspaceSettingsPage.d.ts.map +1 -0
- package/dist/pages/admin/WorkspaceSettingsPage.js +117 -0
- package/dist/pages/admin/WorkspaceSettingsPage.js.map +1 -0
- package/dist/pages/auth/AuthForm.d.ts +46 -0
- package/dist/pages/auth/AuthForm.d.ts.map +1 -0
- package/dist/pages/auth/AuthForm.js +32 -0
- package/dist/pages/auth/AuthForm.js.map +1 -0
- package/dist/pages/auth/AuthLayout.d.ts +24 -0
- package/dist/pages/auth/AuthLayout.d.ts.map +1 -0
- package/dist/pages/auth/AuthLayout.js +19 -0
- package/dist/pages/auth/AuthLayout.js.map +1 -0
- package/dist/pages/auth/ForgotPasswordPage.d.ts +13 -0
- package/dist/pages/auth/ForgotPasswordPage.d.ts.map +1 -0
- package/dist/pages/auth/ForgotPasswordPage.js +39 -0
- package/dist/pages/auth/ForgotPasswordPage.js.map +1 -0
- package/dist/pages/auth/JoinPage.d.ts +12 -0
- package/dist/pages/auth/JoinPage.d.ts.map +1 -0
- package/dist/pages/auth/JoinPage.js +43 -0
- package/dist/pages/auth/JoinPage.js.map +1 -0
- package/dist/pages/auth/ResetPasswordPage.d.ts +13 -0
- package/dist/pages/auth/ResetPasswordPage.d.ts.map +1 -0
- package/dist/pages/auth/ResetPasswordPage.js +58 -0
- package/dist/pages/auth/ResetPasswordPage.js.map +1 -0
- package/dist/pages/auth/SignInPage.d.ts +2 -0
- package/dist/pages/auth/SignInPage.d.ts.map +1 -0
- package/dist/pages/auth/SignInPage.js +38 -0
- package/dist/pages/auth/SignInPage.js.map +1 -0
- package/dist/pages/auth/SignUpPage.d.ts +13 -0
- package/dist/pages/auth/SignUpPage.d.ts.map +1 -0
- package/dist/pages/auth/SignUpPage.js +43 -0
- package/dist/pages/auth/SignUpPage.js.map +1 -0
- package/dist/pages/candidateFields.d.ts +22 -0
- package/dist/pages/candidateFields.d.ts.map +1 -0
- package/dist/pages/candidateFields.js +82 -0
- package/dist/pages/candidateFields.js.map +1 -0
- package/dist/pages/dashboard/DashboardPage.d.ts +2 -0
- package/dist/pages/dashboard/DashboardPage.d.ts.map +1 -0
- package/dist/pages/dashboard/DashboardPage.js +40 -0
- package/dist/pages/dashboard/DashboardPage.js.map +1 -0
- package/dist/pages/dashboard/attention.d.ts +41 -0
- package/dist/pages/dashboard/attention.d.ts.map +1 -0
- package/dist/pages/dashboard/attention.js +146 -0
- package/dist/pages/dashboard/attention.js.map +1 -0
- package/dist/pages/dashboard/sections.d.ts +20 -0
- package/dist/pages/dashboard/sections.d.ts.map +1 -0
- package/dist/pages/dashboard/sections.js +60 -0
- package/dist/pages/dashboard/sections.js.map +1 -0
- package/dist/pages/fields.d.ts +11 -0
- package/dist/pages/fields.d.ts.map +1 -0
- package/dist/pages/fields.js +17 -0
- package/dist/pages/fields.js.map +1 -0
- package/dist/pages/forms/EmbedPanel.d.ts +14 -0
- package/dist/pages/forms/EmbedPanel.d.ts.map +1 -0
- package/dist/pages/forms/EmbedPanel.js +19 -0
- package/dist/pages/forms/EmbedPanel.js.map +1 -0
- package/dist/pages/forms/FieldsEditor.d.ts +6 -0
- package/dist/pages/forms/FieldsEditor.d.ts.map +1 -0
- package/dist/pages/forms/FieldsEditor.js +115 -0
- package/dist/pages/forms/FieldsEditor.js.map +1 -0
- package/dist/pages/forms/FormSettings.d.ts +6 -0
- package/dist/pages/forms/FormSettings.d.ts.map +1 -0
- package/dist/pages/forms/FormSettings.js +47 -0
- package/dist/pages/forms/FormSettings.js.map +1 -0
- package/dist/pages/forms/SubmissionsTable.d.ts +8 -0
- package/dist/pages/forms/SubmissionsTable.d.ts.map +1 -0
- package/dist/pages/forms/SubmissionsTable.js +91 -0
- package/dist/pages/forms/SubmissionsTable.js.map +1 -0
- package/dist/pages/forms/fieldList.d.ts +70 -0
- package/dist/pages/forms/fieldList.d.ts.map +1 -0
- package/dist/pages/forms/fieldList.js +126 -0
- package/dist/pages/forms/fieldList.js.map +1 -0
- package/dist/pages/forms/template.d.ts +18 -0
- package/dist/pages/forms/template.d.ts.map +1 -0
- package/dist/pages/forms/template.js +34 -0
- package/dist/pages/forms/template.js.map +1 -0
- package/dist/pages/handbook/HandbookPage.d.ts +2 -0
- package/dist/pages/handbook/HandbookPage.d.ts.map +1 -0
- package/dist/pages/handbook/HandbookPage.js +197 -0
- package/dist/pages/handbook/HandbookPage.js.map +1 -0
- package/dist/pages/handbook/tree.d.ts +62 -0
- package/dist/pages/handbook/tree.d.ts.map +1 -0
- package/dist/pages/handbook/tree.js +222 -0
- package/dist/pages/handbook/tree.js.map +1 -0
- package/dist/pages/hiringDirectory.d.ts +60 -0
- package/dist/pages/hiringDirectory.d.ts.map +1 -0
- package/dist/pages/hiringDirectory.js +81 -0
- package/dist/pages/hiringDirectory.js.map +1 -0
- package/dist/pages/onboarding/HandbookStepPage.d.ts +14 -0
- package/dist/pages/onboarding/HandbookStepPage.d.ts.map +1 -0
- package/dist/pages/onboarding/HandbookStepPage.js +29 -0
- package/dist/pages/onboarding/HandbookStepPage.js.map +1 -0
- package/dist/pages/onboarding/InvitesStepPage.d.ts +2 -0
- package/dist/pages/onboarding/InvitesStepPage.d.ts.map +1 -0
- package/dist/pages/onboarding/InvitesStepPage.js +77 -0
- package/dist/pages/onboarding/InvitesStepPage.js.map +1 -0
- package/dist/pages/onboarding/WorkspaceStepPage.d.ts +2 -0
- package/dist/pages/onboarding/WorkspaceStepPage.d.ts.map +1 -0
- package/dist/pages/onboarding/WorkspaceStepPage.js +72 -0
- package/dist/pages/onboarding/WorkspaceStepPage.js.map +1 -0
- package/dist/pages/positionDirectory.d.ts +20 -0
- package/dist/pages/positionDirectory.d.ts.map +1 -0
- package/dist/pages/positionDirectory.js +58 -0
- package/dist/pages/positionDirectory.js.map +1 -0
- package/dist/registry/UiExtensionProvider.d.ts +12 -0
- package/dist/registry/UiExtensionProvider.d.ts.map +1 -0
- package/dist/registry/UiExtensionProvider.js +10 -0
- package/dist/registry/UiExtensionProvider.js.map +1 -0
- package/dist/registry/context.d.ts +31 -0
- package/dist/registry/context.d.ts.map +1 -0
- package/dist/registry/context.js +45 -0
- package/dist/registry/context.js.map +1 -0
- package/dist/registry/contributions.d.ts +71 -0
- package/dist/registry/contributions.d.ts.map +1 -0
- package/dist/registry/contributions.js +25 -0
- package/dist/registry/contributions.js.map +1 -0
- package/dist/registry/overridable.d.ts +27 -0
- package/dist/registry/overridable.d.ts.map +1 -0
- package/dist/registry/overridable.js +29 -0
- package/dist/registry/overridable.js.map +1 -0
- package/dist/registry/registry.d.ts +68 -0
- package/dist/registry/registry.d.ts.map +1 -0
- package/dist/registry/registry.js +112 -0
- package/dist/registry/registry.js.map +1 -0
- package/dist/testing/inputs.d.ts +13 -0
- package/dist/testing/inputs.d.ts.map +1 -0
- package/dist/testing/inputs.js +16 -0
- package/dist/testing/inputs.js.map +1 -0
- package/dist/testing/stubClient.d.ts +42 -0
- package/dist/testing/stubClient.d.ts.map +1 -0
- package/dist/testing/stubClient.js +29 -0
- package/dist/testing/stubClient.js.map +1 -0
- package/package.json +73 -0
- package/src/ServiceStatus.tsx +61 -0
- package/src/api/ApiProvider.tsx +40 -0
- package/src/api/client.ts +267 -0
- package/src/api/context.ts +25 -0
- package/src/api/errors.ts +14 -0
- package/src/api/health.ts +38 -0
- package/src/api/json.ts +4 -0
- package/src/api/queryClient.ts +35 -0
- package/src/api/resource.ts +412 -0
- package/src/api/resources/account.ts +220 -0
- package/src/api/resources/activities.ts +31 -0
- package/src/api/resources/agentTasks.ts +172 -0
- package/src/api/resources/candidates.ts +69 -0
- package/src/api/resources/companies.ts +72 -0
- package/src/api/resources/dashboard.ts +39 -0
- package/src/api/resources/deals.ts +82 -0
- package/src/api/resources/decisions.ts +60 -0
- package/src/api/resources/forms.ts +218 -0
- package/src/api/resources/handbookPages.ts +77 -0
- package/src/api/resources/importJobs.ts +229 -0
- package/src/api/resources/invites.ts +112 -0
- package/src/api/resources/mcpTools.ts +28 -0
- package/src/api/resources/members.ts +105 -0
- package/src/api/resources/moduleSettings.ts +67 -0
- package/src/api/resources/mutation.ts +31 -0
- package/src/api/resources/notes.ts +62 -0
- package/src/api/resources/opportunities.ts +84 -0
- package/src/api/resources/partnerships.ts +89 -0
- package/src/api/resources/people.ts +72 -0
- package/src/api/resources/pipelineStages.ts +93 -0
- package/src/api/resources/planItems.ts +103 -0
- package/src/api/resources/positions.ts +70 -0
- package/src/api/resources/raises.ts +82 -0
- package/src/api/resources/roles.ts +65 -0
- package/src/api/resources/search.ts +49 -0
- package/src/api/resources/session.ts +220 -0
- package/src/api/resources/webhooks.ts +157 -0
- package/src/api/resources/workspace.ts +81 -0
- package/src/app/KelpieApp.tsx +162 -0
- package/src/app/SessionGate.tsx +42 -0
- package/src/components/ActivitiesPanel.tsx +235 -0
- package/src/components/AgentTasks.tsx +473 -0
- package/src/components/Chip.tsx +36 -0
- package/src/components/CopyButton.tsx +48 -0
- package/src/components/DataTable.tsx +209 -0
- package/src/components/DecisionsPanel.tsx +233 -0
- package/src/components/DeleteRecord.tsx +73 -0
- package/src/components/EntitySearch.tsx +268 -0
- package/src/components/ErrorBoundary.tsx +58 -0
- package/src/components/InlineEdit.tsx +179 -0
- package/src/components/KanbanBoard.tsx +234 -0
- package/src/components/MarkdownView.tsx +73 -0
- package/src/components/NotesPanel.tsx +169 -0
- package/src/components/PageHeader.tsx +61 -0
- package/src/components/PhonesField.tsx +204 -0
- package/src/components/PlanAttention.tsx +249 -0
- package/src/components/PlanPanel.tsx +317 -0
- package/src/components/QueryState.tsx +83 -0
- package/src/components/RecordTabs.tsx +69 -0
- package/src/components/SectionHeader.tsx +63 -0
- package/src/components/SegmentedControl.tsx +48 -0
- package/src/components/Shell.tsx +300 -0
- package/src/components/SidebarField.tsx +18 -0
- package/src/components/SocialProfilesField.tsx +356 -0
- package/src/components/StageSettings.tsx +319 -0
- package/src/components/SummaryBlock.tsx +27 -0
- package/src/index.ts +190 -0
- package/src/lib/dates.ts +90 -0
- package/src/lib/money.ts +12 -0
- package/src/lib/names.ts +13 -0
- package/src/lib/plan.ts +147 -0
- package/src/lib/theme.ts +53 -0
- package/src/pages/CompaniesPage.tsx +143 -0
- package/src/pages/CompanyDetail.tsx +502 -0
- package/src/pages/DealDetail.tsx +512 -0
- package/src/pages/DealStageSettingsPage.tsx +67 -0
- package/src/pages/DealsPage.tsx +342 -0
- package/src/pages/DecisionsPage.tsx +211 -0
- package/src/pages/FormDetail.tsx +130 -0
- package/src/pages/FormsPage.tsx +151 -0
- package/src/pages/FundraisingPage.tsx +354 -0
- package/src/pages/HiringPage.tsx +169 -0
- package/src/pages/NotFoundPage.tsx +27 -0
- package/src/pages/OpportunitiesPage.tsx +349 -0
- package/src/pages/OpportunityDetail.tsx +337 -0
- package/src/pages/OpportunityStageSettingsPage.tsx +63 -0
- package/src/pages/PartnershipDetail.tsx +490 -0
- package/src/pages/PartnershipStageSettingsPage.tsx +63 -0
- package/src/pages/PartnershipsPage.tsx +353 -0
- package/src/pages/PeoplePage.tsx +145 -0
- package/src/pages/PersonDetail.tsx +526 -0
- package/src/pages/PlanningPage.tsx +318 -0
- package/src/pages/RaiseDetail.tsx +498 -0
- package/src/pages/RaiseStageSettingsPage.tsx +63 -0
- package/src/pages/RoleDetail.tsx +455 -0
- package/src/pages/SearchPage.tsx +135 -0
- package/src/pages/account/AccountLayout.tsx +38 -0
- package/src/pages/account/Field.tsx +20 -0
- package/src/pages/account/PreferencesPage.tsx +224 -0
- package/src/pages/account/ProfilePage.tsx +147 -0
- package/src/pages/account/SecurityPage.tsx +237 -0
- package/src/pages/admin/DataPage.tsx +772 -0
- package/src/pages/admin/McpPage.tsx +404 -0
- package/src/pages/admin/ModulesPage.tsx +113 -0
- package/src/pages/admin/TeamPage.tsx +386 -0
- package/src/pages/admin/WebhookDeliveries.tsx +184 -0
- package/src/pages/admin/WebhooksPage.tsx +443 -0
- package/src/pages/admin/WorkspaceSettingsPage.tsx +274 -0
- package/src/pages/auth/AuthForm.tsx +118 -0
- package/src/pages/auth/AuthLayout.tsx +74 -0
- package/src/pages/auth/ForgotPasswordPage.tsx +80 -0
- package/src/pages/auth/JoinPage.tsx +85 -0
- package/src/pages/auth/ResetPasswordPage.tsx +124 -0
- package/src/pages/auth/SignInPage.tsx +83 -0
- package/src/pages/auth/SignUpPage.tsx +93 -0
- package/src/pages/candidateFields.tsx +175 -0
- package/src/pages/dashboard/DashboardPage.tsx +108 -0
- package/src/pages/dashboard/attention.ts +206 -0
- package/src/pages/dashboard/sections.tsx +269 -0
- package/src/pages/fields.ts +21 -0
- package/src/pages/forms/EmbedPanel.tsx +95 -0
- package/src/pages/forms/FieldsEditor.tsx +412 -0
- package/src/pages/forms/FormSettings.tsx +159 -0
- package/src/pages/forms/SubmissionsTable.tsx +171 -0
- package/src/pages/forms/fieldList.ts +209 -0
- package/src/pages/forms/template.ts +37 -0
- package/src/pages/handbook/HandbookPage.tsx +500 -0
- package/src/pages/handbook/tree.ts +327 -0
- package/src/pages/hiringDirectory.ts +146 -0
- package/src/pages/onboarding/HandbookStepPage.tsx +75 -0
- package/src/pages/onboarding/InvitesStepPage.tsx +180 -0
- package/src/pages/onboarding/WorkspaceStepPage.tsx +122 -0
- package/src/pages/positionDirectory.ts +98 -0
- package/src/registry/UiExtensionProvider.tsx +20 -0
- package/src/registry/context.ts +67 -0
- package/src/registry/contributions.ts +89 -0
- package/src/registry/overridable.ts +62 -0
- package/src/registry/registry.ts +204 -0
- package/src/styles.css +175 -0
- package/src/testing/inputs.ts +18 -0
- package/src/testing/stubClient.ts +78 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Member, MemberRole } from '@kelpie/schemas';
|
|
2
|
+
import type { MutationResult } from '../resource.ts';
|
|
3
|
+
/**
|
|
4
|
+
* The workspace's team, for resolving an id to a name.
|
|
5
|
+
*
|
|
6
|
+
* Not built on `createResourceHooks`: the path carries the workspace id, and the
|
|
7
|
+
* endpoint answers the whole team in one page rather than a cursor list.
|
|
8
|
+
*
|
|
9
|
+
* Notes carry an `author_id` and activities an `actor_member_id`, both workspace
|
|
10
|
+
* member ids. `api.md` has no include-expansion, so the panel showing them joins
|
|
11
|
+
* against this list. One request per page, not one per row.
|
|
12
|
+
*/
|
|
13
|
+
export interface MemberDirectory {
|
|
14
|
+
readonly members: readonly Member[];
|
|
15
|
+
/** Member id to display name. Every panel that shows an actor wants exactly this. */
|
|
16
|
+
readonly nameById: ReadonlyMap<string, string>;
|
|
17
|
+
readonly isLoading: boolean;
|
|
18
|
+
readonly error: Error | null;
|
|
19
|
+
}
|
|
20
|
+
export declare function useMembers(): MemberDirectory;
|
|
21
|
+
export interface SetMemberRoleArguments {
|
|
22
|
+
readonly memberId: string;
|
|
23
|
+
readonly role: MemberRole;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Changes a member's role, or hands them ownership.
|
|
27
|
+
*
|
|
28
|
+
* Both invalidate the session as well as the list: a role change that lands on
|
|
29
|
+
* the caller changes what the app should offer them, and a transfer always lands
|
|
30
|
+
* on the caller.
|
|
31
|
+
*/
|
|
32
|
+
export declare function useSetMemberRole(): MutationResult<SetMemberRoleArguments, Member>;
|
|
33
|
+
/**
|
|
34
|
+
* Removes somebody from the workspace.
|
|
35
|
+
*
|
|
36
|
+
* Records they own are the API's business, not this hook's: it answers `409`
|
|
37
|
+
* naming every type still pointing at them, and the page shows that.
|
|
38
|
+
*/
|
|
39
|
+
export declare function useRemoveMember(): MutationResult<string, void>;
|
|
40
|
+
//# sourceMappingURL=members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/api/resources/members.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAKzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIpD;;;;;;;;;GASG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC7B;AAED,wBAAgB,UAAU,IAAI,eAAe,CAqB5C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAmBjF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAa9D"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { memberSchema, updateMemberRoleBody } from '@kelpie/schemas';
|
|
2
|
+
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
3
|
+
import { useApiClient } from '../context.js';
|
|
4
|
+
import { toError } from '../errors.js';
|
|
5
|
+
import { asMutationResult } from './mutation.js';
|
|
6
|
+
import { useSession } from './session.js';
|
|
7
|
+
export function useMembers() {
|
|
8
|
+
const client = useApiClient();
|
|
9
|
+
const { session } = useSession();
|
|
10
|
+
const workspaceId = session?.workspaceId ?? undefined;
|
|
11
|
+
const result = useQuery({
|
|
12
|
+
queryKey: ['members', workspaceId],
|
|
13
|
+
queryFn: () => client.list(`/workspaces/${workspaceId ?? ''}/members`, memberSchema.parse),
|
|
14
|
+
enabled: workspaceId !== undefined,
|
|
15
|
+
// The team changes when someone is invited, which is rare and never during
|
|
16
|
+
// the render of a timeline.
|
|
17
|
+
staleTime: 5 * 60 * 1000,
|
|
18
|
+
});
|
|
19
|
+
const members = result.data?.items ?? [];
|
|
20
|
+
return {
|
|
21
|
+
members,
|
|
22
|
+
nameById: new Map(members.map((member) => [member.id, member.name])),
|
|
23
|
+
isLoading: result.isPending && workspaceId !== undefined,
|
|
24
|
+
error: toError(result.error),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Changes a member's role, or hands them ownership.
|
|
29
|
+
*
|
|
30
|
+
* Both invalidate the session as well as the list: a role change that lands on
|
|
31
|
+
* the caller changes what the app should offer them, and a transfer always lands
|
|
32
|
+
* on the caller.
|
|
33
|
+
*/
|
|
34
|
+
export function useSetMemberRole() {
|
|
35
|
+
const client = useApiClient();
|
|
36
|
+
const queryClient = useQueryClient();
|
|
37
|
+
const { session } = useSession();
|
|
38
|
+
const workspaceId = session?.workspaceId ?? '';
|
|
39
|
+
const mutation = useMutation({
|
|
40
|
+
mutationFn: ({ memberId, role }) => client.patch(`/workspaces/${workspaceId}/members/${memberId}`, updateMemberRoleBody({ role }), memberSchema.parse),
|
|
41
|
+
onSuccess: async () => {
|
|
42
|
+
await queryClient.invalidateQueries({ queryKey: ['members', workspaceId] });
|
|
43
|
+
await queryClient.invalidateQueries({ queryKey: ['session'] });
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
return asMutationResult(mutation);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Removes somebody from the workspace.
|
|
50
|
+
*
|
|
51
|
+
* Records they own are the API's business, not this hook's: it answers `409`
|
|
52
|
+
* naming every type still pointing at them, and the page shows that.
|
|
53
|
+
*/
|
|
54
|
+
export function useRemoveMember() {
|
|
55
|
+
const client = useApiClient();
|
|
56
|
+
const queryClient = useQueryClient();
|
|
57
|
+
const { session } = useSession();
|
|
58
|
+
const workspaceId = session?.workspaceId ?? '';
|
|
59
|
+
const mutation = useMutation({
|
|
60
|
+
mutationFn: (memberId) => client.delete(`/workspaces/${workspaceId}/members/${memberId}`),
|
|
61
|
+
onSuccess: async () => {
|
|
62
|
+
await queryClient.invalidateQueries({ queryKey: ['members', workspaceId] });
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
return asMutationResult(mutation);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../../src/api/resources/members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAEpE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAqBzC,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,SAAS,CAAA;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC;QACtB,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,CACZ,MAAM,CAAC,IAAI,CAAC,eAAe,WAAW,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC;QAC7E,OAAO,EAAE,WAAW,KAAK,SAAS;QAClC,2EAA2E;QAC3E,4BAA4B;QAC5B,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;KACzB,CAAC,CAAA;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAA;IAExC,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACpE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,WAAW,KAAK,SAAS;QACxD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAA;AACH,CAAC;AAOD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAA0B,EAAE,EAAE,CACzD,MAAM,CAAC,KAAK,CACV,eAAe,WAAW,YAAY,QAAQ,EAAE,EAChD,oBAAoB,CAAC,EAAE,IAAI,EAAE,CAAC,EAC9B,YAAY,CAAC,KAAK,CACnB;QACH,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;YAC3E,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAChE,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,WAAW,YAAY,QAAQ,EAAE,CAAC;QACjG,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;QAC7E,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ModuleSetting } from '@kelpie/schemas';
|
|
2
|
+
import type { MutationResult } from '../resource.ts';
|
|
3
|
+
export interface ModuleSettingsState {
|
|
4
|
+
readonly settings: readonly ModuleSetting[];
|
|
5
|
+
readonly isLoading: boolean;
|
|
6
|
+
readonly error: Error | null;
|
|
7
|
+
}
|
|
8
|
+
export declare function useModuleSettings(): ModuleSettingsState;
|
|
9
|
+
export interface SetModuleEnabledArguments {
|
|
10
|
+
readonly moduleId: string;
|
|
11
|
+
readonly enabled: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function useSetModuleEnabled(): MutationResult<SetModuleEnabledArguments, ModuleSetting>;
|
|
14
|
+
//# sourceMappingURL=moduleSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moduleSettings.d.ts","sourceRoot":"","sources":["../../../src/api/resources/moduleSettings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAKpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAcpD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAC7B;AAED,wBAAgB,iBAAiB,IAAI,mBAAmB,CAevD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,mBAAmB,IAAI,cAAc,CAAC,yBAAyB,EAAE,aAAa,CAAC,CAkB9F"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { moduleSettingSchema, updateModuleSettingBody } from '@kelpie/schemas';
|
|
2
|
+
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
|
3
|
+
import { useApiClient } from '../context.js';
|
|
4
|
+
import { toError } from '../errors.js';
|
|
5
|
+
import { asMutationResult } from './mutation.js';
|
|
6
|
+
import { useSession } from './session.js';
|
|
7
|
+
/**
|
|
8
|
+
* `/v1/workspaces/:id/modules`: which optional modules this workspace has on.
|
|
9
|
+
*
|
|
10
|
+
* Not built on `createResourceHooks`: there is no create or delete, the path
|
|
11
|
+
* carries the workspace id, and the endpoint answers every toggleable module in
|
|
12
|
+
* one page rather than a cursor list.
|
|
13
|
+
*/
|
|
14
|
+
const MODULE_SETTINGS_KEY = 'module-settings';
|
|
15
|
+
export function useModuleSettings() {
|
|
16
|
+
const client = useApiClient();
|
|
17
|
+
const { session } = useSession();
|
|
18
|
+
const workspaceId = session?.workspaceId ?? undefined;
|
|
19
|
+
const result = useQuery({
|
|
20
|
+
queryKey: [MODULE_SETTINGS_KEY, workspaceId],
|
|
21
|
+
queryFn: () => client.list(`/workspaces/${workspaceId ?? ''}/modules`, moduleSettingSchema.parse),
|
|
22
|
+
enabled: workspaceId !== undefined,
|
|
23
|
+
});
|
|
24
|
+
return {
|
|
25
|
+
settings: result.data?.items ?? [],
|
|
26
|
+
isLoading: result.isPending && workspaceId !== undefined,
|
|
27
|
+
error: toError(result.error),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function useSetModuleEnabled() {
|
|
31
|
+
const client = useApiClient();
|
|
32
|
+
const queryClient = useQueryClient();
|
|
33
|
+
const { session } = useSession();
|
|
34
|
+
const workspaceId = session?.workspaceId ?? '';
|
|
35
|
+
const mutation = useMutation({
|
|
36
|
+
mutationFn: ({ moduleId, enabled }) => client.patch(`/workspaces/${workspaceId}/modules/${moduleId}`, updateModuleSettingBody({ enabled }), moduleSettingSchema.parse),
|
|
37
|
+
onSuccess: async () => {
|
|
38
|
+
await queryClient.invalidateQueries({ queryKey: [MODULE_SETTINGS_KEY, workspaceId] });
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
return asMutationResult(mutation);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=moduleSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moduleSettings.js","sourceRoot":"","sources":["../../../src/api/resources/moduleSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAE9E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE7E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC;;;;;;GAMG;AAEH,MAAM,mBAAmB,GAAG,iBAAiB,CAAA;AAQ7C,MAAM,UAAU,iBAAiB;IAC/B,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,SAAS,CAAA;IACrD,MAAM,MAAM,GAAG,QAAQ,CAAC;QACtB,QAAQ,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC;QAC5C,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,WAAW,IAAI,EAAE,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC;QACjG,OAAO,EAAE,WAAW,KAAK,SAAS;KACnC,CAAC,CAAA;IAEF,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QAClC,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,WAAW,KAAK,SAAS;QACxD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;KAC7B,CAAA;AACH,CAAC;AAOD,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA6B,EAAE,EAAE,CAC/D,MAAM,CAAC,KAAK,CACV,eAAe,WAAW,YAAY,QAAQ,EAAE,EAChD,uBAAuB,CAAC,EAAE,OAAO,EAAE,CAAC,EACpC,mBAAmB,CAAC,KAAK,CAC1B;QACH,SAAS,EAAE,KAAK,IAAI,EAAE;YACpB,MAAM,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC,CAAA;QACvF,CAAC;KACF,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { MutationResult } from '../resource.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Adapts one TanStack mutation to the `MutationResult` pages consume.
|
|
4
|
+
*
|
|
5
|
+
* `createResourceHooks` does this for the five CRM verbs. The endpoints that are
|
|
6
|
+
* not a CRM collection — the session, the workspace, membership, invitations —
|
|
7
|
+
* still hand pages the same three fields, so a page never learns which kind of
|
|
8
|
+
* hook it is calling.
|
|
9
|
+
*/
|
|
10
|
+
interface MutationLike<TInput, TOutput> {
|
|
11
|
+
mutate: (input: TInput) => void;
|
|
12
|
+
mutateAsync: (input: TInput) => Promise<TOutput>;
|
|
13
|
+
isPending: boolean;
|
|
14
|
+
error: unknown;
|
|
15
|
+
}
|
|
16
|
+
export declare function asMutationResult<TInput, TOutput>(mutation: MutationLike<TInput, TOutput>): MutationResult<TInput, TOutput>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=mutation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.d.ts","sourceRoot":"","sources":["../../../src/api/resources/mutation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD;;;;;;;GAOG;AAEH,UAAU,YAAY,CAAC,MAAM,EAAE,OAAO;IACpC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAChD,SAAS,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,OAAO,CAAA;CACf;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAC9C,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CASjC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { toError } from '../errors.js';
|
|
2
|
+
export function asMutationResult(mutation) {
|
|
3
|
+
return {
|
|
4
|
+
run: (input) => {
|
|
5
|
+
mutation.mutate(input);
|
|
6
|
+
},
|
|
7
|
+
runAsync: (input) => mutation.mutateAsync(input),
|
|
8
|
+
isPending: mutation.isPending,
|
|
9
|
+
error: toError(mutation.error),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation.js","sourceRoot":"","sources":["../../../src/api/resources/mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAmBtC,MAAM,UAAU,gBAAgB,CAC9B,QAAuC;IAEvC,OAAO;QACL,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;YACb,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAChD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC/B,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CreateNoteInput, Note, NoteInput, RecordTargetType } from '@kelpie/schemas';
|
|
2
|
+
import type { ListOptions, MutationResult, RecordListResult, UpdateArguments } from '../resource.ts';
|
|
3
|
+
export interface NoteFilters {
|
|
4
|
+
readonly targetType: RecordTargetType;
|
|
5
|
+
/** Notes on any of these records. Repeats on the wire; all one target type. */
|
|
6
|
+
readonly targetIds: readonly string[];
|
|
7
|
+
readonly pinned?: boolean;
|
|
8
|
+
readonly limit?: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function useNotes(filters: NoteFilters, options?: ListOptions): RecordListResult<Note>;
|
|
11
|
+
export declare function useCreateNote(): MutationResult<CreateNoteInput, Note>;
|
|
12
|
+
export declare function useUpdateNote(): MutationResult<UpdateArguments<NoteInput>, Note>;
|
|
13
|
+
export declare function useDeleteNote(): MutationResult<string, void>;
|
|
14
|
+
//# sourceMappingURL=notes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notes.d.ts","sourceRoot":"","sources":["../../../src/api/resources/notes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAIzF,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAoBvB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAWD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,GAAE,WAAgB,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAEhG;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,CAErE;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAEhF;AAED,wBAAgB,aAAa,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE5D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createNoteBody, noteBody, noteSchema } from '@kelpie/schemas';
|
|
2
|
+
import { createResourceHooks } from '../resource.js';
|
|
3
|
+
/**
|
|
4
|
+
* `/v1/notes`, attachable to any CRM record.
|
|
5
|
+
*
|
|
6
|
+
* A note list always names its records. There is no workspace-wide note list on
|
|
7
|
+
* the API, so there is no hook for one here.
|
|
8
|
+
*/
|
|
9
|
+
const notes = createResourceHooks({
|
|
10
|
+
name: 'notes',
|
|
11
|
+
path: '/notes',
|
|
12
|
+
decode: noteSchema.parse,
|
|
13
|
+
createBody: createNoteBody,
|
|
14
|
+
updateBody: noteBody,
|
|
15
|
+
// Writing a note writes a `note_added` activity on the same record, so a
|
|
16
|
+
// timeline rendered beside the panel is stale the moment a note is added.
|
|
17
|
+
alsoInvalidates: ['activities'],
|
|
18
|
+
});
|
|
19
|
+
function noteQuery(filters) {
|
|
20
|
+
return {
|
|
21
|
+
target_type: filters.targetType,
|
|
22
|
+
target_id: filters.targetIds,
|
|
23
|
+
pinned: filters.pinned,
|
|
24
|
+
limit: filters.limit,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function useNotes(filters, options = {}) {
|
|
28
|
+
return notes.useList(noteQuery(filters), options);
|
|
29
|
+
}
|
|
30
|
+
export function useCreateNote() {
|
|
31
|
+
return notes.useCreate();
|
|
32
|
+
}
|
|
33
|
+
export function useUpdateNote() {
|
|
34
|
+
return notes.useUpdate();
|
|
35
|
+
}
|
|
36
|
+
export function useDeleteNote() {
|
|
37
|
+
return notes.useRemove();
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=notes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notes.js","sourceRoot":"","sources":["../../../src/api/resources/notes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAItE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAQpD;;;;;GAKG;AAEH,MAAM,KAAK,GAAG,mBAAmB,CAAmC;IAClE,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU,CAAC,KAAK;IACxB,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,QAAQ;IACpB,yEAAyE;IACzE,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAUF,SAAS,SAAS,CAAC,OAAoB;IACrC,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,UAAU;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAoB,EAAE,OAAO,GAAgB,EAAE;IACtE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACnD,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC,SAAS,EAAE,CAAA;AAC1B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Opportunity, OpportunityInput } from '@kelpie/schemas';
|
|
2
|
+
import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
|
|
3
|
+
/**
|
|
4
|
+
* `/v1/opportunities`. Create needs only a name; the API lands the opportunity
|
|
5
|
+
* in the pipeline's first open stage and hands it to the caller as owner.
|
|
6
|
+
*/
|
|
7
|
+
export interface CreateOpportunityInput extends OpportunityInput {
|
|
8
|
+
readonly name: string;
|
|
9
|
+
}
|
|
10
|
+
/** The documented filters on `GET /v1/opportunities`. */
|
|
11
|
+
export interface OpportunityFilters {
|
|
12
|
+
/** Matches the opportunity's name, kind, summary, tags, and its company's name. */
|
|
13
|
+
readonly term?: string;
|
|
14
|
+
/** Exact kinds ("Grant", "Accelerator", …). Repeats on the wire. */
|
|
15
|
+
readonly kinds?: readonly string[];
|
|
16
|
+
/** Opportunities at any of these companies. Repeats on the wire. */
|
|
17
|
+
readonly companyIds?: readonly string[];
|
|
18
|
+
/** Opportunities sitting in any of these stages. Repeats on the wire. */
|
|
19
|
+
readonly stageIds?: readonly string[];
|
|
20
|
+
readonly limit?: number;
|
|
21
|
+
/** `field` ascending, `-field` descending. Only `name`, `created_at`, `updated_at` are sortable. */
|
|
22
|
+
readonly sort?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function useOpportunities(filters?: OpportunityFilters, options?: ListOptions): RecordListResult<Opportunity>;
|
|
25
|
+
export declare function useOpportunity(id: string | undefined): RecordResult<Opportunity>;
|
|
26
|
+
export declare function useCreateOpportunity(): MutationResult<CreateOpportunityInput, Opportunity>;
|
|
27
|
+
export declare function useUpdateOpportunity(): MutationResult<UpdateArguments<OpportunityInput>, Opportunity>;
|
|
28
|
+
export declare function useDeleteOpportunity(): MutationResult<string, void>;
|
|
29
|
+
//# sourceMappingURL=opportunities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunities.d.ts","sourceRoot":"","sources":["../../../src/api/resources/opportunities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;GAGG;AAEH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAaD,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,oEAAoE;IACpE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAaD,wBAAgB,gBAAgB,CAC9B,OAAO,GAAE,kBAAuB,EAChC,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,WAAW,CAAC,CAE/B;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAEhF;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAE1F;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CACpD,eAAe,CAAC,gBAAgB,CAAC,EACjC,WAAW,CACZ,CAEA;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEnE"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { opportunityBody, opportunitySchema } from '@kelpie/schemas';
|
|
2
|
+
import { createResourceHooks } from '../resource.js';
|
|
3
|
+
const opportunities = createResourceHooks({
|
|
4
|
+
name: 'opportunities',
|
|
5
|
+
path: '/opportunities',
|
|
6
|
+
decode: opportunitySchema.parse,
|
|
7
|
+
createBody: opportunityBody,
|
|
8
|
+
updateBody: opportunityBody,
|
|
9
|
+
// Every write here emits an activity server-side, in the same transaction, so
|
|
10
|
+
// a timeline rendered on this record is stale the moment the write lands.
|
|
11
|
+
alsoInvalidates: ['activities'],
|
|
12
|
+
});
|
|
13
|
+
function opportunityQuery(filters) {
|
|
14
|
+
return {
|
|
15
|
+
q: filters.term,
|
|
16
|
+
kind: filters.kinds,
|
|
17
|
+
company_id: filters.companyIds,
|
|
18
|
+
stage_id: filters.stageIds,
|
|
19
|
+
limit: filters.limit,
|
|
20
|
+
sort: filters.sort,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export function useOpportunities(filters = {}, options = {}) {
|
|
24
|
+
return opportunities.useList(opportunityQuery(filters), options);
|
|
25
|
+
}
|
|
26
|
+
export function useOpportunity(id) {
|
|
27
|
+
return opportunities.useRecord(id);
|
|
28
|
+
}
|
|
29
|
+
export function useCreateOpportunity() {
|
|
30
|
+
return opportunities.useCreate();
|
|
31
|
+
}
|
|
32
|
+
export function useUpdateOpportunity() {
|
|
33
|
+
return opportunities.useUpdate();
|
|
34
|
+
}
|
|
35
|
+
export function useDeleteOpportunity() {
|
|
36
|
+
return opportunities.useRemove();
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=opportunities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opportunities.js","sourceRoot":"","sources":["../../../src/api/resources/opportunities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAkBpD,MAAM,aAAa,GAAG,mBAAmB,CAAwD;IAC/F,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,iBAAiB,CAAC,KAAK;IAC/B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,8EAA8E;IAC9E,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAiBF,SAAS,gBAAgB,CAAC,OAA2B;IACnD,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,IAAI,EAAE,OAAO,CAAC,KAAK;QACnB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAAO,GAAuB,EAAE,EAChC,OAAO,GAAgB,EAAE;IAEzB,OAAO,aAAa,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAsB;IACnD,OAAO,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAIlC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,aAAa,CAAC,SAAS,EAAE,CAAA;AAClC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Partnership, PartnershipInput } from '@kelpie/schemas';
|
|
2
|
+
import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
|
|
3
|
+
/**
|
|
4
|
+
* `/v1/partnerships`. Create needs a name and a company; the API lands the
|
|
5
|
+
* partnership in the pipeline's first open stage and hands it to the caller as
|
|
6
|
+
* owner.
|
|
7
|
+
*/
|
|
8
|
+
export interface CreatePartnershipInput extends PartnershipInput {
|
|
9
|
+
readonly name: string;
|
|
10
|
+
readonly companyId: string;
|
|
11
|
+
}
|
|
12
|
+
/** The documented filters on `GET /v1/partnerships`. */
|
|
13
|
+
export interface PartnershipFilters {
|
|
14
|
+
/** Matches the partnership's name, kind, summary, tags, and its company's name. */
|
|
15
|
+
readonly term?: string;
|
|
16
|
+
/** Exact kinds ("Integration", "Co-marketing", …). Repeats on the wire. */
|
|
17
|
+
readonly kinds?: readonly string[];
|
|
18
|
+
/** Partnerships with any of these companies. Repeats on the wire. */
|
|
19
|
+
readonly companyIds?: readonly string[];
|
|
20
|
+
/** Partnerships sitting in any of these stages. Repeats on the wire. */
|
|
21
|
+
readonly stageIds?: readonly string[];
|
|
22
|
+
/** Partnerships any of these people are on. Repeats on the wire. */
|
|
23
|
+
readonly personIds?: readonly string[];
|
|
24
|
+
readonly limit?: number;
|
|
25
|
+
/** `field` ascending, `-field` descending. Only `name`, `created_at`, `updated_at` are sortable. */
|
|
26
|
+
readonly sort?: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function usePartnerships(filters?: PartnershipFilters, options?: ListOptions): RecordListResult<Partnership>;
|
|
29
|
+
export declare function usePartnership(id: string | undefined): RecordResult<Partnership>;
|
|
30
|
+
export declare function useCreatePartnership(): MutationResult<CreatePartnershipInput, Partnership>;
|
|
31
|
+
export declare function useUpdatePartnership(): MutationResult<UpdateArguments<PartnershipInput>, Partnership>;
|
|
32
|
+
export declare function useDeletePartnership(): MutationResult<string, void>;
|
|
33
|
+
//# sourceMappingURL=partnerships.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partnerships.d.ts","sourceRoot":"","sources":["../../../src/api/resources/partnerships.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB;;;;GAIG;AAEH,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAaD,wDAAwD;AACxD,MAAM,WAAW,kBAAkB;IACjC,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,qEAAqE;IACrE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,oEAAoE;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAcD,wBAAgB,eAAe,CAC7B,OAAO,GAAE,kBAAuB,EAChC,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,WAAW,CAAC,CAE/B;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAEhF;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAE1F;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CACpD,eAAe,CAAC,gBAAgB,CAAC,EACjC,WAAW,CACZ,CAEA;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAEnE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { partnershipBody, partnershipSchema } from '@kelpie/schemas';
|
|
2
|
+
import { createResourceHooks } from '../resource.js';
|
|
3
|
+
const partnerships = createResourceHooks({
|
|
4
|
+
name: 'partnerships',
|
|
5
|
+
path: '/partnerships',
|
|
6
|
+
decode: partnershipSchema.parse,
|
|
7
|
+
createBody: partnershipBody,
|
|
8
|
+
updateBody: partnershipBody,
|
|
9
|
+
// Every write here emits an activity server-side, in the same transaction, so
|
|
10
|
+
// a timeline rendered on this record is stale the moment the write lands.
|
|
11
|
+
alsoInvalidates: ['activities'],
|
|
12
|
+
});
|
|
13
|
+
function partnershipQuery(filters) {
|
|
14
|
+
return {
|
|
15
|
+
q: filters.term,
|
|
16
|
+
kind: filters.kinds,
|
|
17
|
+
company_id: filters.companyIds,
|
|
18
|
+
stage_id: filters.stageIds,
|
|
19
|
+
person_id: filters.personIds,
|
|
20
|
+
limit: filters.limit,
|
|
21
|
+
sort: filters.sort,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function usePartnerships(filters = {}, options = {}) {
|
|
25
|
+
return partnerships.useList(partnershipQuery(filters), options);
|
|
26
|
+
}
|
|
27
|
+
export function usePartnership(id) {
|
|
28
|
+
return partnerships.useRecord(id);
|
|
29
|
+
}
|
|
30
|
+
export function useCreatePartnership() {
|
|
31
|
+
return partnerships.useCreate();
|
|
32
|
+
}
|
|
33
|
+
export function useUpdatePartnership() {
|
|
34
|
+
return partnerships.useUpdate();
|
|
35
|
+
}
|
|
36
|
+
export function useDeletePartnership() {
|
|
37
|
+
return partnerships.useRemove();
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=partnerships.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"partnerships.js","sourceRoot":"","sources":["../../../src/api/resources/partnerships.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAIpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAoBpD,MAAM,YAAY,GAAG,mBAAmB,CAAwD;IAC9F,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,eAAe;IACrB,MAAM,EAAE,iBAAiB,CAAC,KAAK;IAC/B,UAAU,EAAE,eAAe;IAC3B,UAAU,EAAE,eAAe;IAC3B,8EAA8E;IAC9E,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAmBF,SAAS,gBAAgB,CAAC,OAA2B;IACnD,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,IAAI,EAAE,OAAO,CAAC,KAAK;QACnB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAO,GAAuB,EAAE,EAChC,OAAO,GAAgB,EAAE;IAEzB,OAAO,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAsB;IACnD,OAAO,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY,CAAC,SAAS,EAAE,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAIlC,OAAO,YAAY,CAAC,SAAS,EAAE,CAAA;AACjC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,YAAY,CAAC,SAAS,EAAE,CAAA;AACjC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Person, PersonInput } from '@kelpie/schemas';
|
|
2
|
+
import type { ListOptions, MutationResult, RecordListResult, RecordResult, UpdateArguments } from '../resource.ts';
|
|
3
|
+
/** `/v1/people`. Create needs a name; the API defaults every other field. */
|
|
4
|
+
export interface CreatePersonInput extends PersonInput {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
}
|
|
7
|
+
/** The documented filters on `GET /v1/people`. There is no generic filter DSL. */
|
|
8
|
+
export interface PeopleFilters {
|
|
9
|
+
/** Matches name, email, summary, tags, and the titles and companies they hold. */
|
|
10
|
+
readonly term?: string;
|
|
11
|
+
/** People holding a position at any of these companies. Repeats on the wire. */
|
|
12
|
+
readonly companyIds?: readonly string[];
|
|
13
|
+
readonly limit?: number;
|
|
14
|
+
/** `field` ascending, `-field` descending. Only `name`, `created_at`, `updated_at` are sortable. */
|
|
15
|
+
readonly sort?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function usePeople(filters?: PeopleFilters, options?: ListOptions): RecordListResult<Person>;
|
|
18
|
+
export declare function usePerson(id: string | undefined): RecordResult<Person>;
|
|
19
|
+
export declare function useCreatePerson(): MutationResult<CreatePersonInput, Person>;
|
|
20
|
+
export declare function useUpdatePerson(): MutationResult<UpdateArguments<PersonInput>, Person>;
|
|
21
|
+
export declare function useDeletePerson(): MutationResult<string, void>;
|
|
22
|
+
//# sourceMappingURL=people.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"people.d.ts","sourceRoot":"","sources":["../../../src/api/resources/people.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAI1D,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAA;AAEvB,6EAA6E;AAE7E,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAaD,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,gFAAgF;IAChF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,oGAAoG;IACpG,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAWD,wBAAgB,SAAS,CACvB,OAAO,GAAE,aAAkB,EAC3B,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,MAAM,CAAC,CAE1B;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAEtE;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAE3E;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CAEtF;AAED,wBAAgB,eAAe,IAAI,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAE9D"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { personBody, personSchema } from '@kelpie/schemas';
|
|
2
|
+
import { createResourceHooks } from '../resource.js';
|
|
3
|
+
const people = createResourceHooks({
|
|
4
|
+
name: 'people',
|
|
5
|
+
path: '/people',
|
|
6
|
+
decode: personSchema.parse,
|
|
7
|
+
createBody: personBody,
|
|
8
|
+
updateBody: personBody,
|
|
9
|
+
// Every write here emits an activity server-side, in the same transaction, so
|
|
10
|
+
// a timeline rendered on this record is stale the moment the write lands.
|
|
11
|
+
alsoInvalidates: ['activities'],
|
|
12
|
+
});
|
|
13
|
+
function peopleQuery(filters) {
|
|
14
|
+
return {
|
|
15
|
+
q: filters.term,
|
|
16
|
+
company_id: filters.companyIds,
|
|
17
|
+
limit: filters.limit,
|
|
18
|
+
sort: filters.sort,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export function usePeople(filters = {}, options = {}) {
|
|
22
|
+
return people.useList(peopleQuery(filters), options);
|
|
23
|
+
}
|
|
24
|
+
export function usePerson(id) {
|
|
25
|
+
return people.useRecord(id);
|
|
26
|
+
}
|
|
27
|
+
export function useCreatePerson() {
|
|
28
|
+
return people.useCreate();
|
|
29
|
+
}
|
|
30
|
+
export function useUpdatePerson() {
|
|
31
|
+
return people.useUpdate();
|
|
32
|
+
}
|
|
33
|
+
export function useDeletePerson() {
|
|
34
|
+
return people.useRemove();
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=people.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"people.js","sourceRoot":"","sources":["../../../src/api/resources/people.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAepD,MAAM,MAAM,GAAG,mBAAmB,CAAyC;IACzE,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,YAAY,CAAC,KAAK;IAC1B,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,UAAU;IACtB,8EAA8E;IAC9E,0EAA0E;IAC1E,eAAe,EAAE,CAAC,YAAY,CAAC;CAChC,CAAC,CAAA;AAaF,SAAS,WAAW,CAAC,OAAsB;IACzC,OAAO;QACL,CAAC,EAAE,OAAO,CAAC,IAAI;QACf,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,OAAO,GAAkB,EAAE,EAC3B,OAAO,GAAgB,EAAE;IAEzB,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EAAsB;IAC9C,OAAO,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CreatePipelineStageInput, PipelineKind, PipelineStage, UpdatePipelineStageInput } from '@kelpie/schemas';
|
|
2
|
+
import type { ListOptions, MutationResult, RecordListResult, UpdateArguments } from '../resource.ts';
|
|
3
|
+
/**
|
|
4
|
+
* One pipeline's stages, in board order. The documented page maximum, because a
|
|
5
|
+
* board needs all of its columns: a pipeline paged at 50 would render half a
|
|
6
|
+
* board without saying so.
|
|
7
|
+
*/
|
|
8
|
+
export declare function usePipelineStages(kind: PipelineKind, options?: ListOptions): RecordListResult<PipelineStage>;
|
|
9
|
+
export declare function useCreatePipelineStage(): MutationResult<CreatePipelineStageInput, PipelineStage>;
|
|
10
|
+
export declare function useUpdatePipelineStage(): MutationResult<UpdateArguments<UpdatePipelineStageInput>, PipelineStage>;
|
|
11
|
+
export interface RemovePipelineStageInput {
|
|
12
|
+
readonly id: string;
|
|
13
|
+
/** Where the stage's records go. Always named, so the server never has to guess. */
|
|
14
|
+
readonly moveToId: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Remove-with-reassign. Not `createResourceHooks`' remove: that one deletes by
|
|
18
|
+
* bare id, and this delete carries `?move_to=` so the records still in the
|
|
19
|
+
* stage land somewhere chosen rather than blocking the delete with a 409.
|
|
20
|
+
*/
|
|
21
|
+
export declare function useRemovePipelineStage(): MutationResult<RemovePipelineStageInput, void>;
|
|
22
|
+
//# sourceMappingURL=pipelineStages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelineStages.d.ts","sourceRoot":"","sources":["../../../src/api/resources/pipelineStages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAqBpG;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,YAAY,EAClB,OAAO,GAAE,WAAgB,GACxB,gBAAgB,CAAC,aAAa,CAAC,CAEjC;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAEhG;AAED,wBAAgB,sBAAsB,IAAI,cAAc,CACtD,eAAe,CAAC,wBAAwB,CAAC,EACzC,aAAa,CACd,CAEA;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,oFAAoF;IACpF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAqBvF"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createPipelineStageBody, pipelineStageSchema, updatePipelineStageBody, } from '@kelpie/schemas';
|
|
2
|
+
import { useMutation, useQueryClient } from '@tanstack/react-query';
|
|
3
|
+
import { useApiClient } from '../context.js';
|
|
4
|
+
import { toError } from '../errors.js';
|
|
5
|
+
import { createResourceHooks } from '../resource.js';
|
|
6
|
+
/**
|
|
7
|
+
* `/v1/pipeline_stages`: the board columns of the four pipelines.
|
|
8
|
+
*
|
|
9
|
+
* Stage config redraws whatever references it: a rename or reorder changes every
|
|
10
|
+
* board column, and remove-with-reassign moves records and writes their
|
|
11
|
+
* timelines, so writes here invalidate the staged resources too.
|
|
12
|
+
*/
|
|
13
|
+
const STAGE_WRITES_TOUCH = ['deals', 'activities'];
|
|
14
|
+
const stages = createResourceHooks({
|
|
15
|
+
name: 'pipeline_stages',
|
|
16
|
+
path: '/pipeline_stages',
|
|
17
|
+
decode: pipelineStageSchema.parse,
|
|
18
|
+
createBody: createPipelineStageBody,
|
|
19
|
+
updateBody: updatePipelineStageBody,
|
|
20
|
+
alsoInvalidates: STAGE_WRITES_TOUCH,
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* One pipeline's stages, in board order. The documented page maximum, because a
|
|
24
|
+
* board needs all of its columns: a pipeline paged at 50 would render half a
|
|
25
|
+
* board without saying so.
|
|
26
|
+
*/
|
|
27
|
+
export function usePipelineStages(kind, options = {}) {
|
|
28
|
+
return stages.useList({ kind, limit: 200 }, options);
|
|
29
|
+
}
|
|
30
|
+
export function useCreatePipelineStage() {
|
|
31
|
+
return stages.useCreate();
|
|
32
|
+
}
|
|
33
|
+
export function useUpdatePipelineStage() {
|
|
34
|
+
return stages.useUpdate();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Remove-with-reassign. Not `createResourceHooks`' remove: that one deletes by
|
|
38
|
+
* bare id, and this delete carries `?move_to=` so the records still in the
|
|
39
|
+
* stage land somewhere chosen rather than blocking the delete with a 409.
|
|
40
|
+
*/
|
|
41
|
+
export function useRemovePipelineStage() {
|
|
42
|
+
const client = useApiClient();
|
|
43
|
+
const queryClient = useQueryClient();
|
|
44
|
+
const mutation = useMutation({
|
|
45
|
+
mutationFn: ({ id, moveToId }) => client.delete(`/pipeline_stages/${id}?move_to=${encodeURIComponent(moveToId)}`),
|
|
46
|
+
onSettled: () => {
|
|
47
|
+
for (const name of ['pipeline_stages', ...STAGE_WRITES_TOUCH]) {
|
|
48
|
+
void queryClient.invalidateQueries({ queryKey: [name] });
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
run: (input) => {
|
|
54
|
+
mutation.mutate(input);
|
|
55
|
+
},
|
|
56
|
+
runAsync: (input) => mutation.mutateAsync(input),
|
|
57
|
+
isPending: mutation.isPending,
|
|
58
|
+
error: toError(mutation.error),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=pipelineStages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipelineStages.js","sourceRoot":"","sources":["../../../src/api/resources/pipelineStages.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AAOxB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGpD;;;;;;GAMG;AAEH,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,YAAY,CAAU,CAAA;AAE3D,MAAM,MAAM,GAAG,mBAAmB,CAAoE;IACpG,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,mBAAmB,CAAC,KAAK;IACjC,UAAU,EAAE,uBAAuB;IACnC,UAAU,EAAE,uBAAuB;IACnC,eAAe,EAAE,kBAAkB;CACpC,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAkB,EAClB,OAAO,GAAgB,EAAE;IAEzB,OAAO,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;AACtD,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,sBAAsB;IAIpC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAA;AAC3B,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAA;IAC7B,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,QAAQ,GAAG,WAAW,CAAC;QAC3B,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAA4B,EAAE,EAAE,CACzD,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjF,SAAS,EAAE,GAAG,EAAE;YACd,KAAK,MAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,kBAAkB,CAAC,EAAE,CAAC;gBAC9D,KAAK,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;KACF,CAAC,CAAA;IAEF,OAAO;QACL,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;YACb,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACxB,CAAC;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAChD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;KAC/B,CAAA;AACH,CAAC"}
|