Fix do not display inactive profiles on home page

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-02-19 17:48:06 +04:00
parent f933482377
commit aca1b781e9
4 changed files with 43 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
/** /**
* @generated SignedSource<<0e09a0566214f0c5c5ee2919d75bb85a>> * @generated SignedSource<<63cc59b828971b5b1c0983e2a439f95d>>
* @lightSyntaxTransform * @lightSyntaxTransform
* @nogrep * @nogrep
*/ */
@@ -34,6 +34,13 @@ export type MembershipsPageQuery = {
const node: ConcreteRequest = (function(){ const node: ConcreteRequest = (function(){
var v0 = { var v0 = {
"kind": "Literal",
"name": "filter",
"value": {
"state": "ACTIVE"
}
},
v1 = {
"kind": "Literal", "kind": "Literal",
"name": "orderBy", "name": "orderBy",
"value": { "value": {
@@ -41,35 +48,35 @@ var v0 = {
"field": "ORGANIZATION_NAME" "field": "ORGANIZATION_NAME"
} }
}, },
v1 = { v2 = {
"alias": null, "alias": null,
"args": null, "args": null,
"kind": "ScalarField", "kind": "ScalarField",
"name": "id", "name": "id",
"storageKey": null "storageKey": null
}, },
v2 = { v3 = {
"alias": null, "alias": null,
"args": null, "args": null,
"kind": "ScalarField", "kind": "ScalarField",
"name": "name", "name": "name",
"storageKey": null "storageKey": null
}, },
v3 = { v4 = {
"alias": null, "alias": null,
"args": null, "args": null,
"kind": "ScalarField", "kind": "ScalarField",
"name": "__typename", "name": "__typename",
"storageKey": null "storageKey": null
}, },
v4 = { v5 = {
"alias": null, "alias": null,
"args": null, "args": null,
"kind": "ScalarField", "kind": "ScalarField",
"name": "cursor", "name": "cursor",
"storageKey": null "storageKey": null
}, },
v5 = { v6 = {
"alias": null, "alias": null,
"args": null, "args": null,
"concreteType": "PageInfo", "concreteType": "PageInfo",
@@ -94,13 +101,14 @@ v5 = {
], ],
"storageKey": null "storageKey": null
}, },
v6 = [ v7 = [
(v0/*: any*/),
{ {
"kind": "Literal", "kind": "Literal",
"name": "first", "name": "first",
"value": 1000 "value": 1000
}, },
(v0/*: any*/) (v1/*: any*/)
]; ];
return { return {
"fragment": { "fragment": {
@@ -124,7 +132,8 @@ return {
"field": { "field": {
"alias": "profiles", "alias": "profiles",
"args": [ "args": [
(v0/*: any*/) (v0/*: any*/),
(v1/*: any*/)
], ],
"concreteType": "ProfileConnection", "concreteType": "ProfileConnection",
"kind": "LinkedField", "kind": "LinkedField",
@@ -149,7 +158,7 @@ return {
"name": "node", "name": "node",
"plural": false, "plural": false,
"selections": [ "selections": [
(v1/*: any*/), (v2/*: any*/),
{ {
"args": null, "args": null,
"kind": "FragmentSpread", "kind": "FragmentSpread",
@@ -165,7 +174,7 @@ return {
"name": "organization", "name": "organization",
"plural": false, "plural": false,
"selections": [ "selections": [
(v2/*: any*/), (v3/*: any*/),
{ {
"args": null, "args": null,
"kind": "FragmentSpread", "kind": "FragmentSpread",
@@ -176,19 +185,19 @@ return {
}, },
"action": "THROW" "action": "THROW"
}, },
(v3/*: any*/) (v4/*: any*/)
], ],
"storageKey": null "storageKey": null
}, },
(v4/*: any*/) (v5/*: any*/)
], ],
"storageKey": null "storageKey": null
}, },
"action": "THROW" "action": "THROW"
}, },
(v5/*: any*/) (v6/*: any*/)
], ],
"storageKey": "__MembershipsPage_profiles_connection(orderBy:{\"direction\":\"ASC\",\"field\":\"ORGANIZATION_NAME\"})" "storageKey": "__MembershipsPage_profiles_connection(filter:{\"state\":\"ACTIVE\"},orderBy:{\"direction\":\"ASC\",\"field\":\"ORGANIZATION_NAME\"})"
}, },
"action": "THROW" "action": "THROW"
} }
@@ -217,7 +226,7 @@ return {
"selections": [ "selections": [
{ {
"alias": null, "alias": null,
"args": (v6/*: any*/), "args": (v7/*: any*/),
"concreteType": "ProfileConnection", "concreteType": "ProfileConnection",
"kind": "LinkedField", "kind": "LinkedField",
"name": "profiles", "name": "profiles",
@@ -239,7 +248,7 @@ return {
"name": "node", "name": "node",
"plural": false, "plural": false,
"selections": [ "selections": [
(v1/*: any*/), (v2/*: any*/),
{ {
"alias": null, "alias": null,
"args": null, "args": null,
@@ -263,7 +272,7 @@ return {
"name": "lastSession", "name": "lastSession",
"plural": false, "plural": false,
"selections": [ "selections": [
(v1/*: any*/), (v2/*: any*/),
{ {
"alias": null, "alias": null,
"args": null, "args": null,
@@ -274,7 +283,7 @@ return {
], ],
"storageKey": null "storageKey": null
}, },
(v1/*: any*/) (v2/*: any*/)
], ],
"storageKey": null "storageKey": null
}, },
@@ -286,8 +295,8 @@ return {
"name": "organization", "name": "organization",
"plural": false, "plural": false,
"selections": [ "selections": [
(v3/*: any*/),
(v2/*: any*/), (v2/*: any*/),
(v1/*: any*/),
{ {
"alias": null, "alias": null,
"args": null, "args": null,
@@ -298,37 +307,38 @@ return {
], ],
"storageKey": null "storageKey": null
}, },
(v3/*: any*/)
],
"storageKey": null
},
(v4/*: any*/) (v4/*: any*/)
], ],
"storageKey": null "storageKey": null
}, },
(v5/*: any*/) (v5/*: any*/)
], ],
"storageKey": "profiles(first:1000,orderBy:{\"direction\":\"ASC\",\"field\":\"ORGANIZATION_NAME\"})" "storageKey": null
},
(v6/*: any*/)
],
"storageKey": "profiles(filter:{\"state\":\"ACTIVE\"},first:1000,orderBy:{\"direction\":\"ASC\",\"field\":\"ORGANIZATION_NAME\"})"
}, },
{ {
"alias": null, "alias": null,
"args": (v6/*: any*/), "args": (v7/*: any*/),
"filters": [ "filters": [
"orderBy" "orderBy",
"filter"
], ],
"handle": "connection", "handle": "connection",
"key": "MembershipsPage_profiles", "key": "MembershipsPage_profiles",
"kind": "LinkedHandle", "kind": "LinkedHandle",
"name": "profiles" "name": "profiles"
}, },
(v1/*: any*/) (v2/*: any*/)
], ],
"storageKey": null "storageKey": null
} }
] ]
}, },
"params": { "params": {
"cacheID": "d10df01cc523419b3f998a26d3ecbf7b", "cacheID": "70c954537c603303bcd55418f6bd73cf",
"id": null, "id": null,
"metadata": { "metadata": {
"connection": [ "connection": [
@@ -345,11 +355,11 @@ return {
}, },
"name": "MembershipsPageQuery", "name": "MembershipsPageQuery",
"operationKind": "query", "operationKind": "query",
"text": "query MembershipsPageQuery {\n viewer {\n profiles(first: 1000, orderBy: {direction: ASC, field: ORGANIZATION_NAME}) {\n edges {\n node {\n id\n ...MembershipCardFragment\n organization {\n name\n ...MembershipCard_organizationFragment\n id\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n id\n }\n}\n\nfragment MembershipCardFragment on Profile {\n state\n membership {\n lastSession {\n id\n expiresAt\n }\n id\n }\n}\n\nfragment MembershipCard_organizationFragment on Organization {\n id\n name\n logoUrl\n}\n" "text": "query MembershipsPageQuery {\n viewer {\n profiles(first: 1000, orderBy: {direction: ASC, field: ORGANIZATION_NAME}, filter: {state: ACTIVE}) {\n edges {\n node {\n id\n ...MembershipCardFragment\n organization {\n name\n ...MembershipCard_organizationFragment\n id\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n id\n }\n}\n\nfragment MembershipCardFragment on Profile {\n state\n membership {\n lastSession {\n id\n expiresAt\n }\n id\n }\n}\n\nfragment MembershipCard_organizationFragment on Organization {\n id\n name\n logoUrl\n}\n"
} }
}; };
})(); })();
(node as any).hash = "578d6a9573ba32c7b017ec0bae079651"; (node as any).hash = "c82587c425f688858d4625426153dbdc";
export default node; export default node;

View File

@@ -20,6 +20,7 @@ export const membershipsPageQuery = graphql`
profiles( profiles(
first: 1000 first: 1000
orderBy: { direction: ASC, field: ORGANIZATION_NAME } orderBy: { direction: ASC, field: ORGANIZATION_NAME }
filter: { state: ACTIVE }
) )
@connection(key: "MembershipsPage_profiles") @connection(key: "MembershipsPage_profiles")
@required(action: THROW) { @required(action: THROW) {

View File

@@ -945,7 +945,7 @@ SET
state = @state, state = @state,
full_name = @full_name, full_name = @full_name,
kind = @kind, kind = @kind,
additional_email_addresses = @additional_email_addresses, additional_email_addresses = COALESCE(@additional_email_addresses, '{}'::CITEXT[]),
position = @position, position = @position,
contract_start_date = @contract_start_date, contract_start_date = @contract_start_date,
contract_end_date = @contract_end_date, contract_end_date = @contract_end_date,

View File

@@ -1388,7 +1388,7 @@ func (r *profileResolver) Identity(ctx context.Context, obj *types.Profile) (*ty
// Organization is the resolver for the organization field. // Organization is the resolver for the organization field.
func (r *profileResolver) Organization(ctx context.Context, obj *types.Profile) (*types.Organization, error) { func (r *profileResolver) Organization(ctx context.Context, obj *types.Profile) (*types.Organization, error) {
if err := r.authorize(ctx, obj.ID, iam.ActionOrganizationGet, authz.WithSkipAssumptionCheck()); err != nil { if err := r.authorize(ctx, obj.Organization.ID, iam.ActionOrganizationGet, authz.WithSkipAssumptionCheck()); err != nil {
return nil, err return nil, err
} }