Order membership by organization name
Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
@@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file.
|
|||||||
- Membership Profile authz done from membership in membershipResolver (it's a 1:1 association)
|
- Membership Profile authz done from membership in membershipResolver (it's a 1:1 association)
|
||||||
- Match keycloak URL ports with default base URL one for local dev
|
- Match keycloak URL ports with default base URL one for local dev
|
||||||
- Drop the authentication dialog in favor of a dedicated auth page for compliance page
|
- Drop the authentication dialog in favor of a dedicated auth page for compliance page
|
||||||
|
- Order memberships by organization name on console / and memberships dropdown
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @generated SignedSource<<7759f335d6dd4b9ca6afbb601aa7794c>>
|
* @generated SignedSource<<ccb5c8952aaa41ddee0df7e7e3abb2b0>>
|
||||||
* @lightSyntaxTransform
|
* @lightSyntaxTransform
|
||||||
* @nogrep
|
* @nogrep
|
||||||
*/
|
*/
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
import { ConcreteRequest } from 'relay-runtime';
|
import { ConcreteRequest } from 'relay-runtime';
|
||||||
import { FragmentRefs } from "relay-runtime";
|
import { FragmentRefs } from "relay-runtime";
|
||||||
export type MembershipOrderField = "CREATED_AT" | "EMAIL_ADDRESS" | "FULL_NAME" | "ROLE";
|
export type MembershipOrderField = "CREATED_AT" | "EMAIL_ADDRESS" | "FULL_NAME" | "ORGANIZATION_NAME" | "ROLE";
|
||||||
export type OrderDirection = "ASC" | "DESC";
|
export type OrderDirection = "ASC" | "DESC";
|
||||||
export type MembershipOrder = {
|
export type MembershipOrder = {
|
||||||
direction: OrderDirection;
|
direction: OrderDirection;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @generated SignedSource<<b51fba8f2d50c85b2eeb51c658d82e17>>
|
* @generated SignedSource<<a7fb3832b9c9d3830ceff389237da093>>
|
||||||
* @lightSyntaxTransform
|
* @lightSyntaxTransform
|
||||||
* @nogrep
|
* @nogrep
|
||||||
*/
|
*/
|
||||||
@@ -42,8 +42,8 @@ var v0 = [
|
|||||||
"kind": "Literal",
|
"kind": "Literal",
|
||||||
"name": "orderBy",
|
"name": "orderBy",
|
||||||
"value": {
|
"value": {
|
||||||
"direction": "DESC",
|
"direction": "ASC",
|
||||||
"field": "CREATED_AT"
|
"field": "ORGANIZATION_NAME"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -141,7 +141,7 @@ return {
|
|||||||
"action": "THROW"
|
"action": "THROW"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"storageKey": "memberships(first:1000,orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
|
"storageKey": "memberships(first:1000,orderBy:{\"direction\":\"ASC\",\"field\":\"ORGANIZATION_NAME\"})"
|
||||||
},
|
},
|
||||||
"action": "THROW"
|
"action": "THROW"
|
||||||
}
|
}
|
||||||
@@ -239,7 +239,7 @@ return {
|
|||||||
"storageKey": null
|
"storageKey": null
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"storageKey": "memberships(first:1000,orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
|
"storageKey": "memberships(first:1000,orderBy:{\"direction\":\"ASC\",\"field\":\"ORGANIZATION_NAME\"})"
|
||||||
},
|
},
|
||||||
(v1/*: any*/)
|
(v1/*: any*/)
|
||||||
],
|
],
|
||||||
@@ -248,16 +248,16 @@ return {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"params": {
|
"params": {
|
||||||
"cacheID": "edb71632c35f1f8aefa1bb426c81a985",
|
"cacheID": "9295fb9d95666f4b397645e143b7e774",
|
||||||
"id": null,
|
"id": null,
|
||||||
"metadata": {},
|
"metadata": {},
|
||||||
"name": "MembershipsDropdownMenuQuery",
|
"name": "MembershipsDropdownMenuQuery",
|
||||||
"operationKind": "query",
|
"operationKind": "query",
|
||||||
"text": "query MembershipsDropdownMenuQuery {\n viewer {\n memberships(first: 1000, orderBy: {direction: DESC, field: CREATED_AT}) {\n edges {\n node {\n id\n organization {\n name\n id\n }\n ...MembershipsDropdownMenuItemFragment\n }\n }\n }\n id\n }\n}\n\nfragment MembershipsDropdownMenuItemFragment on Membership {\n id\n lastSession {\n id\n expiresAt\n }\n organization {\n id\n logoUrl\n name\n }\n}\n"
|
"text": "query MembershipsDropdownMenuQuery {\n viewer {\n memberships(first: 1000, orderBy: {direction: ASC, field: ORGANIZATION_NAME}) {\n edges {\n node {\n id\n organization {\n name\n id\n }\n ...MembershipsDropdownMenuItemFragment\n }\n }\n }\n id\n }\n}\n\nfragment MembershipsDropdownMenuItemFragment on Membership {\n id\n lastSession {\n id\n expiresAt\n }\n organization {\n id\n logoUrl\n name\n }\n}\n"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
(node as any).hash = "aa787b33a7cb3046d30fd638f4850621";
|
(node as any).hash = "cd47570a10588c0e1c68240817141fd8";
|
||||||
|
|
||||||
export default node;
|
export default node;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* @generated SignedSource<<1d247c2fede04c2292000421a9e49fa8>>
|
* @generated SignedSource<<3a268aba389df25968eb44b454150288>>
|
||||||
* @lightSyntaxTransform
|
* @lightSyntaxTransform
|
||||||
* @nogrep
|
* @nogrep
|
||||||
*/
|
*/
|
||||||
@@ -46,42 +46,39 @@ var v0 = {
|
|||||||
"kind": "Literal",
|
"kind": "Literal",
|
||||||
"name": "orderBy",
|
"name": "orderBy",
|
||||||
"value": {
|
"value": {
|
||||||
"direction": "DESC",
|
"direction": "ASC",
|
||||||
"field": "CREATED_AT"
|
"field": "ORGANIZATION_NAME"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
v1 = [
|
v1 = {
|
||||||
(v0/*: any*/)
|
|
||||||
],
|
|
||||||
v2 = {
|
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "id",
|
"name": "id",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v3 = {
|
v2 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "name",
|
"name": "name",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v4 = {
|
v3 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "__typename",
|
"name": "__typename",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v5 = {
|
v4 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "ScalarField",
|
"kind": "ScalarField",
|
||||||
"name": "cursor",
|
"name": "cursor",
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v6 = {
|
v5 = {
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
"concreteType": "PageInfo",
|
"concreteType": "PageInfo",
|
||||||
@@ -106,7 +103,7 @@ v6 = {
|
|||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
v7 = {
|
v6 = {
|
||||||
"kind": "ClientExtension",
|
"kind": "ClientExtension",
|
||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
@@ -118,16 +115,29 @@ v7 = {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
v8 = [
|
v7 = {
|
||||||
{
|
"kind": "Literal",
|
||||||
"kind": "Literal",
|
"name": "orderBy",
|
||||||
"name": "first",
|
"value": {
|
||||||
"value": 1000
|
"direction": "DESC",
|
||||||
},
|
"field": "CREATED_AT"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
v8 = {
|
||||||
|
"kind": "Literal",
|
||||||
|
"name": "first",
|
||||||
|
"value": 1000
|
||||||
|
},
|
||||||
|
v9 = [
|
||||||
|
(v8/*: any*/),
|
||||||
(v0/*: any*/)
|
(v0/*: any*/)
|
||||||
],
|
],
|
||||||
v9 = [
|
v10 = [
|
||||||
"orderBy"
|
"orderBy"
|
||||||
|
],
|
||||||
|
v11 = [
|
||||||
|
(v8/*: any*/),
|
||||||
|
(v7/*: any*/)
|
||||||
];
|
];
|
||||||
return {
|
return {
|
||||||
"fragment": {
|
"fragment": {
|
||||||
@@ -150,7 +160,9 @@ return {
|
|||||||
"kind": "RequiredField",
|
"kind": "RequiredField",
|
||||||
"field": {
|
"field": {
|
||||||
"alias": "memberships",
|
"alias": "memberships",
|
||||||
"args": (v1/*: any*/),
|
"args": [
|
||||||
|
(v0/*: any*/)
|
||||||
|
],
|
||||||
"concreteType": "MembershipConnection",
|
"concreteType": "MembershipConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "__MembershipsPage_memberships_connection",
|
"name": "__MembershipsPage_memberships_connection",
|
||||||
@@ -174,7 +186,7 @@ return {
|
|||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v2/*: any*/),
|
(v1/*: any*/),
|
||||||
{
|
{
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "FragmentSpread",
|
"kind": "FragmentSpread",
|
||||||
@@ -190,26 +202,26 @@ return {
|
|||||||
"name": "organization",
|
"name": "organization",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v3/*: any*/)
|
(v2/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
"action": "THROW"
|
"action": "THROW"
|
||||||
},
|
},
|
||||||
(v4/*: any*/)
|
(v3/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v5/*: any*/)
|
(v4/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
"action": "THROW"
|
"action": "THROW"
|
||||||
},
|
},
|
||||||
(v6/*: any*/),
|
(v5/*: any*/),
|
||||||
(v7/*: any*/)
|
(v6/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": "__MembershipsPage_memberships_connection(orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
|
"storageKey": "__MembershipsPage_memberships_connection(orderBy:{\"direction\":\"ASC\",\"field\":\"ORGANIZATION_NAME\"})"
|
||||||
},
|
},
|
||||||
"action": "THROW"
|
"action": "THROW"
|
||||||
},
|
},
|
||||||
@@ -217,7 +229,9 @@ return {
|
|||||||
"kind": "RequiredField",
|
"kind": "RequiredField",
|
||||||
"field": {
|
"field": {
|
||||||
"alias": "pendingInvitations",
|
"alias": "pendingInvitations",
|
||||||
"args": (v1/*: any*/),
|
"args": [
|
||||||
|
(v7/*: any*/)
|
||||||
|
],
|
||||||
"concreteType": "InvitationConnection",
|
"concreteType": "InvitationConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "__MembershipsPage_pendingInvitations_connection",
|
"name": "__MembershipsPage_pendingInvitations_connection",
|
||||||
@@ -241,24 +255,24 @@ return {
|
|||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v2/*: any*/),
|
(v1/*: any*/),
|
||||||
{
|
{
|
||||||
"args": null,
|
"args": null,
|
||||||
"kind": "FragmentSpread",
|
"kind": "FragmentSpread",
|
||||||
"name": "InvitationCardFragment"
|
"name": "InvitationCardFragment"
|
||||||
},
|
},
|
||||||
(v4/*: any*/)
|
(v3/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v5/*: any*/)
|
(v4/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
"action": "THROW"
|
"action": "THROW"
|
||||||
},
|
},
|
||||||
(v6/*: any*/),
|
(v5/*: any*/),
|
||||||
(v7/*: any*/)
|
(v6/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": "__MembershipsPage_pendingInvitations_connection(orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
|
"storageKey": "__MembershipsPage_pendingInvitations_connection(orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
|
||||||
},
|
},
|
||||||
@@ -289,7 +303,7 @@ return {
|
|||||||
"selections": [
|
"selections": [
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v8/*: any*/),
|
"args": (v9/*: any*/),
|
||||||
"concreteType": "MembershipConnection",
|
"concreteType": "MembershipConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "memberships",
|
"name": "memberships",
|
||||||
@@ -311,7 +325,7 @@ return {
|
|||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v2/*: any*/),
|
(v1/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -320,7 +334,7 @@ return {
|
|||||||
"name": "lastSession",
|
"name": "lastSession",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v2/*: any*/),
|
(v1/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -339,8 +353,8 @@ return {
|
|||||||
"name": "organization",
|
"name": "organization",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
|
(v1/*: any*/),
|
||||||
(v2/*: any*/),
|
(v2/*: any*/),
|
||||||
(v3/*: any*/),
|
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -351,23 +365,23 @@ return {
|
|||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v4/*: any*/)
|
(v3/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v5/*: any*/)
|
(v4/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v6/*: any*/),
|
(v5/*: any*/),
|
||||||
(v7/*: any*/)
|
(v6/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": "memberships(first:1000,orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
|
"storageKey": "memberships(first:1000,orderBy:{\"direction\":\"ASC\",\"field\":\"ORGANIZATION_NAME\"})"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v8/*: any*/),
|
"args": (v9/*: any*/),
|
||||||
"filters": (v9/*: any*/),
|
"filters": (v10/*: any*/),
|
||||||
"handle": "connection",
|
"handle": "connection",
|
||||||
"key": "MembershipsPage_memberships",
|
"key": "MembershipsPage_memberships",
|
||||||
"kind": "LinkedHandle",
|
"kind": "LinkedHandle",
|
||||||
@@ -375,7 +389,7 @@ return {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v8/*: any*/),
|
"args": (v11/*: any*/),
|
||||||
"concreteType": "InvitationConnection",
|
"concreteType": "InvitationConnection",
|
||||||
"kind": "LinkedField",
|
"kind": "LinkedField",
|
||||||
"name": "pendingInvitations",
|
"name": "pendingInvitations",
|
||||||
@@ -397,7 +411,7 @@ return {
|
|||||||
"name": "node",
|
"name": "node",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v2/*: any*/),
|
(v1/*: any*/),
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": null,
|
"args": null,
|
||||||
@@ -420,41 +434,41 @@ return {
|
|||||||
"name": "organization",
|
"name": "organization",
|
||||||
"plural": false,
|
"plural": false,
|
||||||
"selections": [
|
"selections": [
|
||||||
(v2/*: any*/),
|
(v1/*: any*/),
|
||||||
(v3/*: any*/)
|
(v2/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v4/*: any*/)
|
(v3/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v5/*: any*/)
|
(v4/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
},
|
},
|
||||||
(v6/*: any*/),
|
(v5/*: any*/),
|
||||||
(v7/*: any*/)
|
(v6/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": "pendingInvitations(first:1000,orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
|
"storageKey": "pendingInvitations(first:1000,orderBy:{\"direction\":\"DESC\",\"field\":\"CREATED_AT\"})"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"alias": null,
|
"alias": null,
|
||||||
"args": (v8/*: any*/),
|
"args": (v11/*: any*/),
|
||||||
"filters": (v9/*: any*/),
|
"filters": (v10/*: any*/),
|
||||||
"handle": "connection",
|
"handle": "connection",
|
||||||
"key": "MembershipsPage_pendingInvitations",
|
"key": "MembershipsPage_pendingInvitations",
|
||||||
"kind": "LinkedHandle",
|
"kind": "LinkedHandle",
|
||||||
"name": "pendingInvitations"
|
"name": "pendingInvitations"
|
||||||
},
|
},
|
||||||
(v2/*: any*/)
|
(v1/*: any*/)
|
||||||
],
|
],
|
||||||
"storageKey": null
|
"storageKey": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"params": {
|
"params": {
|
||||||
"cacheID": "a3dc3f3e775fa02b7d181fa57ade06b9",
|
"cacheID": "9807cdf4aa713babb1639e4effd96e54",
|
||||||
"id": null,
|
"id": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"connection": [
|
"connection": [
|
||||||
@@ -480,11 +494,11 @@ return {
|
|||||||
},
|
},
|
||||||
"name": "MembershipsPageQuery",
|
"name": "MembershipsPageQuery",
|
||||||
"operationKind": "query",
|
"operationKind": "query",
|
||||||
"text": "query MembershipsPageQuery {\n viewer {\n memberships(first: 1000, orderBy: {direction: DESC, field: CREATED_AT}) {\n edges {\n node {\n id\n ...MembershipCardFragment\n organization {\n name\n id\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n pendingInvitations(first: 1000, orderBy: {direction: DESC, field: CREATED_AT}) {\n edges {\n node {\n id\n ...InvitationCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n id\n }\n}\n\nfragment InvitationCardFragment on Invitation {\n id\n role\n createdAt\n organization {\n id\n name\n }\n}\n\nfragment MembershipCardFragment on Membership {\n lastSession {\n id\n expiresAt\n }\n organization {\n id\n name\n logoUrl\n }\n}\n"
|
"text": "query MembershipsPageQuery {\n viewer {\n memberships(first: 1000, orderBy: {direction: ASC, field: ORGANIZATION_NAME}) {\n edges {\n node {\n id\n ...MembershipCardFragment\n organization {\n name\n id\n }\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n pendingInvitations(first: 1000, orderBy: {direction: DESC, field: CREATED_AT}) {\n edges {\n node {\n id\n ...InvitationCardFragment\n __typename\n }\n cursor\n }\n pageInfo {\n endCursor\n hasNextPage\n }\n }\n id\n }\n}\n\nfragment InvitationCardFragment on Invitation {\n id\n role\n createdAt\n organization {\n id\n name\n }\n}\n\nfragment MembershipCardFragment on Membership {\n lastSession {\n id\n expiresAt\n }\n organization {\n id\n name\n logoUrl\n }\n}\n"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
|
||||||
(node as any).hash = "b21b9cae0ab7a4afdf12fb6ae516b64e";
|
(node as any).hash = "7956b20535004550c271e1a520c95fe4";
|
||||||
|
|
||||||
export default node;
|
export default node;
|
||||||
|
|||||||
@@ -16,7 +16,10 @@ import { usePageTitle } from "@probo/hooks";
|
|||||||
export const membershipsPageQuery = graphql`
|
export const membershipsPageQuery = graphql`
|
||||||
query MembershipsPageQuery {
|
query MembershipsPageQuery {
|
||||||
viewer @required(action: THROW) {
|
viewer @required(action: THROW) {
|
||||||
memberships(first: 1000, orderBy: { direction: DESC, field: CREATED_AT })
|
memberships(
|
||||||
|
first: 1000
|
||||||
|
orderBy: { direction: ASC, field: ORGANIZATION_NAME }
|
||||||
|
)
|
||||||
@connection(key: "MembershipsPage_memberships")
|
@connection(key: "MembershipsPage_memberships")
|
||||||
@required(action: THROW) {
|
@required(action: THROW) {
|
||||||
__id
|
__id
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ import { MembershipsDropdownMenuItem } from "./MembershipsDropdownMenuItem";
|
|||||||
export const membershipsDropdownMenuQuery = graphql`
|
export const membershipsDropdownMenuQuery = graphql`
|
||||||
query MembershipsDropdownMenuQuery {
|
query MembershipsDropdownMenuQuery {
|
||||||
viewer @required(action: THROW) {
|
viewer @required(action: THROW) {
|
||||||
memberships(first: 1000, orderBy: { direction: DESC, field: CREATED_AT })
|
memberships(
|
||||||
@required(action: THROW) {
|
first: 1000
|
||||||
|
orderBy: { direction: ASC, field: ORGANIZATION_NAME }
|
||||||
|
) @required(action: THROW) {
|
||||||
edges @required(action: THROW) {
|
edges @required(action: THROW) {
|
||||||
node @required(action: THROW) {
|
node @required(action: THROW) {
|
||||||
id
|
id
|
||||||
|
|||||||
@@ -31,16 +31,17 @@ import (
|
|||||||
|
|
||||||
type (
|
type (
|
||||||
Membership struct {
|
Membership struct {
|
||||||
ID gid.GID `db:"id"`
|
ID gid.GID `db:"id"`
|
||||||
IdentityID gid.GID `db:"identity_id"`
|
IdentityID gid.GID `db:"identity_id"`
|
||||||
OrganizationID gid.GID `db:"organization_id"`
|
OrganizationID gid.GID `db:"organization_id"`
|
||||||
Role MembershipRole `db:"role"`
|
Role MembershipRole `db:"role"`
|
||||||
Source MembershipSource `db:"source"`
|
Source MembershipSource `db:"source"`
|
||||||
State MembershipState `db:"state"`
|
State MembershipState `db:"state"`
|
||||||
FullName string `db:"full_name"`
|
FullName string `db:"full_name"`
|
||||||
EmailAddress mail.Addr `db:"email_address"`
|
EmailAddress mail.Addr `db:"email_address"`
|
||||||
CreatedAt time.Time `db:"created_at"`
|
OrganizationName string `db:"organization_name"`
|
||||||
UpdatedAt time.Time `db:"updated_at"`
|
CreatedAt time.Time `db:"created_at"`
|
||||||
|
UpdatedAt time.Time `db:"updated_at"`
|
||||||
}
|
}
|
||||||
|
|
||||||
Memberships []*Membership
|
Memberships []*Membership
|
||||||
@@ -48,6 +49,8 @@ type (
|
|||||||
|
|
||||||
func (m Membership) CursorKey(orderBy MembershipOrderField) page.CursorKey {
|
func (m Membership) CursorKey(orderBy MembershipOrderField) page.CursorKey {
|
||||||
switch orderBy {
|
switch orderBy {
|
||||||
|
case MembershipOrderFieldOrganizationName:
|
||||||
|
return page.NewCursorKey(m.ID, m.OrganizationName)
|
||||||
case MembershipOrderFieldFullName:
|
case MembershipOrderFieldFullName:
|
||||||
return page.NewCursorKey(m.ID, m.FullName)
|
return page.NewCursorKey(m.ID, m.FullName)
|
||||||
case MembershipOrderFieldEmailAddress:
|
case MembershipOrderFieldEmailAddress:
|
||||||
@@ -88,11 +91,13 @@ SELECT
|
|||||||
mbr.state,
|
mbr.state,
|
||||||
COALESCE(mp.full_name, i.full_name, '') as full_name,
|
COALESCE(mp.full_name, i.full_name, '') as full_name,
|
||||||
i.email_address,
|
i.email_address,
|
||||||
|
o.name AS organization_name,
|
||||||
mbr.created_at,
|
mbr.created_at,
|
||||||
mbr.updated_at
|
mbr.updated_at
|
||||||
FROM
|
FROM
|
||||||
mbr
|
mbr
|
||||||
JOIN identities i ON mbr.identity_id = i.id
|
JOIN identities i ON mbr.identity_id = i.id
|
||||||
|
JOIN organizations o ON mbr.organization_id = o.id
|
||||||
LEFT JOIN iam_membership_profiles mp ON mp.membership_id = mbr.id
|
LEFT JOIN iam_membership_profiles mp ON mp.membership_id = mbr.id
|
||||||
`
|
`
|
||||||
|
|
||||||
@@ -207,12 +212,15 @@ SELECT
|
|||||||
mbr.state,
|
mbr.state,
|
||||||
COALESCE(mp.full_name, i.full_name, '') as full_name,
|
COALESCE(mp.full_name, i.full_name, '') as full_name,
|
||||||
i.email_address,
|
i.email_address,
|
||||||
|
o.name as organization_name,
|
||||||
mbr.created_at,
|
mbr.created_at,
|
||||||
mbr.updated_at
|
mbr.updated_at
|
||||||
FROM
|
FROM
|
||||||
mbr
|
mbr
|
||||||
JOIN
|
JOIN
|
||||||
identities i ON mbr.identity_id = i.id
|
identities i ON mbr.identity_id = i.id
|
||||||
|
JOIN
|
||||||
|
organizations o ON mbr.organization_id = o.id
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
iam_membership_profiles mp ON mp.membership_id = mbr.id
|
iam_membership_profiles mp ON mp.membership_id = mbr.id
|
||||||
`
|
`
|
||||||
@@ -314,12 +322,15 @@ SELECT
|
|||||||
mbr.state,
|
mbr.state,
|
||||||
COALESCE(mp.full_name, i.full_name, '') as full_name,
|
COALESCE(mp.full_name, i.full_name, '') as full_name,
|
||||||
i.email_address,
|
i.email_address,
|
||||||
|
o.name as organization_name,
|
||||||
mbr.created_at,
|
mbr.created_at,
|
||||||
mbr.updated_at
|
mbr.updated_at
|
||||||
FROM
|
FROM
|
||||||
mbr
|
mbr
|
||||||
JOIN
|
JOIN
|
||||||
identities i ON mbr.identity_id = i.id
|
identities i ON mbr.identity_id = i.id
|
||||||
|
JOIN
|
||||||
|
organizations o ON mbr.organization_id = o.id
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
iam_membership_profiles mp ON mp.membership_id = mbr.id
|
iam_membership_profiles mp ON mp.membership_id = mbr.id
|
||||||
`
|
`
|
||||||
@@ -451,12 +462,15 @@ SELECT
|
|||||||
mbr.state,
|
mbr.state,
|
||||||
COALESCE(mp.full_name, i.full_name, '') as full_name,
|
COALESCE(mp.full_name, i.full_name, '') as full_name,
|
||||||
i.email_address,
|
i.email_address,
|
||||||
|
o.name as organization_name,
|
||||||
mbr.created_at,
|
mbr.created_at,
|
||||||
mbr.updated_at
|
mbr.updated_at
|
||||||
FROM
|
FROM
|
||||||
mbr
|
mbr
|
||||||
JOIN
|
JOIN
|
||||||
identities i ON mbr.identity_id = i.id
|
identities i ON mbr.identity_id = i.id
|
||||||
|
JOIN
|
||||||
|
organizations o ON mbr.organization_id = o.id
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
iam_membership_profiles mp ON mp.membership_id = mbr.id
|
iam_membership_profiles mp ON mp.membership_id = mbr.id
|
||||||
WHERE
|
WHERE
|
||||||
@@ -504,12 +518,15 @@ WITH membership_with_profile AS (
|
|||||||
m.state,
|
m.state,
|
||||||
COALESCE(mp.full_name, i.full_name, '') AS full_name,
|
COALESCE(mp.full_name, i.full_name, '') AS full_name,
|
||||||
i.email_address,
|
i.email_address,
|
||||||
|
o.name as organization_name,
|
||||||
m.created_at,
|
m.created_at,
|
||||||
m.updated_at
|
m.updated_at
|
||||||
FROM
|
FROM
|
||||||
iam_memberships m
|
iam_memberships m
|
||||||
JOIN
|
JOIN
|
||||||
identities i ON m.identity_id = i.id
|
identities i ON m.identity_id = i.id
|
||||||
|
JOIN
|
||||||
|
organizations o ON mbr.organization_id = o.id
|
||||||
LEFT JOIN
|
LEFT JOIN
|
||||||
iam_membership_profiles mp ON mp.membership_id = m.id
|
iam_membership_profiles mp ON mp.membership_id = m.id
|
||||||
WHERE
|
WHERE
|
||||||
@@ -632,6 +649,7 @@ SELECT
|
|||||||
state,
|
state,
|
||||||
'' as full_name,
|
'' as full_name,
|
||||||
NULL as email_address,
|
NULL as email_address,
|
||||||
|
'' as organization_name,
|
||||||
created_at,
|
created_at,
|
||||||
updated_at
|
updated_at
|
||||||
FROM
|
FROM
|
||||||
|
|||||||
@@ -19,14 +19,17 @@ type (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
MembershipOrderFieldFullName MembershipOrderField = "FULL_NAME"
|
MembershipOrderFieldOrganizationName MembershipOrderField = "ORGANIZATION_NAME"
|
||||||
MembershipOrderFieldEmailAddress MembershipOrderField = "EMAIL_ADDRESS"
|
MembershipOrderFieldFullName MembershipOrderField = "FULL_NAME"
|
||||||
MembershipOrderFieldRole MembershipOrderField = "ROLE"
|
MembershipOrderFieldEmailAddress MembershipOrderField = "EMAIL_ADDRESS"
|
||||||
MembershipOrderFieldCreatedAt MembershipOrderField = "CREATED_AT"
|
MembershipOrderFieldRole MembershipOrderField = "ROLE"
|
||||||
|
MembershipOrderFieldCreatedAt MembershipOrderField = "CREATED_AT"
|
||||||
)
|
)
|
||||||
|
|
||||||
func (p MembershipOrderField) Column() string {
|
func (p MembershipOrderField) Column() string {
|
||||||
switch p {
|
switch p {
|
||||||
|
case MembershipOrderFieldOrganizationName:
|
||||||
|
return "organization_name"
|
||||||
case MembershipOrderFieldFullName:
|
case MembershipOrderFieldFullName:
|
||||||
return "full_name"
|
return "full_name"
|
||||||
case MembershipOrderFieldEmailAddress:
|
case MembershipOrderFieldEmailAddress:
|
||||||
|
|||||||
@@ -412,6 +412,10 @@ enum MembershipOrderField
|
|||||||
@goEnum(
|
@goEnum(
|
||||||
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldFullName"
|
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldFullName"
|
||||||
)
|
)
|
||||||
|
ORGANIZATION_NAME
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldOrganizationName"
|
||||||
|
)
|
||||||
EMAIL_ADDRESS
|
EMAIL_ADDRESS
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldEmailAddress"
|
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldEmailAddress"
|
||||||
|
|||||||
@@ -2687,6 +2687,10 @@ enum MembershipOrderField
|
|||||||
@goEnum(
|
@goEnum(
|
||||||
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldFullName"
|
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldFullName"
|
||||||
)
|
)
|
||||||
|
ORGANIZATION_NAME
|
||||||
|
@goEnum(
|
||||||
|
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldOrganizationName"
|
||||||
|
)
|
||||||
EMAIL_ADDRESS
|
EMAIL_ADDRESS
|
||||||
@goEnum(
|
@goEnum(
|
||||||
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldEmailAddress"
|
value: "go.probo.inc/probo/pkg/coredata.MembershipOrderFieldEmailAddress"
|
||||||
@@ -20088,16 +20092,18 @@ func (ec *executionContext) marshalNMembershipOrderField2goᚗproboᚗincᚋprob
|
|||||||
|
|
||||||
var (
|
var (
|
||||||
unmarshalNMembershipOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐMembershipOrderField = map[string]coredata.MembershipOrderField{
|
unmarshalNMembershipOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐMembershipOrderField = map[string]coredata.MembershipOrderField{
|
||||||
"FULL_NAME": coredata.MembershipOrderFieldFullName,
|
"FULL_NAME": coredata.MembershipOrderFieldFullName,
|
||||||
"EMAIL_ADDRESS": coredata.MembershipOrderFieldEmailAddress,
|
"ORGANIZATION_NAME": coredata.MembershipOrderFieldOrganizationName,
|
||||||
"ROLE": coredata.MembershipOrderFieldRole,
|
"EMAIL_ADDRESS": coredata.MembershipOrderFieldEmailAddress,
|
||||||
"CREATED_AT": coredata.MembershipOrderFieldCreatedAt,
|
"ROLE": coredata.MembershipOrderFieldRole,
|
||||||
|
"CREATED_AT": coredata.MembershipOrderFieldCreatedAt,
|
||||||
}
|
}
|
||||||
marshalNMembershipOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐMembershipOrderField = map[coredata.MembershipOrderField]string{
|
marshalNMembershipOrderField2goᚗproboᚗincᚋproboᚋpkgᚋcoredataᚐMembershipOrderField = map[coredata.MembershipOrderField]string{
|
||||||
coredata.MembershipOrderFieldFullName: "FULL_NAME",
|
coredata.MembershipOrderFieldFullName: "FULL_NAME",
|
||||||
coredata.MembershipOrderFieldEmailAddress: "EMAIL_ADDRESS",
|
coredata.MembershipOrderFieldOrganizationName: "ORGANIZATION_NAME",
|
||||||
coredata.MembershipOrderFieldRole: "ROLE",
|
coredata.MembershipOrderFieldEmailAddress: "EMAIL_ADDRESS",
|
||||||
coredata.MembershipOrderFieldCreatedAt: "CREATED_AT",
|
coredata.MembershipOrderFieldRole: "ROLE",
|
||||||
|
coredata.MembershipOrderFieldCreatedAt: "CREATED_AT",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user