Under heavy development.
-
REST
# examples:
http localhost:5025/collection/user
http localhost:5025/collection/user?q='{"name":"Joe Doe"}'
http localhost:5025/collection/user?q='{"name":{"$ne":"Joe Doe"}}'
# example:
http POST localhost:5025/collection/user name="Joe Doe" email=joe.doe@gmail.com
# example:
http PUT localhost:5025/collection/user?q='{"name":"Joe Doe"}' \$set:='{"email":"jdoe@gmail.com"}'
# example
http DELETE localhost:5025/collection/user?q='{"name":"Joe Doe"}'
-
Authentication
# example
http POST localhost:5025/user/signup \
email=joe.doe@gmail.com password=abc \
profile:='{"name": "Joe Doe", "language": "en" }'
http POST localhost:5025/user/confirm token=<confirmation_token>
# example
http POST localhost:5025/user/signin email=joe.doe@gmail.com password=abc
# example
http POST localhost:5025/user/forgot-password email=joe.doe@gmail.com
# example
http POST localhost:5025/user/reset-password token=<reset_token> password=123
http POST localhost:5025/session/signout \
X-Diskette-Session-Token:<session_token>
http POST localhost:5025/session/change-password \
X-Diskette-Session-Token:<session_token> \
oldPassword=<old_password> newPassword=<new_password>
http POST localhost:5025/session/change-email \
X-Diskette-Session-Token:<session_token> \
password=<password> newEmail=<newEmail>
http POST localhost:5025/session/set-profile \
X-Diskette-Session-Token:<session_token> \
profile:='{"name": "Joe Doe"}'
-
User Management
http localhost:5025/admin/get-users?q=<query> X-Diskette-Session-Token:<session_token>
http POST localhost:5025/admin/create-user X-Diskette-Session-Token:<session_token> \
email="joe.doe@gmail.com" password="123" \
roles:='["admin"]' profile:='{"name": "Joe Doe", "lang": "en"}'
http POST localhost:5025/admin/change-user-password X-Diskette-Session-Token:<session_token> \
userId=<user_id> newPassword=<new_password>
http POST localhost:5025/admin/change-user-email X-Diskette-Session-Token:<session_token> \
userId=<user_id> newEmail=<new_email>
# example
http POST localhost:5025/admin/set-user-roles X-Diskette-Session-Token:<session_token> \
userId=<user_id> newRoles:='["customer"]'
# example
http POST localhost:5025/admin/set-user-profile X-Diskette-Session-Token:<session_token> \
userId=<user_id> newProfile:='{"name": "Joe Doe Jr."}'
# example
http DELETE localhost:5025/admin/remove-users X-Diskette-Session-Token:<session_token> \
userIds:='["56bf19d65a1d18b704000001", "56be731d5a1d18accd000001"]'
# example
http POST localhost:5025/admin/signout-users X-Diskette-Session-Token:<session_token> \
userIds:='["56bf19d65a1d18b704000001", "56be731d5a1d18accd000001"]'
# example
http POST localhost:5025/admin/suspend-users X-Diskette-Session-Token:<session_token> \
userIds:='["56bf19d65a1d18b704000001", "56be731d5a1d18accd000001"]'
# example
http POST localhost:5025/admin/unsuspend-users X-Diskette-Session-Token:<session_token> \
userIds:='["56bf19d65a1d18b704000001", "56be731d5a1d18accd000001"]'
http DELETE localhost:5025/admin/remove-unconfirmed-users X-Diskette-Session-Token:<session_token>
- remove expired reset keys
http POST localhost:5025/admin/remove-expired-reset-keys X-Diskette-Session-Token:<session_token>
-
Authorization
- Document level access control
// example
{
"blog-post": {
"read": true,
"create": "session.userId != null",
"update": "session.userId === doc.authorId || 'admin' in session.userRoles",
"remove": "session.userId === doc.authorId || 'admin' in session.userRoles"
}
}
-
Mail Notifications:
http POST localhost:5025/sendmail/<key>?q=<query>&l=<language_tag>
# example
http POST localhost:5025/sendmail/confirmSignup?q='{"email":"joe.doe@gmail.com"}'&l="en"
# example
http POST localhost:5025/sendmail/resetPassword?q='{"email":"joe.doe@gmail.com"}'&l="en"
-
Javascript library for usage in the browser