Commit 162dc9de authored by Roee Gadot's avatar Roee Gadot
Browse files

no message

parent 4ecccba4
Showing with 176 additions and 66 deletions
+176 -66
......@@ -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
)
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) EntryEq(entry string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry = ?", entry))
}
// EntryGt is an autogenerated method
// nolint: dupl
func (qs MizuEntryQuerySet) EntryGt(entry string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry > ?", entry))
}
// EntryGte is an autogenerated method
// nolint: dupl
func (qs MizuEntryQuerySet) EntryGte(entry string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry >= ?", entry))
}
// EntryIdEq is an autogenerated method
// nolint: dupl
func (qs MizuEntryQuerySet) EntryIdEq(entryId string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry_id = ?", entryId))
}
// EntryIdGt is an autogenerated method
// nolint: dupl
func (qs MizuEntryQuerySet) EntryIdGt(entryId string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry_id > ?", entryId))
}
// EntryIdGte is an autogenerated method
// nolint: dupl
func (qs MizuEntryQuerySet) EntryIdGte(entryId string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry_id >= ?", entryId))
}
// EntryIdIn is an autogenerated method
// nolint: dupl
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))
}
// EntryIdLike 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) EntryIdLike(entryId string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry_id LIKE ?", entryId))
}
// DeletedAtGt is an autogenerated method
// EntryIdLt 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) EntryIdLt(entryId string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry_id < ?", entryId))
}
// DeletedAtGte is an autogenerated method
// EntryIdLte 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) EntryIdLte(entryId string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry_id <= ?", entryId))
}
// DeletedAtIsNotNull is an autogenerated method
// EntryIdNe 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) EntryIdNe(entryId string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry_id != ?", entryId))
}
// DeletedAtIsNull is an autogenerated method
// EntryIdNotIn is an autogenerated method
// nolint: dupl
func (qs MizuEntryQuerySet) DeletedAtIsNull() MizuEntryQuerySet {
return qs.w(qs.db.Where("deleted_at IS NULL"))
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))
}
// DeletedAtLt is an autogenerated method
// EntryIdNotlike 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) EntryIdNotlike(entryId string) MizuEntryQuerySet {
return qs.w(qs.db.Where("entry_id NOT LIKE ?", entryId))
}
// DeletedAtLte is an autogenerated method
// EntryIn 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) 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))
}
// DeletedAtNe is an autogenerated method
// EntryLike 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) 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")
}
}
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"`
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment