권주희

add root folder for main folder

1 +# Generated by Django 3.0.6 on 2020-06-11 15:29
2 +
3 +from django.db import migrations, models
4 +
5 +
6 +class Migration(migrations.Migration):
7 +
8 + dependencies = [
9 + ('api', '0001_initial'),
10 + ]
11 +
12 + operations = [
13 + migrations.AddField(
14 + model_name='user',
15 + name='root_folder',
16 + field=models.IntegerField(null=True),
17 + ),
18 + migrations.AlterField(
19 + model_name='item',
20 + name='parent',
21 + field=models.IntegerField(null=True),
22 + ),
23 + ]
...@@ -8,7 +8,7 @@ class Item(models.Model): ...@@ -8,7 +8,7 @@ class Item(models.Model):
8 file_type = models.CharField(max_length=100, null=True) # signed_url 생성을 위해 file type 세팅 8 file_type = models.CharField(max_length=100, null=True) # signed_url 생성을 위해 file type 세팅
9 path = models.TextField() 9 path = models.TextField()
10 #parent = models.ForeignKey('Item', on_delete=models.CASCADE, null=True) #related_name 10 #parent = models.ForeignKey('Item', on_delete=models.CASCADE, null=True) #related_name
11 - parent = models.IntegerField() 11 + parent = models.IntegerField(null=True) # root 폴더의 경우 null임
12 user_id = models.IntegerField() 12 user_id = models.IntegerField()
13 size = models.IntegerField() 13 size = models.IntegerField()
14 is_deleted = models.BooleanField(default = False) 14 is_deleted = models.BooleanField(default = False)
...@@ -37,6 +37,7 @@ class User(models.Model): ...@@ -37,6 +37,7 @@ class User(models.Model):
37 user_id = models.CharField(max_length = 50) 37 user_id = models.CharField(max_length = 50)
38 name = models.CharField(max_length = 50) 38 name = models.CharField(max_length = 50)
39 password = models.CharField(max_length = 20) 39 password = models.CharField(max_length = 20)
40 + root_folder = models.IntegerField(null=True)
40 total_size = models.IntegerField() 41 total_size = models.IntegerField()
41 current_size = models.IntegerField() 42 current_size = models.IntegerField()
42 created_time = models.DateTimeField(auto_now=True) 43 created_time = models.DateTimeField(auto_now=True)
......
...@@ -13,14 +13,15 @@ from rest_framework.response import Response ...@@ -13,14 +13,15 @@ from rest_framework.response import Response
13 from rest_framework.decorators import action 13 from rest_framework.decorators import action
14 from rest_framework.permissions import IsAuthenticated, AllowAny 14 from rest_framework.permissions import IsAuthenticated, AllowAny
15 15
16 -from api.models import Item, SharedItem, User 16 +from .models import Item, SharedItem, User
17 -from api.serializers import UserSerializer,GroupSerializer,ItemSerializer 17 +from .serializers import UserSerializer,GroupSerializer,ItemSerializer
18 from rest_framework import status 18 from rest_framework import status
19 from annoying.functions import get_object_or_None 19 from annoying.functions import get_object_or_None
20 from django.conf import settings 20 from django.conf import settings
21 import jwt 21 import jwt
22 from django.http import HttpResponse, JsonResponse 22 from django.http import HttpResponse, JsonResponse
23 23
24 +
24 class UserViewSet(viewsets.ModelViewSet): 25 class UserViewSet(viewsets.ModelViewSet):
25 """ 26 """
26 API endpoint that allows users to be viewed or edited. 27 API endpoint that allows users to be viewed or edited.
...@@ -42,11 +43,15 @@ class UserViewSet(viewsets.ModelViewSet): ...@@ -42,11 +43,15 @@ class UserViewSet(viewsets.ModelViewSet):
42 if user == None: 43 if user == None:
43 user = User(user_id = user_id, name = name, password = password, total_size=100000, current_size = 0) 44 user = User(user_id = user_id, name = name, password = password, total_size=100000, current_size = 0)
44 user.save() 45 user.save()
46 + root = Item(is_folder=True, name="root", file_type="folder", path="", user_id=user.int_id, size=0,
47 + status=True)
48 + root.save()
45 return Response({ 49 return Response({
46 'message': 'user created', 50 'message': 'user created',
47 'int_id': user.int_id, 51 'int_id': user.int_id,
48 'user_id': user.user_id, 52 'user_id': user.user_id,
49 'name': user.name, 53 'name': user.name,
54 + 'root_folder':root.item_id,
50 'total_size': user.total_size, 55 'total_size': user.total_size,
51 'current_size': user.current_size, 56 'current_size': user.current_size,
52 'created_time': user.created_time 57 'created_time': user.created_time
......