Following the dev like rossman said, you need to split up things # todos - Normalize cities - Verify postal code - Normalize first name and last name - Check if a user already exists by quering the first and last name with string distance - use `strsim` lib - Lint, format code - Remove uneeded deps - find a way to export excel sheet from CSV - `libreoffice --headless --convert-to 'csv' --outdir csv_exports ./ADH\ 02\ 01\ 2024.xlsx` # schedule ## 2023-12-23 - have a rust client to fetch list of users from sql ## 2023-12-27 - Normalize address, cities all of the normalization work should not have been done here, we should have created our own platform so people can register and pay later (either in cash, or using 3rd party payment like stripe) ## 2023-12-28 TODO: - more configuration options - summary of the operations at the end of run - how many users were added, muted? - conjoined user: add attached member to paheko - "Membre lié" - is this kind of thing even accessible on the API-level ? - better error handling & report to the user - handle import error - handle name of the service or service fee not found - BUG: quand l'utilisateur est déjà créé, ya un problème d'ID, le user summary n'a pas le bon id, il faut le populer depuis ce qu'on a déjà fetch ## 2024-01-11 - automatically find the tresorerie exercice based on the date of the transaction query all subscriptions of user byu service label curl -u $PAHEKO_CLIENT_ID:$PAHEKO_CLIENT_SECRET http://localhost:8082/api/sql -d "SELECT su.id_user,su.date FROM services_users AS su JOIN services AS s ON su.id_service = s.id WHERE s.label = 'Cotisation 2023-2024';" ## 2024-01-20 - handle additional donation amount