Merge pull request #8888 from tchak/graphql-improuve-stored-query

ETQ intégrateur API, je voudrais avoir accès aux dossiers récemment supprimés d’un groupe instructeur
This commit is contained in:
github-merge-queue[bot] 2023-04-18 13:25:31 +00:00 committed by GitHub
commit 26e516ea72
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 139 additions and 37 deletions

View file

@ -23,18 +23,18 @@ class API::V2::StoredQuery
$revision: ID
$createdSince: ISO8601DateTime
$updatedSince: ISO8601DateTime
$deletedOrder: Order
$deletedFirst: Int
$deletedAfter: String
$deletedSince: ISO8601DateTime
$pendingDeletedOrder: Order
$pendingDeletedFirst: Int
$pendingDeletedAfter: String
$pendingDeletedSince: ISO8601DateTime
$deletedOrder: Order
$deletedFirst: Int
$deletedAfter: String
$deletedSince: ISO8601DateTime
$includeGroupeInstructeurs: Boolean = false
$includeDossiers: Boolean = false
$includeDeletedDossiers: Boolean = false
$includePendingDeletedDossiers: Boolean = false
$includeDeletedDossiers: Boolean = false
$includeRevision: Boolean = false
$includeService: Boolean = false
$includeChamps: Boolean = true
@ -118,11 +118,16 @@ class API::V2::StoredQuery
$revision: ID
$createdSince: ISO8601DateTime
$updatedSince: ISO8601DateTime
$pendingDeletedOrder: Order
$pendingDeletedFirst: Int
$pendingDeletedAfter: String
$pendingDeletedSince: ISO8601DateTime
$deletedOrder: Order
$deletedFirst: Int
$deletedAfter: String
$deletedSince: ISO8601DateTime
$includeDossiers: Boolean = false
$includePendingDeletedDossiers: Boolean = false
$includeDeletedDossiers: Boolean = false
$includeChamps: Boolean = true
$includeAnotations: Boolean = true
@ -157,6 +162,19 @@ class API::V2::StoredQuery
...DossierFragment
}
}
pendingDeletedDossiers(
order: $pendingDeletedOrder
first: $pendingDeletedFirst
after: $pendingDeletedAfter
deletedSince: $pendingDeletedSince
) @include(if: $includePendingDeletedDossiers) {
pageInfo {
...PageInfoFragment
}
nodes {
...DeletedDossierFragment
}
}
deletedDossiers(
order: $deletedOrder
first: $deletedFirst
@ -250,14 +268,9 @@ class API::V2::StoredQuery
}
demandeur {
__typename
... on PersonnePhysique {
civilite
nom
prenom
dateDeNaissance
}
... on PersonneMoraleIncomplete { siret }
...PersonnePhysiqueFragment
...PersonneMoraleFragment
...PersonneMoraleIncompleteFragment
}
demarche {
revision {
@ -368,24 +381,6 @@ class API::V2::StoredQuery
collapsibleExplanationEnabled
collapsibleExplanationText
}
... on PaysChampDescriptor {
options {
name
code
}
}
... on RegionChampDescriptor {
options {
name
code
}
}
... on DepartementChampDescriptor {
options {
name
code
}
}
}
fragment AvisFragment on Avis {
@ -502,8 +497,7 @@ class API::V2::StoredQuery
}
... on EpciChamp {
epci {
name
code
...EpciFragment
}
departement {
...DepartementFragment
@ -524,14 +518,12 @@ class API::V2::StoredQuery
}
... on RegionChamp {
region {
name
code
...RegionFragment
}
}
... on PaysChamp {
pays {
name
code
...PaysFragment
}
}
... on SiretChamp {
@ -579,6 +571,17 @@ class API::V2::StoredQuery
}
}
fragment PersonneMoraleIncompleteFragment on PersonneMoraleIncomplete {
siret
}
fragment PersonnePhysiqueFragment on PersonnePhysique {
civilite
nom
prenom
}
fragment FileFragment on File {
filename
contentType
@ -602,11 +605,26 @@ class API::V2::StoredQuery
regionCode
}
fragment PaysFragment on Pays {
name
code
}
fragment RegionFragment on Region {
name
code
}
fragment DepartementFragment on Departement {
name
code
}
fragment EpciFragment on Epci {
name
code
}
fragment CommuneFragment on Commune {
name
code

View file

@ -2478,6 +2478,41 @@ type GroupeInstructeurWithDossiers {
Le numero du groupe instructeur.
"""
number: Int!
"""
Liste de tous les dossiers en attente de suppression définitive dun groupe instructeur.
"""
pendingDeletedDossiers(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Dossiers en attente de suppression depuis la date.
"""
deletedSince: ISO8601DateTime
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Lordre des dossiers en attente de suppression.
"""
order: Order = ASC
): DeletedDossierConnection!
}
type HeaderSectionChampDescriptor implements ChampDescriptor {

View file

@ -18,6 +18,11 @@ module Types
argument :deleted_since, GraphQL::Types::ISO8601DateTime, required: false, description: "Dossiers supprimés depuis la date."
end
field :pending_deleted_dossiers, Types::DeletedDossierType.connection_type, "Liste de tous les dossiers en attente de suppression définitive dun groupe instructeur.", null: false do
argument :order, Types::Order, default_value: :asc, required: false, description: "Lordre des dossiers en attente de suppression."
argument :deleted_since, GraphQL::Types::ISO8601DateTime, required: false, description: "Dossiers en attente de suppression depuis la date."
end
def dossiers(updated_since: nil, created_since: nil, state: nil, archived: nil, revision: nil, max_revision: nil, min_revision: nil, order:, lookahead:)
dossiers = object
.dossiers
@ -70,5 +75,15 @@ module Types
dossiers.order(deleted_at: order)
end
def pending_deleted_dossiers(deleted_since: nil, order:)
dossiers = object.dossiers.hidden_for_administration
if deleted_since.present?
dossiers = dossiers.hidden_since(deleted_since)
end
dossiers.order(hidden_by_user_at: order, hidden_by_administration_at: order)
end
end
end