Skip to content

Commit

Permalink
Merge pull request #16 from breakmagazine/feat/article
Browse files Browse the repository at this point in the history
Feat/article
  • Loading branch information
yjoonjang authored Jul 20, 2024
2 parents 14bc6fc + 20d0da1 commit eef7480
Show file tree
Hide file tree
Showing 17 changed files with 624 additions and 183 deletions.
52 changes: 52 additions & 0 deletions accounts/migrations/0007_remove_customuser_status_and_more.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Generated by Django 5.0.3 on 2024-07-07 11:36

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("accounts", "0006_alter_customuser_is_superuser"),
("auth", "0012_alter_user_first_name_max_length"),
]

operations = [
migrations.RemoveField(
model_name="customuser",
name="status",
),
migrations.AddField(
model_name="customuser",
name="available_chat_count",
field=models.IntegerField(default=5),
),
migrations.AddField(
model_name="customuser",
name="reset_chat_date",
field=models.DateField(blank=True, null=True),
),
migrations.AlterField(
model_name="customuser",
name="groups",
field=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="custom_user_set",
related_query_name="custom_user",
to="auth.group",
verbose_name="groups",
),
),
migrations.AlterField(
model_name="customuser",
name="user_permissions",
field=models.ManyToManyField(
blank=True,
help_text="Specific permissions for this user.",
related_name="custom_user_set",
related_query_name="custom_user",
to="auth.permission",
verbose_name="user permissions",
),
),
]
42 changes: 26 additions & 16 deletions accounts/models.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# models.py
from django.db import models
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin
from django.contrib.auth.models import (
AbstractBaseUser,
PermissionsMixin,
Group,
Permission,
)

from .managers import CustomUserManager

Expand All @@ -16,30 +20,36 @@ class CustomUser(AbstractBaseUser, PermissionsMixin):
direct_number = models.IntegerField(null=True, blank=True)
profile_image = models.URLField(max_length=200, blank=True)

STATUS_APPROVED = "approved"
STATUS_PENDING = "pending"
STATUS_REJECTED = "rejected"

status = models.CharField(
max_length=20,
choices=[
(STATUS_APPROVED, "Approved"),
(STATUS_PENDING, "Pending"),
(STATUS_REJECTED, "Rejected"),
],
default=STATUS_PENDING,
)

is_staff = models.BooleanField(default=False) # 슈퍼유저 권한
is_superuser = models.BooleanField(default=False)
is_active = models.BooleanField(default=True) # 계정 활성화 상태
created_at = models.DateTimeField(auto_now_add=True)

available_chat_count = models.IntegerField(default=5)
reset_chat_date = models.DateField(null=True, blank=True)

USERNAME_FIELD = "email"
REQUIRED_FIELDS = []

objects = CustomUserManager()

groups = models.ManyToManyField(
Group,
verbose_name="groups",
blank=True,
help_text="The groups this user belongs to. A user will get all permissions granted to each of their groups.",
related_name="custom_user_set", # 이 부분을 변경
related_query_name="custom_user",
)
user_permissions = models.ManyToManyField(
Permission,
verbose_name="user permissions",
blank=True,
help_text="Specific permissions for this user.",
related_name="custom_user_set", # 이 부분을 변경
related_query_name="custom_user",
)

def save(self, *args, **kwargs):

super().save(*args, **kwargs)
Expand Down
16 changes: 7 additions & 9 deletions accounts/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,29 +10,27 @@


class UserRegisterSerializer(DefaultRegisterSerializer):
name = serializers.CharField(max_length=50, write_only=True, required=True)
username = serializers.CharField(max_length=50, write_only=True, required=True)

def custom_signup(self, request, user):
name = self.validated_data.pop("name")
name = self.validated_data.pop("username")
if name:
user.username = name
user.save()


class UserLoginSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = "__all__"
class KakaoTokenSerializer(serializers.Serializer):
access_token = serializers.CharField()
code = serializers.CharField()


class UserInfoUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ("username", "position", "direct_number", "profile_image", "status")
fields = ("id", "username", "position", "profile_image")


class GetUserInfoSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ("id", "username", "position", "direct_number", "profile_image", "status")

fields = ("id", "username", "position", "profile_image")
9 changes: 4 additions & 5 deletions accounts/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@
from accounts import views

urlpatterns = [
path("kakao/login/", views.kakao_login, name="kakao_login"),
path("kakao/callback/", views.kakao_callback, name="kakao_callback"),
path("kakao", views.kakao_login, name="kakao_login"),
path(
"kakao/login/finish/",
"kakao/login/",
views.KakaoLoginView.as_view(),
name="kakao_login_todjango",
),
path("join/", views.UpdateUserInfoView.as_view(), name="update_user_info"),
path("user/me", views.GetUserInfoView.as_view(), name="get_user_info"),
path("update/", views.UpdateUserInfoView.as_view(), name="update_user_info"),
path("user/me/", views.GetUserInfoView.as_view(), name="get_user_info"),
]
Loading

0 comments on commit eef7480

Please sign in to comment.