-
Notifications
You must be signed in to change notification settings - Fork 61
RESTful API
{
"_id": String
, "domain": String
, "title": String
, "description": String
, "link": String
, "open": Boolean
, "showcase": [String] //Project ids in the order for showcase
, "covers": [String] //contained projects cover list
, "projectsCount": Number
, "created_at": Date
, "owner": User // Creator of this dashboard
}{
"_id": String
, "provider": String
, "username": String
, "name": String
, "picture": String
, "admin_in": [String] //dashboard domains where the user is admin or owner
, "bio": String
, "created_at": Date
}A User Model plus following info:
{
"collections": [Collection]
, "dashboards": [Dashboard]
, "projects": [Project]
, "contributions": [Project]
, "likes": [Project]
}{
"_id": String
, "title": String
, "domain": String
, "description": String
, "leader": User
, "status": String
, "contributors": [User]
, "followers": [User]
, "cover": String
, "link": String
, "tags": [String]
, "active": Boolean
, "created_at": Date
}{
"_id": String
, "owner": User
, "title": String
, "description": String
, "dashboards": [Dashboard]
, "created_at": Date
}-
GET/api/v2/dashboards -
GET/api/v2/dashboards/:domain -
GET/api/v2/projects -
GET/api/v2/projects/:project_id -
GET/api/v2/users -
GET/api/v2/users/:user_id -
GET/api/v2/profiles/:user_id -
GET/api/v2/:dashboard_domain/admins -
GET/api/v2/:dashboard_domain/projects -
GET/api/v2/collections -
GET/api/v2/collections/:collection_id
-
Get a dashboard by subdomain
CORS
GET/api/v2/dashboards/:dashboard-subdomain
Response:Dashboard Model -
Update a dashboard by subdomain
PUT/api/v2/dashboards/:dashboard-subdomain
RequestBody:Dashboard Model
Response:Empty -
Create a dashboard
POST/api/v2/dashboards
RequestBody:Dashboard Model
Response:Dashboard Model -
Search dashboards by subdomain, title and description
CORS
GET/api/v2/dashboards?q=[keywords]
Response:Array: Dashboard Model -
Get a dashboard CSV export
GET/api/v2/dashboards/:dashboard-subdomain/csv
Response:CSV file
-
Search projects by title, description and tags
CORS
GET/api/v2/projects?q=[keywords]
Response:Array: Project Model -
Create a project into a dashboard
POST/api/v2/projects
RequestBody:Project Model
Response:Project Model -
Get a project
CORS
GET/api/v2/projects/:id
Response:Project Model -
Update a project
PUT/api/v2/projects/:id
RequestBody:Project Model
Response:Empty -
Remove a project
DELETE/api/v2/projects/:id
RequestBody:Empty
Response:Empty -
Add login user as follower to a project
POST/api/v2/projects/:pid/followers -
Remove login user from follower of a project
DELETE/api/v2/projects/:pid/followers -
Add login user as contributor to a project
POST/api/v2/projects/:pid/contributors -
Remove login user from contributor of a project
DELETE/api/v2/projects/:pid/contributors
-
Search users by name and username
CORS
GET/api/v2/users?q=[keywords]
Response:Array: User Model -
Get Dashboard Administrators
CORS
GET/api/v2/:dash-domain/admins
Response:Array: User Model -
Add Dashboard Administrator
POST/api/v2/:dash-domain/admins/:user-id
Response:User Model -
Get a user
CORS
GET/api/v2/users/:id
Response:User Model -
Get a profile
CORS
GET/api/v2/profiles/:userId
Response:Profile Model -
Get site Team
GET/api/v2/users/team
Response:Profile Model -
Update a user
PUT/api/v2/profiles/:id
RequestBody:User Model
Response:Empty
-
Search collections by title and description
CORS
GET/api/v2/collections?q=[keywords]
Response:Array: Collection Model -
Create a collection
POST/api/v2/collections
RequestBody:Collection Model
Response:Collection Model -
Get a collection
CORS
GET/api/v2/collections/:id
Response:Collection Model -
Update a collection
PUT/api/v2/collections/:id
RequestBody:Collection Model
Response:Empty -
Remove a collection
DELETE/api/v2/collections/:id
RequestBody:Empty
Response:Empty -
Add a dashboard to a collection
POST/api/v2/collections/:cid/dashboards/:did
RequestBody:Empty
Response:Empty -
Remove a dashboard to a collection
DELETE/api/v2/collections/:cid/dashboards/:did
RequestBody:Empty
Response:Empty