Allow ordering profiles by email address
GraphQL profile ordering rejected EMAIL_ADDRESS because ProfileOrderField did not expose this enum value in connect and console schemas. Add EMAIL_ADDRESS to MembershipProfileOrderField and its validation list so order input coercion accepts the value consistently. Extend MembershipProfile cursor key encoding to support email ordering and avoid runtime panics during pagination. Update the MCP profile order enum to keep API surface definitions aligned with the same ordering capability. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
This commit is contained in:
committed by
Bryan Frimin
parent
29d8181b2c
commit
8b6e9e420a
@@ -77,6 +77,8 @@ func (p MembershipProfile) CursorKey(orderBy MembershipProfileOrderField) page.C
|
||||
return page.NewCursorKey(p.ID, p.CreatedAt)
|
||||
case MembershipProfileOrderFieldFullName:
|
||||
return page.NewCursorKey(p.ID, p.FullName)
|
||||
case MembershipProfileOrderFieldEmailAddress:
|
||||
return page.NewCursorKey(p.ID, p.EmailAddress)
|
||||
case MembershipProfileOrderFieldKind:
|
||||
return page.NewCursorKey(p.ID, p.Kind)
|
||||
case MembershipProfileOrderFieldOrganizationName:
|
||||
|
||||
@@ -28,6 +28,7 @@ type (
|
||||
const (
|
||||
MembershipProfileOrderFieldCreatedAt MembershipProfileOrderField = "CREATED_AT"
|
||||
MembershipProfileOrderFieldFullName MembershipProfileOrderField = "FULL_NAME"
|
||||
MembershipProfileOrderFieldEmailAddress MembershipProfileOrderField = "EMAIL_ADDRESS"
|
||||
MembershipProfileOrderFieldKind MembershipProfileOrderField = "KIND"
|
||||
MembershipProfileOrderFieldOrganizationName MembershipProfileOrderField = "ORGANIZATION_NAME"
|
||||
MembershipProfileOrderFieldState MembershipProfileOrderField = "STATE"
|
||||
@@ -44,6 +45,7 @@ func MembershipProfileOrderFields() []MembershipProfileOrderField {
|
||||
return []MembershipProfileOrderField{
|
||||
MembershipProfileOrderFieldCreatedAt,
|
||||
MembershipProfileOrderFieldFullName,
|
||||
MembershipProfileOrderFieldEmailAddress,
|
||||
MembershipProfileOrderFieldKind,
|
||||
MembershipProfileOrderFieldOrganizationName,
|
||||
MembershipProfileOrderFieldState,
|
||||
@@ -55,6 +57,7 @@ func (v MembershipProfileOrderField) IsValid() bool {
|
||||
case
|
||||
MembershipProfileOrderFieldCreatedAt,
|
||||
MembershipProfileOrderFieldFullName,
|
||||
MembershipProfileOrderFieldEmailAddress,
|
||||
MembershipProfileOrderFieldKind,
|
||||
MembershipProfileOrderFieldOrganizationName,
|
||||
MembershipProfileOrderFieldState:
|
||||
|
||||
@@ -53,6 +53,10 @@ enum ProfileOrderField
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldCreatedAt"
|
||||
)
|
||||
EMAIL_ADDRESS
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldEmailAddress"
|
||||
)
|
||||
KIND @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldKind")
|
||||
ORGANIZATION_NAME
|
||||
@goEnum(
|
||||
|
||||
@@ -40,6 +40,10 @@ enum ProfileOrderField
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldCreatedAt"
|
||||
)
|
||||
EMAIL_ADDRESS
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldEmailAddress"
|
||||
)
|
||||
KIND @goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipProfileOrderFieldKind")
|
||||
}
|
||||
|
||||
|
||||
@@ -167,6 +167,7 @@ components:
|
||||
enum:
|
||||
- CREATED_AT
|
||||
- FULL_NAME
|
||||
- EMAIL_ADDRESS
|
||||
- KIND
|
||||
go.probo.inc/mcpgen/type: go.probo.inc/probo/pkg/coredata.MembershipProfileOrderField
|
||||
|
||||
|
||||
Reference in New Issue
Block a user