- Add .gitignore to exclude node_modules, dist, logs, and system files - Add comprehensive project documentation including README, deployment guide, and development setup - Add .kiro project specifications for amazon-product-bar-extension, appwrite-cloud-storage, appwrite-userid-repair, blacklist-feature, and enhanced-item-management - Add .kiro steering documents for product, structure, styling, and tech guidelines - Add VSCode settings configuration for consistent development environment - Add manifest.json and babel/vite configuration for extension build setup - Add complete source code implementation including AppWrite integration, storage managers, UI components, and services - Add comprehensive test suite with Jest configuration and 30+ test files covering all major modules - Add test HTML files for integration testing and validation - Add coverage reports and build validation scripts - Add AppWrite setup and repair documentation for database schema management - Add migration guides and responsive accessibility implementation documentation - Establish foundation for Amazon product bar extension with full feature set including blacklist management, enhanced item workflows, and real-time synchronization
10 KiB
AppWrite userId Attribut Reparatur-Tool - Benutzerhandbuch
Übersicht
Das AppWrite userId Attribut Reparatur-Tool ist ein automatisiertes System zur Erkennung, Reparatur und Validierung von AppWrite-Sammlungen, denen das kritische userId-Attribut fehlt. Dieses Tool behebt den häufigen Fehler "Invalid query: Attribute not found in schema: userId" und stellt die ordnungsgemäße Benutzerdatenisolierung sicher.
Funktionen
- Automatische Erkennung: Identifiziert Sammlungen ohne userId-Attribut
- Sichere Reparatur: Fügt userId-Attribute mit korrekten Spezifikationen hinzu
- Berechtigungskonfiguration: Stellt ordnungsgemäße Datenisolierung sicher
- Validierung: Überprüft, ob Reparaturen erfolgreich waren
- Umfassende Berichte: Detaillierte Ergebnisse und Empfehlungen
- Nur-Analyse-Modus: Überprüfung ohne Änderungen
Voraussetzungen
AppWrite-Konfiguration
- AppWrite-Server läuft und ist erreichbar
- Gültiger API-Schlüssel mit erforderlichen Berechtigungen
- Zugriff auf die AppWrite-Konsole für manuelle Korrekturen
Erforderliche API-Schlüssel-Berechtigungen
- databases.read: Zum Analysieren von Sammlungen
- databases.write: Zum Erstellen von Attributen
- collections.read: Zum Lesen von Sammlungsschemas
- collections.write: Zum Aktualisieren von Berechtigungen
- documents.read: Für Validierungsabfragen (optional)
Schnellstart
1. Tool öffnen
Öffnen Sie die Datei test-appwrite-repair-tool.html in Ihrem Browser.
2. Konfiguration eingeben
// AppWrite-Konfiguration
const config = {
endpoint: 'https://ihre-appwrite-url.com/v1',
projectId: 'ihr-projekt-id',
apiKey: 'ihr-api-schlüssel',
databaseId: 'ihre-datenbank-id'
};
3. Reparatur starten
Klicken Sie auf "Reparatur starten" oder "Nur Analyse" für eine sichere Überprüfung.
Detaillierte Anleitung
Schritt 1: Vorbereitung
AppWrite-Verbindung testen
- Öffnen Sie die AppWrite-Konsole in Ihrem Browser
- Überprüfen Sie, ob alle Sammlungen sichtbar sind
- Notieren Sie sich die Projekt-ID und Datenbank-ID
API-Schlüssel überprüfen
- Navigieren Sie zu Projekteinstellungen → API-Schlüssel
- Überprüfen Sie die Berechtigungen Ihres API-Schlüssels
- Erstellen Sie bei Bedarf einen neuen Schlüssel mit allen erforderlichen Berechtigungen
Schritt 2: Nur-Analyse-Modus (Empfohlen)
Führen Sie zuerst eine Analyse durch, um zu verstehen, welche Sammlungen betroffen sind:
- Tool öffnen: Laden Sie
test-appwrite-repair-tool.html - Konfiguration eingeben: Füllen Sie alle Felder aus
- "Nur Analyse" wählen: Aktivieren Sie den Nur-Analyse-Modus
- Analyse starten: Klicken Sie auf "Analyse starten"
Analyseergebnisse verstehen
- Kritisch: Sammlungen ohne userId-Attribut (sofortige Aufmerksamkeit erforderlich)
- Warnung: Sammlungen mit falsch konfigurierten Attributen
- Info: Sammlungen, die ordnungsgemäß konfiguriert sind
Schritt 3: Reparatur durchführen
Nach erfolgreicher Analyse können Sie die Reparatur durchführen:
- Vollständige Reparatur wählen: Deaktivieren Sie den Nur-Analyse-Modus
- Reparatur starten: Klicken Sie auf "Reparatur starten"
- Fortschritt überwachen: Beobachten Sie die Fortschrittsanzeige
- Ergebnisse überprüfen: Lesen Sie den detaillierten Bericht
Was passiert während der Reparatur?
- Zustandsdokumentation: Ursprüngliche Sammlungszustände werden gespeichert
- Attributerstellung: userId-Attribute werden mit korrekten Spezifikationen hinzugefügt
- Berechtigungskonfiguration: Datenisolierung wird eingerichtet
- Validierung: Reparaturen werden getestet und verifiziert
- Berichterstattung: Umfassender Bericht wird generiert
Schritt 4: Ergebnisse interpretieren
Erfolgreiche Reparatur
✅ Sammlung "products" erfolgreich repariert
- userId-Attribut hinzugefügt (String, 255 Zeichen, erforderlich)
- Berechtigungen konfiguriert (create: users, read/update/delete: user:$userId)
- Validierung bestanden
Fehlgeschlagene Reparatur
❌ Sammlung "orders" Reparatur fehlgeschlagen
- Fehler: Unzureichende Berechtigungen
- Manuelle Korrektur erforderlich
- Siehe Anweisungen unten
Fehlerbehebung
Häufige Probleme
1. Authentifizierungsfehler (401/403)
Symptom: "Unauthorized" oder "Forbidden" Fehler
Lösung:
- Überprüfen Sie Ihren API-Schlüssel in der AppWrite-Konsole
- Stellen Sie sicher, dass alle erforderlichen Berechtigungen vorhanden sind
- Erstellen Sie bei Bedarf einen neuen API-Schlüssel
Schritt-für-Schritt-Anleitung:
1. AppWrite-Konsole öffnen
2. Projekteinstellungen → API-Schlüssel
3. Bestehenden Schlüssel bearbeiten oder neuen erstellen
4. Erforderliche Berechtigungen hinzufügen:
☑ databases.read
☑ databases.write
☑ collections.read
☑ collections.write
☑ documents.read
5. Schlüssel speichern und in der Konfiguration aktualisieren
2. Netzwerkverbindungsfehler
Symptom: Zeitüberschreitungen oder Verbindungsfehler
Lösung:
- Überprüfen Sie die AppWrite-Endpoint-URL
- Testen Sie die Verbindung in einem separaten Browser-Tab
- Überprüfen Sie Firewall- und Netzwerkeinstellungen
3. Sammlung nicht gefunden (404)
Symptom: "Collection not found" Fehler
Lösung:
- Überprüfen Sie die Datenbank-ID in der Konfiguration
- Stellen Sie sicher, dass die Sammlung in der angegebenen Datenbank existiert
- Überprüfen Sie die Schreibweise der Sammlungs-IDs
4. Attribut bereits vorhanden (409)
Symptom: "Attribute already exists" Fehler
Lösung:
- Dies ist normalerweise kein Problem - das Attribut existiert bereits
- Führen Sie eine Validierung durch, um zu überprüfen, ob es korrekt konfiguriert ist
- Bei falscher Konfiguration: Manuell in der AppWrite-Konsole korrigieren
Manuelle Korrekturen
Wenn automatische Reparaturen fehlschlagen, können Sie manuelle Korrekturen durchführen:
userId-Attribut manuell hinzufügen
- AppWrite-Konsole öffnen
- Zur Datenbank navigieren → Ihre Datenbank auswählen
- Sammlung auswählen → Betroffene Sammlung öffnen
- Attribute-Tab → "Neues Attribut" klicken
- Attribut konfigurieren:
- Schlüssel:
userId - Typ:
String - Größe:
255 - Erforderlich:
Ja - Array:
Nein
- Schlüssel:
- Speichern und auf Verarbeitung warten
Berechtigungen manuell konfigurieren
- Sammlung öffnen → Settings-Tab
- Berechtigungen bearbeiten:
- Create:
users - Read:
user:$userId - Update:
user:$userId - Delete:
user:$userId
- Create:
- Dokumentsicherheit aktivieren: Ja
- Änderungen speichern
Erweiterte Fehlerbehebung
Protokolle überprüfen
Das Tool erstellt detaillierte Protokolle aller Operationen:
// Protokolle in der Browser-Konsole anzeigen
console.log('Reparatur-Protokolle:', repairController.auditLog);
Ursprüngliche Zustände wiederherstellen
Bei kritischen Fehlern:
- Überprüfen Sie die dokumentierten ursprünglichen Zustände
- Verwenden Sie die bereitgestellten Rollback-Anweisungen
- Kontaktieren Sie bei Bedarf den Support
Sicherheitshinweise
Datenschutz
- Das Tool löscht niemals bestehende Daten oder Attribute
- Alle Änderungen werden protokolliert und können nachverfolgt werden
- Ursprüngliche Sammlungszustände werden dokumentiert
Backup-Empfehlungen
Vor der Durchführung von Reparaturen:
- AppWrite-Datenbank sichern (falls verfügbar)
- Wichtige Daten exportieren
- Reparaturen in Entwicklungsumgebung testen
Produktionsumgebung
- Führen Sie Reparaturen außerhalb der Hauptgeschäftszeiten durch
- Informieren Sie Benutzer über mögliche kurze Unterbrechungen
- Überwachen Sie die Anwendung nach Reparaturen
Häufig gestellte Fragen (FAQ)
F: Ist es sicher, das Tool in der Produktion zu verwenden?
A: Ja, das Tool ist darauf ausgelegt, sicher zu sein. Es löscht niemals bestehende Daten und dokumentiert alle Änderungen. Dennoch empfehlen wir, zuerst den Nur-Analyse-Modus zu verwenden und Reparaturen in einer Entwicklungsumgebung zu testen.
F: Was passiert, wenn die Reparatur fehlschlägt?
A: Das Tool stoppt bei kritischen Fehlern sofort und stellt Rollback-Anweisungen bereit. Einzelne Sammlungsfehler stoppen nicht die Verarbeitung anderer Sammlungen.
F: Kann ich bestimmte Sammlungen von der Reparatur ausschließen?
A: Ja, Sie können die Sammlungsliste in der Konfiguration anpassen, um nur bestimmte Sammlungen zu verarbeiten.
F: Wie lange dauert eine Reparatur?
A: Die Dauer hängt von der Anzahl der Sammlungen ab. Typischerweise:
- Analyse: 1-5 Sekunden pro Sammlung
- Reparatur: 2-10 Sekunden pro Sammlung
- Validierung: 1-3 Sekunden pro Sammlung
F: Was ist, wenn meine AppWrite-Version nicht unterstützt wird?
A: Das Tool ist für AppWrite 1.0+ entwickelt. Bei Problemen mit älteren Versionen kontaktieren Sie den Support.
Support und Hilfe
Dokumentation
- AppWrite-Dokumentation: https://appwrite.io/docs
- Community-Forum: https://github.com/appwrite/appwrite/discussions
Fehlermeldung
Bei Problemen sammeln Sie bitte:
- Vollständige Fehlermeldung aus der Browser-Konsole
- AppWrite-Version und Konfiguration
- Schritte zur Reproduktion des Problems
- Browser und Betriebssystem Informationen
Kontakt
- GitHub Issues: Für Bugs und Feature-Requests
- Community-Forum: Für allgemeine Fragen
- System-Administrator: Für unternehmensspezifische Probleme
Anhang
Technische Details
userId-Attribut-Spezifikationen
{
key: 'userId',
type: 'string',
size: 255,
required: true,
array: false,
default: null
}
Standard-Berechtigungskonfiguration
{
create: ['users'],
read: ['user:$userId'],
update: ['user:$userId'],
delete: ['user:$userId'],
documentSecurity: true
}
Versionsverlauf
- v1.0: Erste Veröffentlichung mit grundlegenden Reparaturfunktionen
- v1.1: Hinzugefügt: Nur-Analyse-Modus und verbesserte Fehlerbehandlung
- v1.2: Hinzugefügt: Deutsche Lokalisierung und erweiterte Validierung
Dieses Handbuch wurde für die AppWrite userId Attribut Reparatur-Tool Version 1.2 erstellt. Für die neueste Version besuchen Sie die Projekt-Repository.