<divclass="dropdown-title"><span>Go to a project</span><buttonclass="dropdown-title-button dropdown-menu-close"aria-label="Close"type="button"><iclass="fa fa-times dropdown-menu-close-icon"></i></button></div>
<divclass="dropdown-input"><inputtype="search"id=""class="dropdown-input-field"placeholder="Search your projects"autocomplete="off"/><iclass="fa fa-search dropdown-input-search"></i><irole="button"class="fa fa-times dropdown-input-clear js-dropdown-input-clear"></i></div>
<h1dir="auto">
<aid="user-content-module-epal"class="anchor"href="#module-epal"aria-hidden="true"></a>module epal</h1>

<pdir="auto"><strong>Περιγραφή:</strong> δημιουργεί τα απαραίτητα content entities για τα δεδομένα που σχετίζονται με την αίτηση του μαθητή.
Συγκεκριμένα δημιουργεί τα ακόλουθα content entities:</p>

<pdir="auto">(<em>σημείωση:</em> στην ονοματολογία των entities έχει χρησιμοποιηθεί το πρόθεμα Epal ώστε όλα τα αντίστοιχα mysql tables που θα δημιουργηθούν να έχουν ονομασία που αρχίζει με αυτό το πρόθεμα, ώστε να είναι "ομαδοποιημένα" και να εντοπίζονται εύκολα). </p>

<pdir="auto">(<em>σημείωση:</em> στο schema των παρακάτω entities αναφέρονται μόνο τα πεδία που θα χρειαστεί η εφαρμογή μας. Να σημειωθεί ότι κάθε entity έχει επιπλέον τα ακόλουθα πεδία, 
τα οποία δημιουργήθηκαν κατά τη διαδικασία δημιουργίας και ενημέρωσης με δεδομένα των entities: langcode, user_id, status, created, changed, default_langcode).</p>

<blockquotedir="auto">
<p><strong>EpalUsers</strong></p>
</blockquote>

<pdir="auto">Περιέχει το schema και τα δεδομένα για τους χρήστες. Ουσιαστικά πρόκειται για έναν πίνακα που θα αποθηκεύονται δεδομένα ταυτοποίησης των χρηστών,
όπως αυτά μας επιστρέφονται από τα taxis / ΑΜΚΑ service provider. Ο πίνακας αυτός θα έχει αντιστοιχεία 1 προς 1 με τον core πίνακα users του Drupal.
Η λύση αυτή προτείνεται για να αποφύγουμε να τροποποιήσουμε το κρίσιμο core entity των users. </p>

<preclass="code highlight js-syntax-highlight plaintext"v-pre="true"><code>* name id του users (core entity του Drupal) (entity_reference)
* userId userid που επιστρέφει το taxis
* userTaxId tax id που επιστρέφει το taxis (πιθανά είναι το ΑΦΜ)
* userFirstname όνομα που επιστρέφει το taxis
* userSurname επώνυμο που επιστρέφει το taxis
* userFatherName όνομα πατέρα που επιστρέφει το taxis
* userAddress διεύθυση κατοικίας που επιστρέφει το taxis / ΑΜΚΑ SP (δεν γνωρίζουμε ακόμα αν μπορεί να επιστραφεί)
* userAddressTK ΤΚ κατοικίας που επιστρέφει το taxis / ΑΜΚΑ SP (δεν γνωρίζουμε ακόμα αν μπορεί να επιστραφεί)
* userAddressArea Περιοχή κατοικίας που επιστρέφει το taxis / ΑΜΚΑ SP (δεν γνωρίζουμε ακόμα αν μπορεί να επιστραφεί)
* accessToken access-token που επιστρέφει το taxis 
* offToken off-token που δημιουργούμε 
* timeLogin πότε έκανε login ο χρήστης
* timeRegistration πότε έκανε registration ο χρήστης
* timeTokenInvalid χρόνος σε min μετά την πάροδο του οποίου γίνεται invalid το token
* userIP IP χρήστη
</code></pre>

<blockquote dir="auto">
<p><strong>EpalStudent</strong></p>
</blockquote>

<p dir="auto">Περιέχει το schema και τα δεδομένα για τους μαθητές για τους οποίους πρόκειται να γίνει αίτηση.</p>

<pre class="code highlight js-syntax-highlight plaintext" v-pre="true"><code>* name id του EpalUsers πίνακα (entity_reference)
* studentFirstname όνομα μαθητή
* studentSurname επώνυμο μαθητή
* guardianFirstname όνομα κηδεμόνα
* guardianSurname επώνυμο κηδεμόνα
* studentAmka ΑΜΚΑ μαθητή
* regionAddress διεύθυνση κατοικίας
* regionTK ΤΚ κατοικίας
* regionArea πόλη/χωριό κατοικίας
* certificateType τύπος απολυτηρίου (πχ "απολυτήριο Γυμνασίου")
* relationToStudent ποιος κάνει την αίτηση (πχ "Γονέας", "Μαθητής")
</code></pre>

<blockquotedir="auto">
<p><strong>EpalStudentEpalChosen</strong></p>
</blockquote>

<pdir="auto">Περιέχει το schema και τα δεδομένα για το ποια ΕΠΑΛ επέλεξαν στις προτιμήσεις τους ποιοι μαθητές</p>

<preclass="code highlight js-syntax-highlight plaintext"v-pre="true"><code>* name ονομασία της εγγραφής (πχ "record1")
* student_id id μαθητή (entity reference) 
* epal_id id σχολείου (entity reference)
* choice_no σειρά προτίμησς (πχ 1, 2 κλπ)
* points_for_order μόρια για σειρά προτίμησης
* distance_from_epal απόσταση από διεύθυνση κατοικίας
* points_for_distance μόρια για απόσταση
</code></pre>

<blockquote dir="auto">
<p><strong>EpalStudentCourseField</strong></p>
</blockquote>

<p dir="auto">Περιέχει το schema και τα δεδομένα για το ποιες ειδικότητες επέλεξαν στις προτιμήσεις τους ποιοι μαθητές</p>

<pre class="code highlight js-syntax-highlight plaintext" v-pre="true"><code>* name ονομασία της εγγραφής (πχ "record1")
* student_id id μαθητή (entity reference) 
* courseField_id id ειδικότητας (entity reference)
</code></pre>

<blockquotedir="auto">
<p><strong>EpalStudentClass</strong></p>
</blockquote>

<pdir="auto"><strong>Προσοχή</strong>: Δεν χρησιμοποιείται αυτό το entity. <strong>Εκκρεμεί</strong>: ασφαλής τρόπος διαγραφής του από το module. </p>