Skip to content

Commit 15b7819

Browse files
authored
Merge pull request #3 from akirachix/feature/interviewConversations
interviewConversation model and endpoint
2 parents af3dcda + cfbcff3 commit 15b7819

File tree

13 files changed

+110
-7
lines changed

13 files changed

+110
-7
lines changed

api/serializers.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
11
from rest_framework import serializers
2+
from interviewConversation.models import InterviewConversation
23
from job.models import Job
34
from candidate.models import Candidate
45

56

7+
class InterviewConversationSerializer(serializers.ModelSerializer):
8+
class Meta:
9+
model = InterviewConversation
10+
fields = '__all__'
11+
12+
613
class JobSerializer(serializers.ModelSerializer):
714
class Meta:
815
model = Job

api/tests.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
from django.test import TestCase
2+
3+
# Create your tests here.
14
from django.urls import reverse
25
from rest_framework import status
36
from rest_framework.test import APITestCase

api/urls.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
from django.urls import path, include
21
from rest_framework.routers import DefaultRouter
3-
from .views import JobViewSet, CandidateViewSet
2+
from .views import InterviewConversationViewSet, JobViewSet, CandidateViewSet
3+
from django.urls import path,include
44

55
router = DefaultRouter()
6-
# router.register(r'companies', CompanyViewSet)
6+
router.register(r'interview_conversations', InterviewConversationViewSet)
77
router.register(r'jobs', JobViewSet)
88
router.register(r'candidates', CandidateViewSet)
99

10+
1011
urlpatterns = [
11-
path('', include(router.urls)),
12-
]
12+
path('', include(router.urls))
13+
]

api/views.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,14 @@
1+
from django.shortcuts import render
2+
13
from rest_framework import viewsets
4+
from interviewConversation.models import InterviewConversation
25
from job.models import Job
36
from candidate.models import Candidate
4-
from .serializers import JobSerializer, CandidateSerializer
7+
from .serializers import InterviewConversationSerializer, JobSerializer, CandidateSerializer
8+
9+
class InterviewConversationViewSet(viewsets.ModelViewSet):
10+
queryset = InterviewConversation.objects.all()
11+
serializer_class = InterviewConversationSerializer
512

613
class JobViewSet(viewsets.ModelViewSet):
714
queryset = Job.objects.all()

interviewConversation/__init__.py

Whitespace-only changes.

interviewConversation/admin.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from django.contrib import admin
2+
from .models import InterviewConversation
3+
4+
admin.site.register(InterviewConversation)
5+

interviewConversation/apps.py

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 InterviewconversationConfig(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'interviewConversation'
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Generated by Django 5.2.6 on 2025-09-10 08:44
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
initial = True
9+
10+
dependencies = [
11+
]
12+
13+
operations = [
14+
migrations.CreateModel(
15+
name='InterviewConversation',
16+
fields=[
17+
('conversation_id', models.AutoField(primary_key=True, serialize=False)),
18+
('question_text', models.TextField()),
19+
('expected_answer', models.TextField(blank=True, null=True)),
20+
('candidate_answer', models.TextField(blank=True, null=True)),
21+
('transcript_time', models.DateTimeField(blank=True, null=True)),
22+
('created_at', models.DateTimeField(auto_now_add=True)),
23+
('updated_at', models.DateTimeField(auto_now=True)),
24+
],
25+
),
26+
]

interviewConversation/migrations/__init__.py

Whitespace-only changes.

interviewConversation/models.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from django.db import models
2+
import time
3+
4+
class InterviewConversation(models.Model):
5+
conversation_id = models.AutoField(primary_key=True)
6+
# interview = models.ForeignKey('Interview', on_delete=models.CASCADE)
7+
question_text = models.TextField()
8+
expected_answer = models.TextField(null=True, blank=True)
9+
candidate_answer = models.TextField(null=True, blank=True)
10+
transcript_time = models.DateTimeField(null=True, blank=True)
11+
created_at = models.DateTimeField(auto_now_add=True)
12+
updated_at = models.DateTimeField(auto_now=True)
13+
14+
def __str__(self):
15+
return f"Conversation {self.conversation_id}"
16+
17+

0 commit comments

Comments
 (0)