mirror of
https://github.com/enpaul/kodak.git
synced 2025-09-18 21:21:59 +00:00
Add initial database schema and infrastructure components
This commit is contained in:
30
imagemonk/database/image.py
Normal file
30
imagemonk/database/image.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import json
|
||||
import uuid
|
||||
from typing import List
|
||||
|
||||
import peewee
|
||||
|
||||
from imagemonk.database._shared import ImageMonkModel
|
||||
|
||||
|
||||
class ImageRecord(ImageMonkModel):
|
||||
"""Database record for"""
|
||||
|
||||
width = peewee.IntegerField(null=False)
|
||||
height = peewee.IntegerField(null=False)
|
||||
format = peewee.CharField(null=False)
|
||||
deleted = peewee.BooleanField(null=False, default=False)
|
||||
public = peewee.BooleanField(null=False, default=False)
|
||||
owner = peewee.UUIDField(null=False)
|
||||
sha256 = peewee.CharField(null=False)
|
||||
_readable = peewee.CharField(null=False, default="[]")
|
||||
|
||||
@property
|
||||
def readable(self) -> List[uuid.UUID]:
|
||||
"""List of UUIDs corresponding to accounts that can read the file"""
|
||||
return [uuid.UUID(item) for item in json.loads(self._readable)]
|
||||
|
||||
@readable.setter
|
||||
def readable(self, value: List[uuid.UUID]):
|
||||
"""Update the list of UUIDs for accounts that can read the file"""
|
||||
self._readable = json.dumps([str(item) for item in value])
|
Reference in New Issue
Block a user