<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Skygear-SDK-JS</title> </head> <body> <div id="main"> <p> <label>End Point</label> <span id="endpoint"></span> </p> <p> <label>Token</label> <span id="accessToken"> <a href="index.html">Go to Login</a> </span> </p> <p> <label>Username</label> <span id="currentUsername"></span> </p> <p> <label>Email</label> <span id="currentEmail"></span> </p> </div> <hr> <div id="whoami"> <h4>Who am I?</h4> <form action="#" onsubmit="return false;"> <p> <button onclick="whoami();">Me</button> </p> <p id="whoami-result"></p> </form> </div> <hr> <div id="user"> <h4>Discover User</h4> <form action="#" onsubmit="return false;"> <p> <label>Email</label> <input id="email" type="email" placeholder="user@skygear.io"> <button onclick="getByEmail();">Get</button> </p> <p> <label>Username</label> <input id="username" type="username" placeholder="username"> <button onclick="getByUsername();">Get</button> </p> <p id="user-result"></p> </form> </div> <hr> <div id="relation"> <h4>Query user relation</h4> <form action="#" onsubmit="return false;"> <p> <label>Relation</label> <select id="query-relation"> <option value="Follower">Follower</option> <option value="Following">Following</option> <option value="Friend">Friend</option> </select> </p> <p id="relation-result"></p> <button onclick="queryRelation();">Query</button> </form> </div> <hr> <div> <h4>Add user relation</h4> <form action="#" onsubmit="return false;"> <p> <label>Relation</label> <select id="add-relation"> <option value="Follower">Follower</option> <option value="Following">Following</option> <option value="Friend">Friend</option> </select> </p> <p> <label>User id</label> <input id="add-id" type="text" placeholder="user id"> </p> <p id="add-result"></p> <button onclick="addRelation();">Add</button> </form> </div> <hr> <div> <h4>Remove user relation</h4> <form action="#" onsubmit="return false;"> <p> <label>Relation</label> <select id="remove-relation"> <option value="Follower">Follower</option> <option value="Following">Following</option> <option value="Friend">Friend</option> </select> </p> <p> <label>User id</label> <input id="remove-id" type="text" placeholder="user id"> </p> <p id="remove-result"></p> <button onclick="removeRelation();">Remove</button> </form> </div> <script src="/bundle.js"></script> <script type="text/javascript"> var m = document.getElementById("endpoint"); var token = document.getElementById("accessToken"); var currentUsername = document.getElementById("currentUsername"); var currentEmail = document.getElementById("currentEmail"); skygear.config({ 'endPoint': '{{ SKYGEAR_ENDPOINT }}', 'apiKey': '{{ SKYGEAR_API_KEY }}' }).then(function(container) { m.textContent = container.endPoint; token.innerText = skygear.auth.accessToken; if (skygear.auth.currentUser) { currentUsername.innerText = skygear.auth.currentUser.username; currentEmail.innerText = skygear.auth.currentUser.email; } }, function(err) { console.log(err); }); function whoami () { console.log('Who am I?'); var iam = document.getElementById("whoami-result"); skygear.auth.whoami().then(function (user) { if (user.length == 0) { iam.innerText = "no user found"; return } console.log(user); iam.innerText = JSON.stringify(user.toJSON(), null, 2); }, function(error) { console.log(error); iam.innerText = error; }); } function getByEmail () { console.log('discoverUserByEmails'); var email = document.getElementById("email").value; var userInfo = document.getElementById("user-result"); skygear.auth.discoverUserByEmails([email]).then(function (users) { if (users.length == 0) { userInfo.innerText = "no user found"; return } console.log(users[0]); userInfo.innerText = JSON.stringify(users[0].toJSON(), null, 2); }, function(error) { console.log(error); userInfo.innerText = error; }); } function getByUsername () { console.log('discoverUserByUsernames'); var username = document.getElementById("username").value; var userInfo = document.getElementById("user-result"); skygear.auth.discoverUserByUsernames([username]).then(function (users) { if (users.length == 0) { userInfo.innerText = "no user found"; return } console.log(users[0]); userInfo.innerText = JSON.stringify(users[0].toJSON(), null, 2); }, function(error) { console.log(error); userInfo.innerText = error; }); } function queryRelation () { console.log('queryRelation'); var type = document.getElementById("query-relation").value; var relationResult = document.getElementById("relation-result"); var method = "query" + type; console.log(method); skygear.relation[method]().then(function (users) { console.log(users); relationResult.innerText = JSON.stringify(users); }, function (error) { console.log(error); relationResult.innerText = error; }) } function addRelation() { console.log('addRelation'); var type = document.getElementById("add-relation").value; var addResult = document.getElementById("add-result"); var userID = document.getElementById("add-id").value; var user = new skygear.User({ user_id: userID }); console.log(type); console.log(user.id); var relation = new skygear.relation[type]([user]); skygear.relation.add(relation).then(function (result) { console.log(result.targets); addResult.innerText = JSON.stringify(result.success); }, function (error) { console.log(error); addResult.innerText = error; }); } function removeRelation() { console.log('removeRelation'); var type = document.getElementById("remove-relation").value; var removeResult = document.getElementById("remove-result"); var userID = document.getElementById("remove-id").value; var user = new skygear.User({ user_id: userID }); console.log(type); console.log(user.id); var relation = new skygear.relation[type]([user]); skygear.relation.remove(relation).then(function (result) { console.log(result.success); removeResult.innerText = JSON.stringify(result.success); }, function (error) { console.log(error); removeResult.innerText = error; }); } </script> </body> </html>