تصميم:دواسوا/data
اذهب إلى التنقل
اذهب إلى البحث
Basic data structures
Listing data record is comprised of the following two data structures, that are used to describe an entry through API actions:
package-info
- name_latin : string
- the name of the medicine in Latin script
- name_arabic : string
- the name of the medicine in Arabic script, if available (optional)
- expiry_date : date
- the date of expiry of the medicine. The significance is in the precision of months, i.e YYYY/MM
- package_state : string(fabrica | opened | partial)
- The case of the packaging of the medicine.
- governrate : string(predefined)
- the governerate where the package is to be picked up
- description : text
- a brief description, and/or notes by the submitter
- photo : blob
- an optional photograph of the package
contact-info
- email_address : string(email_address)
- email address identifies a user who enlists an item. It is used to communicate with the user to confirm his listing, and to confirm the removal of a listing. It's a user's means to control his listings. It could be made invisible to viewers of a listing unless no phone number is given, in which case it is the only means to contact the user by those interested in a listing.
- nickname : string
- A friendly name to greet the user by those contacting regarding a listing.
- phone_number : string(phone_number)
- An optional method to contact a user by those interested in a listing. If entered then it is visible.
- email_address_visible : boolean
- Determines whether the email address is visible. Ignored if no valid phone number is entered.
Stored records
Stored data preserves some operational information in addition to the basic entry structure:
Listings
- id
base62(sha256(email_address . sha256(name . expiry . submission_date)))
- entry's unique identifier
- package-info
- contact-info
- submission_date
- timestamp
- instatement_date
- timestamp
Archive
- id
- package-info
- contact-info
- except:
- nickname is omitted
- email_address is replaced with
base62(sha256(email-address))
- phone_number is replaces with
base62(sha256(phone-number))
- submission_date
- instatement_date
- removal_date
- removal_reason
- possible values:
- unconfirmed
- removed-by-user
- expired