Skip to content

Commit f129d6c

Browse files
authored
Merge pull request #37 from aau-network-security/feature/add-vpn-field-#000
Feature/add vpn field #000
2 parents b07f46d + 31ec2a4 commit f129d6c

10 files changed

+134
-74
lines changed

database/query.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ var (
1313
"started_at timestamp, " +
1414
"finish_expected timestamp, " +
1515
"finished_at timestamp," +
16-
"createdBy text);"
16+
"createdBy text," +
17+
"onlyVPN boolean);"
1718

1819
CreateTeamsTable = "CREATE TABLE IF NOT EXISTS Team(" +
1920
"id serial primary key, " +
@@ -29,8 +30,8 @@ var (
2930
AddTeamQuery = "INSERT INTO team (tag, event_id, email, name, password, created_at, last_access, solved_challenges)" +
3031
"VALUES ($1, $2, $3, $4, $5, $6, $7, $8)"
3132

32-
AddEventQuery = "INSERT INTO event (tag, name, available, capacity, frontends, status, exercises, started_at, finish_expected, finished_at, createdby)" +
33-
"VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10,$11)"
33+
AddEventQuery = "INSERT INTO event (tag, name, available, capacity, frontends, status, exercises, started_at, finish_expected, finished_at, createdby, onlyVPN)" +
34+
"VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10,$11,$12)"
3435

3536
UpdateCloseEvent = "UPDATE event SET tag = $2, finished_at = $3 WHERE tag = $1"
3637
UpdateEventStatus = "UPDATE event SET status = $2 WHERE tag = $1 "

database/store.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ func (s *store) AddEvent(in *pb.AddEventRequest) (string, error) {
9191
finishTime, _ := time.Parse(TimeFormat, in.FinishedAt)
9292
expectedFinishTime, _ := time.Parse(TimeFormat, in.ExpectedFinishTime)
9393

94-
_, err := s.db.Exec(AddEventQuery, in.Tag, in.Name, in.Available, in.Capacity, in.Frontends, in.Status, in.Exercises, startTime, expectedFinishTime, finishTime, in.CreatedBy)
94+
_, err := s.db.Exec(AddEventQuery, in.Tag, in.Name, in.Available, in.Capacity, in.Frontends, in.Status, in.Exercises, startTime, expectedFinishTime, finishTime, in.CreatedBy, in.OnlyVPN)
9595

9696
if err != nil {
9797
return "", err
@@ -321,7 +321,7 @@ func parseEvents(rows *sql.Rows) ([]model.Event, error) {
321321
for rows.Next() {
322322
event := new(model.Event)
323323
err := rows.Scan(&event.Id, &event.Tag, &event.Name, &event.Available, &event.Capacity, &event.Status, &event.Frontends,
324-
&event.Exercises, &event.StartedAt, &event.ExpectedFinishTime, &event.FinishedAt, &event.CreatedBy)
324+
&event.Exercises, &event.StartedAt, &event.ExpectedFinishTime, &event.FinishedAt, &event.CreatedBy, &event.OnlyVPN)
325325
if err != nil && !strings.Contains(err.Error(), handleNullConversionError) {
326326
return nil, err
327327
}

database/store_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ func TestAddEvent(t *testing.T) {
213213
Status: 1,
214214
ExpectedFinishTime: "2020-05-21 14:35:01",
215215
FinishedAt: "0001-01-01 00:00:00", // it means that event is not finished yet
216+
OnlyVPN: false,
216217
}
217218

218219
resp, err := c.AddEvent(context.Background(), &req)

database/timeline.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ func getEvents(db *sql.DB) []model.Event {
7272
for r.Next() {
7373
event := new(model.Event)
7474
err := r.Scan(&event.Id, &event.Tag, &event.Name, &event.Available, &event.Capacity, &event.Status, &event.Frontends,
75-
&event.Exercises, &event.StartedAt, &event.ExpectedFinishTime, &event.FinishedAt, &event.CreatedBy)
75+
&event.Exercises, &event.StartedAt, &event.ExpectedFinishTime, &event.FinishedAt, &event.CreatedBy, &event.OnlyVPN)
7676
if err != nil && !strings.Contains(err.Error(), "Null conversion error ") {
7777
log.Fatalf("Error on scanning query %v", err)
7878
}

database/timeline_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func insertTeamEvent(eid int, db *sql.DB) error {
5757
}
5858

5959
func insertFakeEvent(event fakeEvent, db *sql.DB) error {
60-
_, err := db.Exec(AddEventQuery, event.tag, "", event.available, event.capacity, "kali", 1, "ftp,sql", event.sT.UTC(), event.fT.UTC(), time.Date(0001, 01, 01, 00, 00, 00, 0000, time.UTC).Format(time.RFC3339), "tester")
60+
_, err := db.Exec(AddEventQuery, event.tag, "", event.available, event.capacity, "kali", 1, "ftp,sql", event.sT.UTC(), event.fT.UTC(), time.Date(0001, 01, 01, 00, 00, 00, 0000, time.UTC).Format(time.RFC3339), "tester", false)
6161
if err != nil {
6262
return err
6363
}
@@ -212,6 +212,7 @@ func TestGetEvents(t *testing.T) {
212212
ExpectedFinishTime: expectedFinishTime.Format(time.RFC3339),
213213
FinishedAt: time.Date(0001, 01, 01, 00, 00, 00, 0000, time.UTC).Format(time.RFC3339),
214214
CreatedBy: "tester",
215+
OnlyVPN: false,
215216
}}
216217

217218
if got := getEvents(db); !reflect.DeepEqual(got, events) {

docker-compose-dev.yml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
version: '3'
2+
services:
3+
server:
4+
container_name: server
5+
env_file:
6+
- .env
7+
build: .
8+
ports:
9+
- 50051:50051
10+
restart: on-failure
11+
depends_on:
12+
- postgres-db
13+
volumes:
14+
- ${CERTS_PATH}:/certs:ro # in production, change this CERTS_PATH to your certificate files folder
15+
- ${CONFIG_PATH}:/config.yml:ro # mount config file
16+
networks:
17+
- internal
18+
19+
postgres-db:
20+
image: postgres:alpine
21+
container_name: postgres
22+
command: postgres
23+
env_file:
24+
- .env
25+
ports:
26+
- '5432:5432'
27+
volumes:
28+
- data:/var/lib/postgresql/data
29+
networks:
30+
- internal
31+
32+
# Networks to be created to facilitate communication between containers
33+
volumes:
34+
data:
35+
networks:
36+
internal:
37+
driver: bridge

docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ services:
1717
- internal
1818

1919
postgres-db:
20-
image: postgres:9.6.18-alpine
20+
image: postgres:alpine
2121
container_name: postgres
2222
command: postgres -c config_file=/etc/postgresql/postgresql.conf -c logging_collector=on -c log_destination=stderr -c log_directory=/logs
2323
env_file:

model/model.go

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ type Event struct {
1313
ExpectedFinishTime string
1414
FinishedAt string
1515
CreatedBy string
16+
OnlyVPN bool
1617
}
1718

1819
type Team struct {

0 commit comments

Comments
 (0)