internal/db: don't filter bh commands

This commit is contained in:
nicksherron 2020-02-10 17:36:08 -05:00
parent ae839c1ec4
commit 21351444c8

View file

@ -207,7 +207,6 @@ func (cmd Command) commandInsert() int64 {
return inserted
}
//TODO: make this less complicated. It's the epitome of a cluster fuck.
func (cmd Command) commandGet() []Query {
var results []Query
var rows *sql.Rows
@ -220,7 +219,6 @@ func (cmd Command) commandGet() []Query {
SELECT DISTINCT ON ("command") command, "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "path" = $3
AND "system_name" = $4
AND "command" ~ $5
@ -232,7 +230,6 @@ func (cmd Command) commandGet() []Query {
SELECT DISTINCT ON ("command") command, "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "path" = $3
AND "command" ~ $4
) c
@ -242,7 +239,6 @@ func (cmd Command) commandGet() []Query {
rows, err = db.Query(`SELECT "command", "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "system_name" = $3
AND "command" ~ $4
ORDER BY "created" DESC limit $2;`, cmd.User.ID, cmd.Limit, cmd.SystemName, cmd.Query)
@ -251,7 +247,6 @@ func (cmd Command) commandGet() []Query {
rows, err = db.Query(`SELECT "command", "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "path" = $3
AND "command" ~ $4
ORDER BY "created" DESC limit $2;`, cmd.User.ID, cmd.Limit, cmd.Path, cmd.Query)
@ -261,7 +256,6 @@ func (cmd Command) commandGet() []Query {
SELECT DISTINCT ON ("command") command, "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "system_name" = $3
) c
ORDER BY "created" DESC limit $2;`, cmd.User.ID, cmd.Limit, cmd.SystemName)
@ -271,7 +265,6 @@ func (cmd Command) commandGet() []Query {
SELECT DISTINCT ON ("command") command, "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "path" = $3
) c
ORDER BY "created" DESC limit $2;`, cmd.User.ID, cmd.Limit, cmd.Path)
@ -281,7 +274,6 @@ func (cmd Command) commandGet() []Query {
SELECT DISTINCT ON ("command") command, "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "command" ~ $3
) c
ORDER BY "created" DESC limit $2;`, cmd.User.ID, cmd.Limit, cmd.Query)
@ -290,7 +282,6 @@ func (cmd Command) commandGet() []Query {
rows, err = db.Query(`SELECT "command", "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "command" ~ $3
ORDER BY "created" DESC limit $2;`, cmd.User.ID, cmd.Limit, cmd.Query)
@ -300,7 +291,6 @@ func (cmd Command) commandGet() []Query {
SELECT DISTINCT ON ("command") command, "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
) c
ORDER BY "created" DESC limit $2;`, cmd.User.ID, cmd.Limit)
}
@ -310,63 +300,57 @@ func (cmd Command) commandGet() []Query {
// Have to use fmt.Sprintf to build queries where sqlite regexp function is used because of single quotes. Haven't found any other work around.
query := fmt.Sprintf(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = '%v'
AND "command" not like '%v'
AND "path" = '%v'
AND "system_name" = '%v'
AND "command" regexp '%v'
GROUP BY "command" ORDER BY "created" DESC limit '%v'`,
cmd.User.ID, "bh%", cmd.Path, cmd.SystemName, cmd.Query, cmd.Limit)
cmd.User.ID, cmd.Path, cmd.SystemName, cmd.Query, cmd.Limit)
rows, err = db.Query(query)
} else if cmd.SystemName != "" && cmd.Query != "" && cmd.Unique {
query := fmt.Sprintf(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = '%v'
AND "command" not like '%v'
AND "system_name" = '%v'
AND "command" regexp '%v'
GROUP BY "command" ORDER BY "created" DESC limit '%v'`,
cmd.User.ID, "bh%", cmd.SystemName, cmd.Query, cmd.Limit)
cmd.User.ID, cmd.SystemName, cmd.Query, cmd.Limit)
rows, err = db.Query(query)
} else if cmd.Path != "" && cmd.Query != "" && cmd.Unique {
query := fmt.Sprintf(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = '%v'
AND "command" not like '%v'
AND "path" = '%v'
AND "command" regexp '%v'
GROUP BY "command" ORDER BY "created" DESC limit '%v'`,
cmd.User.ID, "bh%", cmd.Path, cmd.Query, cmd.Limit)
cmd.User.ID, cmd.Path, cmd.Query, cmd.Limit)
rows, err = db.Query(query)
} else if cmd.SystemName != "" && cmd.Query != "" {
query := fmt.Sprintf(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = '%v'
AND "command" not like '%v'
AND "system_name" = %v'
AND "command" regexp %v'
ORDER BY "created" DESC limit '%v'`,
cmd.User.ID, "bh%", cmd.SystemName, cmd.Query, cmd.Limit)
cmd.User.ID, cmd.SystemName, cmd.Query, cmd.Limit)
rows, err = db.Query(query)
} else if cmd.Path != "" && cmd.Query != "" {
query := fmt.Sprintf(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = '%v'
AND "command" not like '%v'
AND "path" = %v'
AND "command" regexp %v'
ORDER BY "created" DESC limit '%v'`,
cmd.User.ID, "bh%", cmd.Path, cmd.Query, cmd.Limit)
cmd.User.ID, cmd.Path, cmd.Query, cmd.Limit)
rows, err = db.Query(query)
} else if cmd.SystemName != "" && cmd.Unique {
rows, err = db.Query(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "system_name" = $2
GROUP BY "command" ORDER BY "created" DESC limit $3`,
cmd.User.ID, cmd.SystemName, cmd.Limit)
@ -374,7 +358,6 @@ func (cmd Command) commandGet() []Query {
} else if cmd.Path != "" && cmd.Unique {
rows, err = db.Query(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
AND "path" = $2
GROUP BY "command" ORDER BY "created" DESC limit $3`,
cmd.User.ID, cmd.Path, cmd.Limit)
@ -382,20 +365,18 @@ func (cmd Command) commandGet() []Query {
} else if cmd.Query != "" && cmd.Unique {
query := fmt.Sprintf(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = '%v'
AND "command" not like '%v'
AND "command" regexp '%v'
GROUP BY "command" ORDER BY "created" DESC limit '%v'`,
cmd.User.ID, "bh%", cmd.Query, cmd.Limit)
cmd.User.ID, cmd.Query, cmd.Limit)
rows, err = db.Query(query)
} else if cmd.Query != "" {
query := fmt.Sprintf(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = '%v'
AND "command" not like '%v'
AND "command" regexp'%v'
ORDER BY "created" DESC limit '%v'`,
cmd.User.ID, "bh%", cmd.Query, cmd.Limit)
cmd.User.ID, cmd.Query, cmd.Limit)
rows, err = db.Query(query)
@ -404,7 +385,6 @@ func (cmd Command) commandGet() []Query {
rows, err = db.Query(`SELECT "command", "uuid", "created"
FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
GROUP BY "command" ORDER BY "created" DESC limit $2;`, cmd.User.ID, cmd.Limit)
}
}
@ -413,18 +393,15 @@ func (cmd Command) commandGet() []Query {
rows, err = db.Query(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = $1
AND "path" = $3
AND "command" not like 'bh%'
ORDER BY "created" DESC limit $2`, cmd.User.ID, cmd.Limit, cmd.Path)
} else if cmd.SystemName != "" {
rows, err = db.Query(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = $1
AND "system_name" = $3
AND "command" not like 'bh%'
ORDER BY "created" DESC limit $2`, cmd.User.ID, cmd.Limit, cmd.SystemName)
} else {
rows, err = db.Query(`SELECT "command", "uuid", "created" FROM commands
WHERE "user_id" = $1
AND "command" not like 'bh%'
ORDER BY "created" DESC limit $2`, cmd.User.ID, cmd.Limit)
}