From d5d60a550553fdac2caf21cfb1fbb342180a26e6 Mon Sep 17 00:00:00 2001 From: NVombat Date: Thu, 1 Dec 2022 15:49:09 +0530 Subject: [PATCH 1/5] fixed import sorting --- server/admins/__init__.py | 4 ++-- server/admins/create_admin.py | 10 ++++++---- server/admins/issue_jwt.py | 7 ++++--- server/admins/models.py | 18 ++++++++---------- server/admins/tests/test_jwt_adm.py | 2 +- server/admins/tests/test_models_adm.py | 9 +++------ server/admins/urls.py | 3 ++- server/admins/utils.py | 21 ++++++++------------- server/admins/validate_admins.py | 4 ++-- server/admins/views.py | 6 +++--- 10 files changed, 39 insertions(+), 45 deletions(-) diff --git a/server/admins/__init__.py b/server/admins/__init__.py index 7c1b1f6..17e6b5f 100644 --- a/server/admins/__init__.py +++ b/server/admins/__init__.py @@ -1,10 +1,10 @@ from core.pagination import CustomPagination +from mainapp.models import MusicData from userprofile.models import UserData + from .issue_jwt import AdminTokenAuth -from mainapp.models import MusicData from .models import AdminAuth - Admin_Token_Auth = AdminTokenAuth() Paginate = CustomPagination() Music_Data = MusicData() diff --git a/server/admins/create_admin.py b/server/admins/create_admin.py index c6494f1..28c6abb 100644 --- a/server/admins/create_admin.py +++ b/server/admins/create_admin.py @@ -1,9 +1,11 @@ -from dotenv import load_dotenv -import hashlib, binascii -import pymongo +import binascii +import hashlib +import os import random import string -import os + +import pymongo +from dotenv import load_dotenv load_dotenv() diff --git a/server/admins/issue_jwt.py b/server/admins/issue_jwt.py index 4b06596..6265823 100644 --- a/server/admins/issue_jwt.py +++ b/server/admins/issue_jwt.py @@ -1,9 +1,10 @@ -from datetime import datetime, timedelta -from dotenv import load_dotenv -import jwt import os +from datetime import datetime, timedelta +import jwt from authentication.errors import InvalidTokenError +from dotenv import load_dotenv + from .errors import AdminTokenGenerationError load_dotenv() diff --git a/server/admins/models.py b/server/admins/models.py index cb1e074..29b0498 100644 --- a/server/admins/models.py +++ b/server/admins/models.py @@ -1,17 +1,15 @@ -from dotenv import load_dotenv -import hashlib, binascii -import pymongo +import binascii +import hashlib +import os import random import string -import os +import pymongo from core.settings import DATABASE -from .errors import ( - InvalidAdminCredentialsError, - AdminDoesNotExistError, - InvalidAdminIDError, - AdminExistsError, -) +from dotenv import load_dotenv + +from .errors import (AdminDoesNotExistError, AdminExistsError, + InvalidAdminCredentialsError, InvalidAdminIDError) load_dotenv() diff --git a/server/admins/tests/test_jwt_adm.py b/server/admins/tests/test_jwt_adm.py index 5c47fa9..6f7df37 100644 --- a/server/admins/tests/test_jwt_adm.py +++ b/server/admins/tests/test_jwt_adm.py @@ -1,7 +1,7 @@ import unittest -from authentication.errors import InvalidTokenError from admins.issue_jwt import AdminTokenAuth +from authentication.errors import InvalidTokenError class Test_Admin_JWT(unittest.TestCase): diff --git a/server/admins/tests/test_models_adm.py b/server/admins/tests/test_models_adm.py index e8e4a50..d3435fc 100644 --- a/server/admins/tests/test_models_adm.py +++ b/server/admins/tests/test_models_adm.py @@ -1,12 +1,9 @@ -from dotenv import load_dotenv import unittest +from admins.errors import (AdminDoesNotExistError, + InvalidAdminCredentialsError, InvalidAdminIDError) from admins.models import AdminAuth -from admins.errors import ( - InvalidAdminCredentialsError, - AdminDoesNotExistError, - InvalidAdminIDError, -) +from dotenv import load_dotenv class Test_Admin_Model(unittest.TestCase): diff --git a/server/admins/urls.py b/server/admins/urls.py index 4650711..94c93a5 100644 --- a/server/admins/urls.py +++ b/server/admins/urls.py @@ -1,6 +1,7 @@ -from .views import AdminView, AdminLogin, GenerateTokens from django.urls import path +from .views import AdminLogin, AdminView, GenerateTokens + urlpatterns = [ path("", AdminView.as_view()), path("login", AdminLogin.as_view()), diff --git a/server/admins/utils.py b/server/admins/utils.py index fc926f3..85eee83 100644 --- a/server/admins/utils.py +++ b/server/admins/utils.py @@ -1,19 +1,14 @@ -from rest_framework import status -from django.http import response - -from userprofile.errors import FileDoesNotExistForCurrentUserError from authentication.errors import InvalidTokenError from core.errors import PageDoesNotExistError -from mainapp.errors import DataFetchingError -from .errors import ( - InvalidAdminCredentialsError, - AdminTokenGenerationError, - AdminDoesNotExistError, - InvalidAdminIDError, -) - -from . import Paginate, Music_Data, User_Data, Admin_Auth, Admin_Token_Auth +from django.http import response from mainapp.aws import AWSFunctionsS3 +from mainapp.errors import DataFetchingError +from rest_framework import status +from userprofile.errors import FileDoesNotExistForCurrentUserError + +from . import Admin_Auth, Admin_Token_Auth, Music_Data, Paginate, User_Data +from .errors import (AdminDoesNotExistError, AdminTokenGenerationError, + InvalidAdminCredentialsError, InvalidAdminIDError) def login_admin(request, **kwargs) -> response.JsonResponse: diff --git a/server/admins/validate_admins.py b/server/admins/validate_admins.py index 55a3c24..3e3107e 100644 --- a/server/admins/validate_admins.py +++ b/server/admins/validate_admins.py @@ -1,7 +1,7 @@ +from authentication.errors import InvalidTokenError from rest_framework.permissions import BasePermission -from authentication.errors import InvalidTokenError -from . import Admin_Token_Auth, Admin_Auth +from . import Admin_Auth, Admin_Token_Auth from .errors import InvalidAdminIDError diff --git a/server/admins/views.py b/server/admins/views.py index 68398f0..a287597 100644 --- a/server/admins/views.py +++ b/server/admins/views.py @@ -1,10 +1,10 @@ +from core.throttle import throttle +from django.http import response from rest_framework.permissions import AllowAny from rest_framework.views import APIView -from django.http import response -from .utils import delete_music_data, send_music_data, login_admin, get_tokens -from core.throttle import throttle from . import validate_admins +from .utils import delete_music_data, get_tokens, login_admin, send_music_data class AdminLogin(APIView): From e2fcaaf0c9402a3107cd5fb8e369d6c74bcecc49 Mon Sep 17 00:00:00 2001 From: NVombat Date: Thu, 1 Dec 2022 15:49:44 +0530 Subject: [PATCH 2/5] added contact us query ids and added user functionality and linking --- server/authentication/errors.py | 8 +++ server/authentication/models.py | 99 +++++++++++++++++++++++++++------ 2 files changed, 91 insertions(+), 16 deletions(-) diff --git a/server/authentication/errors.py b/server/authentication/errors.py index c5c4d58..a5d6e51 100644 --- a/server/authentication/errors.py +++ b/server/authentication/errors.py @@ -9,6 +9,10 @@ class InvalidVerificationError(AuthenticationErrors): ... +class NoContactUsQueriesFoundError(ContactUsErrors): + ... + + class ContactUsDataInsertionError(ContactUsErrors): ... @@ -31,3 +35,7 @@ class UserExistsError(AuthenticationErrors): class InvalidUIDError(AuthenticationErrors): ... + + +class InvalidQIDError(ContactUsErrors): + ... diff --git a/server/authentication/models.py b/server/authentication/models.py index a7cf116..0f80e7f 100644 --- a/server/authentication/models.py +++ b/server/authentication/models.py @@ -1,20 +1,18 @@ -from dotenv import load_dotenv -from datetime import datetime -import hashlib, binascii -import pymongo +import binascii +import hashlib +import os import random import string -import os +from datetime import datetime +import pymongo from core.settings import DATABASE -from .errors import ( - InvalidUserCredentialsError, - ContactUsDataInsertionError, - InvalidVerificationError, - UserDoesNotExistError, - UserExistsError, - InvalidUIDError, -) +from dotenv import load_dotenv + +from .errors import (ContactUsDataInsertionError, InvalidQIDError, + InvalidUIDError, InvalidUserCredentialsError, + InvalidVerificationError, NoContactUsQueriesFoundError, + UserDoesNotExistError, UserExistsError) load_dotenv() @@ -96,10 +94,31 @@ def insert_user(self, email: str, pwd: str) -> None: "user_id": self.generate_uid(), "Email": email, "Password": pwd, - "ContactUs": [], + "ContactUs": [], # Query ID + "Likes": [], # Like ID + "Comments": [], # Comment ID + "Notes": [] # Notes on When Password was Last Changed - FOR ADMIN } self.db.insert_one(rec) + def get_contact_us_query_ids(self, email: str) -> list: + """Fetches contact us query ids for particular user + + Args: + email: User Email ID + + Returns: + list + """ + if value := self.db.find_one({"Email": email}): + query_ids = value["ContactUs"] + if isinstance(query_ids, list) and len(query_ids)>0: + return query_ids + else: + raise NoContactUsQueriesFoundError(f"User {email} Has No Contact Us Queries Raised") + + raise UserDoesNotExistError(f"User {email} Does Not Exist") + def add_verif_code(self, email: str, check_recursive_correctness: int) -> int: """Adds verification code & timestamp for reset password functionality @@ -217,11 +236,17 @@ def reset_password(self, pwd: str, code: int) -> bool: """ if value := self.db.find_one({"verif_code": code}): email = value["Email"] + + pwd_change_time = datetime.now() + pct_string = pwd_change_time.strftime("%d/%m/%Y %H:%M:%S") + msg = "Password Changed: " + pct_string + self.db.find_one_and_update( {"Email": email}, update={ "$set": {"Password": self.hash_password(pwd)}, "$unset": {"verif_code": "", "timestamp_created": ""}, + "$push": {"Notes": msg}, }, ) return True @@ -237,25 +262,67 @@ def __init__(self) -> None: client = pymongo.MongoClient(DATABASE["mongo_uri"]) self.db = client[DATABASE["db"]][os.getenv("CONTACT_US_DATA_COLLECTION")] - def insert_contact_us_data(self, name: str, email: str, message: str) -> bool: - """Inserts Contact Us Data + def generate_query_id(self) -> str: + """Generates a unique query id + + Args: + None + + Returns: + str + """ + q_id = "".join( + random.choice( + string.ascii_uppercase + string.ascii_lowercase + string.digits + ) + for _ in range(16) + ) + q_id = "query_" + q_id + + if self.db.find_one({"query_id": q_id}): + q_id = self.generate_query_id() + return q_id + + def validate_query_id(self, qid: str) -> bool: + """Validates query id for particular user + + Args: + qid: Query ID + + Returns: + bool + """ + value = self.db.find_one({"query_id": qid}) + if value: + return True + + raise InvalidQIDError(f"Query With query_id {qid} NOT Found") + + def insert_contact_us_data(self, name: str, email: str, message: str, status: str) -> bool: + """Inserts Contact Us Data & Updates User Profile With Query ID Args: name: Name of User email: User Email ID message: Contact Us Message + status: Status of Query Returns: bool """ data = { + "query_id": self.generate_query_id(), "Name": name, "Email": email, "Message": message, + "Status": status, } try: self.db.insert_one(data) + + # UPDATE USER CONTACTUS[] WITH QUERY ID + return True except Exception: raise ContactUsDataInsertionError("Error Inserting Contact Us Data") From a7cd94cca7b5b4e5a9c57ef4e65a163ac1736c42 Mon Sep 17 00:00:00 2001 From: NVombat Date: Thu, 1 Dec 2022 15:51:06 +0530 Subject: [PATCH 3/5] fixed import sorts --- server/authentication/__init__.py | 2 +- server/authentication/jwt.py | 4 +++- server/authentication/mailer.py | 5 +++-- server/authentication/tests/test_models.py | 12 +++++------- server/authentication/urls.py | 4 +++- server/authentication/utils.py | 17 ++++++----------- server/authentication/validate.py | 2 +- server/authentication/views.py | 7 ++++--- 8 files changed, 26 insertions(+), 27 deletions(-) diff --git a/server/authentication/__init__.py b/server/authentication/__init__.py index bf6854d..3f29604 100644 --- a/server/authentication/__init__.py +++ b/server/authentication/__init__.py @@ -1,5 +1,5 @@ -from .models import UserAuth, ContactUsData from .jwt import TokenAuth +from .models import ContactUsData, UserAuth Contact_Us = ContactUsData() Token_Auth = TokenAuth() diff --git a/server/authentication/jwt.py b/server/authentication/jwt.py index b183d3a..2b5008e 100644 --- a/server/authentication/jwt.py +++ b/server/authentication/jwt.py @@ -1,7 +1,9 @@ +import os from datetime import datetime, timedelta + from dotenv import load_dotenv + import jwt -import os from .errors import InvalidTokenError, TokenGenerationError diff --git a/server/authentication/mailer.py b/server/authentication/mailer.py index b8aa4aa..99ff742 100644 --- a/server/authentication/mailer.py +++ b/server/authentication/mailer.py @@ -1,6 +1,7 @@ -from dotenv import load_dotenv -import smtplib import os +import smtplib + +from dotenv import load_dotenv from . import UserAuth diff --git a/server/authentication/tests/test_models.py b/server/authentication/tests/test_models.py index 819bcb5..8fbe7db 100644 --- a/server/authentication/tests/test_models.py +++ b/server/authentication/tests/test_models.py @@ -1,12 +1,10 @@ -from dotenv import load_dotenv import unittest -from authentication.models import UserAuth, ContactUsData -from authentication.errors import ( - InvalidUserCredentialsError, - UserDoesNotExistError, - InvalidUIDError, -) +from authentication.errors import (InvalidUIDError, + InvalidUserCredentialsError, + UserDoesNotExistError) +from authentication.models import ContactUsData, UserAuth +from dotenv import load_dotenv class Test_Auth_Model(unittest.TestCase): diff --git a/server/authentication/urls.py b/server/authentication/urls.py index 1b6edbe..ffb8081 100644 --- a/server/authentication/urls.py +++ b/server/authentication/urls.py @@ -1,6 +1,8 @@ -from .views import Register, Login, ResetPassword, ResetPasswordLink, GenerateTokens from django.urls import path +from .views import (GenerateTokens, Login, Register, ResetPassword, + ResetPasswordLink) + urlpatterns = [ path("register", Register.as_view()), path("login", Login.as_view()), diff --git a/server/authentication/utils.py b/server/authentication/utils.py index cce7fed..091d44e 100644 --- a/server/authentication/utils.py +++ b/server/authentication/utils.py @@ -1,17 +1,12 @@ -from rest_framework import status from django.http import response +from rest_framework import status -from .errors import ( - InvalidUserCredentialsError, - InvalidVerificationError, - UserDoesNotExistError, - TokenGenerationError, - InvalidTokenError, - UserExistsError, - InvalidUIDError, -) -from .mailer import send_reset_pwd_mail from . import Token_Auth, User_Auth +from .errors import (InvalidTokenError, InvalidUIDError, + InvalidUserCredentialsError, InvalidVerificationError, + TokenGenerationError, UserDoesNotExistError, + UserExistsError) +from .mailer import send_reset_pwd_mail def register_user(request, **kwargs) -> response.JsonResponse: diff --git a/server/authentication/validate.py b/server/authentication/validate.py index d62b4f1..9069d53 100644 --- a/server/authentication/validate.py +++ b/server/authentication/validate.py @@ -1,7 +1,7 @@ from rest_framework.permissions import BasePermission +from . import Token_Auth, User_Auth from .errors import InvalidTokenError, InvalidUIDError -from . import User_Auth, Token_Auth class ValidateUser(BasePermission): diff --git a/server/authentication/views.py b/server/authentication/views.py index 2a71293..e7873ab 100644 --- a/server/authentication/views.py +++ b/server/authentication/views.py @@ -1,9 +1,10 @@ +from core.throttle import throttle +from django.http import response from rest_framework.permissions import AllowAny from rest_framework.views import APIView -from django.http import response -from .utils import register_user, login_user, reset_pwd, reset_pwd_data, get_tokens -from core.throttle import throttle +from .utils import (get_tokens, login_user, register_user, reset_pwd, + reset_pwd_data) class Register(APIView): From 8dd44d9ba103b4b8d363ea6a0cd11265e2ce3fc1 Mon Sep 17 00:00:00 2001 From: NVombat Date: Thu, 1 Dec 2022 15:53:58 +0530 Subject: [PATCH 4/5] fixed import sorting --- server/core/settings.py | 5 +++-- server/core/urls.py | 9 ++++----- server/mainapp/__init__.py | 1 + server/mainapp/aws.py | 13 +++++-------- server/mainapp/mailer.py | 5 +++-- server/mainapp/models.py | 16 +++++++--------- server/mainapp/urls.py | 3 ++- server/mainapp/utils.py | 16 +++++++--------- server/mainapp/views.py | 8 ++++---- server/run_tests.py | 16 +++------------- server/tests/base_user.py | 8 ++++---- server/tests/test_app_apis.py | 11 ++++++----- server/tests/test_app_models.py | 20 ++++++++------------ server/tests/test_auth.py | 6 ++++-- server/userprofile/__init__.py | 1 + server/userprofile/models.py | 12 +++++------- server/userprofile/urls.py | 3 ++- server/userprofile/utils.py | 11 ++++++----- server/userprofile/views.py | 8 ++++---- 19 files changed, 79 insertions(+), 93 deletions(-) diff --git a/server/core/settings.py b/server/core/settings.py index 2c258d9..f886152 100644 --- a/server/core/settings.py +++ b/server/core/settings.py @@ -10,9 +10,10 @@ https://docs.djangoproject.com/en/3.2/ref/settings/ """ -from dotenv import load_dotenv -from pathlib import Path import os +from pathlib import Path + +from dotenv import load_dotenv load_dotenv() diff --git a/server/core/urls.py b/server/core/urls.py index 6c0653f..7a58815 100644 --- a/server/core/urls.py +++ b/server/core/urls.py @@ -13,13 +13,12 @@ 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ -from rest_framework.documentation import include_docs_urls -from rest_framework.schemas import get_schema_view -from django.conf.urls.static import static -from django.urls import path, include from django.conf import settings +from django.conf.urls.static import static from django.contrib import admin - +from django.urls import include, path +from rest_framework.documentation import include_docs_urls +from rest_framework.schemas import get_schema_view urlpatterns = [ path("admin/", admin.site.urls), diff --git a/server/mainapp/__init__.py b/server/mainapp/__init__.py index 7fa6b1f..44fc8e4 100644 --- a/server/mainapp/__init__.py +++ b/server/mainapp/__init__.py @@ -1,4 +1,5 @@ from core.pagination import CustomPagination + from .aws import AWSFunctionsS3 from .models import MusicData diff --git a/server/mainapp/aws.py b/server/mainapp/aws.py index fbf3171..11fe2dc 100644 --- a/server/mainapp/aws.py +++ b/server/mainapp/aws.py @@ -1,14 +1,11 @@ +import boto3 +import botocore from boto3.session import Session -from rest_framework import status +from core.settings import (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, + AWS_STORAGE_BUCKET_NAME) from django.http import response -import botocore -import boto3 +from rest_framework import status -from core.settings import ( - AWS_STORAGE_BUCKET_NAME, - AWS_SECRET_ACCESS_KEY, - AWS_ACCESS_KEY_ID, -) from .errors import AWSDownloadError diff --git a/server/mainapp/mailer.py b/server/mainapp/mailer.py index c927e4d..78e6935 100644 --- a/server/mainapp/mailer.py +++ b/server/mainapp/mailer.py @@ -1,6 +1,7 @@ -from dotenv import load_dotenv -import smtplib import os +import smtplib + +from dotenv import load_dotenv load_dotenv() diff --git a/server/mainapp/models.py b/server/mainapp/models.py index bbbe722..733cd30 100644 --- a/server/mainapp/models.py +++ b/server/mainapp/models.py @@ -1,15 +1,13 @@ -from django.http import response -from dotenv import load_dotenv -import pymongo -import uuid import os +import uuid +import pymongo from core.settings import DATABASE -from .errors import ( - FileAlreadyExistsForCurrentUserError, - FileDoesNotExistForCurrentUserError, - DataFetchingError, -) +from django.http import response +from dotenv import load_dotenv + +from .errors import (DataFetchingError, FileAlreadyExistsForCurrentUserError, + FileDoesNotExistForCurrentUserError) load_dotenv() diff --git a/server/mainapp/urls.py b/server/mainapp/urls.py index f29f03b..0b231ba 100644 --- a/server/mainapp/urls.py +++ b/server/mainapp/urls.py @@ -1,6 +1,7 @@ -from .views import Contact_Us, Uploads, Posts from django.urls import path +from .views import Contact_Us, Posts, Uploads + urlpatterns = [ path("uploads", Uploads.as_view()), path("posts", Posts.as_view()), diff --git a/server/mainapp/utils.py b/server/mainapp/utils.py index 212e2b3..09e340b 100644 --- a/server/mainapp/utils.py +++ b/server/mainapp/utils.py @@ -1,17 +1,15 @@ -from rest_framework import status -from django.http import response import datetime as d -from core.settings import AWS_BUCKET_FOLDER, AWS_OBJECT_URL_PREFIX from authentication.errors import ContactUsDataInsertionError from authentication.models import ContactUsData from core.errors import PageDoesNotExistError -from .errors import ( - FileAlreadyExistsForCurrentUserError, - DataFetchingError, - AWSDownloadError, -) -from . import S3_Functions, Music_Data, Paginate +from core.settings import AWS_BUCKET_FOLDER, AWS_OBJECT_URL_PREFIX +from django.http import response +from rest_framework import status + +from . import Music_Data, Paginate, S3_Functions +from .errors import (AWSDownloadError, DataFetchingError, + FileAlreadyExistsForCurrentUserError) Contact_Us = ContactUsData() diff --git a/server/mainapp/views.py b/server/mainapp/views.py index f879386..ce86b2a 100644 --- a/server/mainapp/views.py +++ b/server/mainapp/views.py @@ -1,10 +1,10 @@ +from authentication import validate +from core.throttle import throttle +from django.http import response from rest_framework.permissions import AllowAny from rest_framework.views import APIView -from django.http import response -from .utils import recv_music_data, send_music_data, recv_contact_us_data -from authentication import validate -from core.throttle import throttle +from .utils import recv_contact_us_data, recv_music_data, send_music_data class Uploads(APIView): diff --git a/server/run_tests.py b/server/run_tests.py index 4f1a497..1090236 100644 --- a/server/run_tests.py +++ b/server/run_tests.py @@ -1,18 +1,8 @@ import unittest -from authentication.tests import ( - test_models, - test_jwt, -) -from admins.tests import ( - test_models_adm, - test_jwt_adm, -) -from tests import ( - test_app_models, - test_app_apis, - test_auth, -) +from admins.tests import test_jwt_adm, test_models_adm +from authentication.tests import test_jwt, test_models +from tests import test_app_apis, test_app_models, test_auth def get_unittests(suite): diff --git a/server/tests/base_user.py b/server/tests/base_user.py index de79f3d..10dd250 100644 --- a/server/tests/base_user.py +++ b/server/tests/base_user.py @@ -1,11 +1,11 @@ -from dotenv import load_dotenv -from unittest import TestCase -import requests -import pymongo import json import os +from unittest import TestCase +import pymongo +import requests from core.settings import DATABASE +from dotenv import load_dotenv load_dotenv() diff --git a/server/tests/test_app_apis.py b/server/tests/test_app_apis.py index 80de887..231bee5 100644 --- a/server/tests/test_app_apis.py +++ b/server/tests/test_app_apis.py @@ -1,13 +1,14 @@ -from dotenv import load_dotenv -import requests -import unittest -import pymongo import os +import unittest -from .base_user import CustomUserTests +import pymongo +import requests from core.settings import DATABASE +from dotenv import load_dotenv from mainapp import S3_Functions + from . import Base +from .base_user import CustomUserTests user = CustomUserTests() data = Base() diff --git a/server/tests/test_app_models.py b/server/tests/test_app_models.py index 54652fa..64cd4f0 100644 --- a/server/tests/test_app_models.py +++ b/server/tests/test_app_models.py @@ -1,18 +1,14 @@ -from dotenv import load_dotenv -import requests -import unittest -import pymongo import os +import unittest +import pymongo +import requests from core.settings import DATABASE -from mainapp.errors import ( - FileAlreadyExistsForCurrentUserError, - FileDoesNotExistForCurrentUserError, -) -from mainapp import ( - S3_Functions, - Music_Data, -) +from dotenv import load_dotenv +from mainapp import Music_Data, S3_Functions +from mainapp.errors import (FileAlreadyExistsForCurrentUserError, + FileDoesNotExistForCurrentUserError) + from . import Base data = Base() diff --git a/server/tests/test_auth.py b/server/tests/test_auth.py index c9fcb52..46bad49 100644 --- a/server/tests/test_auth.py +++ b/server/tests/test_auth.py @@ -1,7 +1,9 @@ -from .base_user import CustomUserTests -import requests import json +import requests + +from .base_user import CustomUserTests + class TestAuthentication(CustomUserTests): def setUp(self) -> None: diff --git a/server/userprofile/__init__.py b/server/userprofile/__init__.py index 950dc0f..5809798 100644 --- a/server/userprofile/__init__.py +++ b/server/userprofile/__init__.py @@ -1,4 +1,5 @@ from core.pagination import CustomPagination + from .models import UserData Paginate = CustomPagination() diff --git a/server/userprofile/models.py b/server/userprofile/models.py index 02396dd..471d601 100644 --- a/server/userprofile/models.py +++ b/server/userprofile/models.py @@ -1,14 +1,12 @@ -from django.http import response -from dotenv import load_dotenv -import pymongo import os +import pymongo from core.settings import DATABASE +from django.http import response +from dotenv import load_dotenv -from .errors import ( - FileDoesNotExistForCurrentUserError, - ProfileDataUnavailableError, -) +from .errors import (FileDoesNotExistForCurrentUserError, + ProfileDataUnavailableError) load_dotenv() diff --git a/server/userprofile/urls.py b/server/userprofile/urls.py index 13f1692..ca2688e 100644 --- a/server/userprofile/urls.py +++ b/server/userprofile/urls.py @@ -1,6 +1,7 @@ -from .views import Profile from django.urls import path +from .views import Profile + urlpatterns = [ path("profile", Profile.as_view()), ] diff --git a/server/userprofile/utils.py b/server/userprofile/utils.py index c56d58c..5218eb1 100644 --- a/server/userprofile/utils.py +++ b/server/userprofile/utils.py @@ -1,10 +1,11 @@ -from rest_framework import status -from django.http import response - -from .errors import FileDoesNotExistForCurrentUserError, ProfileDataUnavailableError from core.errors import PageDoesNotExistError +from django.http import response from mainapp.aws import AWSFunctionsS3 -from . import User_Data, Paginate +from rest_framework import status + +from . import Paginate, User_Data +from .errors import (FileDoesNotExistForCurrentUserError, + ProfileDataUnavailableError) def send_profile_data(request, **kwargs) -> response.JsonResponse: diff --git a/server/userprofile/views.py b/server/userprofile/views.py index 098b0eb..c3c8c13 100644 --- a/server/userprofile/views.py +++ b/server/userprofile/views.py @@ -1,9 +1,9 @@ -from rest_framework.views import APIView -from django.http import response - -from .utils import send_profile_data, delete_profile_data from authentication import validate from core.throttle import throttle +from django.http import response +from rest_framework.views import APIView + +from .utils import delete_profile_data, send_profile_data class Profile(APIView): From 74daafdd283369be0f25b28e78cecf99fb5f09da Mon Sep 17 00:00:00 2001 From: NVombat Date: Thu, 1 Dec 2022 15:58:20 +0530 Subject: [PATCH 5/5] lint fix --- server/admins/models.py | 8 ++++-- server/admins/tests/test_models_adm.py | 7 +++-- server/admins/utils.py | 8 ++++-- server/authentication/models.py | 32 ++++++++++++++-------- server/authentication/tests/test_models.py | 8 ++++-- server/authentication/urls.py | 3 +- server/authentication/utils.py | 13 ++++++--- server/authentication/views.py | 3 +- server/mainapp/aws.py | 7 +++-- server/mainapp/models.py | 7 +++-- server/mainapp/utils.py | 7 +++-- server/tests/test_app_models.py | 6 ++-- server/userprofile/models.py | 3 +- server/userprofile/utils.py | 3 +- 14 files changed, 75 insertions(+), 40 deletions(-) diff --git a/server/admins/models.py b/server/admins/models.py index 29b0498..3ec0e6c 100644 --- a/server/admins/models.py +++ b/server/admins/models.py @@ -8,8 +8,12 @@ from core.settings import DATABASE from dotenv import load_dotenv -from .errors import (AdminDoesNotExistError, AdminExistsError, - InvalidAdminCredentialsError, InvalidAdminIDError) +from .errors import ( + AdminDoesNotExistError, + AdminExistsError, + InvalidAdminCredentialsError, + InvalidAdminIDError, +) load_dotenv() diff --git a/server/admins/tests/test_models_adm.py b/server/admins/tests/test_models_adm.py index d3435fc..fd9ce57 100644 --- a/server/admins/tests/test_models_adm.py +++ b/server/admins/tests/test_models_adm.py @@ -1,7 +1,10 @@ import unittest -from admins.errors import (AdminDoesNotExistError, - InvalidAdminCredentialsError, InvalidAdminIDError) +from admins.errors import ( + AdminDoesNotExistError, + InvalidAdminCredentialsError, + InvalidAdminIDError, +) from admins.models import AdminAuth from dotenv import load_dotenv diff --git a/server/admins/utils.py b/server/admins/utils.py index 85eee83..0218c8a 100644 --- a/server/admins/utils.py +++ b/server/admins/utils.py @@ -7,8 +7,12 @@ from userprofile.errors import FileDoesNotExistForCurrentUserError from . import Admin_Auth, Admin_Token_Auth, Music_Data, Paginate, User_Data -from .errors import (AdminDoesNotExistError, AdminTokenGenerationError, - InvalidAdminCredentialsError, InvalidAdminIDError) +from .errors import ( + AdminDoesNotExistError, + AdminTokenGenerationError, + InvalidAdminCredentialsError, + InvalidAdminIDError, +) def login_admin(request, **kwargs) -> response.JsonResponse: diff --git a/server/authentication/models.py b/server/authentication/models.py index 0f80e7f..c74802b 100644 --- a/server/authentication/models.py +++ b/server/authentication/models.py @@ -9,10 +9,16 @@ from core.settings import DATABASE from dotenv import load_dotenv -from .errors import (ContactUsDataInsertionError, InvalidQIDError, - InvalidUIDError, InvalidUserCredentialsError, - InvalidVerificationError, NoContactUsQueriesFoundError, - UserDoesNotExistError, UserExistsError) +from .errors import ( + ContactUsDataInsertionError, + InvalidQIDError, + InvalidUIDError, + InvalidUserCredentialsError, + InvalidVerificationError, + NoContactUsQueriesFoundError, + UserDoesNotExistError, + UserExistsError, +) load_dotenv() @@ -94,10 +100,10 @@ def insert_user(self, email: str, pwd: str) -> None: "user_id": self.generate_uid(), "Email": email, "Password": pwd, - "ContactUs": [], # Query ID - "Likes": [], # Like ID - "Comments": [], # Comment ID - "Notes": [] # Notes on When Password was Last Changed - FOR ADMIN + "ContactUs": [], # Query ID + "Likes": [], # Like ID + "Comments": [], # Comment ID + "Notes": [], # Notes on When Password was Last Changed - FOR ADMIN } self.db.insert_one(rec) @@ -112,10 +118,12 @@ def get_contact_us_query_ids(self, email: str) -> list: """ if value := self.db.find_one({"Email": email}): query_ids = value["ContactUs"] - if isinstance(query_ids, list) and len(query_ids)>0: + if isinstance(query_ids, list) and len(query_ids) > 0: return query_ids else: - raise NoContactUsQueriesFoundError(f"User {email} Has No Contact Us Queries Raised") + raise NoContactUsQueriesFoundError( + f"User {email} Has No Contact Us Queries Raised" + ) raise UserDoesNotExistError(f"User {email} Does Not Exist") @@ -298,7 +306,9 @@ def validate_query_id(self, qid: str) -> bool: raise InvalidQIDError(f"Query With query_id {qid} NOT Found") - def insert_contact_us_data(self, name: str, email: str, message: str, status: str) -> bool: + def insert_contact_us_data( + self, name: str, email: str, message: str, status: str + ) -> bool: """Inserts Contact Us Data & Updates User Profile With Query ID Args: diff --git a/server/authentication/tests/test_models.py b/server/authentication/tests/test_models.py index 8fbe7db..13d03a4 100644 --- a/server/authentication/tests/test_models.py +++ b/server/authentication/tests/test_models.py @@ -1,8 +1,10 @@ import unittest -from authentication.errors import (InvalidUIDError, - InvalidUserCredentialsError, - UserDoesNotExistError) +from authentication.errors import ( + InvalidUIDError, + InvalidUserCredentialsError, + UserDoesNotExistError, +) from authentication.models import ContactUsData, UserAuth from dotenv import load_dotenv diff --git a/server/authentication/urls.py b/server/authentication/urls.py index ffb8081..8382b83 100644 --- a/server/authentication/urls.py +++ b/server/authentication/urls.py @@ -1,7 +1,6 @@ from django.urls import path -from .views import (GenerateTokens, Login, Register, ResetPassword, - ResetPasswordLink) +from .views import GenerateTokens, Login, Register, ResetPassword, ResetPasswordLink urlpatterns = [ path("register", Register.as_view()), diff --git a/server/authentication/utils.py b/server/authentication/utils.py index 091d44e..8aead46 100644 --- a/server/authentication/utils.py +++ b/server/authentication/utils.py @@ -2,10 +2,15 @@ from rest_framework import status from . import Token_Auth, User_Auth -from .errors import (InvalidTokenError, InvalidUIDError, - InvalidUserCredentialsError, InvalidVerificationError, - TokenGenerationError, UserDoesNotExistError, - UserExistsError) +from .errors import ( + InvalidTokenError, + InvalidUIDError, + InvalidUserCredentialsError, + InvalidVerificationError, + TokenGenerationError, + UserDoesNotExistError, + UserExistsError, +) from .mailer import send_reset_pwd_mail diff --git a/server/authentication/views.py b/server/authentication/views.py index e7873ab..baaf38c 100644 --- a/server/authentication/views.py +++ b/server/authentication/views.py @@ -3,8 +3,7 @@ from rest_framework.permissions import AllowAny from rest_framework.views import APIView -from .utils import (get_tokens, login_user, register_user, reset_pwd, - reset_pwd_data) +from .utils import get_tokens, login_user, register_user, reset_pwd, reset_pwd_data class Register(APIView): diff --git a/server/mainapp/aws.py b/server/mainapp/aws.py index 11fe2dc..ea57097 100644 --- a/server/mainapp/aws.py +++ b/server/mainapp/aws.py @@ -1,8 +1,11 @@ import boto3 import botocore from boto3.session import Session -from core.settings import (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, - AWS_STORAGE_BUCKET_NAME) +from core.settings import ( + AWS_ACCESS_KEY_ID, + AWS_SECRET_ACCESS_KEY, + AWS_STORAGE_BUCKET_NAME, +) from django.http import response from rest_framework import status diff --git a/server/mainapp/models.py b/server/mainapp/models.py index 733cd30..6ce1980 100644 --- a/server/mainapp/models.py +++ b/server/mainapp/models.py @@ -6,8 +6,11 @@ from django.http import response from dotenv import load_dotenv -from .errors import (DataFetchingError, FileAlreadyExistsForCurrentUserError, - FileDoesNotExistForCurrentUserError) +from .errors import ( + DataFetchingError, + FileAlreadyExistsForCurrentUserError, + FileDoesNotExistForCurrentUserError, +) load_dotenv() diff --git a/server/mainapp/utils.py b/server/mainapp/utils.py index 09e340b..82c6610 100644 --- a/server/mainapp/utils.py +++ b/server/mainapp/utils.py @@ -8,8 +8,11 @@ from rest_framework import status from . import Music_Data, Paginate, S3_Functions -from .errors import (AWSDownloadError, DataFetchingError, - FileAlreadyExistsForCurrentUserError) +from .errors import ( + AWSDownloadError, + DataFetchingError, + FileAlreadyExistsForCurrentUserError, +) Contact_Us = ContactUsData() diff --git a/server/tests/test_app_models.py b/server/tests/test_app_models.py index 64cd4f0..61133cc 100644 --- a/server/tests/test_app_models.py +++ b/server/tests/test_app_models.py @@ -6,8 +6,10 @@ from core.settings import DATABASE from dotenv import load_dotenv from mainapp import Music_Data, S3_Functions -from mainapp.errors import (FileAlreadyExistsForCurrentUserError, - FileDoesNotExistForCurrentUserError) +from mainapp.errors import ( + FileAlreadyExistsForCurrentUserError, + FileDoesNotExistForCurrentUserError, +) from . import Base diff --git a/server/userprofile/models.py b/server/userprofile/models.py index 471d601..a3c746a 100644 --- a/server/userprofile/models.py +++ b/server/userprofile/models.py @@ -5,8 +5,7 @@ from django.http import response from dotenv import load_dotenv -from .errors import (FileDoesNotExistForCurrentUserError, - ProfileDataUnavailableError) +from .errors import FileDoesNotExistForCurrentUserError, ProfileDataUnavailableError load_dotenv() diff --git a/server/userprofile/utils.py b/server/userprofile/utils.py index 5218eb1..0317873 100644 --- a/server/userprofile/utils.py +++ b/server/userprofile/utils.py @@ -4,8 +4,7 @@ from rest_framework import status from . import Paginate, User_Data -from .errors import (FileDoesNotExistForCurrentUserError, - ProfileDataUnavailableError) +from .errors import FileDoesNotExistForCurrentUserError, ProfileDataUnavailableError def send_profile_data(request, **kwargs) -> response.JsonResponse: