From af9668b905ffc47680d2f18711be8605e732e16a Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Fri, 14 Jun 2024 17:08:58 +0300 Subject: [PATCH 01/44] Refactor SECRET_KEY, ALLOWED_HOSTS and database credentials by sourcing them from environment variables --- .env.sample | 7 +++++++ library_service/settings.py | 17 +++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 .env.sample diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..a5d5774 --- /dev/null +++ b/.env.sample @@ -0,0 +1,7 @@ +DJANGO_SECRET_KEY=DJANGO_SECRET_KEY +ALLOWED_HOSTS=ALLOWED_HOSTS +POSTGRES_DB=POSTGRES_DB +POSTGRES_USER=POSTGRES_USER +POSTGRES_PASSWORD=POSTGRES_PASSWORD +POSTGRES_HOST=POSTGRES_HOST +POSTGRES_PORT=POSTGRES_PORT \ No newline at end of file diff --git a/library_service/settings.py b/library_service/settings.py index 67d0bcb..b7f07e2 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -10,8 +10,13 @@ https://docs.djangoproject.com/en/5.0/ref/settings/ """ +import os from pathlib import Path +from dotenv import load_dotenv + +load_dotenv() + # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent @@ -20,12 +25,12 @@ # See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = "django-insecure-0dba@=og9y67h47k0f-6o66(!!p(rme$zmhwvk$v6i-*jek!j8" +SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY") # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = os.environ.get("ALLOWED_HOSTS", "").split(",") # Application definition @@ -75,8 +80,12 @@ DATABASES = { "default": { - "ENGINE": "django.db.backends.sqlite3", - "NAME": BASE_DIR / "db.sqlite3", + "ENGINE": "django.db.backends.postgresql", + "NAME": os.environ.get("POSTGRES_DB"), + "USER": os.environ.get("POSTGRES_USER"), + "PASSWORD": os.environ.get("POSTGRES_PASSWORD"), + "HOST": os.environ.get("POSTGRES_HOST"), + "PORT": os.environ.get("POSTGRES_PORT"), } } From cfb96f8adf9f4d44f51973fdfce33f8e940a122e Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 12:58:46 +0300 Subject: [PATCH 02/44] Add new empty app called book and make corresponding supplements to settings.py --- book/__init__.py | 0 book/admin.py | 3 +++ book/apps.py | 6 ++++++ book/migrations/__init__.py | 0 book/models.py | 3 +++ book/tests.py | 3 +++ book/views.py | 3 +++ library_service/settings.py | 1 + 8 files changed, 19 insertions(+) create mode 100644 book/__init__.py create mode 100644 book/admin.py create mode 100644 book/apps.py create mode 100644 book/migrations/__init__.py create mode 100644 book/models.py create mode 100644 book/tests.py create mode 100644 book/views.py diff --git a/book/__init__.py b/book/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/book/admin.py b/book/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/book/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/book/apps.py b/book/apps.py new file mode 100644 index 0000000..0bdbe44 --- /dev/null +++ b/book/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class BookConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "book" diff --git a/book/migrations/__init__.py b/book/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/book/models.py b/book/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/book/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/book/tests.py b/book/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/book/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/book/views.py b/book/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/book/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/library_service/settings.py b/library_service/settings.py index b7f07e2..e17cc7d 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -42,6 +42,7 @@ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "book", ] MIDDLEWARE = [ From a582405d8ad6fdbfbdec371137c43438c4b64b7e Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 17:32:13 +0300 Subject: [PATCH 03/44] Establish the idea of the book on model level --- book/admin.py | 11 +++++++- book/migrations/0001_initial.py | 47 +++++++++++++++++++++++++++++++++ book/models.py | 20 +++++++++++++- 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 book/migrations/0001_initial.py diff --git a/book/admin.py b/book/admin.py index 8c38f3f..dc357dd 100644 --- a/book/admin.py +++ b/book/admin.py @@ -1,3 +1,12 @@ from django.contrib import admin -# Register your models here. +from book.models import Book + + +@admin.register(Book) +class BookAdmin(admin.ModelAdmin): + list_display = ( + "id", "title", "author", "cover", "inventory", "daily_fee" + ) + list_filter = ("author", ) + search_fields = ("title", ) diff --git a/book/migrations/0001_initial.py b/book/migrations/0001_initial.py new file mode 100644 index 0000000..6f8066c --- /dev/null +++ b/book/migrations/0001_initial.py @@ -0,0 +1,47 @@ +# Generated by Django 5.0.6 on 2024-06-16 13:35 + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + initial = True + + dependencies = [] + + operations = [ + migrations.CreateModel( + name="Book", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("title", models.CharField(max_length=255)), + ("author", models.CharField(max_length=255)), + ( + "cover", + models.CharField( + choices=[("H", "HARD"), ("S", "SOFT")], max_length=1 + ), + ), + ("inventory", models.PositiveIntegerField()), + ( + "daily_fee", + models.DecimalField( + decimal_places=2, + max_digits=5, + validators=[django.core.validators.MinValueValidator(0)], + ), + ), + ], + options={ + "ordering": ("title",), + }, + ), + ] diff --git a/book/models.py b/book/models.py index 71a8362..73514cb 100644 --- a/book/models.py +++ b/book/models.py @@ -1,3 +1,21 @@ +from django.core.validators import MinValueValidator from django.db import models -# Create your models here. + +class Book(models.Model): + COVER_CHOICES = [("H", "HARD"), ("S", "SOFT")] + + title = models.CharField(max_length=255) + author = models.CharField(max_length=255) + cover = models.CharField(max_length=1, choices=COVER_CHOICES) + inventory = models.PositiveIntegerField() + daily_fee = models.DecimalField( + max_digits=5, decimal_places=2, validators=[MinValueValidator(0)] + ) + + class Meta: + ordering = ("title",) + + def __str__(self): + return self.title + \ No newline at end of file From f24415ffa1bd374071091f53b33efee726390aa8 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 17:32:46 +0300 Subject: [PATCH 04/44] Install rest framework and make appropriate changes to existing files --- library_service/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/library_service/settings.py b/library_service/settings.py index e17cc7d..0bf21e1 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -42,6 +42,7 @@ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "rest_framework", "book", ] From ce58a231f931a98974b18eef920e0b5d35d1be72 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 17:33:20 +0300 Subject: [PATCH 05/44] Create serializers for book app --- book/serializers.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 book/serializers.py diff --git a/book/serializers.py b/book/serializers.py new file mode 100644 index 0000000..ef48905 --- /dev/null +++ b/book/serializers.py @@ -0,0 +1,15 @@ +from rest_framework import serializers + +from book.models import Book + + +class BookSerializer(serializers.ModelSerializer): + class Meta: + model = Book + fields = ("id", "title", "author", "cover", "inventory", "daily_fee") + + +class BookListSerializer(serializers.ModelSerializer): + class Meta: + model = Book + fields = ("id", "title", "author", "daily_fee") From d145c8609fed28b7a7dae85c42423d05c3182417 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 18:09:26 +0300 Subject: [PATCH 06/44] Create the view for book app --- book/views.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/book/views.py b/book/views.py index 91ea44a..fa8a805 100644 --- a/book/views.py +++ b/book/views.py @@ -1,3 +1,14 @@ -from django.shortcuts import render +from rest_framework import viewsets -# Create your views here. +from book.models import Book +from book.serializers import BookSerializer, BookListSerializer + + +class BookViewSet(viewsets.ModelViewSet): + queryset = Book.objects.all() + serializer_class = BookSerializer + + def get_serializer_class(self): + if self.action == "list": + return BookListSerializer + return self.serializer_class From 0859039969468a7dc93d682c4269649cf198f9ef Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 18:10:20 +0300 Subject: [PATCH 07/44] Create urls for book app --- book/urls.py | 11 +++++++++++ library_service/urls.py | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 book/urls.py diff --git a/book/urls.py b/book/urls.py new file mode 100644 index 0000000..965138f --- /dev/null +++ b/book/urls.py @@ -0,0 +1,11 @@ +from rest_framework import routers + +from book.views import BookViewSet + + +router = routers.DefaultRouter() +router.register("", BookViewSet) + +urlpatterns = router.urls + +app_name = "book" diff --git a/library_service/urls.py b/library_service/urls.py index 0ee5c85..c3dd406 100644 --- a/library_service/urls.py +++ b/library_service/urls.py @@ -15,8 +15,9 @@ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.contrib import admin -from django.urls import path +from django.urls import path, include urlpatterns = [ path("admin/", admin.site.urls), + path("api/books/", include("book.urls", namespace="book")), ] From f1c0d1e8c5a4ed2ed914afb2bc1b73aa0ae810de Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 18:11:09 +0300 Subject: [PATCH 08/44] Add new empty app called user and make appropriate amendments to settings.py --- library_service/settings.py | 1 + user/__init__.py | 0 user/admin.py | 3 +++ user/apps.py | 6 ++++++ user/migrations/__init__.py | 0 user/models.py | 3 +++ user/tests.py | 3 +++ user/views.py | 3 +++ 8 files changed, 19 insertions(+) create mode 100644 user/__init__.py create mode 100644 user/admin.py create mode 100644 user/apps.py create mode 100644 user/migrations/__init__.py create mode 100644 user/models.py create mode 100644 user/tests.py create mode 100644 user/views.py diff --git a/library_service/settings.py b/library_service/settings.py index 0bf21e1..e8c1360 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -44,6 +44,7 @@ "django.contrib.staticfiles", "rest_framework", "book", + "user", ] MIDDLEWARE = [ diff --git a/user/__init__.py b/user/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/user/admin.py b/user/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/user/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/user/apps.py b/user/apps.py new file mode 100644 index 0000000..578292c --- /dev/null +++ b/user/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class UserConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "user" diff --git a/user/migrations/__init__.py b/user/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/user/models.py b/user/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/user/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/user/tests.py b/user/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/user/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/user/views.py b/user/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/user/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. From 390e078ee56a8f5d27e321756516b245adf45d90 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 18:13:14 +0300 Subject: [PATCH 09/44] Constitute the concept of the user on model level --- library_service/settings.py | 2 + user/admin.py | 39 ++++++++++- user/migrations/0001_initial.py | 115 ++++++++++++++++++++++++++++++++ user/models.py | 51 +++++++++++++- 4 files changed, 205 insertions(+), 2 deletions(-) create mode 100644 user/migrations/0001_initial.py diff --git a/library_service/settings.py b/library_service/settings.py index e8c1360..34e1091 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -111,6 +111,8 @@ }, ] +AUTH_USER_MODEL = "user.User" + # Internationalization # https://docs.djangoproject.com/en/5.0/topics/i18n/ diff --git a/user/admin.py b/user/admin.py index 8c38f3f..d81c010 100644 --- a/user/admin.py +++ b/user/admin.py @@ -1,3 +1,40 @@ from django.contrib import admin +from django.contrib.auth.admin import UserAdmin as DjangoUserAdmin +from django.utils.translation import gettext as _ -# Register your models here. +from user.models import User + + +@admin.register(User) +class UserAdmin(DjangoUserAdmin): + """Define admin model for custom User model with no email field.""" + + fieldsets = ( + (None, {"fields": ("email", "password")}), + (_("Personal info"), {"fields": ("first_name", "last_name")}), + ( + _("Permissions"), + { + "fields": ( + "is_active", + "is_staff", + "is_superuser", + "groups", + "user_permissions", + ) + }, + ), + (_("Important dates"), {"fields": ("last_login", "date_joined")}), + ) + add_fieldsets = ( + ( + None, + { + "classes": ("wide",), + "fields": ("email", "password1", "password2"), + }, + ), + ) + list_display = ("email", "first_name", "last_name", "is_staff") + search_fields = ("email", "first_name", "last_name") + ordering = ("email",) diff --git a/user/migrations/0001_initial.py b/user/migrations/0001_initial.py new file mode 100644 index 0000000..eb11e32 --- /dev/null +++ b/user/migrations/0001_initial.py @@ -0,0 +1,115 @@ +# Generated by Django 5.0.6 on 2024-06-16 13:57 + +import django.utils.timezone +import user.models +from django.db import migrations, models + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ("auth", "0012_alter_user_first_name_max_length"), + ] + + operations = [ + migrations.CreateModel( + name="User", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("password", models.CharField(max_length=128, verbose_name="password")), + ( + "last_login", + models.DateTimeField( + blank=True, null=True, verbose_name="last login" + ), + ), + ( + "is_superuser", + models.BooleanField( + default=False, + help_text="Designates that this user has all permissions without explicitly assigning them.", + verbose_name="superuser status", + ), + ), + ( + "first_name", + models.CharField( + blank=True, max_length=150, verbose_name="first name" + ), + ), + ( + "last_name", + models.CharField( + blank=True, max_length=150, verbose_name="last name" + ), + ), + ( + "is_staff", + models.BooleanField( + default=False, + help_text="Designates whether the user can log into this admin site.", + verbose_name="staff status", + ), + ), + ( + "is_active", + models.BooleanField( + default=True, + help_text="Designates whether this user should be treated as active. Unselect this instead of deleting accounts.", + verbose_name="active", + ), + ), + ( + "date_joined", + models.DateTimeField( + default=django.utils.timezone.now, verbose_name="date joined" + ), + ), + ( + "email", + models.EmailField( + max_length=254, unique=True, verbose_name="email address" + ), + ), + ( + "groups", + models.ManyToManyField( + blank=True, + help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.", + related_name="user_set", + related_query_name="user", + to="auth.group", + verbose_name="groups", + ), + ), + ( + "user_permissions", + models.ManyToManyField( + blank=True, + help_text="Specific permissions for this user.", + related_name="user_set", + related_query_name="user", + to="auth.permission", + verbose_name="user permissions", + ), + ), + ], + options={ + "verbose_name": "user", + "verbose_name_plural": "users", + "abstract": False, + }, + managers=[ + ("objects", user.models.UserManager()), + ], + ), + ] diff --git a/user/models.py b/user/models.py index 71a8362..4d5023b 100644 --- a/user/models.py +++ b/user/models.py @@ -1,3 +1,52 @@ +from django.contrib.auth.models import ( + AbstractUser, + BaseUserManager, +) from django.db import models +from django.utils.translation import gettext as _ -# Create your models here. + +class UserManager(BaseUserManager): + """Define a model manager for User model with no username field.""" + + use_in_migrations = True + + def _create_user(self, email, password, **extra_fields): + """Create and save a User with the given email and password.""" + if not email: + raise ValueError("The given email must be set") + email = self.normalize_email(email) + user = self.model(email=email, **extra_fields) + user.set_password(password) + user.save(using=self._db) + return user + + def create_user(self, email, password=None, **extra_fields): + """Create and save a regular User with + the given email and password.""" + extra_fields.setdefault("is_staff", False) + extra_fields.setdefault("is_superuser", False) + return self._create_user(email, password, **extra_fields) + + def create_superuser(self, email, password, **extra_fields): + """Create and save a SuperUser + with the given email and password.""" + extra_fields.setdefault("is_staff", True) + extra_fields.setdefault("is_superuser", True) + + if extra_fields.get("is_staff") is not True: + raise ValueError("Superuser must have is_staff=True.") + if extra_fields.get("is_superuser") is not True: + raise ValueError("Superuser must have is_superuser=True.") + + return self._create_user(email, password, **extra_fields) + + +class User(AbstractUser): + username = None + email = models.EmailField(_("email address"), unique=True) + + USERNAME_FIELD = "email" + REQUIRED_FIELDS = [] + + objects = UserManager() From 04caf3480ebf297d22f8a55dad6ee5f8ea98f836 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 18:14:26 +0300 Subject: [PATCH 10/44] Create the serializer for user app --- user/serializers.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 user/serializers.py diff --git a/user/serializers.py b/user/serializers.py new file mode 100644 index 0000000..69754c4 --- /dev/null +++ b/user/serializers.py @@ -0,0 +1,32 @@ +from django.contrib.auth import get_user_model +from rest_framework import serializers + + +class UserSerializer(serializers.ModelSerializer): + class Meta: + model = get_user_model() + fields = ( + "id", + "email", + "first_name", + "last_name", + "password", + "is_staff" + ) + read_only_fields = ("id", "is_staff") + extra_kwargs = {"password": {"write_only": True, "min_length": 5}} + + def create(self, validated_data): + """Create a new user with encrypted password""" + return get_user_model().objects.create_user(**validated_data) + + def update(self, instance, validated_data): + """Update a user with correctly encrypted password""" + password = validated_data.pop("password", None) + user = super().update(instance, validated_data) + + if password: + user.set_password(password) + user.save() + + return user From 6928f987f2b90f8097a3c2c8ed6653fd81721666 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 22:26:53 +0300 Subject: [PATCH 11/44] Create views for user app --- user/views.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/user/views.py b/user/views.py index 91ea44a..9cc9bc8 100644 --- a/user/views.py +++ b/user/views.py @@ -1,3 +1,14 @@ -from django.shortcuts import render +from rest_framework import generics -# Create your views here. +from user.serializers import UserSerializer + + +class CreateUserView(generics.CreateAPIView): + serializer_class = UserSerializer + + +class ManageUserView(generics.RetrieveUpdateDestroyAPIView): + serializer_class = UserSerializer + + def get_object(self): + return self.request.user From 486727910567ba149e44a1bb8b93189123d19fd7 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Sun, 16 Jun 2024 22:29:15 +0300 Subject: [PATCH 12/44] Create urls for user app --- library_service/urls.py | 1 + user/urls.py | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 user/urls.py diff --git a/library_service/urls.py b/library_service/urls.py index c3dd406..da5b1b8 100644 --- a/library_service/urls.py +++ b/library_service/urls.py @@ -20,4 +20,5 @@ urlpatterns = [ path("admin/", admin.site.urls), path("api/books/", include("book.urls", namespace="book")), + path("api/users/", include("user.urls", namespace="user")), ] diff --git a/user/urls.py b/user/urls.py new file mode 100644 index 0000000..5b4e3fb --- /dev/null +++ b/user/urls.py @@ -0,0 +1,10 @@ +from django.urls import path + +from user.views import CreateUserView, ManageUserView + +urlpatterns = [ + path("register/", CreateUserView.as_view(), name="create"), + path("me/", ManageUserView.as_view(), name="manage"), +] + +app_name = "user" From 3fa2b853e25d15f40bc076701db196b4d6f1e02a Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Mon, 17 Jun 2024 00:02:59 +0300 Subject: [PATCH 13/44] Apply JWT authentication --- library_service/settings.py | 15 +++++++++++++++ user/urls.py | 8 ++++++++ user/views.py | 2 ++ 3 files changed, 25 insertions(+) diff --git a/library_service/settings.py b/library_service/settings.py index 34e1091..6b48a13 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -11,6 +11,7 @@ """ import os +from datetime import timedelta from pathlib import Path from dotenv import load_dotenv @@ -43,6 +44,7 @@ "django.contrib.messages", "django.contrib.staticfiles", "rest_framework", + "rest_framework_simplejwt", "book", "user", ] @@ -135,3 +137,16 @@ # https://docs.djangoproject.com/en/5.0/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" + +REST_FRAMEWORK = { + "DEFAULT_AUTHENTICATION_CLASSES": ( + "rest_framework_simplejwt.authentication.JWTAuthentication", + ), +} + +SIMPLE_JWT = { + "ACCESS_TOKEN_LIFETIME": timedelta(hours=1), + "REFRESH_TOKEN_LIFETIME": timedelta(days=1), + "ROTATE_REFRESH_TOKENS": True, + "BLACKLIST_AFTER_ROTATION": False, +} diff --git a/user/urls.py b/user/urls.py index 5b4e3fb..bd9b93e 100644 --- a/user/urls.py +++ b/user/urls.py @@ -1,9 +1,17 @@ from django.urls import path +from rest_framework_simplejwt.views import ( + TokenObtainPairView, + TokenRefreshView, + TokenVerifyView, +) from user.views import CreateUserView, ManageUserView urlpatterns = [ path("register/", CreateUserView.as_view(), name="create"), + path("token/", TokenObtainPairView.as_view(), name="token_obtain_pair"), + path("token/refresh/", TokenRefreshView.as_view(), name="token_refresh"), + path("token/verify/", TokenVerifyView.as_view(), name="token_verify"), path("me/", ManageUserView.as_view(), name="manage"), ] diff --git a/user/views.py b/user/views.py index 9cc9bc8..e3bf72f 100644 --- a/user/views.py +++ b/user/views.py @@ -1,4 +1,5 @@ from rest_framework import generics +from rest_framework_simplejwt.authentication import JWTAuthentication from user.serializers import UserSerializer @@ -9,6 +10,7 @@ class CreateUserView(generics.CreateAPIView): class ManageUserView(generics.RetrieveUpdateDestroyAPIView): serializer_class = UserSerializer + authentication_classes = (JWTAuthentication,) def get_object(self): return self.request.user From 16f5e30f1d7c80139c5b809fbbc7af22dee52c2c Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Mon, 17 Jun 2024 00:03:51 +0300 Subject: [PATCH 14/44] Add permissions for both book and user apps --- book/views.py | 7 +++++++ user/views.py | 3 +++ 2 files changed, 10 insertions(+) diff --git a/book/views.py b/book/views.py index fa8a805..0d53377 100644 --- a/book/views.py +++ b/book/views.py @@ -1,4 +1,5 @@ from rest_framework import viewsets +from rest_framework.permissions import IsAdminUser, AllowAny from book.models import Book from book.serializers import BookSerializer, BookListSerializer @@ -7,8 +8,14 @@ class BookViewSet(viewsets.ModelViewSet): queryset = Book.objects.all() serializer_class = BookSerializer + permission_classes = (IsAdminUser,) def get_serializer_class(self): if self.action == "list": return BookListSerializer return self.serializer_class + + def get_permissions(self): + if self.action in ("list", "retrieve"): + return [AllowAny()] + return super().get_permissions() diff --git a/user/views.py b/user/views.py index e3bf72f..ad42384 100644 --- a/user/views.py +++ b/user/views.py @@ -1,4 +1,5 @@ from rest_framework import generics +from rest_framework.permissions import AllowAny, IsAuthenticated from rest_framework_simplejwt.authentication import JWTAuthentication from user.serializers import UserSerializer @@ -6,11 +7,13 @@ class CreateUserView(generics.CreateAPIView): serializer_class = UserSerializer + permission_classes = (AllowAny,) class ManageUserView(generics.RetrieveUpdateDestroyAPIView): serializer_class = UserSerializer authentication_classes = (JWTAuthentication,) + permission_classes = (IsAuthenticated,) def get_object(self): return self.request.user From 731ca0e3224704f5970c9cdf7357c229ecadfbed Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Mon, 17 Jun 2024 11:11:46 +0300 Subject: [PATCH 15/44] Add tests to book app --- book/tests.py | 3 - book/tests/__init__.py | 0 book/tests/test_book_api.py | 186 ++++++++++++++++++++++++++++++++++++ 3 files changed, 186 insertions(+), 3 deletions(-) delete mode 100644 book/tests.py create mode 100644 book/tests/__init__.py create mode 100644 book/tests/test_book_api.py diff --git a/book/tests.py b/book/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/book/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/book/tests/__init__.py b/book/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/book/tests/test_book_api.py b/book/tests/test_book_api.py new file mode 100644 index 0000000..18f5bbc --- /dev/null +++ b/book/tests/test_book_api.py @@ -0,0 +1,186 @@ +from django.contrib.auth import get_user_model +from django.urls import reverse + +from rest_framework.test import APIClient, APITestCase +from rest_framework import status +from rest_framework_simplejwt.tokens import RefreshToken + +from book.models import Book +from book.serializers import BookSerializer, BookListSerializer + +BOOK_URL = reverse("book:book-list") + + +def sample_book(**kwargs): + defaults = { + "title": "Test title 1", + "author": "Test author 1", + "cover": "S", + "inventory": 25, + "daily_fee": 20.0 + } + defaults.update(kwargs) + + return Book.objects.create(**defaults) + + +def detail_url(book_id): + return reverse("book:book-detail", args=[book_id]) + + +class UnauthenticatedBooksApiTests(APITestCase): + def setUp(self) -> None: + self.client = APIClient() + self.book = sample_book() + + def test_list_books_auth_not_required(self): + resp = self.client.get(BOOK_URL) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + + def test_create_book_not_allowed(self): + payload = { + "title": "Test title 2", + "author": "Test author 2", + "cover": "S", + "inventory": 25, + "daily_fee": 20.0 + } + + resp = self.client.post(BOOK_URL, payload) + + self.assertEquals(resp.status_code, status.HTTP_401_UNAUTHORIZED) + + def test_detail_book_allowed(self): + book = sample_book() + url = detail_url(book.id) + + resp = self.client.get(url) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + + +class AuthenticatedBookApiTests(APITestCase): + def setUp(self) -> None: + self.client = APIClient() + self.user = get_user_model().objects.create_user( + "test_user@test.com", + "testpass" + ) + + refresh = RefreshToken.for_user(self.user) + self.token = refresh.access_token + self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {self.token}") + + self.book = sample_book() + + def test_list_books(self): + resp = self.client.get(BOOK_URL) + + books = Book.objects.all() + serializer = BookListSerializer(books, many=True) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + self.assertEquals(resp.data, serializer.data) + + def test_retrieve_book_detail(self): + book = self.book + url = detail_url(book.id) + + resp = self.client.get(url) + + serializer = BookSerializer(book) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + self.assertEquals(resp.data, serializer.data) + + def test_book_create_not_allowed(self): + payload = { + "title": "Test title 2", + "author": "Test author 2", + "cover": "S", + "inventory": 25, + "daily_fee": 20.0 + } + + resp = self.client.post(BOOK_URL, payload) + + self.assertEquals(resp.status_code, status.HTTP_403_FORBIDDEN) + + def test_book_update_not_allowed(self): + book = self.book + url = detail_url(book.id) + + payload = { + "title": "Test title 1 updated", + "author": "Test author 1 updated", + "cover": "H", + "inventory": 28, + "daily_fee": 30.0 + } + + resp = self.client.put(url, payload) + + self.assertEquals(resp.status_code, status.HTTP_403_FORBIDDEN) + + def test_book_delete_not_allowed(self): + book = self.book + url = detail_url(book.id) + + resp = self.client.delete(url) + + self.assertEquals(resp.status_code, status.HTTP_403_FORBIDDEN) + + +class AdminBookApiTests(APITestCase): + def setUp(self) -> None: + self.client = APIClient() + self.user = get_user_model().objects.create_user( + "admin@admin.com", "testpass", is_staff=True + ) + + refresh = RefreshToken.for_user(self.user) + self.token = refresh.access_token + self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {self.token}") + + self.book = sample_book() + + def test_book_create(self): + payload = { + "title": "Test title 2", + "author": "Test author 2", + "cover": "S", + "inventory": 60, + "daily_fee": 50.0 + } + + resp = self.client.post(BOOK_URL, payload) + + serializer = BookSerializer(resp.data, many=False) + + self.assertEquals(resp.status_code, status.HTTP_201_CREATED) + self.assertEquals(resp.data, serializer.data) + + def test_book_update(self): + book = self.book + url = detail_url(book.id) + + payload = { + "title": "Test title 2 updated", + "author": "Test author 2 updated", + "cover": "S", + "inventory": 80, + "daily_fee": 90.0 + } + + resp = self.client.put(url, payload) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + + def test_book_delete(self): + book = self.book + url = detail_url(book.id) + + resp = self.client.delete(url) + + self.assertEquals(resp.status_code, status.HTTP_204_NO_CONTENT) From 4ca40a808bda5cc14b265b62cedf05e91ba19aa4 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Mon, 17 Jun 2024 11:28:48 +0300 Subject: [PATCH 16/44] Add new empty app called borrowing and make associated supplements to settings.py --- borrowing/__init__.py | 0 borrowing/admin.py | 3 +++ borrowing/apps.py | 6 ++++++ borrowing/migrations/__init__.py | 0 borrowing/models.py | 3 +++ borrowing/tests.py | 3 +++ borrowing/views.py | 3 +++ library_service/settings.py | 1 + 8 files changed, 19 insertions(+) create mode 100644 borrowing/__init__.py create mode 100644 borrowing/admin.py create mode 100644 borrowing/apps.py create mode 100644 borrowing/migrations/__init__.py create mode 100644 borrowing/models.py create mode 100644 borrowing/tests.py create mode 100644 borrowing/views.py diff --git a/borrowing/__init__.py b/borrowing/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/borrowing/admin.py b/borrowing/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/borrowing/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/borrowing/apps.py b/borrowing/apps.py new file mode 100644 index 0000000..3bb22a7 --- /dev/null +++ b/borrowing/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class BorrowingConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "borrowing" diff --git a/borrowing/migrations/__init__.py b/borrowing/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/borrowing/models.py b/borrowing/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/borrowing/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/borrowing/tests.py b/borrowing/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/borrowing/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/borrowing/views.py b/borrowing/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/borrowing/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. diff --git a/library_service/settings.py b/library_service/settings.py index 6b48a13..77f5b7d 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -47,6 +47,7 @@ "rest_framework_simplejwt", "book", "user", + "borrowing", ] MIDDLEWARE = [ From b4ac43dd412b171082b16c1ab8122abeb032f864 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Mon, 17 Jun 2024 12:06:34 +0300 Subject: [PATCH 17/44] Embody the vision of the borrowing on model level --- borrowing/admin.py | 4 ++- borrowing/migrations/0001_initial.py | 53 ++++++++++++++++++++++++++++ borrowing/models.py | 26 +++++++++++++- 3 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 borrowing/migrations/0001_initial.py diff --git a/borrowing/admin.py b/borrowing/admin.py index 8c38f3f..ef42e7d 100644 --- a/borrowing/admin.py +++ b/borrowing/admin.py @@ -1,3 +1,5 @@ from django.contrib import admin -# Register your models here. +from borrowing.models import Borrowing + +admin.site.register(Borrowing) diff --git a/borrowing/migrations/0001_initial.py b/borrowing/migrations/0001_initial.py new file mode 100644 index 0000000..3978a3d --- /dev/null +++ b/borrowing/migrations/0001_initial.py @@ -0,0 +1,53 @@ +# Generated by Django 5.0.6 on 2024-06-17 08:59 + +import django.db.models.deletion +from django.conf import settings +from django.db import migrations, models + + +class Migration(migrations.Migration): + initial = True + + dependencies = [ + ("book", "0001_initial"), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name="Borrowing", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ("borrow_date", models.DateField(auto_now_add=True)), + ("expected_return_date", models.DateField()), + ("actual_return_date", models.DateField(blank=True, null=True)), + ( + "book", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="borrowings", + to="book.book", + ), + ), + ( + "user", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="borrowings", + to=settings.AUTH_USER_MODEL, + ), + ), + ], + options={ + "ordering": ("borrow_date",), + }, + ), + ] diff --git a/borrowing/models.py b/borrowing/models.py index 71a8362..b8fe279 100644 --- a/borrowing/models.py +++ b/borrowing/models.py @@ -1,3 +1,27 @@ from django.db import models -# Create your models here. +from book.models import Book +from library_service import settings + + +class Borrowing(models.Model): + + borrow_date = models.DateField(auto_now_add=True) + expected_return_date = models.DateField() + actual_return_date = models.DateField(null=True, blank=True) + book = models.ForeignKey( + Book, + on_delete=models.CASCADE, + related_name="borrowings" + ) + user = models.ForeignKey( + settings.AUTH_USER_MODEL, + on_delete=models.CASCADE, + related_name="borrowings" + ) + + class Meta: + ordering = ("borrow_date",) + + def __str__(self): + return f"{self.book.title} borrowed by {self.user}" From e7bf6d63905784582160f2f6b66b9dcd1680fa88 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 18 Jun 2024 17:02:07 +0300 Subject: [PATCH 18/44] Create serializers for borrowing app --- borrowing/serializers.py | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 borrowing/serializers.py diff --git a/borrowing/serializers.py b/borrowing/serializers.py new file mode 100644 index 0000000..eeea489 --- /dev/null +++ b/borrowing/serializers.py @@ -0,0 +1,71 @@ +from django.db import transaction +from rest_framework import serializers + +from borrowing.models import Borrowing +from book.serializers import BookSerializer + + +class BorrowingSerializer(serializers.ModelSerializer): + + class Meta: + model = Borrowing + fields = ( + "id", + "borrow_date", + "expected_return_date", + "actual_return_date", + "book", + "user" + ) + + +class BorrowingCreateSerializer(serializers.ModelSerializer): + class Meta: + model = Borrowing + fields = ("id", "borrow_date", "expected_return_date", "book", "user") + + @transaction.atomic() + def create(self, validated_data): + borrowing = Borrowing.objects.create(**validated_data) + book = validated_data["book"] + book.inventory -= 1 + book.save() + + return borrowing + + +class BorrowingListSerializer(serializers.ModelSerializer): + borrow_date = serializers.DateField(format="%Y-%m-%d") + actual_return_date = serializers.DateField(format="%Y-%m-%d") + expected_return_date = serializers.DateField(format="%Y-%m-%d") + + class Meta: + model = Borrowing + fields = ( + "id", + "borrow_date", + "expected_return_date", + "actual_return_date", + "book", + "user" + ) + + +class BorrowingDetailSerializer(BorrowingListSerializer): + user = serializers.SlugRelatedField( + many=False, + read_only=True, + slug_field="email" + ) + book = BookSerializer(read_only=True) + + class Meta: + model = Borrowing + fields = ( + "id", + "borrow_date", + "expected_return_date", + "actual_return_date", + "book", + "user" + ) From 8ed5de241166ae431664be971f149849f481119a Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Fri, 21 Jun 2024 22:18:43 +0300 Subject: [PATCH 19/44] Create the view for borrowing app --- borrowing/views.py | 63 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/borrowing/views.py b/borrowing/views.py index 91ea44a..bd2a643 100644 --- a/borrowing/views.py +++ b/borrowing/views.py @@ -1,3 +1,62 @@ -from django.shortcuts import render +from rest_framework import mixins +from rest_framework.viewsets import GenericViewSet -# Create your views here. +from borrowing.models import Borrowing +from borrowing.serializers import ( + BorrowingSerializer, + BorrowingCreateSerializer, + BorrowingListSerializer, + BorrowingDetailSerializer, +) + + +class BorrowingViewSet( + mixins.CreateModelMixin, + mixins.ListModelMixin, + mixins.RetrieveModelMixin, + mixins.UpdateModelMixin, + GenericViewSet +): + queryset = Borrowing.objects.all() + serializer_class = BorrowingSerializer + + def perform_create(self, serializer): + serializer.save(user=self.request.user) + + @staticmethod + def _params_to_ints(qs): + return [int(str_id) for str_id in qs.split(",")] + + def get_queryset(self): + queryset = super().get_queryset() + if self.action in ("list", "retrieve") and not self.request.user.is_staff: + return queryset.filter(user_id=self.request.user.id) + + user = self.request.query_params.get("user") + is_active = self.request.query_params.get("is_active", "").lower() + + if is_active == "true": + queryset = queryset.filter( + actual_return_date__isnull=True + ) + + if is_active == "false": + queryset = queryset.filter( + actual_return_date__isnull=False + ) + + if self.request.user.is_staff: + if user: + user_id = self._params_to_ints(user) + queryset = queryset.filter(user_id__in=user_id) + + return queryset + + def get_serializer_class(self): + if self.action == "list": + return BorrowingListSerializer + if self.action == "retrieve": + return BorrowingDetailSerializer + if self.action == "create": + return BorrowingCreateSerializer + return self.serializer_class From 23eccbef7f5816b52763920c41d9be6a8b362032 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Fri, 21 Jun 2024 22:19:51 +0300 Subject: [PATCH 20/44] Create urls for borrowing app --- borrowing/urls.py | 9 +++++++++ library_service/urls.py | 1 + 2 files changed, 10 insertions(+) create mode 100644 borrowing/urls.py diff --git a/borrowing/urls.py b/borrowing/urls.py new file mode 100644 index 0000000..d0d1d8a --- /dev/null +++ b/borrowing/urls.py @@ -0,0 +1,9 @@ +from rest_framework import routers +from borrowing.views import BorrowingViewSet + +router = routers.DefaultRouter() +router.register("", BorrowingViewSet) + +urlpatterns = router.urls + +app_name = "borrowing" diff --git a/library_service/urls.py b/library_service/urls.py index da5b1b8..8bc3830 100644 --- a/library_service/urls.py +++ b/library_service/urls.py @@ -21,4 +21,5 @@ path("admin/", admin.site.urls), path("api/books/", include("book.urls", namespace="book")), path("api/users/", include("user.urls", namespace="user")), + path("api/borrowings/", include("borrowing.urls", namespace="borrowing")), ] From 61f6406d93d5056dc0f25f2fa0cd83c1d401b5a8 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Fri, 21 Jun 2024 22:21:54 +0300 Subject: [PATCH 21/44] Put into effect the functionality of sending the notification about new borrowing creation --- .env.sample | 4 ++- borrowing/management/__init__.py | 0 borrowing/management/commands/__init__.py | 0 .../management/commands/send_notification.py | 9 ++++++ borrowing/models.py | 15 +++++++++ borrowing/notifications.py | 32 +++++++++++++++++++ library_service/settings.py | 3 ++ 7 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 borrowing/management/__init__.py create mode 100644 borrowing/management/commands/__init__.py create mode 100644 borrowing/management/commands/send_notification.py create mode 100644 borrowing/notifications.py diff --git a/.env.sample b/.env.sample index a5d5774..5d172cb 100644 --- a/.env.sample +++ b/.env.sample @@ -4,4 +4,6 @@ POSTGRES_DB=POSTGRES_DB POSTGRES_USER=POSTGRES_USER POSTGRES_PASSWORD=POSTGRES_PASSWORD POSTGRES_HOST=POSTGRES_HOST -POSTGRES_PORT=POSTGRES_PORT \ No newline at end of file +POSTGRES_PORT=POSTGRES_PORT +TELEGRAM_BOT_TOKEN=TELEGRAM_BOT_TOKEN +TELEGRAM_CHAT_ID=TELEGRAM_CHAT_ID diff --git a/borrowing/management/__init__.py b/borrowing/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/borrowing/management/commands/__init__.py b/borrowing/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/borrowing/management/commands/send_notification.py b/borrowing/management/commands/send_notification.py new file mode 100644 index 0000000..6bfaf4b --- /dev/null +++ b/borrowing/management/commands/send_notification.py @@ -0,0 +1,9 @@ +import requests +from django.conf import settings + + +def notification(message): + chat_id = settings.TELEGRAM_CHAT_ID + url = f"https://api.telegram.org/bot{settings.TELEGRAM_BOT_TOKEN}/sendMessage" + data = {"chat_id": chat_id, "text": message} + requests.post(url, data) diff --git a/borrowing/models.py b/borrowing/models.py index b8fe279..e9dfb0e 100644 --- a/borrowing/models.py +++ b/borrowing/models.py @@ -1,6 +1,8 @@ from django.db import models +from rest_framework.generics import get_object_or_404 from book.models import Book +from borrowing.management.commands.send_notification import notification from library_service import settings @@ -25,3 +27,16 @@ class Meta: def __str__(self): return f"{self.book.title} borrowed by {self.user}" + + def save(self, *args, **kwargs): + book = get_object_or_404(Book, pk=self.book.id) + message = ( + f"You have borrowed the book:\n'{book.title}'." + f"\nExpected return date:" + f"\n{self.expected_return_date}\n" + f"Rental fee per day:\n" + f"{book.daily_fee} $" + ) + if self.pk is None: + notification(message) + super().save(*args, **kwargs) diff --git a/borrowing/notifications.py b/borrowing/notifications.py new file mode 100644 index 0000000..08fb5d0 --- /dev/null +++ b/borrowing/notifications.py @@ -0,0 +1,32 @@ +import logging +from datetime import datetime, timedelta + +from borrowing.management.commands.send_notification import notification + +from borrowing.models import Borrowing + +logger = logging.getLogger(__name__) + + +def get_overdue_borrowings(): + tomorrow = datetime.now().date() + timedelta(days=1) + queryset = Borrowing.objects.filter( + actual_return_date__isnull=True, + expected_return_date__lte=tomorrow + ) + return queryset + + +def send_overdue_borrowing_notification(): + borrowings = get_overdue_borrowings() + if not borrowings: + notification("There are no overdue borrowings today.") + + for borrowing in borrowings: + logger.info(f"Creating message for borrowing with id: {borrowing.id}") + message = f"The expiration date of your borrowing is " \ + f"{borrowing.expected_return_date}.\n" \ + f"Please return the book '{borrowing.book.title}' " \ + f"by that time." + notification(message) + logger.info(f"The message has been sent successfully.") diff --git a/library_service/settings.py b/library_service/settings.py index 77f5b7d..1628d3e 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -151,3 +151,6 @@ "ROTATE_REFRESH_TOKENS": True, "BLACKLIST_AFTER_ROTATION": False, } + +TELEGRAM_BOT_TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN") +TELEGRAM_CHAT_ID = os.environ.get("TELEGRAM_CHAT_ID") From ae64559fbb85344d895c8972ae932f1db17a1df9 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Fri, 21 Jun 2024 22:23:01 +0300 Subject: [PATCH 22/44] Implement the logic of returning the book and the logic of sending the notification about overdue borrowing --- borrowing/serializers.py | 23 +++++++++++++++++++++++ borrowing/views.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/borrowing/serializers.py b/borrowing/serializers.py index eeea489..6aab122 100644 --- a/borrowing/serializers.py +++ b/borrowing/serializers.py @@ -1,5 +1,8 @@ +from datetime import datetime + from django.db import transaction from rest_framework import serializers +from rest_framework.exceptions import ValidationError from borrowing.models import Borrowing from book.serializers import BookSerializer @@ -69,3 +72,23 @@ class Meta: "book", "user" ) + + +class BorrowingReturnBookSerializer(serializers.ModelSerializer): + class Meta: + model = Borrowing + fields = ( + "id", + "borrow_date", + "expected_return_date", + "actual_return_date" + ) + + @transaction.atomic + def update(self, instance, validated_data): + book = instance.book + instance.actual_return_date = datetime.now().date() + instance.save() + book.inventory += 1 + book.save() + return instance diff --git a/borrowing/views.py b/borrowing/views.py index bd2a643..6111e6c 100644 --- a/borrowing/views.py +++ b/borrowing/views.py @@ -1,4 +1,9 @@ +from datetime import datetime + +from django.db import transaction from rest_framework import mixins +from rest_framework.decorators import action +from rest_framework.response import Response from rest_framework.viewsets import GenericViewSet from borrowing.models import Borrowing @@ -7,6 +12,7 @@ BorrowingCreateSerializer, BorrowingListSerializer, BorrowingDetailSerializer, + BorrowingReturnBookSerializer, ) @@ -59,4 +65,27 @@ def get_serializer_class(self): return BorrowingDetailSerializer if self.action == "create": return BorrowingCreateSerializer + if self.action == "return_book": + return BorrowingReturnBookSerializer return self.serializer_class + + @transaction.atomic + @action( + methods=["PATCH"], + detail=True, + url_path="return-book", + serializer_class=BorrowingReturnBookSerializer, + ) + def return_book(self, request, pk=None): + borrowing = self.get_object() + actual_return_date = datetime.now().date() + + serializer_update = BorrowingReturnBookSerializer( + borrowing, + context={"request": self.request}, + data={"actual_return_date": actual_return_date}, + partial=True, + ) + serializer_update.is_valid(raise_exception=True) + serializer_update.save() + return Response({"status": "book returned"}) From f7dcb0addffbaf24d8837b1c243d25b6a987289d Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 13:40:42 +0300 Subject: [PATCH 23/44] Install Celery and incorporate the logic of scheduled task: sending the notification about overdue borrowing --- .env.sample | 2 ++ borrowing/tasks.py | 8 ++++++++ borrowing/views.py | 6 ++++++ library_service/__init__.py | 3 +++ library_service/celery.py | 23 +++++++++++++++++++++++ library_service/settings.py | 9 +++++++++ 6 files changed, 51 insertions(+) create mode 100644 borrowing/tasks.py create mode 100644 library_service/celery.py diff --git a/.env.sample b/.env.sample index 5d172cb..9445e39 100644 --- a/.env.sample +++ b/.env.sample @@ -7,3 +7,5 @@ POSTGRES_HOST=POSTGRES_HOST POSTGRES_PORT=POSTGRES_PORT TELEGRAM_BOT_TOKEN=TELEGRAM_BOT_TOKEN TELEGRAM_CHAT_ID=TELEGRAM_CHAT_ID +CELERY_BROKER_URL=CELERY_BROKER_URL +CELERY_RESULT_BACKEND=CELERY_RESULT_BACKEND diff --git a/borrowing/tasks.py b/borrowing/tasks.py new file mode 100644 index 0000000..28f2d24 --- /dev/null +++ b/borrowing/tasks.py @@ -0,0 +1,8 @@ +from celery import shared_task + +from borrowing.notifications import send_overdue_borrowing_notification + + +@shared_task +def overdue_borrowing_notifications(): + send_overdue_borrowing_notification() diff --git a/borrowing/views.py b/borrowing/views.py index 6111e6c..63e9b96 100644 --- a/borrowing/views.py +++ b/borrowing/views.py @@ -14,6 +14,7 @@ BorrowingDetailSerializer, BorrowingReturnBookSerializer, ) +from borrowing.tasks import overdue_borrowing_notifications class BorrowingViewSet( @@ -26,6 +27,11 @@ class BorrowingViewSet( queryset = Borrowing.objects.all() serializer_class = BorrowingSerializer + def create(self, request, *args, **kwargs): + response = super().create(request, *args, **kwargs) + overdue_borrowing_notifications.delay() + return response + def perform_create(self, serializer): serializer.save(user=self.request.user) diff --git a/library_service/__init__.py b/library_service/__init__.py index e69de29..2da78d6 100644 --- a/library_service/__init__.py +++ b/library_service/__init__.py @@ -0,0 +1,3 @@ +from library_service.celery import app as celery_app + +__all__ = ("celery_app",) diff --git a/library_service/celery.py b/library_service/celery.py new file mode 100644 index 0000000..f94460b --- /dev/null +++ b/library_service/celery.py @@ -0,0 +1,23 @@ +import os + +from celery import Celery + +# Set the default Django settings module for the 'celery' program. +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "library_service.settings") + + +app = Celery("library_service") + +# Using a string here means the worker doesn't have to serialize +# the configuration object to child processes. +# - namespace='CELERY' means all celery-related configuration keys +# should have a `CELERY_` prefix. +app.config_from_object("django.conf:settings", namespace="CELERY") + +# Load task modules from all registered Django apps. +app.autodiscover_tasks() + + +@app.task(bind=True, ignore_result=True) +def debug_task(self): + print(f"Request: {self.request!r}") diff --git a/library_service/settings.py b/library_service/settings.py index 1628d3e..a08258a 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -43,6 +43,7 @@ "django.contrib.sessions", "django.contrib.messages", "django.contrib.staticfiles", + "django_celery_beat", "rest_framework", "rest_framework_simplejwt", "book", @@ -154,3 +155,11 @@ TELEGRAM_BOT_TOKEN = os.environ.get("TELEGRAM_BOT_TOKEN") TELEGRAM_CHAT_ID = os.environ.get("TELEGRAM_CHAT_ID") + + +CELERY_BROKER_URL = os.environ.get("CELERY_BROKER_URL") +CELERY_RESULT_BACKEND = os.environ.get("CELERY_RESULT_BACKEND") +CELERY_TIMEZONE = "Europe/Kyiv" +CELERY_TASK_TRACK_STARTED = True +CELERY_TASK_TIME_LIMIT = 30 * 60 +CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler" From d0dabd57745c96c387a78495bf23745f3284053f Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 13:46:33 +0300 Subject: [PATCH 24/44] Add the validation for book inventory and the validation for returned book --- borrowing/models.py | 5 +++++ borrowing/serializers.py | 14 ++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/borrowing/models.py b/borrowing/models.py index e9dfb0e..cfc0769 100644 --- a/borrowing/models.py +++ b/borrowing/models.py @@ -40,3 +40,8 @@ def save(self, *args, **kwargs): if self.pk is None: notification(message) super().save(*args, **kwargs) + + @staticmethod + def validate_inventory(book, error_to_raise): + if book.inventory < 1: + raise error_to_raise("There are no books in inventory to borrow.") diff --git a/borrowing/serializers.py b/borrowing/serializers.py index 6aab122..2907393 100644 --- a/borrowing/serializers.py +++ b/borrowing/serializers.py @@ -27,6 +27,14 @@ class Meta: model = Borrowing fields = ("id", "borrow_date", "expected_return_date", "book", "user") + def validate(self, attrs): + data = super().validate(attrs) + Borrowing.validate_inventory( + attrs["book"], + ValidationError + ) + return data + @transaction.atomic() def create(self, validated_data): borrowing = Borrowing.objects.create(**validated_data) @@ -84,6 +92,12 @@ class Meta: "actual_return_date" ) + def validate(self, attrs): + borrowing = self.instance + if borrowing.actual_return_date is not None: + raise ValidationError(detail="Book has been already returned.") + return super().validate(attrs=attrs) + @transaction.atomic def update(self, instance, validated_data): book = instance.book From 77f4b65cecb4bb75177698f8d91a525dc19917fd Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 13:47:02 +0300 Subject: [PATCH 25/44] Add permissions for borrowing app --- borrowing/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/borrowing/views.py b/borrowing/views.py index 63e9b96..8149200 100644 --- a/borrowing/views.py +++ b/borrowing/views.py @@ -3,6 +3,7 @@ from django.db import transaction from rest_framework import mixins from rest_framework.decorators import action +from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response from rest_framework.viewsets import GenericViewSet @@ -26,6 +27,7 @@ class BorrowingViewSet( ): queryset = Borrowing.objects.all() serializer_class = BorrowingSerializer + permission_classes = (IsAuthenticated,) def create(self, request, *args, **kwargs): response = super().create(request, *args, **kwargs) From 82eef2ca72d8ffd4e6fef5c5bbfda6310d6fa5b3 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 13:49:58 +0300 Subject: [PATCH 26/44] Add tests to borrowing app --- borrowing/tests.py | 3 - borrowing/tests/__init__.py | 0 borrowing/tests/test_borrowing_api.py | 397 ++++++++++++++++++++++++++ 3 files changed, 397 insertions(+), 3 deletions(-) delete mode 100644 borrowing/tests.py create mode 100644 borrowing/tests/__init__.py create mode 100644 borrowing/tests/test_borrowing_api.py diff --git a/borrowing/tests.py b/borrowing/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/borrowing/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/borrowing/tests/__init__.py b/borrowing/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/borrowing/tests/test_borrowing_api.py b/borrowing/tests/test_borrowing_api.py new file mode 100644 index 0000000..a8ec965 --- /dev/null +++ b/borrowing/tests/test_borrowing_api.py @@ -0,0 +1,397 @@ +from datetime import datetime, timedelta +from unittest.mock import patch + +from django.contrib.auth import get_user_model +from django.test import TestCase, RequestFactory +from django.urls import reverse + +from rest_framework.test import APIClient, APITestCase +from rest_framework import status +from rest_framework_simplejwt.tokens import RefreshToken + +from book.models import Book +from borrowing.models import Borrowing +from borrowing.serializers import ( + BorrowingSerializer, + BorrowingListSerializer, + BorrowingDetailSerializer +) + +BORROWING_URL = reverse("borrowing:borrowing-list") + + +def sample_book(**kwargs): + defaults = { + "title": "Sample book 1", + "author": "Test Author 1", + "cover": "S", + "inventory": 5, + "daily_fee": 10.0 + } + defaults.update(kwargs) + + return Book.objects.create(**defaults) + + +def sample_borrowing(**kwargs): + book = sample_book() + expected_return_date = kwargs.get("expected_return_date") + user = kwargs.get("user") + + defaults = { + "expected_return_date": expected_return_date, + "book": book, + "user": user + } + defaults.update(kwargs) + + return Borrowing.objects.create(**defaults) + + +def detail_url(borrowing_id): + return reverse("borrowing:borrowing-detail", args=[borrowing_id]) + + +def return_url(borrowing_id): + return reverse("borrowing:return-book", args=[borrowing_id]) + + +class UnauthenticatedBorrowingApiTests(APITestCase): + def setUp(self): + self.client = APIClient() + + def test_auth_required(self): + resp = self.client.get(BORROWING_URL) + self.assertEquals(resp.status_code, status.HTTP_401_UNAUTHORIZED) + + +class AuthenticatedBorrowingApiTests(TestCase): + def setUp(self): + self.client = APIClient() + self.user_1 = get_user_model().objects.create_user( + "test1@test.com", + "testpass1" + ) + self.user_2 = get_user_model().objects.create_user( + "test2@test.com", + "testpass2" + ) + self.user_3 = get_user_model().objects.create_user( + "test3@test.com", + "testpass3" + ) + + refresh = RefreshToken.for_user(self.user_1) + self.token = refresh.access_token + self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {self.token}") + + self.book_1 = Book.objects.create( + title="Sample book 2", + author="Test Author 2", + cover="S", + inventory=2, + daily_fee=10.0 + ) + self.book_2 = Book.objects.create( + title="Sample book 3", + author="Test Author 3", + cover="S", + inventory=5, + daily_fee=15.0 + ) + self.book_3 = Book.objects.create( + title="Sample book 4", + author="Test Author 4", + cover="S", + inventory=4, + daily_fee=20.0 + ) + self.book_4 = Book.objects.create( + title="Sample book 5", + author="Test Author 5", + cover="S", + inventory=3, + daily_fee=25.0 + ) + + self.borrowing_1 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=15), + book=self.book_1, + user=self.user_1 + ) + + self.borrowing_2 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=20), + book=self.book_2, + user=self.user_2 + ) + self.borrowing_3 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=25), + book=self.book_3, + user=self.user_3 + ) + + self.factory = RequestFactory() + + def test_list_borrowings(self): + sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=10), + user=self.user_1 + ) + sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=15), + user=self.user_2 + ) + + resp = self.client.get(BORROWING_URL) + + borrowings = Borrowing.objects.all() + serializer = BorrowingListSerializer(borrowings, many=True) + + self.assertEqual(resp.status_code, status.HTTP_200_OK) + self.assertEqual(resp.data[0], serializer.data[0]) + + def test_retrieve_own_borrowing_detail(self): + borrowing_user1 = self.borrowing_1 + borrowing_user2 = self.borrowing_2 + + borrowing_user1_url = detail_url(borrowing_user1.id) + borrowing_user2_url = detail_url(borrowing_user2.id) + + resp_1 = self.client.get(borrowing_user1_url) + resp_2 = self.client.get(borrowing_user2_url) + + serializer = BorrowingDetailSerializer(borrowing_user1) + + self.assertEquals(resp_1.status_code, status.HTTP_200_OK) + self.assertEquals(resp_1.data, serializer.data) + self.assertEquals(resp_2.status_code, status.HTTP_404_NOT_FOUND) + + @patch("celery.app.task.Task.delay", return_value=1) + @patch("celery.app.task.Task.apply_async", return_value=1) + def test_borrowing_create(self, *args, **kwargs): + payload = { + "expected_return_date": datetime.now().date() + timedelta(days=10), + "book": self.book_1.id, + "user": self.user_1.id + } + + resp = self.client.post(BORROWING_URL, payload) + + self.book_1.inventory -= 1 + + self.book_1.save() + + self.book_1.refresh_from_db() + + self.assertEquals(resp.status_code, status.HTTP_201_CREATED) + self.assertEquals(self.book_1.inventory, 1) + + def test_borrowing_create_not_allowed_if_zero_inventory(self): + book = self.book_1 + sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=15), + user=self.user_1 + ) + + self.book_1.inventory -= 1 + + self.book_1.save() + + sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=20), + user=self.user_2 + ) + + self.book_1.inventory -= 1 + + self.book_1.save() + + payload = { + "expected_return_date": datetime.now().date() + timedelta(days=25), + "book": book.id, + "user": self.user_3.id + } + + resp = self.client.post(BORROWING_URL, payload) + + self.assertEquals(resp.status_code, status.HTTP_400_BAD_REQUEST) + self.assertEquals( + resp.data["non_field_errors"][0], + "There are no books in inventory to borrow." + ) + + def test_book_return(self): + borrowing = self.borrowing_1 + + url = detail_url(borrowing.id) + "return-book/" + + resp_1 = self.client.patch(url) + resp_2 = self.client.patch(url) + + self.assertEquals(resp_1.status_code, status.HTTP_200_OK) + self.assertEquals(resp_1.data["status"], "book returned") + self.assertEquals( + resp_2.data["non_field_errors"][0], + "Book has been already returned." + ) + + def test_filter_borrowings_is_active_true_or_false(self): + borrowing_1 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=10), + book=self.book_1, + user=self.user_1 + ) + borrowing_2 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=15), + actual_return_date=datetime.now().date() + timedelta(days=12), + book=self.book_2, + user=self.user_1 + ) + borrowing_3 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=20), + actual_return_date=datetime.now().date() + timedelta(days=18), + book=self.book_3, + user=self.user_1 + ) + borrowing_4 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=25), + book=self.book_4, + user=self.user_1 + ) + + resp_1 = self.client.get(BORROWING_URL, payload={"is_active": "True"}) + resp_2 = self.client.get(BORROWING_URL, payload={"is_active": "False"}) + + serializer1 = BorrowingSerializer(borrowing_1) + serializer2 = BorrowingSerializer(borrowing_2) + serializer3 = BorrowingSerializer(borrowing_3) + serializer4 = BorrowingSerializer(borrowing_4) + + self.assertIn(serializer1.data, resp_1.data) + self.assertIn(serializer4.data, resp_1.data) + self.assertIn(serializer3.data, resp_2.data) + self.assertIn(serializer2.data, resp_2.data) + + +class AdminBorrowingApiTests(APITestCase): + def setUp(self): + self.client = APIClient() + self.user_1 = get_user_model().objects.create_user( + "admin@admin.com", "testpass1", is_staff=True + ) + self.user_2 = get_user_model().objects.create_user( + "test1@tests.com", "testpass2" + ) + self.user_3 = get_user_model().objects.create_user( + "test2@tests.com", "testpass3" + ) + + refresh = RefreshToken.for_user(self.user_1) + self.token = refresh.access_token + self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {self.token}") + + self.book = sample_book() + + def test_list_all_borrowings(self): + sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=10), + user=self.user_1 + ) + sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=15), + user=self.user_2 + ) + + resp = self.client.get(BORROWING_URL) + + borrowings = Borrowing.objects.all() + + serializer = BorrowingListSerializer(borrowings, many=True) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + self.assertEquals(resp.data, serializer.data) + + def test_borrowing_detail_another_user(self): + borrowing = sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=20), + user=self.user_3 + ) + + url = detail_url(borrowing.id) + + resp = self.client.get(url) + + serializer = BorrowingDetailSerializer(borrowing) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + self.assertEquals(resp.data, serializer.data) + + def test_filter_borrowing_by_user_id(self): + borrowing_1 = sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=25), + user=self.user_2 + ) + borrowing_2 = sample_borrowing( + expected_return_date=datetime.now().date() + timedelta(days=30), + user=self.user_3 + ) + + user = self.user_3 + + resp = self.client.get(BORROWING_URL, data={"user": f"{user.id}"}) + + serializer1 = BorrowingSerializer(borrowing_1) + serializer2 = BorrowingSerializer(borrowing_2) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + self.assertIn(serializer2.data, resp.data) + self.assertNotIn(serializer1.data, resp.data) + + def test_filter_borrowings_is_active_true_or_false(self): + Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=10), + book=self.book, + user=self.user_2, + ) + Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=15), + actual_return_date=datetime.now().date() + timedelta(days=12), + book=self.book, + user=self.user_2, + ) + Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=20), + actual_return_date=datetime.now().date() + timedelta(days=18), + book=self.book, + user=self.user_3 + ) + Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=25), + book=self.book, + user=self.user_3 + ) + + resp_1 = self.client.get(BORROWING_URL, {"is_active": "True"}) + resp_2 = self.client.get(BORROWING_URL, {"is_active": "False"}) + + borrowings_active_true = Borrowing.objects.filter( + actual_return_date__isnull=True + ) + borrowings_active_false = Borrowing.objects.filter( + actual_return_date__isnull=False + ) + + serializer_active_true_borrowings = BorrowingListSerializer( + borrowings_active_true, many=True + ) + serializer_active_false_borrowings = BorrowingListSerializer( + borrowings_active_false, many=True + ) + + self.assertEquals( + resp_1.data, serializer_active_true_borrowings.data + ) + self.assertEquals( + resp_2.data, serializer_active_false_borrowings.data + ) From f2479c89c706769c1e2fa331dedb03209324e8ad Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 13:51:22 +0300 Subject: [PATCH 27/44] Add new empty app called payment and make corresponding amendments to settings.py --- library_service/settings.py | 1 + payment/__init__.py | 0 payment/admin.py | 3 +++ payment/apps.py | 6 ++++++ payment/migrations/__init__.py | 0 payment/models.py | 3 +++ payment/tests.py | 3 +++ payment/views.py | 3 +++ 8 files changed, 19 insertions(+) create mode 100644 payment/__init__.py create mode 100644 payment/admin.py create mode 100644 payment/apps.py create mode 100644 payment/migrations/__init__.py create mode 100644 payment/models.py create mode 100644 payment/tests.py create mode 100644 payment/views.py diff --git a/library_service/settings.py b/library_service/settings.py index a08258a..513ca64 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -49,6 +49,7 @@ "book", "user", "borrowing", + "payment", ] MIDDLEWARE = [ diff --git a/payment/__init__.py b/payment/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/payment/admin.py b/payment/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/payment/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/payment/apps.py b/payment/apps.py new file mode 100644 index 0000000..ab29d31 --- /dev/null +++ b/payment/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class PaymentConfig(AppConfig): + default_auto_field = "django.db.models.BigAutoField" + name = "payment" diff --git a/payment/migrations/__init__.py b/payment/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/payment/models.py b/payment/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/payment/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/payment/tests.py b/payment/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/payment/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/payment/views.py b/payment/views.py new file mode 100644 index 0000000..91ea44a --- /dev/null +++ b/payment/views.py @@ -0,0 +1,3 @@ +from django.shortcuts import render + +# Create your views here. From 368b0fdd96eba237142ea47af8a8007ca42e0407 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 13:53:24 +0300 Subject: [PATCH 28/44] Effectuate the idea of the payment on model level --- payment/admin.py | 4 +- payment/migrations/0001_initial.py | 67 ++++++++++++++++++++++++++++++ payment/models.py | 37 ++++++++++++++++- 3 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 payment/migrations/0001_initial.py diff --git a/payment/admin.py b/payment/admin.py index 8c38f3f..2d3cff2 100644 --- a/payment/admin.py +++ b/payment/admin.py @@ -1,3 +1,5 @@ from django.contrib import admin -# Register your models here. +from payment.models import Payment + +admin.site.register(Payment) diff --git a/payment/migrations/0001_initial.py b/payment/migrations/0001_initial.py new file mode 100644 index 0000000..f6a4549 --- /dev/null +++ b/payment/migrations/0001_initial.py @@ -0,0 +1,67 @@ +# Generated by Django 5.0.6 on 2024-06-23 14:38 + +import django.core.validators +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ("borrowing", "0001_initial"), + ] + + operations = [ + migrations.CreateModel( + name="Payment", + fields=[ + ( + "id", + models.BigAutoField( + auto_created=True, + primary_key=True, + serialize=False, + verbose_name="ID", + ), + ), + ( + "status", + models.CharField( + choices=[("PENDING", "Pending"), ("PAID", "Paid")], + default="PENDING", + max_length=7, + ), + ), + ( + "session_url", + models.TextField( + blank=True, max_length=450, null=True, unique=True + ), + ), + ( + "session_id", + models.CharField( + blank=True, max_length=255, null=True, unique=True + ), + ), + ( + "money_to_pay", + models.DecimalField( + decimal_places=2, + max_digits=10, + validators=[django.core.validators.MinValueValidator(0)], + ), + ), + ( + "borrowing", + models.ForeignKey( + on_delete=django.db.models.deletion.CASCADE, + related_name="payments", + to="borrowing.borrowing", + ), + ), + ], + ), + ] diff --git a/payment/models.py b/payment/models.py index 71a8362..6453314 100644 --- a/payment/models.py +++ b/payment/models.py @@ -1,3 +1,38 @@ +from django.core.validators import MinValueValidator from django.db import models -# Create your models here. +from borrowing.models import Borrowing + + +class Payment(models.Model): + STATUS_CHOICE = [ + ("PENDING", "Pending"), + ("PAID", "Paid") + ] + + status = models.CharField( + max_length=7, + choices=STATUS_CHOICE, + default="PENDING" + ) + borrowing = models.ForeignKey( + Borrowing, + on_delete=models.CASCADE, + related_name="payments" + ) + session_url = models.TextField( + max_length=450, + null=True, + blank=True, + unique=True + ) + session_id = models.CharField( + max_length=255, + null=True, + blank=True, + unique=True + ) + money_to_pay = models.DecimalField(max_digits=10, decimal_places=2, validators=[MinValueValidator(0)]) + + def __str__(self) -> str: + return f"{self.status} ({self.money_to_pay}USD)" From 013e2137e8b0b59e374949cf28d2168e9c82f05b Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:00:18 +0300 Subject: [PATCH 29/44] Lay the foundation of payment mechanism --- .env.sample | 1 + .../0002_alter_payment_money_to_pay.py | 25 +++++ payment/models.py | 8 +- payment/payment_session.py | 92 +++++++++++++++++++ 4 files changed, 125 insertions(+), 1 deletion(-) create mode 100644 payment/migrations/0002_alter_payment_money_to_pay.py create mode 100644 payment/payment_session.py diff --git a/.env.sample b/.env.sample index 9445e39..578c251 100644 --- a/.env.sample +++ b/.env.sample @@ -9,3 +9,4 @@ TELEGRAM_BOT_TOKEN=TELEGRAM_BOT_TOKEN TELEGRAM_CHAT_ID=TELEGRAM_CHAT_ID CELERY_BROKER_URL=CELERY_BROKER_URL CELERY_RESULT_BACKEND=CELERY_RESULT_BACKEND +STRIPE_API_KEY=STRIPE_API_KEY diff --git a/payment/migrations/0002_alter_payment_money_to_pay.py b/payment/migrations/0002_alter_payment_money_to_pay.py new file mode 100644 index 0000000..868dfcb --- /dev/null +++ b/payment/migrations/0002_alter_payment_money_to_pay.py @@ -0,0 +1,25 @@ +# Generated by Django 5.0.6 on 2024-06-23 14:50 + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("payment", "0001_initial"), + ] + + operations = [ + migrations.AlterField( + model_name="payment", + name="money_to_pay", + field=models.DecimalField( + blank=True, + decimal_places=2, + max_digits=10, + null=True, + validators=[django.core.validators.MinValueValidator(0)], + ), + ), + ] diff --git a/payment/models.py b/payment/models.py index 6453314..7a08c7e 100644 --- a/payment/models.py +++ b/payment/models.py @@ -32,7 +32,13 @@ class Payment(models.Model): blank=True, unique=True ) - money_to_pay = models.DecimalField(max_digits=10, decimal_places=2, validators=[MinValueValidator(0)]) + money_to_pay = models.DecimalField( + max_digits=10, + decimal_places=2, + null=True, + blank=True, + validators=[MinValueValidator(0)] + ) def __str__(self) -> str: return f"{self.status} ({self.money_to_pay}USD)" diff --git a/payment/payment_session.py b/payment/payment_session.py new file mode 100644 index 0000000..3cc1d21 --- /dev/null +++ b/payment/payment_session.py @@ -0,0 +1,92 @@ +from __future__ import annotations + +import os +import stripe +from rest_framework.request import Request +from rest_framework.reverse import reverse +from stripe.checkout import Session + +from borrowing.models import Borrowing +from payment.models import Payment + + +stripe.api_key = os.environ.get("STRIPE_API_KEY") +LATE_FEE_MULTIPLIER = 2 + + +def calculate_rental_fee_amount(borrowing: Borrowing) -> int: + borrowing_period = ( + borrowing.expected_return_date - borrowing.borrow_date + ).days + pay_rate = borrowing.book.daily_fee + return int(pay_rate * borrowing_period * 100) + + +def calculate_late_fee_amount(borrowing: Borrowing) -> int: + overdue_period = ( + borrowing.actual_return_date - borrowing.expected_return_date + ).days + pay_rate = borrowing.book.daily_fee + return int(pay_rate * LATE_FEE_MULTIPLIER * overdue_period * 100) + + +def create_payment(borrowing: Borrowing, request: Request) -> Payment | None: + payment = Payment.objects.create( + status="PENDING", + borrowing=borrowing + ) + + stripe_session = create_stripe_session(borrowing, request) + + payment.session_id = stripe_session.id + payment.session_url = stripe_session.url + payment.money_to_pay = stripe_session.amount_total / 100 + + payment.save() + + return payment + + +def create_stripe_session(borrowing: Borrowing, request: Request) -> Session: + book = borrowing.book + + if ( + borrowing.actual_return_date + and borrowing.actual_return_date > borrowing.expected_return_date + ): + + rental_fee_amount = calculate_rental_fee_amount(borrowing) + late_fee_amount = calculate_late_fee_amount(borrowing) + total_amount = rental_fee_amount + late_fee_amount + product_name = f"Payment for borrowing of {book.title}, " \ + f"consisting of rental fee amount " \ + f"{rental_fee_amount} and late fee amount " \ + f"{late_fee_amount}" + else: + total_amount = calculate_rental_fee_amount(borrowing) + product_name = f"Payment for borrowing of {book.title}, " \ + f"including only rental fee amount {total_amount}" + + success_url = reverse("payment:payment-success", request=request) + cancel_url = reverse("payment:payment-cancel", request=request) + price_data = stripe.Price.create( + unit_amount=total_amount, + currency="usd", + product_data={ + "name": product_name + } + ) + + session = stripe.checkout.Session.create( + line_items=[ + { + "price": price_data.id, + "quantity": 1 + } + ], + mode="payment", + success_url=success_url + "?session_id={CHECKOUT_SESSION_ID}", + cancel_url=cancel_url + "?session_id={CHECKOUT_SESSION_ID}" + ) + + return session From b01a9532b39ca351a5ebbc16899c19ebb6912c2f Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:01:15 +0300 Subject: [PATCH 30/44] Create serializers for payment app --- borrowing/serializers.py | 6 ++++++ payment/serializers.py | 43 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 payment/serializers.py diff --git a/borrowing/serializers.py b/borrowing/serializers.py index 2907393..c7a7973 100644 --- a/borrowing/serializers.py +++ b/borrowing/serializers.py @@ -6,6 +6,7 @@ from borrowing.models import Borrowing from book.serializers import BookSerializer +from payment.payment_session import create_payment class BorrowingSerializer(serializers.ModelSerializer): @@ -105,4 +106,9 @@ def update(self, instance, validated_data): instance.save() book.inventory += 1 book.save() + + request = self.context.get("request") + borrowing = instance + create_payment(borrowing, request) + return instance diff --git a/payment/serializers.py b/payment/serializers.py new file mode 100644 index 0000000..d521d57 --- /dev/null +++ b/payment/serializers.py @@ -0,0 +1,43 @@ +from rest_framework import serializers + +from payment.models import Payment + + +class PaymentSerializer(serializers.ModelSerializer): + + class Meta: + model = Payment + fields = ( + "id", + "status", + "borrowing", + "money_to_pay" + ) + + +class PaymentListSerializer(PaymentSerializer): + + class Meta: + model = Payment + fields = ( + "id", + "status", + "money_to_pay" + ) + + +class PaymentDetailSerializer(PaymentSerializer): + borrowing = serializers.StringRelatedField( + many=False, read_only=True + ) + + class Meta: + model = Payment + fields = ( + "id", + "status", + "borrowing", + "session_url", + "session_id", + "money_to_pay" + ) From 047542a2fb0500238083a1b11e2855479478ba8a Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:01:37 +0300 Subject: [PATCH 31/44] Create the view for payment app --- payment/views.py | 74 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/payment/views.py b/payment/views.py index 91ea44a..1f6713c 100644 --- a/payment/views.py +++ b/payment/views.py @@ -1,3 +1,73 @@ -from django.shortcuts import render +import stripe -# Create your views here. +from rest_framework.decorators import action +from rest_framework.request import Request +from rest_framework.response import Response +from rest_framework import status, generics, viewsets + +from payment.models import Payment +from payment.serializers import ( + PaymentSerializer, + PaymentListSerializer, + PaymentDetailSerializer +) + + +class PaymentViewSet( + generics.ListAPIView, + generics.RetrieveAPIView, + generics.CreateAPIView, + viewsets.GenericViewSet +): + queryset = Payment.objects.all() + serializer_class = PaymentSerializer + + def get_serializer_class(self): + if self.action == "list": + return PaymentListSerializer + if self.action == "retrieve": + return PaymentDetailSerializer + return PaymentSerializer + + def get_queryset(self): + if self.request.user.is_staff: + return super().get_queryset() + return super().get_queryset().filter(borrowing__user=self.request.user) + + @action( + methods=["GET"], + detail=False, + url_path="payment-success", + url_name="success", + ) + def payment_success(self, request: Request): + session_id = request.query_params.get("session_id") + payment = Payment.objects.get(session_id=session_id) + + session = stripe.checkout.Session.retrieve(session_id) + + if session.payment_status == "paid": + serializer = PaymentDetailSerializer( + payment, data={"status": "PAID"}, partial=True + ) + serializer.is_valid(raise_exception=True) + serializer.save() + + return Response(serializer.data, status=status.HTTP_200_OK) + return Response(status=status.HTTP_400_BAD_REQUEST) + + @action( + methods=["GET"], + detail=False, + url_path="payment-cancel", + url_name="cancel", + ) + def payment_cancel(self, request: Request): + session_id = request.query_params.get("session_id") + payment = Payment.objects.get(session_id=session_id) + serializer = PaymentSerializer(payment) + data = { + "message": "You can make a payment during the next 16 hours.", + **serializer.data + } + return Response(data=data, status=status.HTTP_200_OK) From 0b8f288f174e9ec8701b50f69d12aab651f5945b Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:02:24 +0300 Subject: [PATCH 32/44] Create urls for payment app --- library_service/urls.py | 1 + payment/urls.py | 10 ++++++++++ 2 files changed, 11 insertions(+) create mode 100644 payment/urls.py diff --git a/library_service/urls.py b/library_service/urls.py index 8bc3830..0d97b42 100644 --- a/library_service/urls.py +++ b/library_service/urls.py @@ -22,4 +22,5 @@ path("api/books/", include("book.urls", namespace="book")), path("api/users/", include("user.urls", namespace="user")), path("api/borrowings/", include("borrowing.urls", namespace="borrowing")), + path("api/payments/", include("payment.urls", namespace="payment")), ] diff --git a/payment/urls.py b/payment/urls.py new file mode 100644 index 0000000..0e487d9 --- /dev/null +++ b/payment/urls.py @@ -0,0 +1,10 @@ +from rest_framework import routers + +from payment.views import PaymentViewSet + +router = routers.DefaultRouter() +router.register("", PaymentViewSet) + +urlpatterns = router.urls + +app_name = "payment" From 2543d934dffc92c77b3272f030b2e07e3668259f Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:02:59 +0300 Subject: [PATCH 33/44] Implement the functionality of sending the notification about successful payment --- payment/payment_session.py | 7 +++++++ payment/views.py | 3 +++ 2 files changed, 10 insertions(+) diff --git a/payment/payment_session.py b/payment/payment_session.py index 3cc1d21..703bea9 100644 --- a/payment/payment_session.py +++ b/payment/payment_session.py @@ -6,6 +6,7 @@ from rest_framework.reverse import reverse from stripe.checkout import Session +from borrowing.management.commands.send_notification import notification from borrowing.models import Borrowing from payment.models import Payment @@ -90,3 +91,9 @@ def create_stripe_session(borrowing: Borrowing, request: Request) -> Session: ) return session + + +def send_payment_notification(payment): + message = f"You have successfully paid {payment.money_to_pay}$\n" \ + f"Your borrowing ID: {payment.borrowing.id}" + notification(message) diff --git a/payment/views.py b/payment/views.py index 1f6713c..7282c66 100644 --- a/payment/views.py +++ b/payment/views.py @@ -6,6 +6,7 @@ from rest_framework import status, generics, viewsets from payment.models import Payment +from payment.payment_session import send_payment_notification from payment.serializers import ( PaymentSerializer, PaymentListSerializer, @@ -53,6 +54,8 @@ def payment_success(self, request: Request): serializer.is_valid(raise_exception=True) serializer.save() + send_payment_notification(payment) + return Response(serializer.data, status=status.HTTP_200_OK) return Response(status=status.HTTP_400_BAD_REQUEST) From b8b6d81fdc9df72ba366bae40d582cc52fbe4136 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:30:33 +0300 Subject: [PATCH 34/44] Actualize the feature of expiration time for the payment session and the payment --- payment/check_expired_payments.py | 23 +++++++++++++ ...payment_expires_at_alter_payment_status.py | 31 ++++++++++++++++++ payment/models.py | 4 ++- payment/payment_session.py | 10 +++++- payment/views.py | 32 +++++++++++++++++-- 5 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 payment/check_expired_payments.py create mode 100644 payment/migrations/0003_payment_expires_at_alter_payment_status.py diff --git a/payment/check_expired_payments.py b/payment/check_expired_payments.py new file mode 100644 index 0000000..542466a --- /dev/null +++ b/payment/check_expired_payments.py @@ -0,0 +1,23 @@ +import logging +import stripe +from datetime import datetime + +from payment.models import Payment + +logger = logging.getLogger(__name__) + + +def check_expired_payments(): + current_time = datetime.now() + expired_payments = Payment.objects.filter( + expires_at__lte=current_time, status="PENDING" + ) + + for payment in expired_payments: + session_id = payment.session_id + session = stripe.checkout.Session.retrieve(session_id) + payment.status = "EXPIRED" + payment.save() + + logger.info(f"Session with ID {session.id} " + f"and payment with ID {payment.id} are expired") diff --git a/payment/migrations/0003_payment_expires_at_alter_payment_status.py b/payment/migrations/0003_payment_expires_at_alter_payment_status.py new file mode 100644 index 0000000..a095cff --- /dev/null +++ b/payment/migrations/0003_payment_expires_at_alter_payment_status.py @@ -0,0 +1,31 @@ +# Generated by Django 5.0.6 on 2024-06-23 20:58 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("payment", "0002_alter_payment_money_to_pay"), + ] + + operations = [ + migrations.AddField( + model_name="payment", + name="expires_at", + field=models.DateTimeField(blank=True, null=True), + ), + migrations.AlterField( + model_name="payment", + name="status", + field=models.CharField( + choices=[ + ("PENDING", "Pending"), + ("PAID", "Paid"), + ("EXPIRED", "Expired"), + ], + default="PENDING", + max_length=7, + ), + ), + ] diff --git a/payment/models.py b/payment/models.py index 7a08c7e..581b13c 100644 --- a/payment/models.py +++ b/payment/models.py @@ -7,7 +7,8 @@ class Payment(models.Model): STATUS_CHOICE = [ ("PENDING", "Pending"), - ("PAID", "Paid") + ("PAID", "Paid"), + ("EXPIRED", "Expired") ] status = models.CharField( @@ -39,6 +40,7 @@ class Payment(models.Model): blank=True, validators=[MinValueValidator(0)] ) + expires_at = models.DateTimeField(null=True, blank=True) def __str__(self) -> str: return f"{self.status} ({self.money_to_pay}USD)" diff --git a/payment/payment_session.py b/payment/payment_session.py index 703bea9..fe0bbd0 100644 --- a/payment/payment_session.py +++ b/payment/payment_session.py @@ -2,6 +2,9 @@ import os import stripe +import time + +from datetime import datetime, timedelta from rest_framework.request import Request from rest_framework.reverse import reverse from stripe.checkout import Session @@ -42,6 +45,7 @@ def create_payment(borrowing: Borrowing, request: Request) -> Payment | None: payment.session_id = stripe_session.id payment.session_url = stripe_session.url payment.money_to_pay = stripe_session.amount_total / 100 + payment.expires_at = datetime.fromtimestamp(stripe_session.expires_at) payment.save() @@ -87,7 +91,11 @@ def create_stripe_session(borrowing: Borrowing, request: Request) -> Session: ], mode="payment", success_url=success_url + "?session_id={CHECKOUT_SESSION_ID}", - cancel_url=cancel_url + "?session_id={CHECKOUT_SESSION_ID}" + cancel_url=cancel_url + "?session_id={CHECKOUT_SESSION_ID}", + expires_at=int(time.mktime(( + datetime.now() + timedelta(hours=16) + ).timetuple())) + ) return session diff --git a/payment/views.py b/payment/views.py index 7282c66..672b643 100644 --- a/payment/views.py +++ b/payment/views.py @@ -6,11 +6,14 @@ from rest_framework import status, generics, viewsets from payment.models import Payment -from payment.payment_session import send_payment_notification +from payment.payment_session import ( + create_stripe_session, + send_payment_notification, +) from payment.serializers import ( PaymentSerializer, PaymentListSerializer, - PaymentDetailSerializer + PaymentDetailSerializer, ) @@ -74,3 +77,28 @@ def payment_cancel(self, request: Request): **serializer.data } return Response(data=data, status=status.HTTP_200_OK) + + @action( + methods=["POST"], + detail=True, + url_path="recreate-session", + url_name="recreate", + ) + def recreate_payment_session(self, request, pk=None): + payment = self.get_object() + borrowing = payment.borrowing + + if payment.status == "EXPIRED": + new_payment_session = create_stripe_session( + borrowing=borrowing, request=self.request + ) + + payment.status = "PENDING" + payment.session_id = new_payment_session.id + payment.session_url = new_payment_session.url + + payment.save() + + return Response({"status": "Session has been recreated"}) + + return Response({"status": "Session is still active"}) From 56476b170e6973209e48e6316c3a072cfd0dff3d Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:49:33 +0300 Subject: [PATCH 35/44] Incorporate the logic of scheduled task: setting expired status for the payment --- payment/tasks.py | 8 ++++++++ payment/views.py | 3 +++ 2 files changed, 11 insertions(+) create mode 100644 payment/tasks.py diff --git a/payment/tasks.py b/payment/tasks.py new file mode 100644 index 0000000..2fc8544 --- /dev/null +++ b/payment/tasks.py @@ -0,0 +1,8 @@ +from celery import shared_task + +from payment.check_expired_payments import check_expired_payments + + +@shared_task +def check_stripe_expired_payments(): + check_expired_payments() diff --git a/payment/views.py b/payment/views.py index 672b643..714030f 100644 --- a/payment/views.py +++ b/payment/views.py @@ -15,6 +15,7 @@ PaymentListSerializer, PaymentDetailSerializer, ) +from payment.tasks import check_stripe_expired_payments class PaymentViewSet( @@ -88,6 +89,8 @@ def recreate_payment_session(self, request, pk=None): payment = self.get_object() borrowing = payment.borrowing + check_stripe_expired_payments.delay() + if payment.status == "EXPIRED": new_payment_session = create_stripe_session( borrowing=borrowing, request=self.request From 0092f7fb9b693bd62bea5684c9b7601f8cd4e1f3 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:50:08 +0300 Subject: [PATCH 36/44] Provide the validation for pending borrowings --- borrowing/models.py | 18 +++++++++++++----- borrowing/serializers.py | 2 ++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/borrowing/models.py b/borrowing/models.py index cfc0769..d99cbe2 100644 --- a/borrowing/models.py +++ b/borrowing/models.py @@ -28,6 +28,19 @@ class Meta: def __str__(self): return f"{self.book.title} borrowed by {self.user}" + @staticmethod + def validate_inventory(book, error_to_raise): + if book.inventory < 1: + raise error_to_raise("There are no books in inventory to borrow.") + + @staticmethod + def validate_pending_borrowings(user, error_to_raise): + pending_borrowings = user.borrowings.filter(payments__status="PENDING") + + if pending_borrowings: + raise error_to_raise("You have not yet completed your paying. " + "Please complete it before borrowing a new book.") + def save(self, *args, **kwargs): book = get_object_or_404(Book, pk=self.book.id) message = ( @@ -40,8 +53,3 @@ def save(self, *args, **kwargs): if self.pk is None: notification(message) super().save(*args, **kwargs) - - @staticmethod - def validate_inventory(book, error_to_raise): - if book.inventory < 1: - raise error_to_raise("There are no books in inventory to borrow.") diff --git a/borrowing/serializers.py b/borrowing/serializers.py index c7a7973..cc20aa8 100644 --- a/borrowing/serializers.py +++ b/borrowing/serializers.py @@ -30,10 +30,12 @@ class Meta: def validate(self, attrs): data = super().validate(attrs) + user = self.context["request"].user Borrowing.validate_inventory( attrs["book"], ValidationError ) + Borrowing.validate_pending_borrowings(user, ValidationError) return data @transaction.atomic() From bc2b91e740b6b1f05c95eb85c648a16e5db5c29f Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 25 Jun 2024 19:50:39 +0300 Subject: [PATCH 37/44] Add permissions for payment app --- payment/views.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/payment/views.py b/payment/views.py index 714030f..fc1062f 100644 --- a/payment/views.py +++ b/payment/views.py @@ -1,6 +1,7 @@ import stripe from rest_framework.decorators import action +from rest_framework.permissions import IsAuthenticated, AllowAny from rest_framework.request import Request from rest_framework.response import Response from rest_framework import status, generics, viewsets @@ -34,6 +35,11 @@ def get_serializer_class(self): return PaymentDetailSerializer return PaymentSerializer + def get_permissions(self): + if self.action in ("list", "retrieve"): + return [IsAuthenticated()] + return super().get_permissions() + def get_queryset(self): if self.request.user.is_staff: return super().get_queryset() @@ -44,6 +50,7 @@ def get_queryset(self): detail=False, url_path="payment-success", url_name="success", + permission_classes=[AllowAny], ) def payment_success(self, request: Request): session_id = request.query_params.get("session_id") @@ -68,6 +75,7 @@ def payment_success(self, request: Request): detail=False, url_path="payment-cancel", url_name="cancel", + permission_classes=[AllowAny], ) def payment_cancel(self, request: Request): session_id = request.query_params.get("session_id") @@ -84,6 +92,7 @@ def payment_cancel(self, request: Request): detail=True, url_path="recreate-session", url_name="recreate", + permission_classes=[AllowAny], ) def recreate_payment_session(self, request, pk=None): payment = self.get_object() From c5745266fbe3efa46e3eef6ecf3fb8ad3bf94eb5 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Mon, 1 Jul 2024 12:21:54 +0300 Subject: [PATCH 38/44] Add tests to payment app --- borrowing/tests/test_borrowing_api.py | 96 ++++++- payment/tests.py | 3 - payment/tests/__init__.py | 0 payment/tests/test_payment_api.py | 377 ++++++++++++++++++++++++++ 4 files changed, 467 insertions(+), 9 deletions(-) delete mode 100644 payment/tests.py create mode 100644 payment/tests/__init__.py create mode 100644 payment/tests/test_payment_api.py diff --git a/borrowing/tests/test_borrowing_api.py b/borrowing/tests/test_borrowing_api.py index a8ec965..26e3c8d 100644 --- a/borrowing/tests/test_borrowing_api.py +++ b/borrowing/tests/test_borrowing_api.py @@ -1,3 +1,5 @@ +import stripe + from datetime import datetime, timedelta from unittest.mock import patch @@ -14,8 +16,9 @@ from borrowing.serializers import ( BorrowingSerializer, BorrowingListSerializer, - BorrowingDetailSerializer + BorrowingDetailSerializer, ) +from payment.models import Payment BORROWING_URL = reverse("borrowing:borrowing-list") @@ -57,7 +60,7 @@ def return_url(borrowing_id): class UnauthenticatedBorrowingApiTests(APITestCase): - def setUp(self): + def setUp(self) -> None: self.client = APIClient() def test_auth_required(self): @@ -66,7 +69,7 @@ def test_auth_required(self): class AuthenticatedBorrowingApiTests(TestCase): - def setUp(self): + def setUp(self) -> None: self.client = APIClient() self.user_1 = get_user_model().objects.create_user( "test1@test.com", @@ -169,7 +172,7 @@ def test_retrieve_own_borrowing_detail(self): @patch("celery.app.task.Task.delay", return_value=1) @patch("celery.app.task.Task.apply_async", return_value=1) - def test_borrowing_create(self, *args, **kwargs): + def test_create_borrowing(self, *args, **kwargs): payload = { "expected_return_date": datetime.now().date() + timedelta(days=10), "book": self.book_1.id, @@ -187,6 +190,53 @@ def test_borrowing_create(self, *args, **kwargs): self.assertEquals(resp.status_code, status.HTTP_201_CREATED) self.assertEquals(self.book_1.inventory, 1) + def test_borrowing_create_not_allowed_if_previous_not_payed(self): + payment = Payment.objects.create( + borrowing=self.borrowing_1 + ) + + price_data = stripe.Price.create( + unit_amount=1200, + currency="usd", + product_data={ + "name": f"Payment for borrowing of {self.book_1.title}", + } + ) + stripe_session = stripe.checkout.Session.create( + line_items=[ + { + "price": price_data.id, + "quantity": 1 + } + ], + mode="payment", + success_url="http://localhost:8000/success/", + cancel_url="http://localhost:8000/cancel/" + ) + + payment.session_id = stripe_session.id + payment.session_url = stripe_session.url + payment.money_to_pay = stripe_session.amount_total + payment.expires_at = datetime.fromtimestamp(stripe_session.expires_at) + + payment.save() + + book = self.book_1 + payload = { + "expected_return_date": datetime.now().date() + timedelta(days=30), + "book": book.id, + "user": self.user_1.id + } + + resp = self.client.post(BORROWING_URL, payload) + + self.assertEquals(resp.status_code, status.HTTP_400_BAD_REQUEST) + self.assertEquals( + resp.data["non_field_errors"][0], + "You have not yet completed your paying. " + "Please complete it before borrowing a new book." + ) + def test_borrowing_create_not_allowed_if_zero_inventory(self): book = self.book_1 sample_borrowing( @@ -221,7 +271,7 @@ def test_borrowing_create_not_allowed_if_zero_inventory(self): "There are no books in inventory to borrow." ) - def test_book_return(self): + def test_return_book(self): borrowing = self.borrowing_1 url = detail_url(borrowing.id) + "return-book/" @@ -236,6 +286,40 @@ def test_book_return(self): "Book has been already returned." ) + def test_create_payment(self): + borrowing = Borrowing.objects.create( + expected_return_date=datetime.now().date() - timedelta(days=15), + book=self.book_1, + user=self.user_1 + ) + + borrowing.borrow_date = datetime.now().date() - timedelta(days=20) + + borrowing.save() + + url = detail_url(borrowing.id) + "return-book/" + + self.client.patch(url) + + borrowing.actual_return_date = datetime.now().date() + + borrowing_period = ( + borrowing.expected_return_date - borrowing.borrow_date + ).days + overdue_period = ( + borrowing.actual_return_date - borrowing.expected_return_date + ).days + borrowing_amount = int(self.book_1.daily_fee * borrowing_period * 100) + overdue_amount = int(self.book_1.daily_fee * 2 * overdue_period * 100) + calculated_total_amount = borrowing_amount + overdue_amount + + payments = borrowing.payments.filter(status="PENDING") + + self.assertTrue(payments.exists()) + self.assertEqual(payments.count(), 1) + payment = payments.first() + self.assertEqual(payment.money_to_pay, calculated_total_amount / 100) + def test_filter_borrowings_is_active_true_or_false(self): borrowing_1 = Borrowing.objects.create( expected_return_date=datetime.now().date() + timedelta(days=10), @@ -275,7 +359,7 @@ def test_filter_borrowings_is_active_true_or_false(self): class AdminBorrowingApiTests(APITestCase): - def setUp(self): + def setUp(self) -> None: self.client = APIClient() self.user_1 = get_user_model().objects.create_user( "admin@admin.com", "testpass1", is_staff=True diff --git a/payment/tests.py b/payment/tests.py deleted file mode 100644 index 7ce503c..0000000 --- a/payment/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/payment/tests/__init__.py b/payment/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/payment/tests/test_payment_api.py b/payment/tests/test_payment_api.py new file mode 100644 index 0000000..9b16efb --- /dev/null +++ b/payment/tests/test_payment_api.py @@ -0,0 +1,377 @@ +import stripe + +from datetime import datetime, timedelta +from unittest.mock import patch, MagicMock + +from django.contrib.auth import get_user_model +from django.test import TestCase, RequestFactory +from django.urls import reverse + +from rest_framework.test import APIClient, APITestCase +from rest_framework import status +from rest_framework_simplejwt.tokens import RefreshToken + +from book.models import Book +from borrowing.models import Borrowing +from payment.models import Payment +from payment.serializers import ( + PaymentSerializer, + PaymentListSerializer, + PaymentDetailSerializer, +) + +PAYMENT_URL = reverse("payment:payment-list") +SUCCESS_URL = reverse("payment:payment-success") +CANCEL_URL = reverse("payment:payment-cancel") + + +def sample_book(**kwargs): + defaults = { + "title": "Sample book 1", + "author": "Test Author 1", + "cover": "S", + "inventory": 5, + "daily_fee": 10.0 + } + defaults.update(kwargs) + + return Book.objects.create(**defaults) + + +def sample_borrowing(**kwargs): + book = sample_book() + user = kwargs.get("user") + + defaults = { + "expected_return_date": datetime.now().date() + timedelta(days=15), + "book": book, + "user": user + } + defaults.update(kwargs) + + return Borrowing.objects.create(**defaults) + + +def sample_payment(**kwargs): + borrowing = kwargs.get("borrowing") + + defaults = { + "borrowing": borrowing + } + defaults.update(kwargs) + + return Payment.objects.create(**defaults) + + +def detail_url(payment_id): + return reverse("payment:payment-detail", args=[payment_id]) + + +class UnauthenticatedPaymentApiTests(APITestCase): + def setUp(self) -> None: + self.client = APIClient() + + def test_auth_required(self): + resp = self.client.get(PAYMENT_URL) + self.assertEquals(resp.status_code, status.HTTP_401_UNAUTHORIZED) + + +class AuthenticatedPaymentApiTests(TestCase): + def setUp(self) -> None: + self.client = APIClient() + self.user_1 = get_user_model().objects.create_user( + "test1@test.com", + "testpass1" + ) + self.user_2 = get_user_model().objects.create_user( + "test2@test.com", + "testpass2" + ) + self.user_3 = get_user_model().objects.create_user( + "test3@test.com", + "testpass3" + ) + + refresh = RefreshToken.for_user(self.user_1) + self.token = refresh.access_token + self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {self.token}") + + self.book_1 = Book.objects.create( + title="Sample book 2", + author="Test Author 2", + cover="S", + inventory=5, + daily_fee=10.0 + ) + self.book_2 = Book.objects.create( + title="Sample book 3", + author="Test Author 3", + cover="H", + inventory=6, + daily_fee=15.0 + ) + self.book_3 = Book.objects.create( + title="Sample book 4", + author="Test Author 4", + cover="S", + inventory=7, + daily_fee=20.0 + ) + + self.borrowing_1 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=10), + book=self.book_1, + user=self.user_1 + ) + + self.borrowing_2 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=15), + book=self.book_2, + user=self.user_1 + ) + self.borrowing_3 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=20), + book=self.book_2, + user=self.user_2 + ) + self.borrowing_4 = Borrowing.objects.create( + expected_return_date=datetime.now().date() + timedelta(days=25), + book=self.book_3, + user=self.user_3 + ) + + self.factory = RequestFactory() + + def test_list_payments(self): + sample_payment( + borrowing=self.borrowing_1 + ) + sample_payment( + borrowing=self.borrowing_2 + ) + + resp = self.client.get(PAYMENT_URL) + + payments_only_auth_user = Payment.objects.filter( + borrowing__user=self.user_1 + ) + + serializer = PaymentListSerializer(payments_only_auth_user, many=True) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + self.assertEquals(resp.data, serializer.data) + + def test_user_can_see_only_his_own_payments(self): + own_payment = sample_payment( + borrowing=self.borrowing_1 + ) + another_user_payment = sample_payment( + borrowing=self.borrowing_3 + ) + + own_url_payment = detail_url(own_payment.id) + another_user_url_payment = detail_url(another_user_payment.id) + + resp_own = self.client.get(own_url_payment) + resp_another_user = self.client.get(another_user_url_payment) + + serializer_own = PaymentDetailSerializer(own_payment) + + self.assertEquals(resp_own.data, serializer_own.data) + self.assertEquals( + resp_another_user.status_code, + status.HTTP_404_NOT_FOUND + ) + + @patch("payment.payment_session.send_payment_notification") + @patch("stripe.checkout.Session.retrieve") + def test_payment_success( + self, + mock_session_retrieve, + mock_send_notification + ): + price_data = stripe.Price.create( + unit_amount=1200, + currency="usd", + product_data={ + "name": f"Payment for borrowing of {self.book_1.title}", + } + ) + stripe_session = stripe.checkout.Session.create( + line_items=[ + { + "price": price_data.id, + "quantity": 1 + } + ], + mode="payment", + success_url="http://localhost:8000/success/", + cancel_url="http://localhost:8000/cancel/" + ) + + payment = sample_payment( + borrowing=self.borrowing_1 + ) + + payment.session_id = stripe_session.id + payment.session_url = stripe_session.url + payment.money_to_pay = stripe_session.amount_total + payment.expires_at = datetime.fromtimestamp(stripe_session.expires_at) + + payment.save() + + mock_session_retrieve.return_value = MagicMock(payment_status="paid") + + url_success_payment = ( + SUCCESS_URL + f"?session_id={payment.session_id}" + ) + + resp = self.client.get(url_success_payment) + + payment = Payment.objects.get(session_id=payment.session_id) + + serializer = PaymentDetailSerializer(payment) + + self.assertEquals(resp.status_code, status.HTTP_200_OK) + self.assertEquals(resp.data, serializer.data) + self.assertEquals(payment.status, "PAID") + + def test_payment_cancel(self): + price_data = stripe.Price.create( + unit_amount=1200, + currency="usd", + product_data={ + "name": f"Payment for borrowing of {self.book_1.title}", + } + ) + stripe_session = stripe.checkout.Session.create( + line_items=[ + { + "price": price_data.id, + "quantity": 1 + } + ], + mode="payment", + success_url="http://localhost:8000/success/", + cancel_url="http://localhost:8000/cancel/" + ) + + payment = sample_payment( + borrowing=self.borrowing_1 + ) + + payment.session_id = stripe_session.id + payment.session_url = stripe_session.url + payment.money_to_pay = stripe_session.amount_total + payment.expires_at = datetime.fromtimestamp(stripe_session.expires_at) + + payment.save() + + url_cancel_payment = CANCEL_URL + f"?session_id={payment.session_id}" + + resp = self.client.get(url_cancel_payment) + serializer = PaymentSerializer(payment) + + self.assertEquals( + resp.data["message"], + "You can make a payment during the next 16 hours." + ) + + self.assertEquals(resp.data["id"], serializer.data["id"]) + self.assertEquals(resp.data["status"], serializer.data["status"]) + self.assertEquals(resp.data["borrowing"], serializer.data["borrowing"]) + self.assertEquals( + resp.data["money_to_pay"], serializer.data["money_to_pay"] + ) + + @patch("celery.app.task.Task.delay", return_value=1) + @patch("celery.app.task.Task.apply_async", return_value=1) + def test_recreate_payment_session(self, *args, **kwargs): + borrowing = sample_borrowing(user=self.user_1) + + price_data = stripe.Price.create( + unit_amount=1200, + currency="usd", + product_data={ + "name": f"Payment for borrowing of {self.book_1.title}", + } + ) + stripe_session = stripe.checkout.Session.create( + line_items=[ + { + "price": price_data.id, + "quantity": 1 + } + ], + mode="payment", + success_url="http://localhost:8000/success/", + cancel_url="http://localhost:8000/cancel/" + ) + + payment = sample_payment( + borrowing=borrowing + ) + + payment.session_id = stripe_session.id + payment.session_url = stripe_session.url + payment.money_to_pay = stripe_session.amount_total + payment.expires_at = datetime.fromtimestamp(stripe_session.expires_at) + + payment.status = "EXPIRED" + + payment.save() + + url = reverse("payment:payment-recreate", args=[payment.id]) + + request = self.factory.post(url) + request.user = self.user_1 + + resp = self.client.post(url) + + payment.refresh_from_db() + + self.assertEqual(resp.status_code, status.HTTP_200_OK) + self.assertNotEqual(payment.session_id, stripe_session.id) + self.assertNotEqual(payment.session_url, stripe_session.url) + self.assertEqual(payment.status, "PENDING") + self.assertEqual(resp.data["status"], "Session has been recreated") + + +class AdminPaymentApiTests(TestCase): + def setUp(self) -> None: + self.client = APIClient() + self.user_1 = get_user_model().objects.create_user( + "admin@admin.com", "testpass", is_staff=True + ) + self.user_2 = get_user_model().objects.create_user( + "test2@test.com", + "testpass2" + ) + self.user_3 = get_user_model().objects.create_user( + "test3@test.com", + "testpass3" + ) + + refresh = RefreshToken.for_user(self.user_1) + self.token = refresh.access_token + self.client.credentials(HTTP_AUTHORIZATION=f"Bearer {self.token}") + + def test_admin_can_see_all_payments(self): + borrowing_1 = sample_borrowing(user=self.user_1) + borrowing_2 = sample_borrowing(user=self.user_2) + borrowing_3 = sample_borrowing(user=self.user_3) + + payment_1 = sample_payment(borrowing=borrowing_1) + payment_2 = sample_payment(borrowing=borrowing_2) + payment_3 = sample_payment(borrowing=borrowing_3) + + resp = self.client.get(PAYMENT_URL) + + serializer_1 = PaymentListSerializer(payment_1) + serializer_2 = PaymentListSerializer(payment_2) + serializer_3 = PaymentListSerializer(payment_3) + + self.assertEqual(resp.status_code, status.HTTP_200_OK) + self.assertIn(serializer_1.data, resp.data) + self.assertIn(serializer_2.data, resp.data) + self.assertIn(serializer_3.data, resp.data) From b72964e86d758b6e51d8120e5468eeedd1af4034 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 2 Jul 2024 11:24:23 +0300 Subject: [PATCH 39/44] Create the fixture with the database content --- library_service_db_data.json | Bin 0 -> 94236 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 library_service_db_data.json diff --git a/library_service_db_data.json b/library_service_db_data.json new file mode 100644 index 0000000000000000000000000000000000000000..b9646be1dc0bc832618f25f0f6b410b6fb9e1775 GIT binary patch literal 94236 zcmeI5`%m1+mdE|`O8Y;w*tybN?OblUo99R?T@oN60g^x_uel>cc!y_r3?ZZW*LU~x ztxCn^>b7a@_Jc_a0o}H%Tt4U2x6Z4M|L=c)js7$GkLVBcw-wo+vFJEDjkcqm=qMVC ze&*;{w8{75=pZ_Y#yNT#?Q!-bx{S`F8_xa|v_FduzqV}moZF=r^}HQje7z=l_jnYW z(H3_&;BF_;hWT_%OE;oU^dRa)6VX5TKgHipG#R~$+Wh^Qzq9=9a(0}v`v1OXl<|G8 z7|9M#VtWop9ACF(MsoS}$u**z=s%{Z;Etl+so~ugN1oGzIIE{k8*P&AyY#yW zzi+3`zPYa?V}twcFqR9`GUnN@NZP;YNz$ZIY@2VAus@FQu&^gw`NFbiREjverM+{pd$NX9`7hs520@8!$*6w*Cu@OTnQ9|wi?zX~MIBjcS6X-UqE zVI%QK#)qYCgnTbk#;4FW9z-)n&(L2<_c*_8j+HOt)4^s0l)Wy}H;&wO z_$goZ^5ABE+1tW0lE>lDVBlvgfdf`>+1xEYZ?cxlMwbugf>}7i$w9nXAqT6G)d^O0 zr(e!igp=Wueot$B=naaWU2{slwLyGb{@E*gSLcf?0dcY(4v? z$LN~hYW0xK)}kRyfX$Np8Bkh2-735Xc_jb7qV!18?c5&o{A6vUENRsy=c}EqNndn~ z5J}&;?2xROMVEUiW+6|RKF6{y-*EXFiJ~RRXN{kv3_rpPA`+|7Jh6+_=rNf0qj~BF zJged~529b9b(0$~*&bs`rdOcUNaq7WaN&1ArTjd5;5n*V9@5yJ4v8W75KSdUl18KdY zmqX0Ks#DSzzU7fAlTw+Aikm2#(U$d zxPo%EnvBZLlf*hP`F^5pby2e<+S;r{w3x>yW_-WM5G-WryH}d%od_TkB{^GwT64w*ElkTBR2kmF?8V_1i z{b!Rs2olR&wk~{)-)tW={(wGwPJCgc6W@l$^+fQjELsoRG#YUgyLR%SaT8^6gvhEU zGQ9dCotmP1HZ$GkPj=Bvs;S+O$2&2V8<8*2iobxy;+8xYBSgLpk?V=Bxm^;oMmx}c z%BE@uO_aqEA`csp>xt}5pdH&?6yszSDId70vtT+mBCEpFB|q{SUxLb`IP-1w$5dCT z9?!9|e^i-Fac0#98A+qF1nqxS0rTs-CF_ihPnuvXU)wz&Yy4b z$RP19n5-NzTd(kftgut|`Py21{VMT2F<9P;R!qK7=y!E2Y?Z>bD9RZa9mz6GaAXs=r}nnd`lF%Q$FGJh0q6}f9g%luUq

M? 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 Date: Tue, 2 Jul 2024 11:25:10 +0300 Subject: [PATCH 40/44] Install Django Debug Toolbar --- library_service/settings.py | 14 ++++++++++++++ library_service/urls.py | 1 + 2 files changed, 15 insertions(+) diff --git a/library_service/settings.py b/library_service/settings.py index 513ca64..9ef2235 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -11,6 +11,7 @@ """ import os +import sys from datetime import timedelta from pathlib import Path @@ -33,6 +34,10 @@ ALLOWED_HOSTS = os.environ.get("ALLOWED_HOSTS", "").split(",") +INTERNAL_IPS = [ + "127.0.0.1", +] + # Application definition @@ -62,6 +67,15 @@ "django.middleware.clickjacking.XFrameOptionsMiddleware", ] +ENABLE_DEBUG_TOOLBAR = DEBUG and "test" not in sys.argv +if ENABLE_DEBUG_TOOLBAR: + INSTALLED_APPS += [ + "debug_toolbar", + ] + MIDDLEWARE += [ + "debug_toolbar.middleware.DebugToolbarMiddleware", + ] + ROOT_URLCONF = "library_service.urls" TEMPLATES = [ diff --git a/library_service/urls.py b/library_service/urls.py index 0d97b42..81ab81e 100644 --- a/library_service/urls.py +++ b/library_service/urls.py @@ -23,4 +23,5 @@ path("api/users/", include("user.urls", namespace="user")), path("api/borrowings/", include("borrowing.urls", namespace="borrowing")), path("api/payments/", include("payment.urls", namespace="payment")), + path("__debug__/", include("debug_toolbar.urls")), ] From d56eb7ac71f58f067e788989bd047ef859ab5d3b Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 2 Jul 2024 11:34:00 +0300 Subject: [PATCH 41/44] Add docstrings to describe the purpose of specific endpoints --- borrowing/views.py | 2 ++ payment/views.py | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/borrowing/views.py b/borrowing/views.py index 8149200..ab27657 100644 --- a/borrowing/views.py +++ b/borrowing/views.py @@ -39,6 +39,7 @@ def perform_create(self, serializer): @staticmethod def _params_to_ints(qs): + """Converts a list of string IDs to a list of integers""" return [int(str_id) for str_id in qs.split(",")] def get_queryset(self): @@ -85,6 +86,7 @@ def get_serializer_class(self): serializer_class=BorrowingReturnBookSerializer, ) def return_book(self, request, pk=None): + """Endpoint for returning borrowed book""" borrowing = self.get_object() actual_return_date = datetime.now().date() diff --git a/payment/views.py b/payment/views.py index fc1062f..42757ac 100644 --- a/payment/views.py +++ b/payment/views.py @@ -53,6 +53,7 @@ def get_queryset(self): permission_classes=[AllowAny], ) def payment_success(self, request: Request): + """Endpoint for successful payment session""" session_id = request.query_params.get("session_id") payment = Payment.objects.get(session_id=session_id) @@ -78,6 +79,7 @@ def payment_success(self, request: Request): permission_classes=[AllowAny], ) def payment_cancel(self, request: Request): + """Endpoint for canceled payment session""" session_id = request.query_params.get("session_id") payment = Payment.objects.get(session_id=session_id) serializer = PaymentSerializer(payment) @@ -95,6 +97,10 @@ def payment_cancel(self, request: Request): permission_classes=[AllowAny], ) def recreate_payment_session(self, request, pk=None): + """ + Endpoint for creating new payment session + in the case current one has expired + """ payment = self.get_object() borrowing = payment.borrowing From b18ca1fe4e9851b6e7c4d5befc1871aa4987c539 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 2 Jul 2024 12:00:23 +0300 Subject: [PATCH 42/44] Implement drf-spectacular in the project --- borrowing/views.py | 22 ++++++++++++++++++++++ library_service/settings.py | 20 ++++++++++++++++++-- library_service/urls.py | 16 ++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/borrowing/views.py b/borrowing/views.py index ab27657..431e309 100644 --- a/borrowing/views.py +++ b/borrowing/views.py @@ -1,6 +1,7 @@ from datetime import datetime from django.db import transaction +from drf_spectacular.utils import extend_schema, OpenApiParameter from rest_framework import mixins from rest_framework.decorators import action from rest_framework.permissions import IsAuthenticated @@ -99,3 +100,24 @@ def return_book(self, request, pk=None): serializer_update.is_valid(raise_exception=True) serializer_update.save() return Response({"status": "book returned"}) + + # For documentation purposes only + @extend_schema( + parameters=[ + OpenApiParameter( + "is active", + type={"type": "string"}, + description="Filter borrowings by actual_return_date " + "(if it's None - borrowing is still active). " + "ex. /?is_active=True", + ), + OpenApiParameter( + "user", + type={"type": "list", "items": {"type": "number"}}, + description="Filter borrowings by user ids. For admin only. " + "(ex. /?user=1,2)", + ), + ] + ) + def list(self, request, *args, **kwargs): + return super().list(request, *args, **kwargs) diff --git a/library_service/settings.py b/library_service/settings.py index 9ef2235..d92d844 100644 --- a/library_service/settings.py +++ b/library_service/settings.py @@ -51,6 +51,7 @@ "django_celery_beat", "rest_framework", "rest_framework_simplejwt", + "drf_spectacular", "book", "user", "borrowing", @@ -156,9 +157,24 @@ DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" REST_FRAMEWORK = { - "DEFAULT_AUTHENTICATION_CLASSES": ( + "DEFAULT_AUTHENTICATION_CLASSES": ( "rest_framework_simplejwt.authentication.JWTAuthentication", - ), + ), + "DEFAULT_SCHEMA_CLASS": "drf_spectacular.openapi.AutoSchema", +} + +SPECTACULAR_SETTINGS = { + "TITLE": "Library Service API", + "DESCRIPTION": "An online management system for book borrowings " + "on a paid basis.", + "VERSION": "1.0.0", + "SERVE_INCLUDE_SCHEMA": False, + "SWAGGER_UI_SETTINGS": { + "deepLinking": True, + "defaultModelRendering": "model", + "defaultModelsExpandDepth": 2, + "defaultModelExpandDepth": 2, + }, } SIMPLE_JWT = { diff --git a/library_service/urls.py b/library_service/urls.py index 81ab81e..665829c 100644 --- a/library_service/urls.py +++ b/library_service/urls.py @@ -16,6 +16,11 @@ """ from django.contrib import admin from django.urls import path, include +from drf_spectacular.views import ( + SpectacularAPIView, + SpectacularSwaggerView, + SpectacularRedocView, +) urlpatterns = [ path("admin/", admin.site.urls), @@ -23,5 +28,16 @@ path("api/users/", include("user.urls", namespace="user")), path("api/borrowings/", include("borrowing.urls", namespace="borrowing")), path("api/payments/", include("payment.urls", namespace="payment")), + path("api/schema/", SpectacularAPIView.as_view(), name="schema"), + path( + "api/doc/swagger/", + SpectacularSwaggerView.as_view(url_name="schema"), + name="swagger-ui", + ), + path( + "api/doc/redoc/", + SpectacularRedocView.as_view(url_name="schema"), + name="redoc" + ), path("__debug__/", include("debug_toolbar.urls")), ] From 52d796ee6226a35397cae6bcbbd39bb9df10e0e3 Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Tue, 2 Jul 2024 12:26:10 +0300 Subject: [PATCH 43/44] Dockerize the project --- .dockerignore | 6 + Dockerfile | 30 ++++ README.md | 155 +++++++++++++++++++ borrowing/management/commands/wait_for_db.py | 20 +++ demo/entity-relationship-diagram.png | Bin 0 -> 30366 bytes demo/swagger-all-endpoints-1.png | Bin 0 -> 301665 bytes demo/swagger-all-endpoints-2.png | Bin 0 -> 275946 bytes docker-compose.yml | 64 ++++++++ requirements.txt | Bin 0 -> 2902 bytes 9 files changed, 275 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 borrowing/management/commands/wait_for_db.py create mode 100644 demo/entity-relationship-diagram.png create mode 100644 demo/swagger-all-endpoints-1.png create mode 100644 demo/swagger-all-endpoints-2.png create mode 100644 docker-compose.yml create mode 100644 requirements.txt diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1ecc1af --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +venv +.env +.gitignore +.github +media +.idea diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..c9ae8e3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +FROM python:3.11.2-slim-buster +LABEL maintainer="callogan217@gmail.com" + +ENV PYTHONUNBUFFERED 1 + +WORKDIR app/ + +COPY requirements.txt requirements.txt +RUN pip install debugpy + +RUN apt-get update \ + && apt-get -y install libpq-dev gcc + +RUN pip install -r requirements.txt + +COPY . . + +RUN mkdir -p /vol/web/media + +RUN adduser \ + --disabled-password \ + --no-create-home \ + django-user + +RUN chown -R django-user:django-user /vol/ +RUN chown -R 755 /vol/web/ + +USER django-user + +CMD ["sh", "-c", "python -m debugpy --wait-for-client --listen 0.0.0.0:5678 -m celery -A tasks worker -l info -P eventlet"] diff --git a/README.md b/README.md index 37141e9..6f1eed6 100644 --- a/README.md +++ b/README.md @@ -1 +1,156 @@ # Library Service API + +Library Service API is overarching web application programming interface aimed to provide +a diverse features and operations for managing the library. Its main goal is to make functioning +of the library more efficient by applying automation means. + +All the API features are grouped by the following services (as stacks of homogenous functionalities). + +## Book Service + +Book Service is intended for managing book stock at the library, including creation of books and making +various operations with them. Nonetheless, only admin can create, update or delete books. Ordinary users +have an access to a list of all books as well as to single book details without the possibility +to make operations with them. + +## User Service + +Users can register providing an email and a password. After going through authentication procedure users +can view and update their profile information. + +## Borrowing Service + +Borrowing Service operates the borrowing of books by users and provides all the necessary actions related +to that functionality. + +* Create new borrowing: borrowing the book results in making the record in the ledger about borrowing +creation and corresponding changes of the inventory. +* Get borrowing collection - glean a list of borrowings based on 2 criteria: + - user ID (for admin only); + - "is_active" status for the borrowing (either the book is returned or not). +* Get certain borrowing: retrieve detailed information about specified borrowing information. +* Return the book: assign the value for "actual return date" of borrowed book. Simultaneously the payment +for the borrowing is being created. + +## Notification Service (Telegram chat) + +Notification Service is in charge of sending notifications associated with library operations using +Telegram chat. + +* Keep library administrators informed about creation of new borrowing. +* Issue the alert on overdue borrowings. +* Notify administrators about successful payments. + +## Payment Service (Stripe API integration) + +Payment Service provides payment processing for borrowings in reliable and secure way using +Stripe payment gateway. + +* Perform payments for borrowings: deliver full-fledged financial infrastructure to users +for making payments. +* Checking payment processing status: verify that the payment has been processed successfully +or inform about payment cancellation. +* Ensures the control of expiration time for the payments session and for the payment. + +## Installation + +Clone this repository: + + ```bash + git clone https://github.com/callogan/library-service-api + cd library-service-api + ``` + +* The main branch is considered as the most sustainable branch, therefore it is recommended to work from it. + +* If you intend to run the application locally, follow the next steps: + +1. Create the virtual environment: + + ```bash + python -m venv venv + ``` + +2. Activate the virtual environment: + + On Windows: + + ```bash + venv\Scripts\activate + ``` + + On macOS and Linux: + + ```bash + source venv/bin/activate + ``` + +3. Install dependencies: + + ```bash + pip install -r requirements.txt + ``` + +4. Copy this file ".env.sample" and rename it to ".env", then fill in the actual values for your local environment. + +STRIPE_API_KEY (as secret key) is available here: https://sripe.com/. You can get Telegram Bot Token +here: https://t.me/BotFather. + +5. Apply the migrations: + + ```bash + python manage.py migrate + ``` + +6. In order to run the development server, use the following command: + + ```bash + python manage.py runserver + ``` + +* You might as well run the application via the Docker. For this purpose make certain the Docker is installed +on your computer and follow the next steps: +1. Fill the actual data for ".env" file (as was mentioned above). +2. Build the Docker image and start the containers for the application and the database: + ```bash + docker-compose up --build + ``` + +Access the application in your web browser at http://localhost:8000. + +## Project Fixture + + - This project includes the fixture that is used for demonstration purpose. The fixture contains basic dataset +representing various project entities. + - The fixture named `library_service_db_data.json` is located in the root directory. + - In order to load the fixture data into the application, use the following command: + + ```bash + python manage.py loaddata library_service_db_data.json + ``` + +## Technologies + +* [Django REST Framework](https://www.django-rest-framework.org/) This is toolbox for designing Web APIs, providing +features such as serialization, authentication, API views and viewsets to streamline the development of RESTful services +in Django applications. +* [Celery](https://docs.celeryq.dev/en/stable/) This is the system to operate task queue with focus on real-time +processing and option to schedule tasks. +* [Redis](https://redis.io/) This is a source available, im-memory storage, used as distributed, in-memory key-value +database, cache and message broker. +* [Docker](https://www.docker.com/) This is open source containerization platform that enables developers to package +applications into containers, simplifying the process of building, running, managing and distributing applications +throughout different execution environments. +* [PostgreSQL](https://www.postgresql.org/) This is a powerful, open source object-relational database management +system. +* [Swagger](https://swagger.io/) This is open source suite of tools to generate API documentation. + +## Demo + +![ER Diagram](demo/entity-relationship-diagram.png) +![API Endpoints part 1](demo/swagger-all-endpoints-1.png) +![API Endpoints part 2](demo/swagger-all-endpoints-2.png) + +## Copyright + +Copyright (c) 2024 Ruslan Kazmiryk diff --git a/borrowing/management/commands/wait_for_db.py b/borrowing/management/commands/wait_for_db.py new file mode 100644 index 0000000..2df7f2d --- /dev/null +++ b/borrowing/management/commands/wait_for_db.py @@ -0,0 +1,20 @@ +import time + +from django.core.management.base import BaseCommand +from django.db import connections +from django.db.utils import OperationalError + + +class Command(BaseCommand): + """Django command to pause execution until database is available""" + + def handle(self, *args, **kwargs): + self.stdout.write("waiting for db ...") + db_conn = None + while not db_conn: + try: + db_conn = connections["default"] + self.stdout.write(self.style.SUCCESS("Database available!")) + except OperationalError: + self.stdout.write("Database unavailable, waiting 1 second ...") + time.sleep(1) diff --git a/demo/entity-relationship-diagram.png b/demo/entity-relationship-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea9b94138d1e2074d7f3effc2ca709b2984aa50 GIT binary patch literal 30366 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%0A7wtl02O#c78K6a_w;E`m(i*S*5A*00D*bMkH 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

    ;mj_v56Esw)h$ly_A0l&*Fq890PZQCgr&`Vl_D% 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 literal 0 HcmV?d00001 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6c80f5c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,64 @@ +version: "3" + +services: + app: + build: + context: . + ports: + - "8002:8000" + volumes: + - ./:/app + command: > + sh -c "python manage.py wait_for_db && + python manage.py migrate && + python manage.py runserver 0.0.0.0:8000" + env_file: + - .env + depends_on: + - db + - redis + + db: + image: postgres:14-alpine + ports: + - "5433:5432" + env_file: + - .env + redis: + image: redis:alpine + + celery: + build: + context: . + command: celery -A library_service worker -l info + volumes: + - ./:/app + env_file: + - .env + depends_on: + - redis + - app + restart: no + + celery-beat: + build: + context: . + command: celery -A library_service beat -l info + volumes: + - ./:/app + env_file: + - .env + depends_on: + - redis + - app + +# flower: +# image: mher/flower +# ports: +# - "5555:5555" +# environment: +# - CELERY_BROKER_URL=redis://redis:6379/0 +# command: celery -A library_service flower +# depends_on: +# - redis +# - celery \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..39567b7d0bb134c0a7c8f44fb46ccaa03e7d9576 GIT binary patch literal 2902 zcmZ{mOK;m)428Ka(4XR%Kx)@+q#S|Ez1&Ub}emf5O^QHi zD)N$thljlS`QJ3QaT{%X($Bj%i(1c{cpa}|8cjULMckzAt={t#+b-6!b+L?9+RtVC zLr>M8-RW!-^O(e5ep~t7#GU>okK>%hdGEW|`!05AtMzt_Vy4sA`neFEE*8i01J0SO zQ)Rm9&ljY1MxQJ5wVqCRN{vGuSi3~HQU>g`Dy$RX`@{hgbJbYvRn~~jOw41G$aadf zSGA4m>{RbGF+XK|;!>3>b3`gCn9bW+eCQDu+eGzV=y^=;;E z`LDQ4^lRC%qBW{;w8h9eQLLe7lbB`QRt{YsxIaAwj#<`@=5F+Jt^cDM@|~*U^yDgQ zJ?Q*^9Bk&|)b}!(r52)sr^-rS@-51L5|&2MC#fQ8vyQ0*mY$!bGdoqW5+XXVjDuoy zy~fc|l?=N7V}!pyIZ;F=k&Z9L_d)SXCma!FE|do)6)ryfg0T}OBDM0ED*}^ur-+4T zc&nvkeiLsQ57|$Y!7gc}O_Xz|2xO;zvxxUv{`Y#C9-Aj|Y^Of#)L{Hz_dF0`qli^T z=3UkA8e7;ita@|YdJcZqc)J01_m^RC4G*$6YU(5MdP8uUI(9x^bijXbb`%Ja-5 zqA>Gi4xXR=tkX?SL47>$2_o{P7>7INY@w9M;J)0gb`Rd(^K{$BNb_;lfOtIgHwnaKK}ob(M1x)P#V{bd4LMM8Vi zet)f#32VR%&*9S9Y z6@mABv@`Lz6&v2OWe)Ix6=Uqg%0hX#RsHqgs)z3!Jm@IZ6_jQWoqLad@|{LlTanQid{I(N~mi$g_SA}inUuz0}H_4!JMC+K|T65*5Jniva;-O04NKCA;Ia291e*XTOi6g7X zH-_`v_sn3SUT+j?K8U@8tP4fnre}QX47?28k1IawBegFUf literal 0 HcmV?d00001 From 340055a8305bc98232affa3835410789947a92ef Mon Sep 17 00:00:00 2001 From: Ruslan Kazmiryk Date: Wed, 3 Jul 2024 14:25:15 +0300 Subject: [PATCH 44/44] Remove redundant fragments of the code in Docker-related files --- Dockerfile | 2 -- docker-compose.yml | 11 ----------- 2 files changed, 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index c9ae8e3..aec7a75 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,5 +26,3 @@ RUN chown -R django-user:django-user /vol/ RUN chown -R 755 /vol/web/ USER django-user - -CMD ["sh", "-c", "python -m debugpy --wait-for-client --listen 0.0.0.0:5678 -m celery -A tasks worker -l info -P eventlet"] diff --git a/docker-compose.yml b/docker-compose.yml index 6c80f5c..32cb3b0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -51,14 +51,3 @@ services: depends_on: - redis - app - -# flower: -# image: mher/flower -# ports: -# - "5555:5555" -# environment: -# - CELERY_BROKER_URL=redis://redis:6379/0 -# command: celery -A library_service flower -# depends_on: -# - redis -# - celery \ No newline at end of file