2023-08-02 00:03:47 +03:00
|
|
|
from models.databases.repository import Repository
|
|
|
|
|
|
|
|
|
|
|
|
class File(Repository):
|
|
|
|
def __init__(self, supabase_client):
|
|
|
|
self.db = supabase_client
|
|
|
|
|
|
|
|
def set_file_vectors_ids(self, file_sha1):
|
|
|
|
response = (
|
|
|
|
self.db.table("vectors")
|
|
|
|
.select("id")
|
|
|
|
.filter("metadata->>file_sha1", "eq", file_sha1)
|
|
|
|
.execute()
|
|
|
|
)
|
|
|
|
return response.data
|
|
|
|
|
|
|
|
def get_brain_vectors_by_brain_id_and_file_sha1(self, brain_id, file_sha1):
|
|
|
|
self.set_file_vectors_ids(file_sha1)
|
|
|
|
# Check if file exists in that brain
|
|
|
|
response = (
|
|
|
|
self.db.table("brains_vectors")
|
|
|
|
.select("brain_id, vector_id")
|
2023-09-14 12:56:59 +03:00
|
|
|
.filter("brain_id", "eq", str(brain_id))
|
2023-08-02 00:03:47 +03:00
|
|
|
.filter("file_sha1", "eq", file_sha1)
|
|
|
|
.execute()
|
|
|
|
)
|
|
|
|
|
|
|
|
return response
|