-
Notifications
You must be signed in to change notification settings - Fork 6
Endpoint and Data Model Documentation
This document explains the current situation regarding our data models and endpoints. The document will be updated with changes over time.
1. Data Models
1.1.1.1 E-mail
- Name : email
- Type : String
- Required : True
- Unique : True
1.1.1.2. Name
- Name : name
- Type : String
- Required : True
- Unique : False
1.1.1.3. Password
- Name : password
- Type : String
- Required : True
- Unique : False
- Comments: Password is hashed before saving or comparing
1.1.1.4. Birth Date
- Name : birth
- Type : Date
- Required : False
- Unique : False
1.1.1.5. Nationality
- Name : nationality
- Type : String
- Required : False
- Unique : False
1.1.1.4. Location\City
- Name : city
- Type : String
- Required : False
- Unique : False
1.1.1.5. Followers
- Name : followers
- Type : Array of Mongo object IDs
- Required : False
- Unique : False
1.1.1.6. Following
- Name : following
- Type : Array of Mongo Object IDs
- Required : False
- Unique : False
- Default : []
1.1.1.7. Interests
- Name : interests
- Type : Array of strings
- Required : False
- Unique : False
- Default : []
- 1.1.2.1. Create : POST /api/auth/signup
- 1.1.2.2. Read : GET /api/users/:id (THIS IS NOT YET MERGED TO MASTER!)
- 1.1.2.3. Update : Not implemented
- 1.1.2.4. Delete : Not implemented
1.2.1.1 Name
- Name : name
- Type : String
- Required : True
- Unique : False
1.2.1.2. Price
- Name : price
- Type : Object
- Required : True
- Unique : False
1.2.1.2.1. (Price.)Amount
- Name : amount
- Type : Number
- Required : True
- Unique : False
1.2.1.2.2. (Price.)Currency
- Name : currency
- Type : String
- Required : True
- Unique : False
1.2.1.3. Description
- Name : description
- Type : String
- Required : True
- Unique : False
1.2.1.4. Date
- Name : date
- Type : MongoDB date
- Required : True
- Unique : False
1.2.1.5. Duration
- Name : duration
- Type : Object
- Required : True
- Unique : False
1.2.1.5.1. (Duration.) Length
- Name : length
- Type : Number
- Required : True
- Unique : False
1.2.1.5.2. (Duration.) Unit
- Name : unit
- Type : String
- Required : True
- Unique : False
1.2.1.6. Creation Date
- Name : created
- Type : Date
- Required : False
- Unique : False
1.2.1.7. Creator
- Name : creator
- Type : String(Mongo object ID)
- Required : True
- Unique : False
1.2.1.8. Attendance
- Name : attendance
- Type : Array of objects
- Required : True
- Unique : False
- Default : []
1.2.1.8.1. (Attendance.) User
- Name : user
- Type : Mongo Object ID
- Required : True
- Unique : False
1.2.1.8.2. (Attendance.) Attendance Type
- Name : attendanceType
- Type : Number
- Required : True
- Unique : False
- Default : []
1.2.1.9. Vote
- Name : vote
- Type : Object
- Required : False
- Unique : False
1.2.1.9.1. (Vote.)Upvote Count
- Name : upvoteCount
- Type : Number
- Required : False
- Unique : False
- Default : 0
1.2.1.9.2. (Vote.)Downvote Count
- Name : downvoteCount
- Type : Number
- Required : False
- Unique : False
- Default : 0
1.2.1.9.3. (Vote.)Actual Votes
- Name : votes
- Type : Array of Objects
- Required : True
- Unique : False
- Default : []
1.2.1.9.3.1. (Vote.Votes.) Voting User
- Name : user
- Type : Mongo Object ID
- Required : True
- Unique : False
1.2.1.9.3.2. (Vote.Votes.) Vote Type
- Name : voteType
- Type : Number
- Required : True
- Unique : False
1.2.1.10. Comments
- Name : comments
- Type : Array of Comment objects
- Required : False
- Unique : False
- Default : []
1.2.1.11. Artists
- Name : artists
- Type : Array of strings
- Required : False
- Unique : False
1.2.1.12. Semantic Tags
- Name : tags
- Type : Array of strings
- Required : True
- Unique : False
- Default : []
1.2.1.13. Location
- Name : locationConstruct
- Type : Object
- Required : False
- Unique : False
1.2.1.13.1. (Location.)Name
- Name : locationName
- Type : String
- Required : False
- Unique : False
1.2.1.13.2. (Location.)Location
- Name : location
- Type : Object
- Required : False
- Unique : False
1.2.1.13.2.1. (Location.Location.)Type
- Name : locType
- Type : Array of strings
- Required : False
- Unique : False
1.2.1.13.2.2. (Location.Location.)Coordinates
- Name : location
- Type : Array of Numbers
- Required : False
- Unique : False
1.2.1.14. Media Field
- Name : medias
- Type : Array of strings
- Required : True
- Unique : False
- Default : []
- 1.2.2.1. Create : POST /api/events
- 1.2.2.2. Read : GET /api/events/:id or GET /api/events/getEventbyOwner/:id
- 1.2.2.3. Update : GET /api/events/:id
- 1.2.2.4. Delete : DELETE /api/events/:id (THIS IS NOT YET MERGED TO MASTER!)
1.3.1.1. Author
- Name : author
- Type : Mongo Object ID
- Required : True
- Unique : False
1.3.1.2. Parent ID
- Name : parentId
- Type : Mongo Object ID
- Required : False
- Unique : False
1.3.1.3. Body
- Name : body
- Type : String
- Required : True
- Unique : False
1.3.1.4. Creation Date
- Name : created
- Type : Date
- Required : False
- Unique : False
- Default : Date.now()
2. Endpoints
This sections lists the names of the endpoints and their inputs- None
- name
- password
- None
- password
- id of the user
- None
- None
- Event data model as a req body
- None
- None
- id
- None
- id
- None
- id
- name
- price
- description
- date
- artists
- blokedUsers
- id
- None