@@ -20,9 +20,15 @@ export const loadAffiliationConnectionsByOrgId =
2020
2121 let affiliationField , documentField
2222 /* istanbul ignore else */
23- if ( orderBy . field === 'user- username' ) {
23+ if ( orderBy . field === 'username' ) {
2424 affiliationField = aql `DOCUMENT(users, PARSE_IDENTIFIER(affiliation._to).key).userName`
2525 documentField = aql `DOCUMENT(users, PARSE_IDENTIFIER(DOCUMENT(affiliations, ${ afterId } )._to).key).userName`
26+ } else if ( orderBy . field === 'display_name' ) {
27+ affiliationField = aql `DOCUMENT(users, PARSE_IDENTIFIER(affiliation._to).key).displayName`
28+ documentField = aql `DOCUMENT(users, PARSE_IDENTIFIER(DOCUMENT(affiliations, ${ afterId } )._to).key).displayName`
29+ } else if ( orderBy . field === 'permission' ) {
30+ affiliationField = aql `rolePriority[affiliation.permission]`
31+ documentField = aql `rolePriority[DOCUMENT(affiliations, ${ afterId } ).permission]`
2632 }
2733
2834 afterTemplate = aql `
@@ -48,9 +54,15 @@ export const loadAffiliationConnectionsByOrgId =
4854
4955 let affiliationField , documentField
5056 /* istanbul ignore else */
51- if ( orderBy . field === 'user- username' ) {
57+ if ( orderBy . field === 'username' ) {
5258 affiliationField = aql `DOCUMENT(users, PARSE_IDENTIFIER(affiliation._to).key).userName`
5359 documentField = aql `DOCUMENT(users, PARSE_IDENTIFIER(DOCUMENT(affiliations, ${ beforeId } )._to).key).userName`
60+ } else if ( orderBy . field === 'display_name' ) {
61+ affiliationField = aql `DOCUMENT(users, PARSE_IDENTIFIER(affiliation._to).key).displayName`
62+ documentField = aql `DOCUMENT(users, PARSE_IDENTIFIER(DOCUMENT(affiliations, ${ beforeId } )._to).key).displayName`
63+ } else if ( orderBy . field === 'permission' ) {
64+ affiliationField = aql `rolePriority[affiliation.permission]`
65+ documentField = aql `rolePriority[DOCUMENT(affiliations, ${ beforeId } ).permission]`
5466 }
5567
5668 beforeTemplate = aql `
@@ -124,10 +136,18 @@ export const loadAffiliationConnectionsByOrgId =
124136
125137 let affField , hasNextPageDocument , hasPreviousPageDocument
126138 /* istanbul ignore else */
127- if ( orderBy . field === 'user- username' ) {
139+ if ( orderBy . field === 'username' ) {
128140 affField = aql `DOCUMENT(users, PARSE_IDENTIFIER(affiliation._to).key).userName`
129141 hasNextPageDocument = aql `DOCUMENT(users, PARSE_IDENTIFIER(LAST(retrievedAffiliations)._to).key).userName`
130142 hasPreviousPageDocument = aql `DOCUMENT(users, PARSE_IDENTIFIER(FIRST(retrievedAffiliations)._to).key).userName`
143+ } else if ( orderBy . field === 'display_name' ) {
144+ affField = aql `DOCUMENT(users, PARSE_IDENTIFIER(affiliation._to).key).displayName`
145+ hasNextPageDocument = aql `DOCUMENT(users, PARSE_IDENTIFIER(LAST(retrievedAffiliations)._to).key).displayName`
146+ hasPreviousPageDocument = aql `DOCUMENT(users, PARSE_IDENTIFIER(FIRST(retrievedAffiliations)._to).key).displayName`
147+ } else if ( orderBy . field === 'permission' ) {
148+ affField = aql `rolePriority[affiliation.permission]`
149+ hasNextPageDocument = aql `rolePriority[LAST(retrievedAffiliations).permission]`
150+ hasPreviousPageDocument = aql `FIRST(retrievedAffiliations).permission`
131151 }
132152
133153 hasNextPageFilter = aql `
@@ -146,8 +166,12 @@ export const loadAffiliationConnectionsByOrgId =
146166 let sortByField = aql ``
147167 if ( typeof orderBy !== 'undefined' ) {
148168 /* istanbul ignore else */
149- if ( orderBy . field === 'user- username' ) {
169+ if ( orderBy . field === 'username' ) {
150170 sortByField = aql `DOCUMENT(users, PARSE_IDENTIFIER(affiliation._to).key).userName ${ orderBy . direction } ,`
171+ } else if ( orderBy . field === 'display_name' ) {
172+ sortByField = aql `DOCUMENT(users, PARSE_IDENTIFIER(affiliation._to).key).displayName ${ orderBy . direction } ,`
173+ } else if ( orderBy . field === 'permission' ) {
174+ sortByField = aql `rolePriority[affiliation.permission] ${ orderBy . direction } ,`
151175 }
152176 }
153177
@@ -196,6 +220,14 @@ export const loadAffiliationConnectionsByOrgId =
196220 RETURN e._key
197221 )
198222
223+ LET rolePriority = {
224+ "pending": 0,
225+ "owner": 1,
226+ "super_admin": 2,
227+ "admin": 3,
228+ "user": 4
229+ }
230+
199231 LET retrievedAffiliations = (
200232 FOR affiliation IN affiliations
201233 FILTER affiliation._key IN affiliationKeys
0 commit comments