Skip to content

Commit

Permalink
feat(index.js): put and get done
Browse files Browse the repository at this point in the history
  • Loading branch information
jhderojasUVa committed Aug 12, 2022
1 parent b4ba27a commit 50cfa7e
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 18 deletions.
29 changes: 27 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,39 @@ All responses are JSON based.
}
```

Example of a response:

```json
{
"success": true,
"data": {
"rows": [
{
"id": "9DF788A0-1A29-11ED-8739-679AC04E7140",
"description": "some text",
"completed": false,
"date": 1660300156458
}
],
"rowCount": 1
}
}
```

## GET /{id}

The same than the previous but the result will be only one.

```json
{
"success": true,
"data": {
"rows": [],
"rowCount": 0
"rows": [
{
// See previous example
}
],
"rowCount": 1
}
}
```
Expand Down
58 changes: 42 additions & 16 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,37 +57,73 @@ connection.on('connect', (err) => {

// Get all todos
app.get('/', (req, res) => {
const request = new Request('SELECT id, description, completed, date FROM Todo ORDER BY date DESC', (err, rowCount, rows) => {
// Initialice
var rows = [];
var rowCount = 0;

const request = new Request('SELECT id, description, completed, date FROM Todo ORDER BY date DESC', (err, rowNumber) => {
// if error on the query
if (err) {
res.json(responses.errorResponse('Error at query'));
}

// if not, send everthing to the client
// Set total of rows
rowCount = rowNumber;
});

request.on('row', (data) => {
rows.push({
[data[0].metadata.colName]: data[0].value,
[data[1].metadata.colName]: String(data[1].value).trim(),
[data[2].metadata.colName]: data[2].value,
[data[3].metadata.colName]: Number(data[3].value),
});
});

request.on('requestCompleted', () => {
res.json(responses.basicOkResponse({
rows,
rowCount,
}));
});

// Execute the SQL
connection.execSql(request);
});

app.get('/:id', (req, res) => {
const request = new Request(`SELECT id, description, completed, date FROM Todo WHERE id="${req.params.id}" ORDER BY date DESC`, (err, rowCount, rows) => {
// Initialice
var rows = [];
var rowCount = 0;

const request = new Request(`SELECT id, description, completed, date FROM Todo WHERE id='${req.params.id}' ORDER BY date DESC`, (err, rowNumber) => {
// if error on the query
if (err) {
res.json(responses.errorResponse('Error at query'));
return;
}

// if not, send everthing to the client
rowCount = rowNumber;
});

request.on('row', (data) => {
rows.push({
[data[0].metadata.colName]: data[0].value,
[data[1].metadata.colName]: String(data[1].value).trim(),
[data[2].metadata.colName]: data[2].value,
[data[3].metadata.colName]: Number(data[3].value),
});
});

request.on('requestCompleted', () => {
res.json(responses.basicOkResponse({
rows,
rowCount,
}));
});


// Execute the SQL
connection.execSql(request);
});

Expand All @@ -102,18 +138,7 @@ connection.on('connect', (err) => {

const date = Date.now();

// const rrr = {
// id: uuid.v1(),
// description,
// completed,
// date,
// };

// console.log(rrr)

// res.json(responses.basicOkResponse({}));

const request = new Request(`INSERT INTO Todo (id, description, completed, value) VALUES ("${uuid.v1()}", "${description}", "${completed}", "${date}"`, (err) => {
const request = new Request(`INSERT INTO Todo (id, description, completed, value) VALUES ('${uuid.v1()}', '${description}', '${completed}', '${date}'`, (err) => {
if (err) {
res.json(responses.errorResponse(err));
return;
Expand All @@ -131,5 +156,6 @@ connection.on('connect', (err) => {
});

// Do the connection and trigger express server
console.log('Please wait while we are connecting to the database...');
connection.connect();

0 comments on commit 50cfa7e

Please sign in to comment.