diff --git a/CDC_Backend/APIs/admin.py b/CDC_Backend/APIs/admin.py index e2a87c3..ab52c34 100644 --- a/CDC_Backend/APIs/admin.py +++ b/CDC_Backend/APIs/admin.py @@ -1,4 +1,5 @@ from django.contrib import admin +from simple_history.admin import SimpleHistoryAdmin from django.contrib.admin.templatetags.admin_urls import admin_urlname from django.shortcuts import resolve_url from django.utils.html import format_html @@ -6,8 +7,8 @@ from django.utils.safestring import SafeText from .models import * -admin.site.register(User) -admin.site.register(Admin) +admin.site.register(User, SimpleHistoryAdmin) +admin.site.register(Admin, SimpleHistoryAdmin) admin.site.site_header = "CDC Recruitment Portal" @@ -18,7 +19,7 @@ def model_admin_url(obj, name=None) -> str: @admin.register(Student) -class Student(admin.ModelAdmin): +class Student(SimpleHistoryAdmin): list_display = ("roll_no", "name", "batch", "branch", "phone_number", 'can_apply') search_fields = ("roll_no", "name", "phone_number") ordering = ("roll_no", "name", "batch", "branch", "phone_number") @@ -37,7 +38,7 @@ class Student(admin.ModelAdmin): @admin.register(Placement) -class Placement(admin.ModelAdmin): +class Placement(SimpleHistoryAdmin): list_display = (COMPANY_NAME, CONTACT_PERSON_NAME, PHONE_NUMBER, 'tier', 'compensation_CTC') search_fields = (COMPANY_NAME, CONTACT_PERSON_NAME) ordering = (COMPANY_NAME, CONTACT_PERSON_NAME, 'tier', 'compensation_CTC') @@ -45,7 +46,7 @@ class Placement(admin.ModelAdmin): @admin.register(PlacementApplication) -class PlacementApplication(admin.ModelAdmin): +class PlacementApplication(SimpleHistoryAdmin): list_display = ('id', 'Placement', 'Student', 'selected') search_fields = ('id',) ordering = ('id',) @@ -59,7 +60,7 @@ class PlacementApplication(admin.ModelAdmin): @admin.register(PrePlacementOffer) -class PrePlacementOffer(admin.ModelAdmin): +class PrePlacementOffer(SimpleHistoryAdmin): list_display = ('company', 'Student', 'accepted') search_fields = ('company',) ordering = ('company',) diff --git a/CDC_Backend/APIs/adminUrls.py b/CDC_Backend/APIs/adminUrls.py index 90d9c71..587c1bb 100644 --- a/CDC_Backend/APIs/adminUrls.py +++ b/CDC_Backend/APIs/adminUrls.py @@ -8,7 +8,8 @@ urlpatterns = [ path('updateDeadline/', adminViews.updateDeadline, name="Update Deadline"), path('updateOfferAccepted/', adminViews.updateOfferAccepted, name="Update Offer Accepted"), path('updateEmailVerified', adminViews.updateEmailVerified, name="Update Email Verified"), - path('updateAdditionalInfo/', adminViews.updateAdditionalInfo, name="Update Additional Info"), + path('deleteAdditionalInfo/', adminViews.deleteAdditionalInfo, name="Delete Additional Info"), + path('addAdditionalInfo/', adminViews.addAdditionalInfo, name="Add Additional Info"), path('getApplications/', adminViews.getApplications, name="Get Applications"), path("submitApplication/", adminViews.submitApplication, name="Submit Application"), path('generateCSV/', adminViews.generateCSV, name="Generate CSV"), diff --git a/CDC_Backend/APIs/adminViews.py b/CDC_Backend/APIs/adminViews.py index e2c85be..99e01d4 100644 --- a/CDC_Backend/APIs/adminViews.py +++ b/CDC_Backend/APIs/adminViews.py @@ -39,6 +39,7 @@ def markStatus(request, id, email, user_type): sendEmail(email, subject, data, STUDENT_APPLICATION_STATUS_SELECTED_TEMPLATE) else: sendEmail(email, subject, data, STUDENT_APPLICATION_STATUS_NOT_SELECTED_TEMPLATE) + application.chaged_by = get_object_or_404(User, id=id) application.save() else: raise ValueError("Student - " + i[STUDENT_ID] + " didn't apply for this opening") @@ -89,6 +90,7 @@ def updateDeadline(request, id, email, user_type): opening = get_object_or_404(Placement, pk=data[OPENING_ID]) # Updating deadline date with correct format in datetime field opening.deadline_datetime = datetime.datetime.strptime(data[DEADLINE_DATETIME], '%Y-%m-%d %H:%M:%S %z') + opening.changed_by = get_object_or_404(User, id=id) opening.save() return Response({'action': "Update Deadline", 'message': "Deadline Updated"}, status=status.HTTP_200_OK) @@ -111,6 +113,7 @@ def updateOfferAccepted(request, id, email, user_type): opening = get_object_or_404(Placement, pk=data[OPENING_ID]) opening.offer_accepted = True if data[OFFER_ACCEPTED] == True else False print(opening.offer_accepted) + opening.changed_by = get_object_or_404(User, id=id) opening.save() return Response({'action': "Update Offer Accepted", 'message': "Offer Accepted Updated"}, status=status.HTTP_200_OK) @@ -131,6 +134,7 @@ def updateEmailVerified(request, id, email, user_type): data = request.data opening = get_object_or_404(Placement, pk=data[OPENING_ID]) opening.email_verified = True if data[EMAIL_VERIFIED] == "true" else False + opening.changed_by = get_object_or_404(User, id=id) opening.save() return Response({'action': "Update Email Verified", 'message': "Email Verified Updated"}, status=status.HTTP_200_OK) @@ -145,32 +149,58 @@ def updateEmailVerified(request, id, email, user_type): @api_view(['POST']) @isAuthorized([ADMIN]) -@precheck([OPENING_ID, ADDITIONAL_INFO]) -def updateAdditionalInfo(request, id, email, user_type): +@precheck([OPENING_ID, FIELD]) +def deleteAdditionalInfo(request, id, email, user_type): try: data = request.data opening = get_object_or_404(Placement, pk=data[OPENING_ID]) - if data[ADDITIONAL_INFO] == "": - opening.additional_info = [] - elif isinstance(data[ADDITIONAL_INFO], list): - opening.additional_info = data[ADDITIONAL_INFO] + if data[FIELD] in opening.additional_info: + opening.additional_info.remove(data[FIELD]) + opening.changed_by = get_object_or_404(User, id=id) + opening.save() + return Response({'action': "Delete Additional Info", 'message': "Additional Info Deleted"}, + status=status.HTTP_200_OK) else: - raise ValueError("Additional Info must be a list") - opening.save() - return Response({'action': "Update Additional Info", 'message': "Additional Info Updated"}, - status=status.HTTP_200_OK) + raise ValueError("Additional Info Not Found") except Http404: - return Response({'action': "Update Additional Info", 'message': 'Opening Not Found'}, + return Response({'action': "Delete Additional Info", 'message': 'Opening Not Found'}, status=status.HTTP_404_NOT_FOUND) except ValueError: - return Response({'action': "Update Additional Info", 'message': "Additional Info must be a list"}, + return Response({'action': "Delete Additional Info", 'message': "Additional Info not found"}, + status=status.HTTP_404_NOT_FOUND) + except Exception as e: + logger.warning("Delete Additional Info: " + str(e)) + return Response({'action': "Delete Additional Info", 'message': "Something went wrong"}, + status=status.HTTP_400_BAD_REQUEST) + +@api_view(['POST']) +@isAuthorized([ADMIN]) +@precheck([OPENING_ID, FIELD]) +def addAdditionalInfo(request, id, email, user_type): + try: + data = request.data + opening = get_object_or_404(Placement, pk=data[OPENING_ID]) + if data[FIELD] not in opening.additional_info: + opening.additional_info.append(data[FIELD]) + opening.save() + return Response({'action': "Add Additional Info", 'message': "Additional Info Added"}, + status=status.HTTP_200_OK) + else: + raise ValueError("Additional Info Found") + + except Http404: + return Response({'action': "Add Additional Info", 'message': 'Opening Not Found'}, + status=status.HTTP_404_NOT_FOUND) + except ValueError: + return Response({'action': "Add Additional Info", 'message': "Additional Info already found"}, status=status.HTTP_400_BAD_REQUEST) except Exception as e: - logger.warning("Update Additional Info: " + str(e)) - return Response({'action': "Update Additional Info", 'message': "Something went wrong"}, + logger.warning("Add Additional Info: " + str(e)) + return Response({'action': "Add Additional Info", 'message': "Something went wrong"}, status=status.HTTP_400_BAD_REQUEST) + @api_view(['GET']) @isAuthorized([ADMIN]) @precheck([OPENING_ID]) @@ -223,6 +253,7 @@ def submitApplication(request, id, email, user_type): "application_type": "Placement", "additional_info": dict(json.loads(application.additional_info)), } + application.changed_by = get_object_or_404(User, id=id) application.save() sendEmail(user.email, STUDENT_APPLICATION_SUBMITTED_TEMPLATE_SUBJECT, data, STUDENT_APPLICATION_SUBMITTED_TEMPLATE) return Response({'action': "Add Student Application", 'message': "Application added"}, @@ -249,6 +280,7 @@ def submitApplication(request, id, email, user_type): "application_type": "Placement", "additional_info": dict(json.loads(application.additional_info)), } + application.changed_by = get_object_or_404(User, id=id) application.save() sendEmail(user.email, STUDENT_APPLICATION_UPDATED_TEMPLATE_SUBJECT, data, STUDENT_APPLICATION_UPDATED_TEMPLATE) return Response({'action': "Add Student Application", 'message': "Application updated"}, @@ -340,6 +372,7 @@ def addPPO(request, id, email, user_type): PPO.tier = data[TIER] if COMPENSATION_DETAILS in data: PPO.compensation_details = data[COMPENSATION_DETAILS] + PPO.changed_by = get_object_or_404(User, id=id) PPO.save() return Response({'action': "Add PPO", 'message': "PPO added"}, status=status.HTTP_200_OK) diff --git a/CDC_Backend/APIs/constants.py b/CDC_Backend/APIs/constants.py index d4af488..359d283 100644 --- a/CDC_Backend/APIs/constants.py +++ b/CDC_Backend/APIs/constants.py @@ -70,6 +70,7 @@ RESUME_FILE_NAME = 'resume_file_name' APPLICATION_ID = "application_id" OPENING_ID = "opening_id" ADDITIONAL_INFO = "additional_info" +FIELD = "field" STATUS_ACCEPTING_APPLICATIONS = "Accepting Applications" diff --git a/CDC_Backend/APIs/models.py b/CDC_Backend/APIs/models.py index 2aaa1b3..a5c1576 100644 --- a/CDC_Backend/APIs/models.py +++ b/CDC_Backend/APIs/models.py @@ -1,6 +1,7 @@ from django.contrib.postgres.fields import ArrayField from django.db import models from django.utils import timezone +from simple_history.models import HistoricalRecords from .constants import * @@ -13,6 +14,7 @@ class User(models.Model): id = models.CharField(blank=False, max_length=25, index=True, unique=True) user_type = ArrayField(models.CharField(blank=False, max_length=10), size=4, default=list, blank=False) last_login_time = models.DateTimeField(default=timezone.now) + history = HistoricalRecords() class Meta: verbose_name_plural = "User" @@ -30,14 +32,41 @@ class Student(models.Model): default=list, blank=True) cpi = models.DecimalField(decimal_places=2, max_digits=4) can_apply = models.BooleanField(default=True, verbose_name='Registered') + changed_by = models.ForeignKey(User, blank=True, on_delete=models.RESTRICT, default=None, null=True) + history = HistoricalRecords(user_model=User) def __str__(self): return str(self.roll_no) + @property + def _history_user(self): + return self.changed_by + + @_history_user.setter + def _history_user(self, value): + if isinstance(value, User): + self.changed_by = value + else: + self.changed_by = None + + class Admin(models.Model): id = models.CharField(blank=False, max_length=15, primary_key=True) name = models.CharField(blank=False, max_length=JNF_TEXT_MAX_CHARACTER_COUNT) + changed_by = models.ForeignKey(User, blank=True, on_delete=models.RESTRICT, default=None, null=True) + history = HistoricalRecords(user_model=User) + + @property + def _history_user(self): + return self.changed_by + + @_history_user.setter + def _history_user(self, value): + if isinstance(value, User): + self.changed_by = value + else: + self.changed_by = None def two_day_after_today(): @@ -114,7 +143,8 @@ class Placement(models.Model): deadline_datetime = models.DateTimeField(blank=False, verbose_name="Deadline Date", default=two_day_after_today) created_at = models.DateTimeField(blank=False, default=None, null=True) updated_at = models.DateTimeField(blank=False, default=None, null=True) - + changed_by = models.ForeignKey(User, on_delete=models.CASCADE, blank=True, null=True) + history = HistoricalRecords(user_model=User) def format(self): if self.company_name is not None: self.company_name = self.company_name.strip()[:JNF_SMALLTEXT_MAX_CHARACTER_COUNT] @@ -158,6 +188,17 @@ class Placement(models.Model): if self.additional_info is not None: self.additional_info = [info.strip()[:JNF_TEXTMEDIUM_MAX_CHARACTER_COUNT] for info in list(self.additional_info)] + @property + def _history_user(self): + return self.changed_by + + @_history_user.setter + def _history_user(self, value): + if isinstance(value, User): + self.changed_by = value + else: + self.changed_by = None + def save(self, *args, **kwargs): ''' On save, add timestamps ''' if not self.created_at: @@ -179,6 +220,8 @@ class PlacementApplication(models.Model): selected = models.BooleanField(null=True, default=None, blank=True) applied_at = models.DateTimeField(blank=False, default=None, null=True) updated_at = models.DateTimeField(blank=False, default=None, null=True) + changed_by = models.ForeignKey(User, blank=False, on_delete=models.RESTRICT, default=None, null=True) + history = HistoricalRecords(user_model=User) def save(self, *args, **kwargs): ''' On save, add timestamps ''' @@ -188,6 +231,17 @@ class PlacementApplication(models.Model): return super(PlacementApplication, self).save(*args, **kwargs) + @property + def _history_user(self): + return self.changed_by + + @_history_user.setter + def _history_user(self, value): + if isinstance(value, User): + self.changed_by = value + else: + self.changed_by = None + class Meta: verbose_name_plural = "Placement Applications" unique_together = ('placement_id', 'student_id') @@ -206,3 +260,16 @@ class PrePlacementOffer(models.Model): tier = models.CharField(blank=False, choices=TIERS, max_length=10) designation = models.CharField(blank=False, max_length=25, default=None, null=True) accepted = models.BooleanField(default=None, null=True) + changed_by = models.ForeignKey(User, blank=False, on_delete=models.RESTRICT, default=None, null=True) + history = HistoricalRecords(user_model=User) + + @property + def _history_user(self): + return self.changed_by + + @_history_user.setter + def _history_user(self, value): + if isinstance(value, User): + self.changed_by = value + else: + self.changed_by = None diff --git a/CDC_Backend/APIs/studentViews.py b/CDC_Backend/APIs/studentViews.py index daf4221..27c7c28 100644 --- a/CDC_Backend/APIs/studentViews.py +++ b/CDC_Backend/APIs/studentViews.py @@ -44,7 +44,7 @@ def addResume(request, id, email, user_type): destination_path = STORAGE_DESTINATION_RESUMES + str(student.roll_no) + "/" file_name = saveFile(file, destination_path) student.resumes.append(file_name) - + student.changed_by = get_object_or_404(User, id=id) student.save() return Response({'action': "Upload Resume", 'message': "Resume Added"}, status=status.HTTP_200_OK) @@ -102,8 +102,9 @@ def deleteResume(request, id, email, user_type): destination_path = STORAGE_DESTINATION_RESUMES + id + "/" + str(file_name) if path.exists(destination_path): - remove(destination_path) + # remove(destination_path) student.resumes.remove(file_name) + student.changed_by = get_object_or_404(User, id=id) student.save() return Response({'action': "Delete Resume", 'message': "Resume Deleted"}, status=status.HTTP_200_OK) @@ -177,7 +178,7 @@ def submitApplication(request, id, email, user_type): } subject = STUDENT_APPLICATION_SUBMITTED_TEMPLATE_SUBJECT.format(company_name=opening.company_name) sendEmail(email, subject, data, STUDENT_APPLICATION_SUBMITTED_TEMPLATE) - + application.changed_by = get_object_or_404(User, id=id) application.save() return Response({'action': "Submit Application", 'message': "Application Submitted"}, status=status.HTTP_200_OK) diff --git a/CDC_Backend/CDC_Backend/settings.py b/CDC_Backend/CDC_Backend/settings.py index 4c24f27..22552bf 100644 --- a/CDC_Backend/CDC_Backend/settings.py +++ b/CDC_Backend/CDC_Backend/settings.py @@ -29,7 +29,7 @@ SECRET_KEY = 'e_i2g3z!y4+p3dwm%k9k=zmsot@aya-0$mmetgxz4mp#8_oy#*' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True -ALLOWED_HOSTS = ['cdc-iitdh.herokuapp.com/', 'localhost', '192.168.29.199'] +ALLOWED_HOSTS = ['cdc-iitdh.herokuapp.com/', 'localhost', '192.168.29.199', '127.0.0.1'] # Application definition @@ -44,7 +44,8 @@ INSTALLED_APPS = [ 'rest_framework', 'corsheaders', 'django_db_logger', - 'background_task' + 'background_task', + 'simple_history', ] MIDDLEWARE = [ @@ -57,7 +58,7 @@ MIDDLEWARE = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', - + 'simple_history.middleware.HistoryRequestMiddleware', ] ROOT_URLCONF = 'CDC_Backend.urls' diff --git a/CDC_Backend/README.md b/CDC_Backend/README.md index 30c06d8..62258ef 100644 --- a/CDC_Backend/README.md +++ b/CDC_Backend/README.md @@ -1,22 +1,27 @@ # API References 1. [**Common APIs**](#common-apis) - 1. [**api/login/**](#apilogin) + 1. [**api/login/**](#apilogin) 2. [**Student APIs**](#student-portal-apis) - 1. [**api/student/profile/**](#apistudentprofile) - 2. [**api/student/getDashboard/**](#apistudentgetdashboard) - 3. [**api/student/addResume/**](#apistudentaddresume) - 4. [**api/student/deleteResume/**](#apistudentdeleteresume) - 5. [**api/student/submitApplication/**](#apistudentsubmitapplication) + 1. [**api/student/profile/**](#apistudentprofile) + 2. [**api/student/getDashboard/**](#apistudentgetdashboard) + 3. [**api/student/addResume/**](#apistudentaddresume) + 4. [**api/student/deleteResume/**](#apistudentdeleteresume) + 5. [**api/student/submitApplication/**](#apistudentsubmitapplication) 3. [**Admin APIs**](#admin-portal-apis) - 1. [**api/admin/markStatus/**](#apiadminmarkstatus) - 2. [**api/admin/getDashboard/**](#apiadmingetdashboard) - 3. [**api/admin/updateDeadline/**](#apiadminupdatedeadline) - 4. [**api/admin/updateOfferAccepted**](#apiadminupdateofferaccepted) - 5. [**api/admin/updateEmailVerified**](#apiadminupdateemailverified) - 6. [**api/admin/updateAdditionalInfo**](#apiadminupdateadditionalinfo) + 1. [**api/admin/markStatus/**](#apiadminmarkstatus) + 2. [**api/admin/getDashboard/**](#apiadmingetdashboard) + 3. [**api/admin/updateDeadline/**](#apiadminupdatedeadline) + 4. [**api/admin/updateOfferAccepted**](#apiadminupdateofferaccepted) + 5. [**api/admin/updateEmailVerified**](#apiadminupdateemailverified) + 6. [**api/admin/updateAdditionalInfo**](#apiadminupdateadditionalinfo) + 7. [**api/admin/getApplications**](#apiadmingetApplications) + 8. [**api/admin/submitApplication**](#apiadminsubmitApplication) + 9. [**api/admin/generateCSV**](#apiadmingeneratecsv) + 10. [**api/admin/addPPO**](#apiadminaddppo) + 11. [**api/admin/getStudentApplication**](#apiadmingetstudentapplication) 4. [**Company APIs**](#company-portal-apis) - 1. [**api/company/addPlacement/**](#apicompanyaddplacement) + 1. [**api/company/addPlacement/**](#apicompanyaddplacement) 5. [**Common Errors**](#common-errors) --- @@ -47,17 +52,15 @@ Response is a Json with these fields { "action": "Login", "message": "Verified", - "user_type": [ - "student" - ] + "user_type": ["student"] } ``` - action: Tells us about the message creator
- message: Tells us what happened with our Request. - user_type: Tells us about the role the user possess. Can have these values - - student - - Admin + - student + - Admin ### Status Codes @@ -95,30 +98,30 @@ Response is a Json with these fields ```json { - "action": "Student Profile", - "message": "Details Found", - "details": { - "id": "190010036", - "resume_list": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/resume/190010036%2F8KIOT3PW1JIS718_CSE-V-SEM.pdf", - "name": "8KIOT3PW1JIS718_CSE-V-SEM.pdf" - } - ], - "offers": [ - { - "designation": "Software Developer", - "company_name": "Make My Trip", - "application_id": "LLW4STE76GEJYOR" - } - ], - "roll_no": 190010036, - "name": "Gowtham Sai", - "batch": "2019", - "branch": "CSE", - "phone_number": 9390291911, - "cpi": "9.15" - } + "action": "Student Profile", + "message": "Details Found", + "details": { + "id": "190010036", + "resume_list": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/resume/190010036%2F8KIOT3PW1JIS718_CSE-V-SEM.pdf", + "name": "8KIOT3PW1JIS718_CSE-V-SEM.pdf" + } + ], + "offers": [ + { + "designation": "Software Developer", + "company_name": "Make My Trip", + "application_id": "LLW4STE76GEJYOR" + } + ], + "roll_no": 190010036, + "name": "Gowtham Sai", + "batch": "2019", + "branch": "CSE", + "phone_number": 9390291911, + "cpi": "9.15" + } } ``` @@ -130,10 +133,10 @@ Response is a Json with these fields The possible responses for this api request are as follows -| Status Codes | Possible Messages | -| --------------- | ------------------------ | -| 200 OK | `Details Found` | -| 400 BAD_REQUEST | `Something Went Wrong` | +| Status Codes | Possible Messages | +| --------------- | ---------------------- | +| 200 OK | `Details Found` | +| 400 BAD_REQUEST | `Something Went Wrong` | You may see some different errors which can be seen [here](#common-errors) @@ -164,199 +167,181 @@ Response is a Json with these fields ```json { - "action": "Get Dashboard - Student", - "message": "Data Found", - "placements": [ + "action": "Get Dashboard - Student", + "message": "Data Found", + "placements": [ + { + "id": "Q54IRZZMC3RP8F6", + "company_details_pdf_links": [ { - "id": "Q54IRZZMC3RP8F6", - "company_details_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FI5U4RDTV0OP0EM0_2019+Student+Details+-+Total%28State+Sort%29+-+Copy.pdf", - "name": "I5U4RDTV0OP0EM0_2019 Student Details - Total(State Sort) - Copy.pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FW04JWWNNMIBX0JX_2019+Student+Details+-+Total%28State+Sort%29.pdf", - "name": "W04JWWNNMIBX0JX_2019 Student Details - Total(State Sort).pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FT1BXP98WBT9BHOR_AP0313017732021LL-Driving+Licence+-+Copy.pdf", - "name": "T1BXP98WBT9BHOR_AP0313017732021LL-Driving Licence - Copy.pdf" - } - ], - "description_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FC78TE2Z67BPZ41O_CSE-V-SEM.pdf", - "name": "C78TE2Z67BPZ41O_CSE-V-SEM.pdf" - } - ], - "compensation_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2F8D5OFQ46H43DD3S_module5And6Attendance.pdf", - "name": "8D5OFQ46H43DD3S_module5And6Attendance.pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FG8OU2PE919PFKSR_Print+Application11.pdf", - "name": "G8OU2PE919PFKSR_Print Application11.pdf" - } - ], - "selection_procedure_details_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FDZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_", - "name": "DZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FN490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3", - "name": "N490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3" - } - ], - "company_name": "Make My Trip", - "address": "MakeMyTrip India Pvt. Ltd.5, Awagarh House, MG Road(next to Bachoomal collections)Agra (UP), - 282002India", - "company_type": "Private Sector", - "nature_of_business": "Technology", - "website": "www.makemytrip.com", - "company_details": "This s a very nice company", - "is_company_details_pdf": true, - "city": "Mumbai", - "state": "Maharashtra", - "country": "India", - "pin_code": 530013, - "city_type": "Domestic", - "designation": "Software Developer", - "description": "very nice job", - "is_description_pdf": true, - "compensation_CTC": 1200000, - "compensation_gross": 1100000, - "compensation_take_home": 1000000, - "compensation_bonus": 10000, - "compensation_details": "very good compensation", - "is_compensation_details_pdf": true, - "bond_details": "nil", - "selection_procedure_rounds": [ - "Resume Shortlisting", - "Technical Interview", - "HR Interview" - ], - "selection_procedure_details": "All rounds are complusory", - "is_selection_procedure_details_pdf": true, - "tier": "4", - "tentative_date_of_joining": "2022-01-15", - "allowed_batch": [ - "2018", - "2019" - ], - "allowed_branch": [ - "CSE", - "EE" - ], - "tentative_no_of_offers": 5, - "other_requirements": "above 8 cpi", - "additional_info": [ - "School", - "Home Town" - ], - "deadline_date": "2021-12-04", - "created_at": "2021-12-02T20:12:21+05:30" - } - ], - "placementApplication": [ + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FI5U4RDTV0OP0EM0_2019+Student+Details+-+Total%28State+Sort%29+-+Copy.pdf", + "name": "I5U4RDTV0OP0EM0_2019 Student Details - Total(State Sort) - Copy.pdf" + }, { - "id": "LLW4STE76GEJYOR", - "placement": { - "id": "Q54IRZZMC3RP8F6", - "company_details_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FI5U4RDTV0OP0EM0_2019+Student+Details+-+Total%28State+Sort%29+-+Copy.pdf", - "name": "I5U4RDTV0OP0EM0_2019 Student Details - Total(State Sort) - Copy.pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FW04JWWNNMIBX0JX_2019+Student+Details+-+Total%28State+Sort%29.pdf", - "name": "W04JWWNNMIBX0JX_2019 Student Details - Total(State Sort).pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FT1BXP98WBT9BHOR_AP0313017732021LL-Driving+Licence+-+Copy.pdf", - "name": "T1BXP98WBT9BHOR_AP0313017732021LL-Driving Licence - Copy.pdf" - } - ], - "description_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FC78TE2Z67BPZ41O_CSE-V-SEM.pdf", - "name": "C78TE2Z67BPZ41O_CSE-V-SEM.pdf" - } - ], - "compensation_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2F8D5OFQ46H43DD3S_module5And6Attendance.pdf", - "name": "8D5OFQ46H43DD3S_module5And6Attendance.pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FG8OU2PE919PFKSR_Print+Application11.pdf", - "name": "G8OU2PE919PFKSR_Print Application11.pdf" - } - ], - "selection_procedure_details_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FDZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_", - "name": "DZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FN490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3", - "name": "N490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3" - } - ], - "company_name": "Make My Trip", - "address": "MakeMyTrip India Pvt. Ltd.5, Awagarh House, MG Road(next to Bachoomal collections)Agra (UP), - 282002India", - "company_type": "Private Sector", - "nature_of_business": "Technology", - "website": "www.makemytrip.com", - "company_details": "This s a very nice company", - "is_company_details_pdf": true, - "city": "Mumbai", - "state": "Maharashtra", - "country": "India", - "pin_code": 530013, - "city_type": "Domestic", - "designation": "Software Developer", - "description": "very nice job", - "is_description_pdf": true, - "compensation_CTC": 1200000, - "compensation_gross": 1100000, - "compensation_take_home": 1000000, - "compensation_bonus": 10000, - "compensation_details": "very good compensation", - "is_compensation_details_pdf": true, - "bond_details": "nil", - "selection_procedure_rounds": [ - "Resume Shortlisting", - "Technical Interview", - "HR Interview" - ], - "selection_procedure_details": "All rounds are complusory", - "is_selection_procedure_details_pdf": true, - "tier": "4", - "tentative_date_of_joining": "2022-01-15", - "allowed_batch": [ - "2018", - "2019" - ], - "allowed_branch": [ - "CSE", - "EE" - ], - "tentative_no_of_offers": 5, - "other_requirements": "above 8 cpi", - "additional_info": [ - "School", - "Home Town" - ], - "deadline_date": "2021-12-04", - "created_at": "2021-12-02T20:12:21+05:30" - }, - "resume_link": "https://storage.googleapis.com/cdc-backend-attachments/resume/LLW4STE76GEJYOR%2F8KIOT3PW1JIS718_CSE-V-SEM.pdf", - "additional_info": "{\"School\": \"Narayana English Medium High School\", \"Home Town\": \"Vizag\"}", - "selected": null, - "applied_at": "2021-12-02T21:58:18.032466+05:30" + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FW04JWWNNMIBX0JX_2019+Student+Details+-+Total%28State+Sort%29.pdf", + "name": "W04JWWNNMIBX0JX_2019 Student Details - Total(State Sort).pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FT1BXP98WBT9BHOR_AP0313017732021LL-Driving+Licence+-+Copy.pdf", + "name": "T1BXP98WBT9BHOR_AP0313017732021LL-Driving Licence - Copy.pdf" } - ] + ], + "description_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FC78TE2Z67BPZ41O_CSE-V-SEM.pdf", + "name": "C78TE2Z67BPZ41O_CSE-V-SEM.pdf" + } + ], + "compensation_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2F8D5OFQ46H43DD3S_module5And6Attendance.pdf", + "name": "8D5OFQ46H43DD3S_module5And6Attendance.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FG8OU2PE919PFKSR_Print+Application11.pdf", + "name": "G8OU2PE919PFKSR_Print Application11.pdf" + } + ], + "selection_procedure_details_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FDZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_", + "name": "DZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FN490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3", + "name": "N490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3" + } + ], + "company_name": "Make My Trip", + "address": "MakeMyTrip India Pvt. Ltd.5, Awagarh House, MG Road(next to Bachoomal collections)Agra (UP), - 282002India", + "company_type": "Private Sector", + "nature_of_business": "Technology", + "website": "www.makemytrip.com", + "company_details": "This s a very nice company", + "is_company_details_pdf": true, + "city": "Mumbai", + "state": "Maharashtra", + "country": "India", + "pin_code": 530013, + "city_type": "Domestic", + "designation": "Software Developer", + "description": "very nice job", + "is_description_pdf": true, + "compensation_CTC": 1200000, + "compensation_gross": 1100000, + "compensation_take_home": 1000000, + "compensation_bonus": 10000, + "compensation_details": "very good compensation", + "is_compensation_details_pdf": true, + "bond_details": "nil", + "selection_procedure_rounds": [ + "Resume Shortlisting", + "Technical Interview", + "HR Interview" + ], + "selection_procedure_details": "All rounds are complusory", + "is_selection_procedure_details_pdf": true, + "tier": "4", + "tentative_date_of_joining": "2022-01-15", + "allowed_batch": ["2018", "2019"], + "allowed_branch": ["CSE", "EE"], + "tentative_no_of_offers": 5, + "other_requirements": "above 8 cpi", + "additional_info": ["School", "Home Town"], + "deadline_date": "2021-12-04", + "created_at": "2021-12-02T20:12:21+05:30" + } + ], + "placementApplication": [ + { + "id": "LLW4STE76GEJYOR", + "placement": { + "id": "Q54IRZZMC3RP8F6", + "company_details_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FI5U4RDTV0OP0EM0_2019+Student+Details+-+Total%28State+Sort%29+-+Copy.pdf", + "name": "I5U4RDTV0OP0EM0_2019 Student Details - Total(State Sort) - Copy.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FW04JWWNNMIBX0JX_2019+Student+Details+-+Total%28State+Sort%29.pdf", + "name": "W04JWWNNMIBX0JX_2019 Student Details - Total(State Sort).pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FT1BXP98WBT9BHOR_AP0313017732021LL-Driving+Licence+-+Copy.pdf", + "name": "T1BXP98WBT9BHOR_AP0313017732021LL-Driving Licence - Copy.pdf" + } + ], + "description_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FC78TE2Z67BPZ41O_CSE-V-SEM.pdf", + "name": "C78TE2Z67BPZ41O_CSE-V-SEM.pdf" + } + ], + "compensation_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2F8D5OFQ46H43DD3S_module5And6Attendance.pdf", + "name": "8D5OFQ46H43DD3S_module5And6Attendance.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FG8OU2PE919PFKSR_Print+Application11.pdf", + "name": "G8OU2PE919PFKSR_Print Application11.pdf" + } + ], + "selection_procedure_details_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FDZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_", + "name": "DZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FN490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3", + "name": "N490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3" + } + ], + "company_name": "Make My Trip", + "address": "MakeMyTrip India Pvt. Ltd.5, Awagarh House, MG Road(next to Bachoomal collections)Agra (UP), - 282002India", + "company_type": "Private Sector", + "nature_of_business": "Technology", + "website": "www.makemytrip.com", + "company_details": "This s a very nice company", + "is_company_details_pdf": true, + "city": "Mumbai", + "state": "Maharashtra", + "country": "India", + "pin_code": 530013, + "city_type": "Domestic", + "designation": "Software Developer", + "description": "very nice job", + "is_description_pdf": true, + "compensation_CTC": 1200000, + "compensation_gross": 1100000, + "compensation_take_home": 1000000, + "compensation_bonus": 10000, + "compensation_details": "very good compensation", + "is_compensation_details_pdf": true, + "bond_details": "nil", + "selection_procedure_rounds": [ + "Resume Shortlisting", + "Technical Interview", + "HR Interview" + ], + "selection_procedure_details": "All rounds are complusory", + "is_selection_procedure_details_pdf": true, + "tier": "4", + "tentative_date_of_joining": "2022-01-15", + "allowed_batch": ["2018", "2019"], + "allowed_branch": ["CSE", "EE"], + "tentative_no_of_offers": 5, + "other_requirements": "above 8 cpi", + "additional_info": ["School", "Home Town"], + "deadline_date": "2021-12-04", + "created_at": "2021-12-02T20:12:21+05:30" + }, + "resume_link": "https://storage.googleapis.com/cdc-backend-attachments/resume/LLW4STE76GEJYOR%2F8KIOT3PW1JIS718_CSE-V-SEM.pdf", + "additional_info": "{\"School\": \"Narayana English Medium High School\", \"Home Town\": \"Vizag\"}", + "selected": null, + "applied_at": "2021-12-02T21:58:18.032466+05:30" + } + ] } ``` @@ -369,10 +354,10 @@ Response is a Json with these fields The possible responses for this api request are as follows -| Status Codes | Possible Messages | -| --------------- | ------------------------ | +| Status Codes | Possible Messages | +| --------------- | ---------------------- | | 200 OK | `Data Found` | -| 404 Not Found | `Student Not Found` | +| 404 Not Found | `Student Not Found` | | 400 BAD_REQUEST | `Something Went Wrong` | You can see some common errors [here](#common-errors) @@ -490,13 +475,13 @@ Request_Body: ```json { - "opening_type": "Placement", - "opening_id": "Q54IRZZMC3RP8F6", - "resume_file_name": "8KIOT3PW1JIS718_CSE-V-SEM.pdf", - "additional_info": { - "School": "Narayana English Medium High School", - "Home Town": "Vizag" - } + "opening_type": "Placement", + "opening_id": "Q54IRZZMC3RP8F6", + "resume_file_name": "8KIOT3PW1JIS718_CSE-V-SEM.pdf", + "additional_info": { + "School": "Narayana English Medium High School", + "Home Town": "Vizag" + } } ``` @@ -530,7 +515,7 @@ The possible responses for this api request are as follows | ------------- | ---------------------------------- | | 200 OK | `Application Submitted` | | 403 FORBIDDEN | `Application is already Submitted` | -| 403 FORBIDDEN | `Placement Not Approved` | +| 403 FORBIDDEN | `Placement Not Approved` | | 404 NOT FOUND | `RESUME_FILE_NAME Not Found` | You can see some common errors [here](#common-errors) @@ -552,14 +537,14 @@ Request_Body: { "opening_id": "Q54IRZZMC3RP8F6", "student_list": [ - { - "student_id":"190010036", - "student_selected":"true" - }, - { - "student_id":"190050022", - "student_selected":"false" - } + { + "student_id": "190010036", + "student_selected": "true" + }, + { + "student_id": "190050022", + "student_selected": "false" + } ] } ``` @@ -585,10 +570,10 @@ Response is a Json with these fields The possible responses for this api request are as follows -| Status Codes | Possible Messages | -| --------------- | ------------------------ | -| 200 OK | `Marked Status` | -| 400 BAD_REQUEST | `Something Went Wrong` | +| Status Codes | Possible Messages | +| --------------- | ---------------------- | +| 200 OK | `Marked Status` | +| 400 BAD_REQUEST | `Something Went Wrong` | You may see some different errors which can be seen [here](#common-errors) @@ -617,106 +602,272 @@ Response is a Json with these fields ```json { - "action": "Get Dashboard - Admin", - "message": "Data Found", - "ongoing": [ + "action": "Get Dashboard - Admin", + "message": "Data Found", + "new": [ + { + "id": "Z54IRZZMB3RP9TR", + "company_details_pdf_links": [ { - "id": "Q54IRZZMC3RP8F6", - "company_details_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FI5U4RDTV0OP0EM0_2019+Student+Details+-+Total%28State+Sort%29+-+Copy.pdf", - "name": "I5U4RDTV0OP0EM0_2019 Student Details - Total(State Sort) - Copy.pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FW04JWWNNMIBX0JX_2019+Student+Details+-+Total%28State+Sort%29.pdf", - "name": "W04JWWNNMIBX0JX_2019 Student Details - Total(State Sort).pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FT1BXP98WBT9BHOR_AP0313017732021LL-Driving+Licence+-+Copy.pdf", - "name": "T1BXP98WBT9BHOR_AP0313017732021LL-Driving Licence - Copy.pdf" - } - ], - "description_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FC78TE2Z67BPZ41O_CSE-V-SEM.pdf", - "name": "C78TE2Z67BPZ41O_CSE-V-SEM.pdf" - } - ], - "compensation_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2F8D5OFQ46H43DD3S_module5And6Attendance.pdf", - "name": "8D5OFQ46H43DD3S_module5And6Attendance.pdf" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FG8OU2PE919PFKSR_Print+Application11.pdf", - "name": "G8OU2PE919PFKSR_Print Application11.pdf" - } - ], - "selection_procedure_details_pdf_links": [ - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FDZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_", - "name": "DZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_" - }, - { - "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FN490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3", - "name": "N490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3" - } - ], - "company_name": "Make My Trip", - "address": "MakeMyTrip India Pvt. Ltd.5, Awagarh House, MG Road(next to Bachoomal collections)Agra (UP), - 282002India", - "company_type": "Private Sector", - "nature_of_business": "Technology", - "website": "www.makemytrip.com", - "company_details": "This s a very nice company", - "is_company_details_pdf": true, - "contact_person_name": "Gowtham", - "phone_number": 9390291911, - "email": "saisurya3127@gmail.com", - "city": "Mumbai", - "state": "Maharashtra", - "country": "India", - "pin_code": 530013, - "city_type": "Domestic", - "designation": "Software Developer", - "description": "very nice job", - "is_description_pdf": true, - "compensation_CTC": 1200000, - "compensation_gross": 1100000, - "compensation_take_home": 1000000, - "compensation_bonus": 10000, - "compensation_details": "very good compensation", - "is_compensation_details_pdf": true, - "bond_details": "nil", - "selection_procedure_rounds": [ - "Resume Shortlisting", - "Technical Interview", - "HR Interview" - ], - "selection_procedure_details": "All rounds are complusory", - "is_selection_procedure_details_pdf": true, - "tier": "4", - "tentative_date_of_joining": "2022-01-15", - "allowed_batch": [ - "2018", - "2019" - ], - "allowed_branch": [ - "CSE", - "EE" - ], - "tentative_no_of_offers": 5, - "other_requirements": "above 8 cpi", - "additional_info": [ - "School", - "Home Town" - ], - "email_verified": false, - "offer_accepted": null, - "deadline_date": "2021-12-04", - "created_at": "2021-12-02T20:12:21+05:30" + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FI5U4RDTV0OP0EM0_2019+Student+Details+-+Total%28State+Sort%29+-+Copy.pdf", + "name": "I5U4RDTV0OP0EM0_2019 Student Details - Total(State Sort) - Copy.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FW04JWWNNMIBX0JX_2019+Student+Details+-+Total%28State+Sort%29.pdf", + "name": "W04JWWNNMIBX0JX_2019 Student Details - Total(State Sort).pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FT1BXP98WBT9BHOR_AP0313017732021LL-Driving+Licence+-+Copy.pdf", + "name": "T1BXP98WBT9BHOR_AP0313017732021LL-Driving Licence - Copy.pdf" } - ], - "previous": [] + ], + "description_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FC78TE2Z67BPZ41O_CSE-V-SEM.pdf", + "name": "C78TE2Z67BPZ41O_CSE-V-SEM.pdf" + } + ], + "compensation_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2F8D5OFQ46H43DD3S_module5And6Attendance.pdf", + "name": "8D5OFQ46H43DD3S_module5And6Attendance.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FG8OU2PE919PFKSR_Print+Application11.pdf", + "name": "G8OU2PE919PFKSR_Print Application11.pdf" + } + ], + "selection_procedure_details_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FDZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_", + "name": "DZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FN490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3", + "name": "N490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3" + } + ], + "company_name": "Cred", + "address": "Cred India Pvt. Ltd.5, Awagarh House, MG Road(next to Bachoomal collections)Agra (UP), - 282002India", + "company_type": "Private Sector", + "nature_of_business": "Technology", + "website": "www.cred.com", + "company_details": "This s a very nice company", + "is_company_details_pdf": true, + "contact_person_name": "John", + "phone_number": 9390291922, + "email": "@gmail.com", + "city": "Mumbai", + "state": "Maharashtra", + "country": "India", + "pin_code": 530013, + "city_type": "Domestic", + "designation": "Software Developer", + "description": "very nice job", + "is_description_pdf": true, + "compensation_CTC": 1200000, + "compensation_gross": 1100000, + "compensation_take_home": 1000000, + "compensation_bonus": 10000, + "compensation_details": "very good compensation", + "is_compensation_details_pdf": true, + "bond_details": "nil", + "selection_procedure_rounds": [ + "Resume Shortlisting", + "Technical Interview", + "HR Interview" + ], + "selection_procedure_details": "All rounds are complusory", + "is_selection_procedure_details_pdf": true, + "tier": "4", + "tentative_date_of_joining": "2022-01-15", + "allowed_batch": ["2018", "2019"], + "allowed_branch": ["CSE", "EE"], + "tentative_no_of_offers": 5, + "other_requirements": "above 8 cpi", + "additional_info": ["School", "Home Town"], + "email_verified": false, + "offer_accepted": null, + "deadline_date": "2021-12-04", + "created_at": "2021-12-02T20:12:21+05:30" + } + ], + "ongoing": [ + { + "id": "Q54IRZZMC3RP8F6", + "company_details_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FI5U4RDTV0OP0EM0_2019+Student+Details+-+Total%28State+Sort%29+-+Copy.pdf", + "name": "I5U4RDTV0OP0EM0_2019 Student Details - Total(State Sort) - Copy.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FW04JWWNNMIBX0JX_2019+Student+Details+-+Total%28State+Sort%29.pdf", + "name": "W04JWWNNMIBX0JX_2019 Student Details - Total(State Sort).pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FT1BXP98WBT9BHOR_AP0313017732021LL-Driving+Licence+-+Copy.pdf", + "name": "T1BXP98WBT9BHOR_AP0313017732021LL-Driving Licence - Copy.pdf" + } + ], + "description_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FC78TE2Z67BPZ41O_CSE-V-SEM.pdf", + "name": "C78TE2Z67BPZ41O_CSE-V-SEM.pdf" + } + ], + "compensation_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2F8D5OFQ46H43DD3S_module5And6Attendance.pdf", + "name": "8D5OFQ46H43DD3S_module5And6Attendance.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FG8OU2PE919PFKSR_Print+Application11.pdf", + "name": "G8OU2PE919PFKSR_Print Application11.pdf" + } + ], + "selection_procedure_details_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FDZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_", + "name": "DZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FN490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3", + "name": "N490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3" + } + ], + "company_name": "Make My Trip", + "address": "MakeMyTrip India Pvt. Ltd.5, Awagarh House, MG Road(next to Bachoomal collections)Agra (UP), - 282002India", + "company_type": "Private Sector", + "nature_of_business": "Technology", + "website": "www.makemytrip.com", + "company_details": "This s a very nice company", + "is_company_details_pdf": true, + "contact_person_name": "Gowtham", + "phone_number": 9390291911, + "email": "saisurya3127@gmail.com", + "city": "Mumbai", + "state": "Maharashtra", + "country": "India", + "pin_code": 530013, + "city_type": "Domestic", + "designation": "Software Developer", + "description": "very nice job", + "is_description_pdf": true, + "compensation_CTC": 1200000, + "compensation_gross": 1100000, + "compensation_take_home": 1000000, + "compensation_bonus": 10000, + "compensation_details": "very good compensation", + "is_compensation_details_pdf": true, + "bond_details": "nil", + "selection_procedure_rounds": [ + "Resume Shortlisting", + "Technical Interview", + "HR Interview" + ], + "selection_procedure_details": "All rounds are complusory", + "is_selection_procedure_details_pdf": true, + "tier": "4", + "tentative_date_of_joining": "2022-01-15", + "allowed_batch": ["2018", "2019"], + "allowed_branch": ["CSE", "EE"], + "tentative_no_of_offers": 5, + "other_requirements": "above 8 cpi", + "additional_info": ["School", "Home Town"], + "email_verified": false, + "offer_accepted": null, + "deadline_date": "2021-12-04", + "created_at": "2021-12-02T20:12:21+05:30" + } + ], + "previous": [ + { + "id": "Q74IRZZMC3RP8F6", + "company_details_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FI5U4RDTV0OP0EM0_2019+Student+Details+-+Total%28State+Sort%29+-+Copy.pdf", + "name": "I5U4RDTV0OP0EM0_2019 Student Details - Total(State Sort) - Copy.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FW04JWWNNMIBX0JX_2019+Student+Details+-+Total%28State+Sort%29.pdf", + "name": "W04JWWNNMIBX0JX_2019 Student Details - Total(State Sort).pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FT1BXP98WBT9BHOR_AP0313017732021LL-Driving+Licence+-+Copy.pdf", + "name": "T1BXP98WBT9BHOR_AP0313017732021LL-Driving Licence - Copy.pdf" + } + ], + "description_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FC78TE2Z67BPZ41O_CSE-V-SEM.pdf", + "name": "C78TE2Z67BPZ41O_CSE-V-SEM.pdf" + } + ], + "compensation_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2F8D5OFQ46H43DD3S_module5And6Attendance.pdf", + "name": "8D5OFQ46H43DD3S_module5And6Attendance.pdf" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FG8OU2PE919PFKSR_Print+Application11.pdf", + "name": "G8OU2PE919PFKSR_Print Application11.pdf" + } + ], + "selection_procedure_details_pdf_links": [ + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FDZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_", + "name": "DZTQQ6YBGBQ47PY_screencapture-onlinesbi-sbi-sbicollect-fsssuccessresponseredirect-htm-2021-07-19-18_" + }, + { + "link": "https://storage.googleapis.com/cdc-backend-attachments/company_attachments/Q54IRZZMC3RP8F6%2FN490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3", + "name": "N490PUXJEEN4JZ9_screencapture-onlinesbi-sbi-sbicollect-payment-suvidhapayment-htm-2021-07-19-23_12_3" + } + ], + "company_name": "Make My Trip", + "address": "MakeMyTrip India Pvt. Ltd.5, Awagarh House, MG Road(next to Bachoomal collections)Agra (UP), - 282002India", + "company_type": "Private Sector", + "nature_of_business": "Technology", + "website": "www.makemytrip.com", + "company_details": "This s a very nice company", + "is_company_details_pdf": true, + "contact_person_name": "Gowtham", + "phone_number": 9390291911, + "email": "saisurya3127@gmail.com", + "city": "Mumbai", + "state": "Maharashtra", + "country": "India", + "pin_code": 530013, + "city_type": "Domestic", + "designation": "Software Developer", + "description": "very nice job", + "is_description_pdf": true, + "compensation_CTC": 1200000, + "compensation_gross": 1100000, + "compensation_take_home": 1000000, + "compensation_bonus": 10000, + "compensation_details": "very good compensation", + "is_compensation_details_pdf": true, + "bond_details": "nil", + "selection_procedure_rounds": [ + "Resume Shortlisting", + "Technical Interview", + "HR Interview" + ], + "selection_procedure_details": "All rounds are complusory", + "is_selection_procedure_details_pdf": true, + "tier": "4", + "tentative_date_of_joining": "2022-01-15", + "allowed_batch": ["2018", "2019"], + "allowed_branch": ["CSE", "EE"], + "tentative_no_of_offers": 5, + "other_requirements": "above 8 cpi", + "additional_info": ["School", "Home Town"], + "email_verified": false, + "offer_accepted": null, + "deadline_date": "2021-12-04", + "created_at": "2021-12-02T20:12:21+05:30" + } + ] } ``` @@ -724,13 +875,14 @@ Response is a Json with these fields - message: Tells us what happened with our Request. - ongoing: Gives us the list of placements that are accepting applications. - previous: Gives us the list of placements that stopped accepting applications. +- new : Gives us the list of placements that is not yet accepeted by CDC. ### Status Codes The possible responses for this api request are as follows -| Status Codes | Possible Messages | -| --------------- | ------------------------ | +| Status Codes | Possible Messages | +| --------------- | ---------------------- | | 200 OK | `Data Found` | | 400 BAD_REQUEST | `Something Went Wrong` | @@ -749,8 +901,8 @@ Request_Body: ```json { - "opening_id": "Q54IRZZMC3RP8F6", - "deadline_datetime": "2021-12-06 16:28:18 +0530" + "opening_id": "Q54IRZZMC3RP8F6", + "deadline_datetime": "2021-12-06 16:28:18 +0530" } ``` @@ -763,8 +915,8 @@ Response is a Json with these fields ```json { - "action": "Update Deadline", - "message": "Deadline Updated" + "action": "Update Deadline", + "message": "Deadline Updated" } ``` @@ -775,10 +927,10 @@ Response is a Json with these fields The possible responses for this api request are as follows -| Status Codes | Possible Messages | -| --------------- | ------------------------ | -| 200 OK | `Deadline Updated` | -| 400 BAD_REQUEST | `Something Went Wrong` | +| Status Codes | Possible Messages | +| --------------- | ---------------------- | +| 200 OK | `Deadline Updated` | +| 400 BAD_REQUEST | `Something Went Wrong` | You may see some different errors which can be seen [here](#common-errors) @@ -795,8 +947,8 @@ Request_Body: ```json { - "opening_id": "Q54IRZZMC3RP8F6", - "offer_accepted": "true" + "opening_id": "Q54IRZZMC3RP8F6", + "offer_accepted": "true" } ``` @@ -809,8 +961,8 @@ Response is a Json with these fields ```json { - "action": "Update Offer Accepted", - "message": "Offer Accepted Updated" + "action": "Update Offer Accepted", + "message": "Offer Accepted Updated" } ``` @@ -821,10 +973,10 @@ Response is a Json with these fields The possible responses for this api request are as follows -| Status Codes | Possible Messages | -| --------------- | ------------------------ | -| 200 OK | `Update Offer Accepted` | -| 400 BAD_REQUEST | `Something Went Wrong` | +| Status Codes | Possible Messages | +| --------------- | ----------------------- | +| 200 OK | `Update Offer Accepted` | +| 400 BAD_REQUEST | `Something Went Wrong` | You may see some different errors which can be seen [here](#common-errors) @@ -841,8 +993,8 @@ Request_Body: ```json { - "opening_id": "Q54IRZZMC3RP8F6", - "email_verified": "false" + "opening_id": "Q54IRZZMC3RP8F6", + "email_verified": "false" } ``` @@ -855,8 +1007,8 @@ Response is a Json with these fields ```json { - "action": "Update Email Verified", - "message": "Email Verified Updated" + "action": "Update Email Verified", + "message": "Email Verified Updated" } ``` @@ -869,8 +1021,8 @@ The possible responses for this api request are as follows | Status Codes | Possible Messages | | --------------- | ------------------------ | -| 200 OK | `Email Verified Updated` | -| 400 BAD_REQUEST | `Something Went Wrong` | +| 200 OK | `Email Verified Updated` | +| 400 BAD_REQUEST | `Something Went Wrong` | You may see some different errors which can be seen [here](#common-errors) @@ -887,12 +1039,8 @@ Request_Body: ```json { - "opening_id": "Q54IRZZMC3RP8F6", - "additional_info": [ - "School", - "Place of Living", - "Research Interests" - ] + "opening_id": "Q54IRZZMC3RP8F6", + "additional_info": ["School", "Place of Living", "Research Interests"] } ``` @@ -905,8 +1053,8 @@ Response is a Json with these fields ```json { - "action": "Update Additional Info", - "message": "Additional Info Updated" + "action": "Update Additional Info", + "message": "Additional Info Updated" } ``` @@ -917,10 +1065,298 @@ Response is a Json with these fields The possible responses for this api request are as follows -| Status Codes | Possible Messages | -| --------------- | ------------------------ | -| 200 OK | `Additional Info Updated` | -| 400 BAD_REQUEST | `Something Went Wrong` | +| Status Codes | Possible Messages | +| --------------- | ------------------------- | +| 200 OK | `Additional Info Updated` | +| 400 BAD_REQUEST | `Something Went Wrong` | + +You may see some different errors which can be seen [here](#common-errors) + +--- + + + +## `api/admin/getApplications` + +This api is used to fetch all the applications applied by students for all placements + +### How to Use? + +Send a `POST` request to `api/admin/getApplications`
+Request_Body: + +```json +{ + "opening_id": "Q54IRZZMC3RP8F6" +} +``` + +> Headers
+> Authorization: "Bearer {tokenID}" + +### Response + +Response is a Json with these fields + +```json +{ + "action": "Get Applications", + "message": "Data Found", + "applications": [ + { + "id": "200010021", + "student_details": { + "id": "200010021", + "resume_list": [ + { + "link": "http://localhost/storage/Resumes/200010021/resume_link", + "name": "resume_link" + } + ], + "offers": [ + { + "designation": "sde", + "company_name": "JP Morgan", + "application_id": "200010021", + "placement_offer_type": "Normal" + } + ], + "roll_no": 200010021, + "name": "John", + "batch": "2020", + "branch": "CSE", + "phone_number": 8105699450, + "cpi": "9.00", + "can_apply": true + }, + "resume_link": { + "link": "http://localhost/storage/Resumes/200010021/resume_links", + "name": "resume_links" + }, + "additional_info": null, + "selected": true, + "applied_at": "2022-05-30T19:15:33+05:30", + "updated_at": "2022-05-30T19:16:31.662929+05:30", + "student": "200010021" + } + ] +} +``` + +- action: Tells us about the message creator
+- message: Tells us what happened with our Request. + +### Status Codes + +The possible responses for this api request are as follows + +| Status Codes | Possible Messages | +| --------------- | ---------------------- | +| 200 OK | `Data Found` | +| 400 BAD_REQUEST | `Something Went Wrong` | + +You may see some different errors which can be seen [here](#common-errors) + +--- + +## `api/admin/submitApplication` + +This api is used to submit a students application + +Request_Body: + +```json +{ + "applications_id": "F28IRGGMC3RP8Y8", + "student_id": "200010022", + "opening_id": "Q54IRZZMC3RP8F6", + "additional_info": { + "School": "Lions International", + "City": "Banglore" + }, + "resume_file_name": "8KIOT3PW1JIS718_CSE-V-SEM.pdf" +} +``` + +> Headers
+> Authorization: "Bearer {tokenID}" + +### Response + +Response is a Json with these fields + +```json +{ + "action": "Add Student Application", + "message": "Application Added" +} +``` + +### Status Codes + +The possible responses for this api request are as follows + +| Status Codes | Possible Messages | +| --------------- | ---------------------- | +| 200 OK | `Application Added` | +| 400 BAD_REQUEST | `Something Went Wrong` | + +You may see some different errors which can be seen [here](#common-errors) + +--- + +## `api/admin/generateCSV` + +This api is used to generate a CSV file that contains sequential details of all the applications + +Request_Body: + +```json +{ + "opening_id": "Q54IRZZMC3RP8F6" +} +``` + +> Headers
+> Authorization: "Bearer {tokenID}" + +### Response + +Response is a Json with these fields + +```json +{ + "action": "Create CSV", + "message": "CSV Created", + "file": "csv_file_link" +} +``` + +### Status Codes + +The possible responses for this api request are as follows + +| Status Codes | Possible Messages | +| --------------- | ---------------------- | +| 200 OK | `CSV created` | +| 400 BAD_REQUEST | `Something Went Wrong` | + +You may see some different errors which can be seen [here](#common-errors) + +--- + +## `api/admin/addPPO` + +This api is used to add a PPO for a student in the corresponding company + +Request_Body: + +```json +{ + "company_name": "Geeks for Geeks", + "compensation_gross": "1000000", + "offer_accepted": "true", + "student_id": "200010022", + "designation": "Technical Content Writer", + "tier": "4" +} +``` + +### Response + +Response is a Json with these fields + +```json +{ + "action": "Add PPO", + "message": "PPO Added" +} +``` + +### Status Codes + +The possible responses for this api request are as follows + +| Status Codes | Possible Messages | +| --------------- | ---------------------- | +| 200 OK | `PPO Added` | +| 400 BAD_REQUEST | `Something Went Wrong` | + +You may see some different errors which can be seen [here](#common-errors) + +--- + +## `api/admin/getStudentApplication` + +This api is used to fetch the application details of the required student + +Request_Body: + +```json +{ + "student_id": "200010022", + "opening_id": "Q54IRZZMC3RP8F6" +} +``` + +> Headers
+> Authorization: "Bearer {tokenID}" + +### Response + +Response is a Json with these fields when the application is found. + +```json +{ + "action": "Get Student Application", + "application_found": "true", + "application_info": { + "id": "F28IRGGMC3RP8Y8", + "additional_info": { + "12th grade": "9.1", + "current GPA": "9.6" + }, + "resume": "resume_link" + }, + "student_details": { + "name": "John", + "batch": "2020", + "branch": "MMAE", + "resume_list": { + "link": "http://localhost/storage/Resumes/200010021/resume_links", + "name": "resume_link" + } + } +} +``` + +Response is a Json with these fields when the applciation is not found. + +```json +{ + "action": "Get Student Application", + "application_found": "false", + "student_details": { + "name": "John", + "batch": "2020", + "branch": "MMAE", + "resume_list": { + "link": "http://localhost/storage/Resumes/200010021/resume_links", + "name": "resume_link" + } + } +} +``` + +### Status Codes + +The possible responses for this api request are as follows + +| Status Codes | Possible Messages | +| --------------- | ----------------------- | +| 200 OK | `` | +| 400 BAD_REQUEST | `Something Went Wrong` | +| 404 NOT_FOUND | `Application not found` | You may see some different errors which can be seen [here](#common-errors) @@ -940,113 +1376,45 @@ Request_Body: ```json { - "company_name": [ - "Make My Trip" - ], + "company_name": ["Make My Trip"], "address": [ "MakeMyTrip India Pvt. Ltd.\n5, Awagarh House, MG Road\n(next to Bachoomal collections)\nAgra (UP), - 282002\nIndia" ], - "company_type": [ - "Private Sector" - ], - "nature_of_business": [ - "Technology" - ], - "website": [ - "www.makemytrip.com" - ], - "company_details": [ - "This s a very nice company" - ], - "is_company_details_pdf": [ - "true" - ], - "contact_person_name": [ - "Gowtham" - ], - "phone_number": [ - "9390291911" - ], - "email": [ - "saisurya3127@gmail.com" - ], - "city": [ - "Mumbai" - ], - "state": [ - "Maharashtra" - ], - "country": [ - "India" - ], - "pincode": [ - "530013" - ], - "designation": [ - "Software Developer" - ], - "description": [ - "very nice job" - ], - "is_description_pdf": [ - "true" - ], - "compensation_ctc": [ - "1200000" - ], - "compensation_gross": [ - "1100000" - ], - "compensation_take_home": [ - "1000000" - ], - "compensation_bonus": [ - "10000" - ], - "compensation_details": [ - "very good compensation" - ], - "is_compensation_details_pdf": [ - "true" - ], - "bond_details": [ - "nil" - ], + "company_type": ["Private Sector"], + "nature_of_business": ["Technology"], + "website": ["www.makemytrip.com"], + "company_details": ["This s a very nice company"], + "is_company_details_pdf": ["true"], + "contact_person_name": ["Gowtham"], + "phone_number": ["9390291911"], + "email": ["saisurya3127@gmail.com"], + "city": ["Mumbai"], + "state": ["Maharashtra"], + "country": ["India"], + "pincode": ["530013"], + "designation": ["Software Developer"], + "description": ["very nice job"], + "is_description_pdf": ["true"], + "compensation_ctc": ["1200000"], + "compensation_gross": ["1100000"], + "compensation_take_home": ["1000000"], + "compensation_bonus": ["10000"], + "compensation_details": ["very good compensation"], + "is_compensation_details_pdf": ["true"], + "bond_details": ["nil"], "selection_procedure_rounds": [ "['Resume Shortlisting', 'Technical Interview', 'HR Interview']" ], - "selection_procedure_details": [ - "All rounds are complusory" - ], - "is_selection_procedure_details_pdf": [ - "true" - ], - "tentative_date_of_joining": [ - "15-01-2022" - ], - "allowed_branch": [ - "['CSE', 'EE']" - ], - "tentative_no_of_offers": [ - "5" - ], - "other_requirements": [ - "above 8 cpi" - ], - "company_details_pdf": [ - "__FILE_OBJECT__", - "__FILE_OBJECT__" - ], - "description_pdf": [ - "__FILE_OBJECT__" - ], - "compensation_details_pdf": [ - "__FILE_OBJECT__" - ], - "selection_procedure_details_pdf": [ - "__FILE_OBJECT__", - "__FILE_OBJECT__" - ] + "selection_procedure_details": ["All rounds are complusory"], + "is_selection_procedure_details_pdf": ["true"], + "tentative_date_of_joining": ["15-01-2022"], + "allowed_branch": ["['CSE', 'EE']"], + "tentative_no_of_offers": ["5"], + "other_requirements": ["above 8 cpi"], + "company_details_pdf": ["__FILE_OBJECT__", "__FILE_OBJECT__"], + "description_pdf": ["__FILE_OBJECT__"], + "compensation_details_pdf": ["__FILE_OBJECT__"], + "selection_procedure_details_pdf": ["__FILE_OBJECT__", "__FILE_OBJECT__"] } ``` @@ -1056,8 +1424,8 @@ Response is a Json with these fields ```json { - "action": "Add Placement", - "message": "Placement Added Successfully" + "action": "Add Placement", + "message": "Placement Added Successfully" } ``` @@ -1071,10 +1439,10 @@ Response is a Json with these fields The possible responses for this api request are as follows -| Status Codes | Possible Messages | -| ------------- | ----------------- | -| 200 OK | `Placement Added Successfully` | -| 404 NOT FOUND | `Something went wrong` | +| Status Codes | Possible Messages | +| ------------- | ------------------------------ | +| 200 OK | `Placement Added Successfully` | +| 404 NOT FOUND | `Something went wrong` | You can see some common errors [here](#common-errors) @@ -1090,9 +1458,5 @@ Some common errors that you may see while accessing the Apis | 401 UNAUTHORIZED | `Access Denied. You are not allowed to use this service` | Your may not have required access to those access those Apis. | | 401 UNAUTHORIZED | `Token has wrong audience` | You may be using wrong credentials for Google OAuth2.0. | | 404 NOT FOUND | `User Not Found. Contact CDC for more details` | You may not be a user at CDC, IIT Dharwad. Please contact us to get your user account | -| 400 BAD_REQUEST | `Error Occurred` | Any random Error which can be seen in the {error} string. | -| 400 BAD_REQUEST | `Something went wrong` | Any random Error which can be seen in the {error} string. | - - - - +| 400 BAD_REQUEST | `Error Occurred` | Any random Error which can be seen in the {error} string. | +| 400 BAD_REQUEST | `Something went wrong` | Any random Error which can be seen in the {error} string. | diff --git a/requirements.txt b/requirements.txt index 4a81a07..5fbc28b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,12 +5,14 @@ certifi==2021.10.8 chardet==4.0.0 charset-normalizer==2.0.12 colorama==0.4.4 +dill==0.3.5.1 dj-database-url==0.5.0 Django==3.2.13 django-background-tasks==1.2.5 django-compat==1.0.15 django-cors-headers==3.11.0 django-db-logger==0.1.12 +django-simple-history==3.1.1 djangorestframework==3.13.1 google-auth==2.6.6 gunicorn==20.1.0 @@ -26,17 +28,18 @@ platformdirs==2.5.1 psycopg2-binary==2.9.3 pyasn1==0.4.8 pyasn1-modules==0.2.8 +PyJWT==2.4.0 pylint==2.13.5 python-dotenv==0.20.0 pytz==2022.1 -PyJWT==2.3.0 requests==2.27.1 rsa==4.8 six==1.16.0 sqlparse==0.4.2 toml==0.10.2 -typing_extensions==4.1.1 +tomli==2.0.1 +typing-extensions==4.1.1 urllib3==1.26.9 whitenoise==6.0.0 +wrapt==1.14.0 zipp==3.8.0 -wrapt==1.14.0 \ No newline at end of file