Files
CrowsNest/internal/sqlite/tables.go
T

59 lines
932 B
Go
Raw Permalink Normal View History

2025-05-15 15:35:02 -04:00
package sqlite
2025-05-15 14:43:13 -04:00
2025-05-15 15:35:02 -04:00
import "strings"
2025-05-15 14:43:13 -04:00
type Table int64
const (
ResultsTable Table = iota
RunsTable
CredsTable
WhoIsTable
SubdomainsTable
HistoryTable
2025-05-16 18:45:24 -04:00
LookupTable
2025-05-15 14:43:13 -04:00
UnknownTable
)
func GetTable(userInput string) Table {
switch strings.ToLower(userInput) {
case "results":
return ResultsTable
case "runs":
return RunsTable
case "creds":
return CredsTable
case "whois":
return WhoIsTable
case "subdomains":
return SubdomainsTable
case "history":
return HistoryTable
2025-05-16 18:45:24 -04:00
case "lookup":
return LookupTable
2025-05-15 14:43:13 -04:00
default:
return UnknownTable
}
}
func (t Table) Object() interface{} {
switch t {
case ResultsTable:
2025-05-15 15:35:02 -04:00
return Result{}
2025-05-15 14:43:13 -04:00
case RunsTable:
2025-05-15 15:35:02 -04:00
return QueryOptions{}
2025-05-15 14:43:13 -04:00
case CredsTable:
2025-05-15 15:35:02 -04:00
return Creds{}
2025-05-15 14:43:13 -04:00
case WhoIsTable:
2025-05-15 15:35:02 -04:00
return WhoisRecord{}
2025-05-15 14:43:13 -04:00
case SubdomainsTable:
2025-05-15 15:35:02 -04:00
return SubdomainRecord{}
2025-05-15 14:43:13 -04:00
case HistoryTable:
2025-05-15 15:35:02 -04:00
return HistoryRecord{}
2025-05-16 18:45:24 -04:00
case LookupTable:
return LookupResult{}
2025-05-15 14:43:13 -04:00
default:
return nil
}
}