lab_subrosa/server/app/models.py

30 lines
693 B
Python

from banjo.models import (
Model,
StringField,
ForeignKey,
BooleanField,
)
class User(Model):
name = StringField(unique=True)
public_key = StringField()
def to_dict(self):
return {
'name': self.name,
'public_key': self.public_key,
}
class Message(Model):
sender = ForeignKey(User, related_name="messages_sent")
recipient = ForeignKey(User, related_name="messages_received")
ciphertext = StringField()
read = BooleanField()
def to_dict(self):
return {
'sender': self.sender.name,
'recipient': self.recipient.name,
'ciphertext': self.ciphertext,
}