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