Transform meetings page into context page with tabs
Add structured organization context with 5 markdown sections (Product, Architecture, Team, Processes, Customers) editable inline. Meetings are now a tab within the context page. Moved all GraphQL queries from hooks/graph/MeetingGraph.ts into colocated components following new best practices. Updated database schema, backend services, GraphQL resolvers, and MCP API to support the new context fields and structure. Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
6
pkg/coredata/migrations/20260319T140000Z.sql
Normal file
6
pkg/coredata/migrations/20260319T140000Z.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
ALTER TABLE organization_contexts ADD COLUMN product TEXT;
|
||||
ALTER TABLE organization_contexts ADD COLUMN architecture TEXT;
|
||||
ALTER TABLE organization_contexts ADD COLUMN team TEXT;
|
||||
ALTER TABLE organization_contexts ADD COLUMN processes TEXT;
|
||||
ALTER TABLE organization_contexts ADD COLUMN customers TEXT;
|
||||
ALTER TABLE organization_contexts DROP COLUMN summary;
|
||||
@@ -29,7 +29,11 @@ import (
|
||||
type (
|
||||
OrganizationContext struct {
|
||||
OrganizationID gid.GID `db:"organization_id"`
|
||||
Summary *string `db:"summary"`
|
||||
Product *string `db:"product"`
|
||||
Architecture *string `db:"architecture"`
|
||||
Team *string `db:"team"`
|
||||
Processes *string `db:"processes"`
|
||||
Customers *string `db:"customers"`
|
||||
CreatedAt time.Time `db:"created_at"`
|
||||
UpdatedAt time.Time `db:"updated_at"`
|
||||
}
|
||||
@@ -44,7 +48,11 @@ func (oc *OrganizationContext) LoadByOrganizationID(
|
||||
q := `
|
||||
SELECT
|
||||
organization_id,
|
||||
summary,
|
||||
product,
|
||||
architecture,
|
||||
team,
|
||||
processes,
|
||||
customers,
|
||||
created_at,
|
||||
updated_at
|
||||
FROM
|
||||
@@ -88,13 +96,21 @@ func (oc *OrganizationContext) Insert(
|
||||
INSERT INTO organization_contexts (
|
||||
organization_id,
|
||||
tenant_id,
|
||||
summary,
|
||||
product,
|
||||
architecture,
|
||||
team,
|
||||
processes,
|
||||
customers,
|
||||
created_at,
|
||||
updated_at
|
||||
) VALUES (
|
||||
@organization_id,
|
||||
@tenant_id,
|
||||
@summary,
|
||||
@product,
|
||||
@architecture,
|
||||
@team,
|
||||
@processes,
|
||||
@customers,
|
||||
@created_at,
|
||||
@updated_at
|
||||
)
|
||||
@@ -103,7 +119,11 @@ INSERT INTO organization_contexts (
|
||||
args := pgx.StrictNamedArgs{
|
||||
"organization_id": oc.OrganizationID,
|
||||
"tenant_id": scope.GetTenantID(),
|
||||
"summary": oc.Summary,
|
||||
"product": oc.Product,
|
||||
"architecture": oc.Architecture,
|
||||
"team": oc.Team,
|
||||
"processes": oc.Processes,
|
||||
"customers": oc.Customers,
|
||||
"created_at": oc.CreatedAt,
|
||||
"updated_at": oc.UpdatedAt,
|
||||
}
|
||||
@@ -124,7 +144,11 @@ func (oc *OrganizationContext) Update(
|
||||
q := `
|
||||
UPDATE organization_contexts
|
||||
SET
|
||||
summary = @summary,
|
||||
product = @product,
|
||||
architecture = @architecture,
|
||||
team = @team,
|
||||
processes = @processes,
|
||||
customers = @customers,
|
||||
updated_at = @updated_at
|
||||
WHERE
|
||||
%s
|
||||
@@ -135,7 +159,11 @@ WHERE
|
||||
|
||||
args := pgx.StrictNamedArgs{
|
||||
"organization_id": oc.OrganizationID,
|
||||
"summary": oc.Summary,
|
||||
"product": oc.Product,
|
||||
"architecture": oc.Architecture,
|
||||
"team": oc.Team,
|
||||
"processes": oc.Processes,
|
||||
"customers": oc.Customers,
|
||||
"updated_at": oc.UpdatedAt,
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user