LB1 Anforderung Daten Die Daten, welche übertrag werden müssen validiert werden. Was für Validation für die einzelnen Daten benötigt sind wird hier beschrieben. Die Felder entsprechen den aus dem Klassendiagramm , welches im Konzept zu finden ist. Selbstverständlich werden alle Strings gekürzt und vor XSS und SQL-Injection geschützt. Dies wurde jedoch zur Steigerung der Übersicht nicht vermerkt. Es wird nach folgenden Kriterien validiert:
Analyse der Daten welche übertragen/erfasst werden Spezifikation Datentypen Spezialfälle Fehlerfälle Wertebereich User Id Datentyp int Spezialfälle Einzigartig Fehlerfälle Negativ oder 0 Wertebereich 1 - ..
Name Datentyp String Spezialfälle Einzigartig Fehlerfälle Leer Wertebereich 2 - 35 Zeichen
Email Datentyp String Spezialfälle Einzigartig Fehlerfälle Leer, ohne @
, keine Domain, Sonderzeichen Wertebereich 2 - 35 Zeichen
Passwort Datentyp String Spezialfälle Hashed gespeichert Fehlerfälle Leer, keine Sonderzeichen / Klein-Gross-Buchstaben, Nummern Wertebereich 12 - 255 Zeichen
Salt Datentyp String Spezialfälle Einzigartig pro User Fehlerfälle Leer, Passwort ungültig Wertebereich Base64
Created_At Datentyp DateTime Spezialfälle Fehlerfälle Vor heutigem Datum Wertebereich 2000 +- heute
ProfilePicture Datentyp String Spezialfälle Fehlerfälle Leer Wertebereich Base64, 700 kb gross
Verified Datentyp bool Spezialfälle nicht Verifiziert Fehlerfälle Wertebereich true
/ false
Role Datentyp Json Spezialfälle Fehlerfälle Leer Wertebereich admin
/ user
Projekt Id Datentyp UUID Spezialfälle Einzigartig Fehlerfälle Leer Wertebereich
Owner Datentyp User Spezialfälle Fehlerfälle Null Wertebereich User
Name Datentyp String Spezialfälle Einzigartig pro User Fehlerfälle Leer Wertebereich 2 - 60 Zeichen
Description Datentyp String Spezialfälle Fehlerfälle Leer Wertebereich 10 - 255 Zeichen
Created_At Datentyp DateTime Spezialfälle Bereits erstellt Fehlerfälle Nicht heute Wertebereich heute
Updated_At Datentyp DateTime Spezialfälle Fehlerfälle Nicht jetzt Wertebereich Jetzt
From_Date Datentyp DateTime Spezialfälle Fehlerfälle Vor To_Date Wertebereich Nach To_Date
To_Date Datentyp DateTime Spezialfälle Fehlerfälle Vor From_Date Wertebereich Nach From_Date
Docs_Repo Datentyp String Spezialfälle Fehlerfälle Leer Wertebereich 0 .. 100, URL
Source_Repo Datentyp String Spezialfälle Fehlerfälle Leer Wertebereich 0 .. 100, URL
Want_Readme Datentyp bool Spezialfälle Fehlerfälle Wertebereich true
/ false
Want_ignore Datentyp bool Spezialfälle Fehlerfälle Wertebereich true
/ false
Want_CSS Datentyp bool Spezialfälle Fehlerfälle Wertebereich true
/ false
Want_JS Datentyp bool Spezialfälle Fehlerfälle Wertebereich true
/ false
Want_Pages Datentyp bool Spezialfälle Fehlerfälle Wertebereich true
/ false
Color Datentyp Color Enum Spezialfälle Fehlerfälle Leer Wertebereich Enum Werte
Font Datentyp Font Spezialfälle Fehlerfälle Leer Wertebereich Font
Logo Datentyp String Spezialfälle Fehlerfälle Leer, kein SVG / PNG / JPG / GIF Wertebereich Base64, 500kb
Want_Journal Datentyp bool Spezialfälle Fehlerfälle Wertebereich true
/ false
Want_Exampes Datentyp bool Spezialfälle Fehlerfälle Wertebereich true
/ false
Structure Datentyp StructureNode Spezialfälle Fehlerfälle Leer Wertebereich
conrifmed Datentyp bool Spezialfälle Fehlerfälle Wertebereich true
/ false
confirmed_by Datentyp User Spezialfälle Admin gelöscht Fehlerfälle Leer Wertebereich
confirmed_at Datentyp DateTime Spezialfälle Fehlerfälle Null, Vor jetzt Wertebereich .. - Jetzt
Status Datentyp Status Enum Spezialfälle Fehlerfälle Null Wertebereich Enum Werte
download_link Datentyp String Spezialfälle Nicht bestätigt Fehlerfälle Leer Wertebereich 0 .. 100, URL
StructureNode Id Datentyp UUID Spezialfälle Fehlerfälle Leer Wertebereich ASCII
Name Datentyp String Spezialfälle Fehlerfälle Leer, Sonderzeichen Wertebereich 0 .. 100, ASCII
Type Datentyp FolderType Enum Spezialfälle Fehlerfälle Leer Wertebereich Enum Werte