| سطر 1: |
سطر 1: |
| | <div dir="ltr" style="direction: ltr;"> | | <div dir="ltr" style="direction: ltr;"> |
| | | | |
| − | === Data structures === | + | === Basic data structures === |
| − | Listing data record is comprised of the following two data structures: | + | Listing data record is comprised of the following two data structures, that are used to describe an entry through [[../API|API]] actions: |
| | | | |
| | === <var>package-info</var> === | | === <var>package-info</var> === |
| سطر 23: |
سطر 23: |
| | ; <var>email-address</var> <nowiki>:</nowiki> [[#string(email-address)|string(email-address)]] | | ; <var>email-address</var> <nowiki>:</nowiki> [[#string(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. | | : 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. |
| − | ; <var>name</var> <nowiki>:</nowiki> string | + | ; <var>nickname</var> <nowiki>:</nowiki> string |
| | : A friendly name to greet the user by those contacting regarding a listing. | | : A friendly name to greet the user by those contacting regarding a listing. |
| | ; <var>phone-number</var> <nowiki>:</nowiki> [[#string(phone-number)|string(phone-number)]] | | ; <var>phone-number</var> <nowiki>:</nowiki> [[#string(phone-number)|string(phone-number)]] |
| سطر 31: |
سطر 31: |
| | | | |
| | | | |
| − | === Records === | + | === Stored records === |
| | + | Stored data preserves some operational information in addition to the basic entry structure: |
| | == Listings == | | == Listings == |
| | + | ; id |
| | + | : <code>base62(sha256(<var>email-address</var> . sha256(<var>name</var> . <var>expiry</var> . <var>submission-date</var>)))</code> |
| | + | : entry's unique identifier |
| | ; [[#package-info|package-info]] | | ; [[#package-info|package-info]] |
| | ; [[#contact-info|contact-info]] | | ; [[#contact-info|contact-info]] |
| سطر 39: |
سطر 43: |
| | | | |
| | == Archive == | | == Archive == |
| | + | ; id |
| | ; [[#package-info|package-info]] | | ; [[#package-info|package-info]] |
| | ; [[#contact-info|contact-info]] | | ; [[#contact-info|contact-info]] |
| | : except: | | : except: |
| − | :: <var>name</var> is omitted | + | :: <var>nickname</var> is omitted |
| − | :: <var>email-address</var> is replaced with <code>base62(sha512(email-address))</code> | + | :: <var>email-address</var> is replaced with <code>base62(sha256(<var>email-address</var>))</code> |
| − | :: <var>phone-number</var> is replaces with <code>base62(sha512(phone-number))</code> | + | :: <var>phone-number</var> is replaces with <code>base62(sha256(<var>phone-number</var>))</code> |
| − | ; removal-date : timestamp | + | ; submission-date |
| | + | ; instatement-date |
| | + | ; removal-date |
| | ; <var>removal-reason</var> : possible values: | | ; <var>removal-reason</var> : possible values: |
| | :; <kbd>unconfirmed</kbd> : | | :; <kbd>unconfirmed</kbd> : |