Skip to content

Commit 9b950ac

Browse files
authored
Merge pull request #105 from ianshulx/main-616
New Update
2 parents a770681 + 28eee11 commit 9b950ac

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+3266
-0
lines changed

django-DiscussionPlatform-App/base/__init__.py

Whitespace-only changes.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from django.contrib import admin
2+
3+
# Register your models here.
4+
5+
from .models import Room,Topic,Message,About,User
6+
7+
admin.site.register(User)
8+
admin.site.register(Room)
9+
admin.site.register(Topic)
10+
admin.site.register(Message)
11+
admin.site.register(About)

django-DiscussionPlatform-App/base/api/__init__.py

Whitespace-only changes.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from rest_framework.serializers import ModelSerializer
2+
from base.models import Room
3+
4+
5+
class RoomSerializer(ModelSerializer):
6+
class Meta:
7+
model = Room
8+
fields = '__all__'
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
from django.urls import path
2+
from . import views
3+
4+
urlpatterns = [
5+
path('',views.getRoutes),
6+
path('rooms/',views.getRooms),
7+
path('rooms/<str:pk>/',views.getRoom),
8+
]
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from rest_framework.decorators import api_view
2+
from rest_framework.response import Response
3+
from base.models import Room
4+
from .serializers import RoomSerializer
5+
6+
@api_view(['GET'])
7+
def getRoutes(request):
8+
routes = [
9+
'GET/ api',
10+
'GET/api/rooms',
11+
'GET/api/rooms/:id'
12+
]
13+
14+
return Response(routes)
15+
16+
@api_view(['GET'])
17+
def getRooms(request):
18+
rooms = Room.objects.all()
19+
serializer = RoomSerializer(rooms,many=True)
20+
return Response(serializer.data)
21+
22+
@api_view(['GET'])
23+
def getRoom(request,pk):
24+
rooms = Room.objects.get(id = pk)
25+
serializer = RoomSerializer(rooms,many=False)
26+
return Response(serializer.data)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class BaseConfig(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'base'
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from django.forms import ModelForm
2+
from .models import Room,About,User
3+
from django.contrib.auth.forms import UserCreationForm
4+
5+
class MyUserCreationForm(UserCreationForm):
6+
class Meta:
7+
model = User
8+
fields = ['name','email','username','password1','password2']
9+
10+
class RoomForm(ModelForm):
11+
class Meta:
12+
model = Room
13+
fields = '__all__'
14+
exclude = ['host','participants']
15+
16+
class UserForm(ModelForm):
17+
class Meta:
18+
model = User
19+
fields = ['avatar','name','username','email']
20+
21+
class AboutForm(ModelForm):
22+
class Meta:
23+
model = About
24+
fields = ['about']
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Generated by Django 5.1.4 on 2025-01-07 10:30
2+
3+
import django.contrib.auth.models
4+
import django.contrib.auth.validators
5+
import django.db.models.deletion
6+
import django.utils.timezone
7+
from django.conf import settings
8+
from django.db import migrations, models
9+
10+
11+
class Migration(migrations.Migration):
12+
13+
initial = True
14+
15+
dependencies = [
16+
('auth', '0012_alter_user_first_name_max_length'),
17+
]
18+
19+
operations = [
20+
migrations.CreateModel(
21+
name='Topic',
22+
fields=[
23+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
24+
('name', models.CharField(max_length=200)),
25+
],
26+
),
27+
migrations.CreateModel(
28+
name='User',
29+
fields=[
30+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
31+
('password', models.CharField(max_length=128, verbose_name='password')),
32+
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
33+
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
34+
('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
35+
('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
36+
('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
37+
('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
38+
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
39+
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
40+
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
41+
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
42+
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
43+
],
44+
options={
45+
'verbose_name': 'user',
46+
'verbose_name_plural': 'users',
47+
'abstract': False,
48+
},
49+
managers=[
50+
('objects', django.contrib.auth.models.UserManager()),
51+
],
52+
),
53+
migrations.CreateModel(
54+
name='About',
55+
fields=[
56+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
57+
('about', models.TextField()),
58+
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
59+
],
60+
),
61+
migrations.CreateModel(
62+
name='Room',
63+
fields=[
64+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
65+
('name', models.CharField(max_length=200)),
66+
('description', models.TextField(blank=True, null=True)),
67+
('updated', models.DateTimeField(auto_now=True)),
68+
('created', models.DateTimeField(auto_now_add=True)),
69+
('host', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
70+
('participants', models.ManyToManyField(blank=True, related_name='participants', to=settings.AUTH_USER_MODEL)),
71+
('topic', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='base.topic')),
72+
],
73+
options={
74+
'ordering': ['-updated', '-created'],
75+
},
76+
),
77+
migrations.CreateModel(
78+
name='Message',
79+
fields=[
80+
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
81+
('body', models.TextField()),
82+
('updated', models.DateTimeField(auto_now=True)),
83+
('created', models.DateTimeField(auto_now_add=True)),
84+
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
85+
('room', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.room')),
86+
],
87+
options={
88+
'ordering': ['-updated', '-created'],
89+
},
90+
),
91+
]
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Generated by Django 5.1.4 on 2025-01-07 10:35
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
('base', '0001_initial'),
10+
]
11+
12+
operations = [
13+
migrations.AddField(
14+
model_name='user',
15+
name='bio',
16+
field=models.TextField(null=True),
17+
),
18+
migrations.AddField(
19+
model_name='user',
20+
name='name',
21+
field=models.CharField(max_length=200, null=True),
22+
),
23+
migrations.AlterField(
24+
model_name='user',
25+
name='email',
26+
field=models.EmailField(max_length=254, null=True, unique=True),
27+
),
28+
]

0 commit comments

Comments
 (0)