-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdb.js
71 lines (61 loc) · 1.7 KB
/
db.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
const environment = process.env.NODE_ENV || 'development'
const config = require('./knexfile')[environment]
const connection = require('knex')(config)
module.exports = {
getAlllocations,
getEvents,
getEventbyId,
updateEvent,
addLocation,
addEvent,
deleteEvent,
}
function getEvents(db = connection) {
return db('events')
.join('locations','events.location_id','locations.id')
.select('*','events.name AS event_name', 'events.id AS event_id', 'locations.id AS location_id', 'locations.name AS location_name')
}
function getEventbyId(id, db = connection){
return db('events')
.join('locations','events.location_id','locations.id')
.select('*','events.name AS event_name', 'events.id AS event_id','locations.id AS location_id', 'locations.name AS location_name')
.where('events.id', id)
.first()
}
function getAlllocations(db = connection) {
return db('locations')
.select()
}
function updateEvent(id, eventTitle, eventDate, locationId,eventDescription, db = connection){
return db('events')
.update({
name: eventTitle,
location_id: locationId,
date: eventDate,
description: eventDescription
})
.where('events.id', id)
}
function addLocation(name, description, db = connection) {
return db('locations')
.insert({
name: name,
description: description
})
}
function addEvent(eventTitle, eventDate, locationId, eventDescription, eventPrice, eventType,db = connection){
return db('events')
.insert({
name: eventTitle,
location_id: locationId,
date: eventDate,
description: eventDescription,
price: eventPrice,
type:eventType,
})
}
function deleteEvent(id, db = connection){
return db('events')
.where('events.id', id)
.delete()
}