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