mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-08-07 03:25:37 +00:00
no message
This commit is contained in:
parent
4ecccba4a1
commit
162dc9de7f
@ -4,5 +4,6 @@ go 1.16
|
||||
|
||||
require (
|
||||
github.com/google/martian v2.1.0+incompatible
|
||||
github.com/jinzhu/gorm v1.9.16
|
||||
gorm.io/driver/sqlite v1.1.4
|
||||
gorm.io/gorm v1.21.8
|
||||
)
|
||||
|
@ -1,5 +1,3 @@
|
||||
github.com/CyrusBiotechnology/go-har v0.0.0-20160107200632-7e81ccfd566e h1:5/mVjqdyM1KH36dKfdfQ+En+Fqdj16aAlx9salHhzRY=
|
||||
github.com/CyrusBiotechnology/go-har v0.0.0-20160107200632-7e81ccfd566e/go.mod h1:F06TYwuSm2x+nwDbYZ/K/I10kmiKWZWSMugUQ/YTSdQ=
|
||||
github.com/PuerkitoBio/goquery v1.5.1/go.mod h1:GsLWisAFVj4WgDibEWF4pvYnkVQBpKBKeU+7zCJoLcc=
|
||||
github.com/andybalholm/cascadia v1.1.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
|
||||
github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd h1:83Wprp6ROGeiHFAP8WJdI2RoxALQYgdllERc3N5N2DM=
|
||||
@ -22,10 +20,11 @@ github.com/jinzhu/now v1.1.2 h1:eVKgfIdy9b6zbWBMgFpfDPoAMifwSZagU9HmEU6zgiI=
|
||||
github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
|
||||
github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4=
|
||||
github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/mattn/go-sqlite3 v1.14.0 h1:mLyGNKR8+Vv9CAU7PphKa2hkEqxxhn8i32J6FPj1/QA=
|
||||
github.com/mattn/go-sqlite3 v1.14.0/go.mod h1:JIl7NbARA7phWnGvh0LKTyg7S9BA+6gx71ShQilpsus=
|
||||
github.com/mattn/go-sqlite3 v1.14.5 h1:1IdxlwTNazvbKJQSxoJ5/9ECbEeaTTyeU7sEAZ5KKTQ=
|
||||
github.com/mattn/go-sqlite3 v1.14.5/go.mod h1:WVKg1VTActs4Qso6iwGbiFih2UIHo0ENGwNd0Lj+XmI=
|
||||
github.com/mattn/go-sqlite3 v1.14.7 h1:fxWBnXkxfM6sRiuH3bqJ4CfzZojMOLVc0UTsTglEghA=
|
||||
github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd h1:GGJVjV8waZKRHrgwvtH66z9ZGVurTD1MT0n1Bb+q4aM=
|
||||
|
@ -7,8 +7,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/google/martian/har"
|
||||
"github.com/jinzhu/gorm"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
// ===== BEGIN of all query sets
|
||||
@ -60,11 +59,11 @@ func (qs MizuEntryQuerySet) All(ret *[]MizuEntry) error {
|
||||
|
||||
// Count is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) Count() (int, error) {
|
||||
var count int
|
||||
err := qs.db.Count(&count).Error
|
||||
return count, err
|
||||
}
|
||||
//func (qs MizuEntryQuerySet) Count() (int, error) {
|
||||
// var count int
|
||||
// err := qs.db.Count(&count).Error
|
||||
// return count, err
|
||||
//}
|
||||
|
||||
// CreatedAtEq is an autogenerated method
|
||||
// nolint: dupl
|
||||
@ -122,52 +121,140 @@ func (qs MizuEntryQuerySet) DeleteNumUnscoped() (int64, error) {
|
||||
return db.RowsAffected, db.Error
|
||||
}
|
||||
|
||||
// DeletedAtEq is an autogenerated method
|
||||
// EntryEq is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) DeletedAtEq(deletedAt time.Time) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("deleted_at = ?", deletedAt))
|
||||
func (qs MizuEntryQuerySet) EntryEq(entry string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry = ?", entry))
|
||||
}
|
||||
|
||||
// DeletedAtGt is an autogenerated method
|
||||
// EntryGt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) DeletedAtGt(deletedAt time.Time) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("deleted_at > ?", deletedAt))
|
||||
func (qs MizuEntryQuerySet) EntryGt(entry string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry > ?", entry))
|
||||
}
|
||||
|
||||
// DeletedAtGte is an autogenerated method
|
||||
// EntryGte is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) DeletedAtGte(deletedAt time.Time) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("deleted_at >= ?", deletedAt))
|
||||
func (qs MizuEntryQuerySet) EntryGte(entry string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry >= ?", entry))
|
||||
}
|
||||
|
||||
// DeletedAtIsNotNull is an autogenerated method
|
||||
// EntryIdEq is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) DeletedAtIsNotNull() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("deleted_at IS NOT NULL"))
|
||||
func (qs MizuEntryQuerySet) EntryIdEq(entryId string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry_id = ?", entryId))
|
||||
}
|
||||
|
||||
// DeletedAtIsNull is an autogenerated method
|
||||
// EntryIdGt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) DeletedAtIsNull() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("deleted_at IS NULL"))
|
||||
func (qs MizuEntryQuerySet) EntryIdGt(entryId string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry_id > ?", entryId))
|
||||
}
|
||||
|
||||
// DeletedAtLt is an autogenerated method
|
||||
// EntryIdGte is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) DeletedAtLt(deletedAt time.Time) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("deleted_at < ?", deletedAt))
|
||||
func (qs MizuEntryQuerySet) EntryIdGte(entryId string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry_id >= ?", entryId))
|
||||
}
|
||||
|
||||
// DeletedAtLte is an autogenerated method
|
||||
// EntryIdIn is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) DeletedAtLte(deletedAt time.Time) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("deleted_at <= ?", deletedAt))
|
||||
func (qs MizuEntryQuerySet) EntryIdIn(entryId ...string) MizuEntryQuerySet {
|
||||
if len(entryId) == 0 {
|
||||
qs.db.AddError(errors.New("must at least pass one entryId in EntryIdIn"))
|
||||
return qs.w(qs.db)
|
||||
}
|
||||
return qs.w(qs.db.Where("entry_id IN (?)", entryId))
|
||||
}
|
||||
|
||||
// DeletedAtNe is an autogenerated method
|
||||
// EntryIdLike is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) DeletedAtNe(deletedAt time.Time) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("deleted_at != ?", deletedAt))
|
||||
func (qs MizuEntryQuerySet) EntryIdLike(entryId string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry_id LIKE ?", entryId))
|
||||
}
|
||||
|
||||
// EntryIdLt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryIdLt(entryId string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry_id < ?", entryId))
|
||||
}
|
||||
|
||||
// EntryIdLte is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryIdLte(entryId string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry_id <= ?", entryId))
|
||||
}
|
||||
|
||||
// EntryIdNe is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryIdNe(entryId string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry_id != ?", entryId))
|
||||
}
|
||||
|
||||
// EntryIdNotIn is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryIdNotIn(entryId ...string) MizuEntryQuerySet {
|
||||
if len(entryId) == 0 {
|
||||
qs.db.AddError(errors.New("must at least pass one entryId in EntryIdNotIn"))
|
||||
return qs.w(qs.db)
|
||||
}
|
||||
return qs.w(qs.db.Where("entry_id NOT IN (?)", entryId))
|
||||
}
|
||||
|
||||
// EntryIdNotlike is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryIdNotlike(entryId string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry_id NOT LIKE ?", entryId))
|
||||
}
|
||||
|
||||
// EntryIn is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryIn(entry ...string) MizuEntryQuerySet {
|
||||
if len(entry) == 0 {
|
||||
qs.db.AddError(errors.New("must at least pass one entry in EntryIn"))
|
||||
return qs.w(qs.db)
|
||||
}
|
||||
return qs.w(qs.db.Where("entry IN (?)", entry))
|
||||
}
|
||||
|
||||
// EntryLike is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryLike(entry string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry LIKE ?", entry))
|
||||
}
|
||||
|
||||
// EntryLt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryLt(entry string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry < ?", entry))
|
||||
}
|
||||
|
||||
// EntryLte is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryLte(entry string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry <= ?", entry))
|
||||
}
|
||||
|
||||
// EntryNe is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryNe(entry string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry != ?", entry))
|
||||
}
|
||||
|
||||
// EntryNotIn is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryNotIn(entry ...string) MizuEntryQuerySet {
|
||||
if len(entry) == 0 {
|
||||
qs.db.AddError(errors.New("must at least pass one entry in EntryNotIn"))
|
||||
return qs.w(qs.db)
|
||||
}
|
||||
return qs.w(qs.db.Where("entry NOT IN (?)", entry))
|
||||
}
|
||||
|
||||
// EntryNotlike is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) EntryNotlike(entry string) MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Where("entry NOT LIKE ?", entry))
|
||||
}
|
||||
|
||||
// GetDB is an autogenerated method
|
||||
@ -330,10 +417,16 @@ func (qs MizuEntryQuerySet) OrderAscByCreatedAt() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("created_at ASC"))
|
||||
}
|
||||
|
||||
// OrderAscByDeletedAt is an autogenerated method
|
||||
// OrderAscByEntry is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) OrderAscByDeletedAt() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("deleted_at ASC"))
|
||||
func (qs MizuEntryQuerySet) OrderAscByEntry() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("entry ASC"))
|
||||
}
|
||||
|
||||
// OrderAscByEntryId is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) OrderAscByEntryId() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("entry_id ASC"))
|
||||
}
|
||||
|
||||
// OrderAscByID is an autogenerated method
|
||||
@ -384,10 +477,16 @@ func (qs MizuEntryQuerySet) OrderDescByCreatedAt() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("created_at DESC"))
|
||||
}
|
||||
|
||||
// OrderDescByDeletedAt is an autogenerated method
|
||||
// OrderDescByEntry is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) OrderDescByDeletedAt() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("deleted_at DESC"))
|
||||
func (qs MizuEntryQuerySet) OrderDescByEntry() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("entry DESC"))
|
||||
}
|
||||
|
||||
// OrderDescByEntryId is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) OrderDescByEntryId() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("entry_id DESC"))
|
||||
}
|
||||
|
||||
// OrderDescByID is an autogenerated method
|
||||
@ -432,10 +531,10 @@ func (qs MizuEntryQuerySet) OrderDescByUrl() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Order("url DESC"))
|
||||
}
|
||||
|
||||
// PreloadEntry is an autogenerated method
|
||||
// PreloadDeletedAt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (qs MizuEntryQuerySet) PreloadEntry() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Preload("Entry"))
|
||||
func (qs MizuEntryQuerySet) PreloadDeletedAt() MizuEntryQuerySet {
|
||||
return qs.w(qs.db.Preload("DeletedAt"))
|
||||
}
|
||||
|
||||
// ServiceEq is an autogenerated method
|
||||
@ -743,18 +842,25 @@ func (u MizuEntryUpdater) SetCreatedAt(createdAt time.Time) MizuEntryUpdater {
|
||||
|
||||
// SetDeletedAt is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (u MizuEntryUpdater) SetDeletedAt(deletedAt *time.Time) MizuEntryUpdater {
|
||||
func (u MizuEntryUpdater) SetDeletedAt(deletedAt gorm.DeletedAt) MizuEntryUpdater {
|
||||
u.fields[string(MizuEntryDBSchema.DeletedAt)] = deletedAt
|
||||
return u
|
||||
}
|
||||
|
||||
// SetEntry is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (u MizuEntryUpdater) SetEntry(entry har.Entry) MizuEntryUpdater {
|
||||
func (u MizuEntryUpdater) SetEntry(entry string) MizuEntryUpdater {
|
||||
u.fields[string(MizuEntryDBSchema.Entry)] = entry
|
||||
return u
|
||||
}
|
||||
|
||||
// SetEntryId is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (u MizuEntryUpdater) SetEntryId(entryId string) MizuEntryUpdater {
|
||||
u.fields[string(MizuEntryDBSchema.EntryId)] = entryId
|
||||
return u
|
||||
}
|
||||
|
||||
// SetID is an autogenerated method
|
||||
// nolint: dupl
|
||||
func (u MizuEntryUpdater) SetID(ID uint) MizuEntryUpdater {
|
||||
@ -837,6 +943,7 @@ var MizuEntryDBSchema = struct {
|
||||
UpdatedAt MizuEntryDBSchemaField
|
||||
DeletedAt MizuEntryDBSchemaField
|
||||
Entry MizuEntryDBSchemaField
|
||||
EntryId MizuEntryDBSchemaField
|
||||
Url MizuEntryDBSchemaField
|
||||
Method MizuEntryDBSchemaField
|
||||
Status MizuEntryDBSchemaField
|
||||
@ -849,6 +956,7 @@ var MizuEntryDBSchema = struct {
|
||||
UpdatedAt: MizuEntryDBSchemaField("updated_at"),
|
||||
DeletedAt: MizuEntryDBSchemaField("deleted_at"),
|
||||
Entry: MizuEntryDBSchemaField("entry"),
|
||||
EntryId: MizuEntryDBSchemaField("entry_id"),
|
||||
Url: MizuEntryDBSchemaField("url"),
|
||||
Method: MizuEntryDBSchemaField("method"),
|
||||
Status: MizuEntryDBSchemaField("status"),
|
||||
@ -865,6 +973,7 @@ func (o *MizuEntry) Update(db *gorm.DB, fields ...MizuEntryDBSchemaField) error
|
||||
"updated_at": o.UpdatedAt,
|
||||
"deleted_at": o.DeletedAt,
|
||||
"entry": o.Entry,
|
||||
"entry_id": o.EntryId,
|
||||
"url": o.Url,
|
||||
"method": o.Method,
|
||||
"status": o.Status,
|
||||
|
@ -5,17 +5,11 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"github.com/google/martian/har"
|
||||
"github.com/jinzhu/gorm"
|
||||
// "gorm.io/driver/sqlite"
|
||||
_ "github.com/jinzhu/gorm/dialects/sqlite"
|
||||
"gorm.io/driver/sqlite"
|
||||
"gorm.io/gorm"
|
||||
"os"
|
||||
)
|
||||
|
||||
func check(e error) {
|
||||
if e != nil {
|
||||
panic(e)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
FILEPATH := "/Users/roeegadot/Downloads/testing.har"
|
||||
@ -41,24 +35,32 @@ func main() {
|
||||
}
|
||||
|
||||
func getGormDB() *gorm.DB {
|
||||
db, _ := gorm.Open("sqlite", "roee.db")
|
||||
db, _ := gorm.Open(sqlite.Open("gorm.db"), &gorm.Config{})
|
||||
|
||||
migErr := db.AutoMigrate(&MizuEntry{})
|
||||
if migErr != nil {
|
||||
panic("Cannot run migration")
|
||||
}
|
||||
return db
|
||||
}
|
||||
|
||||
func saveHarToDb(entry har.Entry) {
|
||||
entryData := entry
|
||||
a, _ := json.Marshal(entry)
|
||||
mizuEntry := MizuEntry{
|
||||
EntryId: NewObjectID(),
|
||||
Entry: entryData,
|
||||
Url: entryData.Request.URL,
|
||||
Method: entryData.Request.Method,
|
||||
Status: entryData.Response.Status,
|
||||
EntryId: NewObjectID().Hex(),
|
||||
// simple way to store it and not convert to bytes
|
||||
Entry: string(a),
|
||||
Url: (&entry).Request.URL,
|
||||
Method: (&entry).Request.Method,
|
||||
Status: (&entry).Response.Status,
|
||||
Source: "",
|
||||
Service: "MyService",
|
||||
}
|
||||
|
||||
if err := mizuEntry.Create(getGormDB()); err != nil {
|
||||
fmt.Print(err)
|
||||
panic("cannot create")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,8 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/jinzhu/gorm"
|
||||
"github.com/google/martian/har"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
|
||||
@ -10,11 +9,11 @@ import (
|
||||
// gen:qs
|
||||
type MizuEntry struct {
|
||||
gorm.Model
|
||||
// The Entry itself
|
||||
Entry har.Entry `json:"entry,omitempty"`
|
||||
// The Entry itself (as string)
|
||||
Entry string `json:"entry,omitempty"`
|
||||
//TODO: here we will add fields we need to query for
|
||||
|
||||
EntryId ObjectID `json:"entryId"`
|
||||
EntryId string `json:"entryId"`
|
||||
Url string `json:"url"`
|
||||
Method string `json:"method"`
|
||||
Status int `json:"status"`
|
||||
|
Loading…
Reference in New Issue
Block a user