You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.4 KiB
Python

from django.db import models
from osinacore.models import *
# Create your models here.
class ChatRoom(models.Model):
name = models.CharField(max_length=50)
created_by = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
date_created = models.DateTimeField()
class ChatMember(models.Model):
member = models.ForeignKey(User, on_delete=models.CASCADE)
room = models.ForeignKey(ChatRoom, on_delete=models.CASCADE)
date_joined = models.DateTimeField()
class ChatProject(models.Model):
room = models.OneToOneField(ChatRoom, on_delete=models.CASCADE)
project = models.ForeignKey(Project, on_delete=models.CASCADE)
public = models.BooleanField()
class ChatMessage(models.Model):
member = models.ForeignKey(User, null=True, on_delete=models.SET_NULL)
content = models.TimeField(null=True, blank=True)
date_sent = models.DateTimeField()
class ChatMessageAttachment(models.Model):
message = models.ForeignKey(ChatMessage, on_delete=models.CASCADE)
attachment = models.TextField()
class ChatMessageReaction(models.Model):
message = models.ForeignKey(ChatMessage, on_delete=models.CASCADE)
member = models.ForeignKey(User, on_delete=models.CASCADE)
reaction = models.CharField(max_length=200)
class ChatMessageSeen(models.Model):
message = models.ForeignKey(ChatMessage, on_delete=models.CASCADE)
member = models.ForeignKey(User, on_delete=models.CASCADE)