diff options
author | KushBlazingJudah <59340248+KushBlazingJudah@users.noreply.github.com> | 2021-11-02 14:55:59 -0300 |
---|---|---|
committer | FChannel <> | 2022-06-19 12:53:29 -0700 |
commit | 36a41e03c59624a2b4a7eb174e9a003e288a1d7d (patch) | |
tree | 149c72f53b4fe41308ebc1624ed46037760254e0 /cacheDatabase.go | |
parent | fbf9732a7a7a599fdc35b7e9e2072d32d2ea9d33 (diff) |
restructuring, part 4 of many
Diffstat (limited to 'cacheDatabase.go')
-rw-r--r-- | cacheDatabase.go | 314 |
1 files changed, 0 insertions, 314 deletions
diff --git a/cacheDatabase.go b/cacheDatabase.go deleted file mode 100644 index b50065f..0000000 --- a/cacheDatabase.go +++ /dev/null @@ -1,314 +0,0 @@ -package main - -import ( - "database/sql" - "fmt" - - _ "github.com/lib/pq" -) - -func WriteObjectToCache(db *sql.DB, obj ObjectBase) ObjectBase { - - if IsPostBlacklist(db, obj.Content) { - fmt.Println("\n\nBlacklist post blocked\n\n") - return obj - } - - if len(obj.Attachment) > 0 { - if obj.Preview.Href != "" { - WritePreviewToCache(db, *obj.Preview) - } - - for i, _ := range obj.Attachment { - WriteAttachmentToCache(db, obj.Attachment[i]) - WriteActivitytoCacheWithAttachment(db, obj, obj.Attachment[i], *obj.Preview) - } - - } else { - WriteActivitytoCache(db, obj) - } - - WriteObjectReplyToDB(db, obj) - - if obj.Replies != nil { - for _, e := range obj.Replies.OrderedItems { - WriteObjectToCache(db, e) - } - } - - return obj -} - -func WriteActorObjectToCache(db *sql.DB, obj ObjectBase) ObjectBase { - - if IsPostBlacklist(db, obj.Content) { - return obj - } - - if len(obj.Attachment) > 0 { - - if IsIDLocal(db, obj.Id) { - return obj - } - if obj.Preview.Href != "" { - WritePreviewToCache(db, *obj.Preview) - } - - for i, _ := range obj.Attachment { - WriteAttachmentToCache(db, obj.Attachment[i]) - WriteActivitytoCacheWithAttachment(db, obj, obj.Attachment[i], *obj.Preview) - } - - } else { - WriteActivitytoCache(db, obj) - } - - WriteActorObjectReplyToDB(db, obj) - - if obj.Replies != nil { - for _, e := range obj.Replies.OrderedItems { - WriteActorObjectToCache(db, e) - } - } - - return obj -} - -func WriteActivitytoCache(db *sql.DB, obj ObjectBase) { - - obj.Name = EscapeString(obj.Name) - obj.Content = EscapeString(obj.Content) - obj.AttributedTo = EscapeString(obj.AttributedTo) - - query := `select id from cacheactivitystream where id=$1` - - rows, err := db.Query(query, obj.Id) - - CheckError(err, "error selecting obj id from cache") - - var id string - defer rows.Close() - rows.Next() - rows.Scan(&id) - - if id != "" { - return - } - - if obj.Updated.IsZero() { - obj.Updated = obj.Published - } - - query = `insert into cacheactivitystream (id, type, name, content, published, updated, attributedto, actor, tripcode, sensitive) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)` - - _, e := db.Exec(query, obj.Id, obj.Type, obj.Name, obj.Content, obj.Published, obj.Updated, obj.AttributedTo, obj.Actor, obj.TripCode, obj.Sensitive) - - if e != nil { - fmt.Println("error inserting new activity cache") - panic(e) - } -} - -func WriteActivitytoCacheWithAttachment(db *sql.DB, obj ObjectBase, attachment ObjectBase, preview NestedObjectBase) { - - obj.Name = EscapeString(obj.Name) - obj.Content = EscapeString(obj.Content) - obj.AttributedTo = EscapeString(obj.AttributedTo) - - query := `select id from cacheactivitystream where id=$1` - - rows, err := db.Query(query, obj.Id) - - CheckError(err, "error selecting activity with attachment obj id cache") - - var id string - defer rows.Close() - rows.Next() - rows.Scan(&id) - - if id != "" { - return - } - - if obj.Updated.IsZero() { - obj.Updated = obj.Published - } - - query = `insert into cacheactivitystream (id, type, name, content, attachment, preview, published, updated, attributedto, actor, tripcode, sensitive) values ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)` - - _, e := db.Exec(query, obj.Id, obj.Type, obj.Name, obj.Content, attachment.Id, preview.Id, obj.Published, obj.Updated, obj.AttributedTo, obj.Actor, obj.TripCode, obj.Sensitive) - - if e != nil { - fmt.Println("error inserting new activity with attachment cache") - panic(e) - } -} - -func WriteAttachmentToCache(db *sql.DB, obj ObjectBase) { - - query := `select id from cacheactivitystream where id=$1` - - rows, err := db.Query(query, obj.Id) - - CheckError(err, "error selecting attachment obj id cache") - - var id string - defer rows.Close() - rows.Next() - rows.Scan(&id) - - if id != "" { - return - } - - if obj.Updated.IsZero() { - obj.Updated = obj.Published - } - - query = `insert into cacheactivitystream (id, type, name, href, published, updated, attributedTo, mediatype, size) values ($1, $2, $3, $4, $5, $6, $7, $8, $9)` - - _, e := db.Exec(query, obj.Id, obj.Type, obj.Name, obj.Href, obj.Published, obj.Updated, obj.AttributedTo, obj.MediaType, obj.Size) - - if e != nil { - fmt.Println("error inserting new attachment cache") - panic(e) - } -} - -func WritePreviewToCache(db *sql.DB, obj NestedObjectBase) { - - query := `select id from cacheactivitystream where id=$1` - - rows, err := db.Query(query, obj.Id) - - CheckError(err, "error selecting preview obj id cache") - - var id string - defer rows.Close() - rows.Next() - rows.Scan(&id) - - if id != "" { - return - } - - if obj.Updated.IsZero() { - obj.Updated = obj.Published - } - - query = `insert into cacheactivitystream (id, type, name, href, published, updated, attributedTo, mediatype, size) values ($1, $2, $3, $4, $5, $6, $7, $8, $9)` - - _, e := db.Exec(query, obj.Id, obj.Type, obj.Name, obj.Href, obj.Published, obj.Updated, obj.AttributedTo, obj.MediaType, obj.Size) - - if e != nil { - fmt.Println("error inserting new preview cache") - panic(e) - } -} - -func WriteObjectReplyToCache(db *sql.DB, obj ObjectBase) { - - for i, e := range obj.InReplyTo { - if i == 0 || IsReplyInThread(db, obj.InReplyTo[0].Id, e.Id) { - - query := `select id from replies where id=$1` - - rows, err := db.Query(query, obj.Id) - - CheckError(err, "error selecting obj id cache reply") - - var id string - defer rows.Close() - rows.Next() - rows.Scan(&id) - - if id != "" { - return - } - - query = `insert into cachereplies (id, inreplyto) values ($1, $2)` - - _, err = db.Exec(query, obj.Id, e.Id) - - if err != nil { - fmt.Println("error inserting replies cache") - panic(err) - } - } - } - - if len(obj.InReplyTo) < 1 { - query := `insert into cachereplies (id, inreplyto) values ($1, $2)` - - _, err := db.Exec(query, obj.Id, "") - - if err != nil { - fmt.Println("error inserting replies cache") - panic(err) - } - } -} - -func WriteObjectReplyCache(db *sql.DB, obj ObjectBase) { - - if obj.Replies != nil { - for _, e := range obj.Replies.OrderedItems { - - query := `select inreplyto from cachereplies where id=$1` - - rows, err := db.Query(query, obj.Id) - - CheckError(err, "error selecting obj id cache reply") - - var inreplyto string - defer rows.Close() - rows.Next() - rows.Scan(&inreplyto) - - if inreplyto != "" { - return - } - - query = `insert into cachereplies (id, inreplyto) values ($1, $2)` - - _, err = db.Exec(query, e.Id, obj.Id) - - if err != nil { - fmt.Println("error inserting replies cache") - panic(err) - } - - if !IsObjectLocal(db, e.Id) { - WriteObjectToCache(db, e) - } - - } - return - } -} - -func WriteActorToCache(db *sql.DB, actorID string) { - actor := FingerActor(actorID) - collection := GetActorCollection(actor.Outbox) - - for _, e := range collection.OrderedItems { - WriteActorObjectToCache(db, e) - } -} - -func DeleteActorCache(db *sql.DB, actorID string) { - query := `select id from cacheactivitystream where id in (select id from cacheactivitystream where actor=$1)` - - rows, err := db.Query(query, actorID) - - CheckError(err, "error selecting actors activity from cache") - - defer rows.Close() - - for rows.Next() { - var id string - rows.Scan(&id) - - DeleteObject(db, id) - } -} |