Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function startApp() {
  2.     $('header').find('a').show();
  3.  
  4.  
  5.     function showView(view) {
  6.         $('section').hide();
  7.         switch (view) {
  8.             case 'home':
  9.                 $('#viewHome').show();
  10.                 break;
  11.             case 'login':
  12.                 $('#viewLogin').show();
  13.                 break;
  14.             case 'register':
  15.                 $('#viewRegister').show();
  16.                 break;
  17.             case 'ads':
  18.                 $('#viewAds').show();
  19.                 break;
  20.             case 'creat':
  21.                 $('#viewCreateAd').show();
  22.                 break;
  23.             case 'details':
  24.                 $('#details').show();
  25.                 break;
  26.             case 'edit':
  27.                 $('#viewEditAd').show();
  28.                 break;
  29.         }
  30.     }
  31.  
  32.     function navigateTo(e) {
  33.         $('section').hide();
  34.         let target = $(e.target).attr('data-target');
  35.         $('#' + target).show();
  36.     }
  37.  
  38.     //Attach event listener
  39.     $('header').find('a[data-target]').click(navigateTo);
  40.     $('#buttonLoginUser').click(login);
  41.     $('#buttonRegisterUser').click(register);
  42.  
  43.     let requester = (() => {
  44.         const appKEy = 'kid_SJo0LTSPb';
  45.         const appSecret = 'b688e525951b41ccaa19f0c3fa203633';
  46.         const baseUrl = 'https://baas.kinvey.com/';
  47.  
  48.         function makeAuth(type) {
  49.             if (type === 'basic') return 'Basic ' + btoa(appKEy + ':' + appSecret);
  50.             else return 'Kinvey ' + localStorage.getItem('authtoken');
  51.         }
  52.  
  53.         function makeRequest(method, module, url, auth) {
  54.             return req = {
  55.                 url: baseUrl + module + '/' + appKEy + '/' + url,
  56.                 method,
  57.                 headers: {
  58.                     'Authorization': makeAuth(auth)
  59.                 }
  60.             };
  61.         }
  62.  
  63.         function get(module, url, auth) {
  64.             return $.ajax(makeRequest('GET', module, url, auth));
  65.         }
  66.  
  67.         function post(module, url, data, auth) {
  68.             let req = makeRequest('POST', module, url, auth);
  69.             req.data = JSON.stringify(data);
  70.             req.headers['Content-Type'] = 'application/json';
  71.             return $.ajax(req);
  72.         }
  73.  
  74.         function update(module, url, data, auth) {
  75.             let req = $.ajax(makeRequest('PUT', module, url, auth));
  76.             req.data = JSON.stringify(data);
  77.             return $.ajax(req);
  78.         }
  79.  
  80.         function remove(module, url, auth) {
  81.             return $.ajax(makeRequest('DELETE', module, url, auth));
  82.         }
  83.  
  84.         return {
  85.             get,
  86.             post,
  87.             remove,
  88.             update
  89.         }
  90.  
  91.     })();
  92.  
  93.  
  94.     function saveSession(data) {
  95.         localStorage.setItem('username', data.username);
  96.         localStorage.setItem('id', data._id);
  97.         localStorage.setItem('authtoken', data._kmd.authtoken);
  98.         $('#loggedInUser').text(`Welcome, ${data.username}!`);
  99.     }
  100.  
  101.     async function login() {
  102.         let form = $('#formLogin');
  103.         let username = form.find('input[name="username"]').val();
  104.         let password = form.find('input[name="passwd"]').val();
  105.         try {
  106.             let data = await requester.post('user', 'login', {username, password}, 'basic')
  107.             saveSession(data);
  108.             showView('ads');
  109.         } catch (err) {
  110.  
  111.         }
  112.     }
  113.  
  114.     async function register() {
  115.         let form = $('#formRegister');
  116.         let username = form.find('input[name="username"]').val();
  117.         let password = form.find('input[name="passwd"]').val();
  118.         console.log(username,password)
  119.         try {
  120.             let data = await requester.post('user', '', {username, password}, 'basic');
  121.             console.log(data);
  122.             saveSession(data);
  123.             showView('ads');
  124.         } catch (err) {
  125.  
  126.         }
  127.     }
  128.  
  129. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement