diff options
Diffstat (limited to 'db/local.go')
-rw-r--r-- | db/local.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/db/local.go b/db/local.go new file mode 100644 index 0000000..7cb46d1 --- /dev/null +++ b/db/local.go @@ -0,0 +1,42 @@ +package db + +func IsIDLocal(id string) (bool, error) { + activity, err := GetActivityFromDB(id) + return len(activity.OrderedItems) > 0, err +} + +func IsActorLocal(id string) (bool, error) { + actor, err := GetActorFromDB(id) + return actor.Id != "", err +} + +func IsObjectLocal(id string) (bool, error) { + query := `select id from activitystream where id=$1` + + rows, err := db.Query(query, id) + if err != nil { + return false, err + } + + var nID string + defer rows.Close() + + rows.Next() + err = rows.Scan(&nID) + return nID != "", err +} + +func IsObjectCached(id string) (bool, error) { + query := `select id from cacheactivitystream where id=$1` + rows, err := db.Query(query, id) + if err != nil { + return false, err + } + + var nID string + defer rows.Close() + + rows.Next() + err = rows.Scan(&nID) + return nID != "", err +} |