Skip to content

Commit

Permalink
feat(backend): closes #69
Browse files Browse the repository at this point in the history
  • Loading branch information
AritroSaha10 committed Dec 27, 2023
1 parent f7fe761 commit 1f39750
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 4 deletions.
29 changes: 26 additions & 3 deletions backend/cmd/util/import_tickets_from_csv/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"fmt"
"io"
"os"
"strconv"
"strings"
"sync"
"sync/atomic"
Expand Down Expand Up @@ -100,10 +101,20 @@ func main() {
}
studentNumberColNum-- // Move to 0-based index

var localMaxScanCountColNum int // -1 -> no given column number
fmt.Printf("What column # stores the maximum scan count for a ticket? [1-%d, 0 for none]? ", csvReader.FieldsPerRecord)
if n, err := fmt.Scanf("%d", &localMaxScanCountColNum); err != nil || n != 1 {
log.Fatal().Err(err).Msg("could not parse local max scan count")
}
if localMaxScanCountColNum < 0 || localMaxScanCountColNum > int(csvReader.FieldsPerRecord) {
log.Fatal().Msg("column # given is outside accepted range")
}
localMaxScanCountColNum-- // Move to 0-based index

var globalMaxScanCount int
fmt.Printf("What should the maximum scan count be per ticket [>=0, 0 for infinite]? ")
fmt.Printf("What should the default maximum scan count be per ticket [>=0, 0 for infinite]? ")
if n, err := fmt.Scanf("%d", &globalMaxScanCount); err != nil || n != 1 {
log.Fatal().Err(err).Msg("could not parse max scan count")
log.Fatal().Err(err).Msg("could not parse global max scan count")
}
if globalMaxScanCount < 0 {
log.Fatal().Msg("global max scan count below 0")
Expand Down Expand Up @@ -133,6 +144,18 @@ func main() {
rawFullName := rec[studentNameColNum]
studentNumber := rec[studentNumberColNum]

maxScanCount := globalMaxScanCount
// Try parsing the local max scan count from DB if column
// number exists, otherwise defaulting to global
if localMaxScanCountColNum != -1 {
tmpScanCount, err := strconv.Atoi(rec[localMaxScanCountColNum])
if err != nil {
log.Warn().Err(err).Str("rawLocalMaxScanCount", rec[localMaxScanCountColNum]).Msg("could not parse local max scan count")
} else {
maxScanCount = tmpScanCount
}
}

nameSplit := strings.Split(rawFullName, ", ")
if len(nameSplit) != 2 {
err := fmt.Errorf("more than one comma in name: %s", rawFullName)
Expand All @@ -146,7 +169,7 @@ func main() {
queuedTicket := models.QueuedTicket{
StudentNumber: studentNumber,
EventID: eventID,
MaxScanCount: globalMaxScanCount,
MaxScanCount: maxScanCount,
FullNameUpdate: fullName,
}

Expand Down
2 changes: 1 addition & 1 deletion backend/middleware/sentry.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func CreateNewSentryMiddleware() *sentryhttp.Handler {
log.Error().Err(err).Msg("Sentry initialization failed")
}
defer sentry.Flush(time.Second)
log.Debug().Msg("Sentry initialized")
log.Debug().Msg("sentry initialized")

return sentryhttp.New(sentryhttp.Options{
Repanic: true,
Expand Down

0 comments on commit 1f39750

Please sign in to comment.