Put back sorting columns on invitation and members
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<26a05edf635e281469d5498e24879e00>>
|
||||
* @generated SignedSource<<e8e0e8e378c0a308255a8e2f3918b758>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
import { FragmentRefs } from "relay-runtime";
|
||||
export type InvitationOrderField = "ACCEPTED_AT" | "CREATED_AT" | "EMAIL" | "EXPIRES_AT" | "ROLE";
|
||||
export type InvitationOrderField = "ACCEPTED_AT" | "CREATED_AT" | "EMAIL" | "EXPIRES_AT" | "FULL_NAME" | "ROLE";
|
||||
export type OrderDirection = "ASC" | "DESC";
|
||||
export type InvitationOrder = {
|
||||
direction: OrderDirection;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* @generated SignedSource<<d9ec1da794fdbe09fbffc7ed32d22707>>
|
||||
* @generated SignedSource<<e01416ecd129c81e31f5da90bf797ff7>>
|
||||
* @lightSyntaxTransform
|
||||
* @nogrep
|
||||
*/
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
import { ConcreteRequest } from 'relay-runtime';
|
||||
import { FragmentRefs } from "relay-runtime";
|
||||
export type MembershipOrderField = "CREATED_AT" | "ROLE";
|
||||
export type MembershipOrderField = "CREATED_AT" | "EMAIL_ADDRESS" | "FULL_NAME" | "ROLE";
|
||||
export type OrderDirection = "ASC" | "DESC";
|
||||
export type MembershipOrder = {
|
||||
direction: OrderDirection;
|
||||
|
||||
@@ -5,6 +5,7 @@ import { graphql, usePaginationFragment } from "react-relay";
|
||||
import { InvitationListItem } from "./InvitationListItem";
|
||||
import type { InvitationListFragment$key } from "/__generated__/iam/InvitationListFragment.graphql";
|
||||
import type { InvitationListFragment_RefetchQuery } from "/__generated__/iam/InvitationListFragment_RefetchQuery.graphql";
|
||||
import type { ComponentProps } from "react";
|
||||
|
||||
const fragment = graphql`
|
||||
fragment InvitationListFragment on Organization
|
||||
@@ -57,23 +58,11 @@ export function InvitationList(props: { fKey: InvitationListFragment$key }) {
|
||||
return (
|
||||
<SortableTable
|
||||
{...invitationsPagination}
|
||||
refetch={({ order }: { order: { direction: string; field: string } }) => {
|
||||
invitationsPagination.refetch({
|
||||
order: {
|
||||
direction: order.direction as "ASC" | "DESC",
|
||||
field: order.field as
|
||||
| "CREATED_AT"
|
||||
| "EXPIRES_AT"
|
||||
// FIXME: put back
|
||||
// | "FULL_NAME"
|
||||
| "EMAIL"
|
||||
| "ROLE"
|
||||
// FIXME: put back
|
||||
// | "STATUS"
|
||||
| "ACCEPTED_AT",
|
||||
},
|
||||
});
|
||||
}}
|
||||
refetch={
|
||||
invitationsPagination.refetch as ComponentProps<
|
||||
typeof SortableTable
|
||||
>["refetch"]
|
||||
}
|
||||
pageSize={20}
|
||||
>
|
||||
<Thead>
|
||||
|
||||
@@ -5,6 +5,7 @@ import { SortableTable, SortableTh } from "/components/SortableTable";
|
||||
import type { MemberListFragment_RefetchQuery } from "/__generated__/iam/MemberListFragment_RefetchQuery.graphql";
|
||||
import { MemberListItem } from "./MemberListItem";
|
||||
import type { MemberListFragment$key } from "/__generated__/iam/MemberListFragment.graphql";
|
||||
import type { ComponentProps } from "react";
|
||||
|
||||
const fragment = graphql`
|
||||
fragment MemberListFragment on Organization
|
||||
@@ -55,19 +56,11 @@ export function MemberList(props: { fKey: MemberListFragment$key }) {
|
||||
return (
|
||||
<SortableTable
|
||||
{...membersPagination}
|
||||
refetch={({ order }: { order: { direction: string; field: string } }) => {
|
||||
membersPagination.refetch({
|
||||
order: {
|
||||
direction: order.direction as "ASC" | "DESC",
|
||||
field: order.field as
|
||||
| "CREATED_AT"
|
||||
// FIXME: add those back
|
||||
// | "FULL_NAME"
|
||||
// | "EMAIL_ADDRESS"
|
||||
| "ROLE",
|
||||
},
|
||||
});
|
||||
}}
|
||||
refetch={
|
||||
membersPagination.refetch as ComponentProps<
|
||||
typeof SortableTable
|
||||
>["refetch"]
|
||||
}
|
||||
pageSize={20}
|
||||
>
|
||||
<Thead>
|
||||
|
||||
2
go.mod
2
go.mod
@@ -23,6 +23,7 @@ require (
|
||||
github.com/pdfcpu/pdfcpu v0.11.1
|
||||
github.com/pires/go-proxyproto v0.8.1
|
||||
github.com/prometheus/client_golang v1.23.2
|
||||
github.com/scim2/filter-parser/v2 v2.2.0
|
||||
github.com/stretchr/testify v1.11.1
|
||||
github.com/vektah/gqlparser/v2 v2.5.31
|
||||
github.com/xuri/excelize/v2 v2.10.0
|
||||
@@ -98,7 +99,6 @@ require (
|
||||
github.com/richardlehane/mscfb v1.0.4 // indirect
|
||||
github.com/richardlehane/msoleps v1.0.4 // indirect
|
||||
github.com/russellhaering/goxmldsig v1.5.0 // indirect
|
||||
github.com/scim2/filter-parser/v2 v2.2.0 // indirect
|
||||
github.com/sosodev/duration v1.3.1 // indirect
|
||||
github.com/spf13/cobra v1.10.1 // indirect
|
||||
github.com/spf13/pflag v1.0.9 // indirect
|
||||
|
||||
@@ -414,6 +414,14 @@ enum ReauthenticationReason {
|
||||
|
||||
enum MembershipOrderField
|
||||
@goModel(model: "go.probo.inc/probo/pkg/coredata.MembershipOrderField") {
|
||||
FULL_NAME
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldFullName"
|
||||
)
|
||||
EMAIL_ADDRESS
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldEmailAddress"
|
||||
)
|
||||
ROLE
|
||||
@goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldRole")
|
||||
CREATED_AT
|
||||
@@ -446,6 +454,10 @@ type MembershipEdge {
|
||||
|
||||
enum InvitationOrderField
|
||||
@goModel(model: "go.probo.inc/probo/pkg/coredata.InvitationOrderField") {
|
||||
FULL_NAME
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.InvitationOrderFieldFullName"
|
||||
)
|
||||
EMAIL
|
||||
@goEnum(value: "go.probo.inc/probo/pkg/coredata.InvitationOrderFieldEmail")
|
||||
ROLE
|
||||
|
||||
@@ -2693,6 +2693,14 @@ enum ReauthenticationReason {
|
||||
|
||||
enum MembershipOrderField
|
||||
@goModel(model: "go.probo.inc/probo/pkg/coredata.MembershipOrderField") {
|
||||
FULL_NAME
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldFullName"
|
||||
)
|
||||
EMAIL_ADDRESS
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldEmailAddress"
|
||||
)
|
||||
ROLE
|
||||
@goEnum(value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldRole")
|
||||
CREATED_AT
|
||||
@@ -2725,6 +2733,10 @@ type MembershipEdge {
|
||||
|
||||
enum InvitationOrderField
|
||||
@goModel(model: "go.probo.inc/probo/pkg/coredata.InvitationOrderField") {
|
||||
FULL_NAME
|
||||
@goEnum(
|
||||
value: "go.probo.inc/probo/pkg/coredata.InvitationOrderFieldFullName"
|
||||
)
|
||||
EMAIL
|
||||
@goEnum(value: "go.probo.inc/probo/pkg/coredata.InvitationOrderFieldEmail")
|
||||
ROLE
|
||||
@@ -19995,6 +20007,7 @@ func (ec *executionContext) marshalNInvitationOrderField2goᚗproboᚗincᚋprob
|
||||
|
||||
var (
|
||||
unmarshalNInvitationOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐInvitationOrderField = map[string]coredata.InvitationOrderField{
|
||||
"FULL_NAME": coredata.InvitationOrderFieldFullName,
|
||||
"EMAIL": coredata.InvitationOrderFieldEmail,
|
||||
"ROLE": coredata.InvitationOrderFieldRole,
|
||||
"CREATED_AT": coredata.InvitationOrderFieldCreatedAt,
|
||||
@@ -20002,6 +20015,7 @@ var (
|
||||
"ACCEPTED_AT": coredata.InvitationOrderFieldAcceptedAt,
|
||||
}
|
||||
marshalNInvitationOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐInvitationOrderField = map[coredata.InvitationOrderField]string{
|
||||
coredata.InvitationOrderFieldFullName: "FULL_NAME",
|
||||
coredata.InvitationOrderFieldEmail: "EMAIL",
|
||||
coredata.InvitationOrderFieldRole: "ROLE",
|
||||
coredata.InvitationOrderFieldCreatedAt: "CREATED_AT",
|
||||
@@ -20128,12 +20142,16 @@ func (ec *executionContext) marshalNMembershipOrderField2goᚗproboᚗincᚋprob
|
||||
|
||||
var (
|
||||
unmarshalNMembershipOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐMembershipOrderField = map[string]coredata.MembershipOrderField{
|
||||
"ROLE": coredata.MembershipOrderFieldRole,
|
||||
"CREATED_AT": coredata.MembershipOrderFieldCreatedAt,
|
||||
"FULL_NAME": coredata.MembershipOrderFieldFullName,
|
||||
"EMAIL_ADDRESS": coredata.MembershipOrderFieldEmailAddress,
|
||||
"ROLE": coredata.MembershipOrderFieldRole,
|
||||
"CREATED_AT": coredata.MembershipOrderFieldCreatedAt,
|
||||
}
|
||||
marshalNMembershipOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐMembershipOrderField = map[coredata.MembershipOrderField]string{
|
||||
coredata.MembershipOrderFieldRole: "ROLE",
|
||||
coredata.MembershipOrderFieldCreatedAt: "CREATED_AT",
|
||||
coredata.MembershipOrderFieldFullName: "FULL_NAME",
|
||||
coredata.MembershipOrderFieldEmailAddress: "EMAIL_ADDRESS",
|
||||
coredata.MembershipOrderFieldRole: "ROLE",
|
||||
coredata.MembershipOrderFieldCreatedAt: "CREATED_AT",
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -1221,6 +1221,12 @@ func (r *organizationResolver) Invitations(ctx context.Context, obj *types.Organ
|
||||
Field: coredata.InvitationOrderFieldCreatedAt,
|
||||
Direction: page.OrderDirectionDesc,
|
||||
}
|
||||
if orderBy != nil {
|
||||
pageOrderBy = page.OrderBy[coredata.InvitationOrderField]{
|
||||
Field: orderBy.Field,
|
||||
Direction: orderBy.Direction,
|
||||
}
|
||||
}
|
||||
|
||||
filters := coredata.NewInvitationFilter(nil)
|
||||
if status != nil {
|
||||
|
||||
Reference in New Issue
Block a user