Zum Inhalt

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