DBDat
=====

Το **DBDat** αποτελεί τη δομή δεδομένων μέσω της οποίας όλα τα υποβαλλόμενα στοιχεία εισάγονται στη **Backend Database** με την προϋπόθεση ότι πληρούν κρίσιμους ελέγχους αλλά και την δομή δεδομένων με την οποία αρμόδιοι υπάλληλοι της ΤτΕ θα μπορούν να φορτώνουν απευθείας στοιχεία στη βάση.

Στο :download:`DATA_MODEL <_files/dbdat/DBDAT_DATAMODEL.xlsx>` παρουσιάζεται η δομή του σχήματος δεδομένων **DBDat**.

Το :download:`JSON_SCHEMA <_files/dbdat/DBDAT_SCHEMA.json>` σχήμα για την υποβολή αρχείων με βάση το **DATA_MODEL** σε μορφή **json** έχει αναπτυχθεί σύμφωνα με τα πρότυπα :xref:`json_schema_core`, :xref:`json_schema_validation`, :xref:`openapi`.  

Με το αρχείο :download:`EXCEL_TEMPLATE <_files/dbdat/DBDAT_TEMPLATE.xlsx>` γίνεται η υποβολή στοιχείων **DBDat** σε μορφή **Excel**.


Τρόπος υποβολής των αρχείων από αρμόδιους χρήστες της ΤτΕ
---------------------------------------------------------

Τα αρχεία υποβάλλονται μέσω του πληροφοριακού συστήματος :xref:`iris` είτε μέσω API είτε μέσω GUI.  Για κάθε αρχείο που υποβάλλει ένας χρήστης θα λαμβάνει ένα απαντητικό αρχείο σχετικά με το αν το αρχείο παρελήφθη καθώς επίσης και την ονομασία του αρχείου που χρησιμοποίησε η Τράπεζα της Ελλάδος για να το αποθηκεύσει. Η ονομασία του αρχείου ακολουθεί τον ακόλουθο μορφότυπο ``F{ID}DBDAT_{USER}_{NAME}`` όπου το ID είναι ένας μοναδικός ακέραιος αριθμός εισερχόμενου αρχείου μάκρους δέκα χαρακτήρων με πρόθεμα το 0, NAME είναι η αρχική ονομασία του εισερχόμενου αρχείου και USER είναι ο κωδικός χρήστη στην ΤτΕ.  Για παράδειγμα ένα εισερχόμενο αρχείο με ονομασία **data_submission.xlsx** από τον χρήστη **aloumiotis** με ID 5 μετονομάζεται σε ``F0000000005DBDAT_aloumiotis_data_submission.xlsx``.

Οι μορφότυποι των εισερχόμενων αρχείων της δομής **DBDat** είναι οι ακόλουθοι: 

i. Αρχεία μορφής ``.json``.  Το αρχείο θα πρέπει να δομείται σύμφωνα με το :download:`DBDat JSON Schema <_files/dbdat/DBDAT_SCHEMA.json>`.

#. Αρχεία μορφής ``.xlsx`` με βάση το :download:`υπόδειγμα <_files/dbdat/DBDAT_TEMPLATE.xlsx>`.  Σε αυτή την περίπτωση το **ELFUND** θα πρέπει να μετατρέπει τα εισερχόμενα αρχεία μορφής excel σε μορφή json. 

#. Αρχεία μορφής ``.zip``.  Το αρχείο θα πρέπει να περιέχει ως περιεχόμενα μόνο ένα αρχείο με μία από τις παραπάνω μορφές (xlsx, json).

Έλεγχοι επικύρωσης των εισερχόμενων αρχείων
-------------------------------------------
Θα συμπληρωθεί
