diff --git a/currency-ledger/ownership/book-of-owners.csv b/currency-ledger/ownership/book-of-owners.csv index 74d1d43..47250fe 100644 --- a/currency-ledger/ownership/book-of-owners.csv +++ b/currency-ledger/ownership/book-of-owners.csv @@ -1,2 +1,2 @@ owner_id,display_name,license_type,license_date,current_sk,voting_weight,status,last_updated -001,robbert_founder,work,2025-08-04T14:37:16.470130Z,0,1.00,active,2025-08-04T14:37:16.470130Z +001,4_1_1_robbert_founding_entrepreneur,work,2025-08-04T14:37:16.470130Z,0,1.00,active,2025-08-04T14:37:16.470130Z diff --git a/currency-ledger/ownership/complete-profiles.csv b/currency-ledger/ownership/complete-profiles.csv new file mode 100644 index 0000000..e69de29 diff --git a/currency-ledger/scripts/update-profile.py b/currency-ledger/scripts/update-profile.py new file mode 100755 index 0000000..b888a68 --- /dev/null +++ b/currency-ledger/scripts/update-profile.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python3 +""" +Personal Profile Update Script +Update your own information safely +""" + +import csv +import os +from datetime import datetime + +def update_founder_profile(): + """Update founding entrepreneur profile""" + + base_path = os.path.join(os.path.dirname(__file__), '..') + + print("📝 UPDATE YOUR PROFILE") + print("=" * 30) + + # Show current info + identity_file = os.path.join(base_path, 'ownership', 'identity-mapping.csv') + with open(identity_file, 'r') as f: + reader = csv.DictReader(f) + current_data = list(reader)[0] # Assuming you're owner 001 + + print("Current information:") + print(f" Real Name: {current_data['real_name']}") + print(f" Email: {current_data['email']}") + print(f" Display Name: {current_data['display_name']}") + print(f" Privacy Level: {current_data['privacy_level']}") + print() + + # Get updates + print("Enter new values (press Enter to keep current):") + + new_name = input(f"Real Name [{current_data['real_name']}]: ").strip() + if not new_name: + new_name = current_data['real_name'] + + new_email = input(f"Email [{current_data['email']}]: ").strip() + if not new_email: + new_email = current_data['email'] + + new_display = input(f"Display Name [{current_data['display_name']}]: ").strip() + if not new_display: + new_display = current_data['display_name'] + + new_privacy = input(f"Privacy Level [{current_data['privacy_level']}]: ").strip() + if not new_privacy: + new_privacy = current_data['privacy_level'] + + # Update identity mapping (private) + timestamp = datetime.now().isoformat() + 'Z' + with open(identity_file, 'w', newline='') as f: + writer = csv.writer(f) + writer.writerow(['owner_id', 'real_name', 'email', 'display_name', 'privacy_level', 'created_date']) + writer.writerow(['001', new_name, new_email, new_display, new_privacy, timestamp]) + + # Update book of owners if display name changed + if new_display != current_data['display_name']: + book_file = os.path.join(base_path, 'ownership', 'book-of-owners.csv') + + # Read current book + with open(book_file, 'r') as f: + reader = csv.DictReader(f) + records = list(reader) + + # Update display name for owner 001 + for record in records: + if record['owner_id'] == '001': + record['display_name'] = new_display + record['last_updated'] = timestamp + + # Write back + with open(book_file, 'w', newline='') as f: + fieldnames = ['owner_id', 'display_name', 'license_type', 'license_date', 'current_sk', 'voting_weight', 'status', 'last_updated'] + writer = csv.DictWriter(f, fieldnames=fieldnames) + writer.writeheader() + writer.writerows(records) + + print(f"✅ Display name updated to: {new_display}") + + print("✅ Profile updated successfully!") + print("🔒 Private info stays private (not committed to git)") + +if __name__ == "__main__": + update_founder_profile()