Skip to content

Commit

Permalink
feat: created webchat and model and serializer
Browse files Browse the repository at this point in the history
  • Loading branch information
itz-Amethyst committed Jan 2, 2024
1 parent 0ee662a commit a5fa08d
Show file tree
Hide file tree
Showing 7 changed files with 100 additions and 0 deletions.
Empty file added PixelChat/webchat/__init__.py
Empty file.
6 changes: 6 additions & 0 deletions PixelChat/webchat/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.contrib import admin

from .models import Conversation , Message

admin.site.register(Conversation)
admin.site.register(Message)
6 changes: 6 additions & 0 deletions PixelChat/webchat/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.apps import AppConfig


class WebchatConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "webchat"
63 changes: 63 additions & 0 deletions PixelChat/webchat/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Generated by Django 5.0 on 2024-01-02 17:52

import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):
initial = True

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]

operations = [
migrations.CreateModel(
name="Conversation",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("channel_id", models.CharField(max_length=255)),
("created_at", models.DateTimeField(auto_now_add=True)),
],
),
migrations.CreateModel(
name="Message",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("content", models.TextField()),
("timestamp", models.DateTimeField(auto_now_add=True)),
(
"conversation",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="message",
to="webchat.conversation",
),
),
(
"sender",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to=settings.AUTH_USER_MODEL,
),
),
],
),
]
Empty file.
16 changes: 16 additions & 0 deletions PixelChat/webchat/schemas.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
from drf_spectacular.utils import extend_schema, OpenApiParameter
from drf_spectacular.types import OpenApiTypes

from webchat.serializers import MessageSerializer

list_message_docs = extend_schema(
responses = MessageSerializer(many = True),
parameters = [
OpenApiParameter(
name = "channel_id",
location = OpenApiParameter.QUERY,
type = OpenApiTypes.STR,
description = "ID of channel"
)
]
)
9 changes: 9 additions & 0 deletions PixelChat/webchat/serializers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from rest_framework import serializers
from .models import Message

class MessageSerializer(serializers.ModelSerializer):
sender = serializers.StringRelatedField()

class Meta:
model = Message
fields = ["id", "sender", "content", "timestamp"]

0 comments on commit a5fa08d

Please sign in to comment.