From 162dc9de7f7ebc00409436704844e38b5cbe146c Mon Sep 17 00:00:00 2001 From: Roee Gadot Date: Thu, 22 Apr 2021 20:11:22 +0300 Subject: [PATCH] no message --- tap/go.mod | 3 +- tap/go.sum | 5 +- tap/src/autogenerated_mizuEntry.go | 193 ++++++++++++++++++++++------- tap/src/main.go | 32 ++--- tap/src/mizuEntry.go | 9 +- 5 files changed, 176 insertions(+), 66 deletions(-) diff --git a/tap/go.mod b/tap/go.mod index 57e1d25ed..926109c0d 100644 --- a/tap/go.mod +++ b/tap/go.mod @@ -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 ) diff --git a/tap/go.sum b/tap/go.sum index 94e118e2a..6e4cfdd22 100644 --- a/tap/go.sum +++ b/tap/go.sum @@ -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= diff --git a/tap/src/autogenerated_mizuEntry.go b/tap/src/autogenerated_mizuEntry.go index 850a6c6bc..31ef7ed40 100644 --- a/tap/src/autogenerated_mizuEntry.go +++ b/tap/src/autogenerated_mizuEntry.go @@ -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, diff --git a/tap/src/main.go b/tap/src/main.go index c4668388f..eaa6bb59d 100644 --- a/tap/src/main.go +++ b/tap/src/main.go @@ -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") } } + diff --git a/tap/src/mizuEntry.go b/tap/src/mizuEntry.go index ed6189a68..ae5b7130b 100644 --- a/tap/src/mizuEntry.go +++ b/tap/src/mizuEntry.go @@ -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"`