From cdcedcd23d8a107f9f430d46edab307e9f4a6f19 Mon Sep 17 00:00:00 2001 From: JOEELHAJJ <joeelhajj53@gmail.com> Date: Mon, 25 Mar 2024 23:45:35 +0100 Subject: [PATCH] list --- contracts/AssociationRegistry.jsligo | 29 +++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/contracts/AssociationRegistry.jsligo b/contracts/AssociationRegistry.jsligo index b85e778..4bfa506 100644 --- a/contracts/AssociationRegistry.jsligo +++ b/contracts/AssociationRegistry.jsligo @@ -11,8 +11,7 @@ type associationStatus = type association = { name: string; - coordinate: coordinate; - status: associationStatus; + description: string; admin: option<address>; }; @@ -74,10 +73,26 @@ const changeAdmin = (associationName: string, stor: storage): return_ => { return [list([]), updatedStorage]; } -//List associations -/* +//details d'une associations @view -function getAssociationDetails(associationName: string, storage: storage): option<association> { - return Big_map.find_opt(associationName, storage); +const listDetailsAssociations = (associationName:string, stor: storage): association => { + return match(Big_map.find_opt(associationName, stor)){ + when(Some(value)): value; + when(None): failwith("No value.") + }; +} + +// Function to list details of all associations +@view +const listAllAssociations = (stor: storage): list<association> => { + const associations: list<association> = list([]); + const keys = Big_map.of_list(stor); + for (const name of keys) { + const association = Big_map.find_opt(name, stor); + if (Option.is_some(association)) { + associations.push(Option.unopt(association)); + } + } + return associations; } -*/ + -- GitLab