Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'use strict'
- const Hapi = require('hapi');
- const server = new Hapi.Server();
- server.connection({ port: 3000, host: 'localhost' });
- var config = {
- userName: "sa",
- password: "password.123",
- server: ".",
- options:
- {
- database: "Memory"
- }
- }
- var Connection = require('tedious').Connection;
- var Request = require('tedious').Request;
- var TYPES = require('tedious').TYPES;
- //----------------------------------------------------------------------------
- function login(user, pass, reply) {
- var connection = new Connection(config); //CONNESSIONE SU OGNI METODO, CI VUOLE SEMPRE
- connection.on('connect', function (err) {
- if (err) {
- console.log(err);
- }
- else {
- console.log('Connected');
- var Risposta = [];
- query = "SELECT IdUtente FROM Utenti WHERE Username=@user AND Password=@pass";
- request = new Request(query, function (err, rowCount) { // ESEGUE DOPO TUTTO
- if (err) { console.log(err); }
- else {
- if (rowCount == 0) {
- Risposta.push({ status: 'ko' });
- }
- reply(Risposta);
- }
- });
- request.AddParameter('user', TYPES.VarChar, user);
- request.AddParameter('pass', TYPES.VarChar, pass);
- //Cosa faccio con i dati che ottengo dalla query
- request.on('row', function (columns) {
- columns.forEach(function (column) //dalla tab del risutlato faccio passare tuitte le colonne, essendo una sola colonna so che la prima รจ l'id
- {
- Risposta.push({ status: 'ok', id: column.value })
- }
- )
- });
- //Esegue la query
- connection.execSql(request);
- }
- });
- function signup(user, pass, reply) {
- var connection = new Connection(config);
- connection.on('connect', function (err) {
- if (err) {
- console.log(err);
- }
- else {
- console.log('Connected');
- var Risposta = [];
- query = "INSERT INTO Utenti(Username, Password) VALUES (@user,@pass)";
- request = new Request(query, function (err, rowCount) {
- if (err) { console.log(err); }
- else {
- if (rowCount == 0) {
- Risposta.push({ status: 'ko' });
- }
- else {
- Risposta.push({ status: 'ok' });
- }
- reply(Risposta);
- }
- });
- request.AddParameter('user', TYPES.VarChar, user);
- request.AddParameter('pass', TYPES.VarChar, pass);
- connection.execSql(request);
- }
- });
- }
- function savescore(reply, score, schema, idUt) {
- var connection = new Connection(config);
- var VecchioScore = 0;
- connection.on('connect', function (err) {
- if (err) {
- console.log(err);
- }
- else {
- console.log('Connected');
- var Risposta = [];
- queryScore = "SELECT TempodiVittoria FROM Punteggi WHERE IdUtente=@idUt";
- request = new Request(query, function (err, rowCount) {
- if (err) { console.log(err); }
- else {
- if (rowCount = 1) {
- if (VecchioScore > score) {
- query = "UPDATE Punteggi SET TempodiVittoria=@score WHERE IdUtente=@idUt)";
- request = new Request(query, function (err, reply) {
- if (err) console.log(err);
- else {
- if (rowCount == 0) {
- Risposta.push({ status: 'ko' });
- }
- else {
- Risposta.push({ status: 'ok' });
- }
- reply(Risposta);
- }
- });
- }
- else if (rowCount = 0) {
- query = "INSERT INTO Punteggi (IdUtente,IdSchema,TempodiVittoria) VALUES (@idUt,@schema,@score)";
- request = new Request(query, function (err, reply) {
- if (err) console.log(err);
- else {
- if (rowCount == 0) {
- Risposta.push({ status: 'ko' });
- }
- else {
- Risposta.push({ status: 'ok' });
- }
- reply(Risposta);
- }
- });
- }
- }
- }
- request.AddParameter('score', TYPES.Time, score);
- request.AddParameter('idUt', TYPES.Int, idUt);
- request.AddParameter('schema', TYPES.Int, schema);
- });
- request.on('row', function (columns) {
- VecchioScore = columns[0].value;
- });
- connection.execSql(request);
- }
- });
- }
- //-------------------------------------------------------------------------------------------------------------------------
- server.route({
- method: 'POST',
- path: '/login',
- handler: function (request, reply) {
- login(request.payload.name, request.payload.pass, reply);
- }
- });
- server.route({
- method: 'POST',
- path: '/signup',
- handler: function (request, reply) {
- signup(request.payload.name, request.payload.pass, reply);
- }
- });
- server.route({
- method: 'POST',
- path: '/savescore',
- handler: function (request, reply) {
- savescore(request.payload.score, request.payload.idUt,request.payload.schema, reply);
- }
- });
- /* server.route({
- method: 'POST',
- path: '/signup',
- handler: function(request, reply) {
- }
- });*/
- server.start(function () {
- console.log('Hapi is listening to http://localhost:3000');
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement