Commit f1c332d6 authored by John Red Medrano's avatar John Red Medrano

Merge pull request #458 in RMS/api-main-service from red-develop to RMSv2

* commit 'ede5f94d':
  added new endpoint for batch upload with history
parents 756aedcb ede5f94d
This diff is collapsed.
from rest_framework import serializers
from app.entities.models import ExtractTransformLoad, UserHistory
# import ast
class ExtractTransformLoadSerializer(serializers.ModelSerializer):
class Meta:
model = ExtractTransformLoad
fields = '__all__'
read_only_fields = (
'created', 'createdby', 'modified', 'modifiedby', 'code',
)
class UserHistorySerializer(serializers.ModelSerializer):
class Meta:
model = UserHistory
fields = '__all__'
read_only_fields = (
'created', 'createdby', 'modified', 'code'
)
This diff is collapsed.
...@@ -7,6 +7,7 @@ from app.applicationlayer.management.company.views import CompanyViewSet ...@@ -7,6 +7,7 @@ from app.applicationlayer.management.company.views import CompanyViewSet
from app.applicationlayer.management.department.views import DepartmentViewSet from app.applicationlayer.management.department.views import DepartmentViewSet
from app.applicationlayer.management.module.views import ModuleViewSet from app.applicationlayer.management.module.views import ModuleViewSet
from app.applicationlayer.management.account.views import UserViewSet from app.applicationlayer.management.account.views import UserViewSet
from app.applicationlayer.management.batchupload.views import BatchUploadViewSet
from app.businesslayer.company.views import AdminCompanyViewSet from app.businesslayer.company.views import AdminCompanyViewSet
from app.applicationlayer.management.notification.views import NotificationsViewset from app.applicationlayer.management.notification.views import NotificationsViewset
from app.applicationlayer.management.delegation.views import DelegationViewSet from app.applicationlayer.management.delegation.views import DelegationViewSet
...@@ -28,6 +29,7 @@ router.register(r'user-download', UserDownloadRequest) ...@@ -28,6 +29,7 @@ router.register(r'user-download', UserDownloadRequest)
router.register(r'department-download', DepartmentDownloadRequest) router.register(r'department-download', DepartmentDownloadRequest)
router.register(r'company-download', CompanyDownloadRequest) router.register(r'company-download', CompanyDownloadRequest)
router.register(r'delegations', DelegationViewSet) router.register(r'delegations', DelegationViewSet)
router.register(r'extract-transform-load', BatchUploadViewSet)
urlpatterns = ( urlpatterns = (
path('', include(router.urls)), path('', include(router.urls)),
......
...@@ -41,6 +41,7 @@ class GenerateCode(Enum): ...@@ -41,6 +41,7 @@ class GenerateCode(Enum):
FORM_STAKE = 'FRMSTK' FORM_STAKE = 'FRMSTK'
FORM_ATTACH = 'FRMATCH' FORM_ATTACH = 'FRMATCH'
FORM_DETAIL = 'FRMDETAIL' FORM_DETAIL = 'FRMDETAIL'
ETL = 'ETL'
ASSET_GROUP = 'AMSGRP' ASSET_GROUP = 'AMSGRP'
......
# Generated by Django 2.2 on 2019-11-13 10:16
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('entities', '0038_auto_20191112_1457'),
]
operations = [
migrations.CreateModel(
name='ExtractTransformLoad',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', models.DateTimeField(auto_now_add=True)),
('createdby', models.CharField(max_length=255)),
('modified', models.DateTimeField(auto_now=True)),
('modifiedby', models.CharField(max_length=255)),
('file_name', models.CharField(max_length=255)),
('model_type', models.CharField(choices=[('APP', 'APP'), ('MODULE', 'MODULE'), ('COMPANY', 'COMPANY'), ('DEPARTMENT', 'DEPARTMENT'), ('USER', 'USER'), ('DELEGATION', 'DELEGATION'), ('NOTIF', 'NOTIF'), ('TMP', 'TMP'), ('TMPAPR', 'TMPAPR'), ('TMPSTK', 'TMPSTK'), ('TMPATCH', 'TMPATCH'), ('TMPDETAIL', 'TMPDETAIL'), ('FRM', 'FRM'), ('FRMAPR', 'FRMAPR'), ('FRMSTK', 'FRMSTK'), ('FRMATCH', 'FRMATCH'), ('FRMDETAIL', 'FRMDETAIL'), ('ETL', 'ETL'), ('AMSGRP', 'AMSGRP')], default='USER', max_length=100)),
('code', models.CharField(blank=True, max_length=255, null=True, unique=True)),
],
options={
'db_table': 'csv_filenames',
},
),
migrations.AddField(
model_name='userhistory',
name='file_name',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='extract_transform_load', to='entities.ExtractTransformLoad', to_field='code'),
),
]
...@@ -238,9 +238,50 @@ class RolePermission(AuditClass): ...@@ -238,9 +238,50 @@ class RolePermission(AuditClass):
class Meta: class Meta:
db_table = 'role_permissions' db_table = 'role_permissions'
class ExtractTransformLoad(AuditClass):
file_name = models.CharField(max_length=255)
model_type = models.CharField(
choices=[(tag.value, tag.value) for tag in enums.GenerateCode],
default=enums.GenerateCode.USER.value,
max_length=100
)
code = models.CharField(
unique=True,
max_length=255,
blank=True,
null=True
)
class Meta:
db_table = 'csv_filenames'
def __str__(self):
return f'{self.file_name}'
def save(self, *args, **kwargs):
super(ExtractTransformLoad, self).save(*args, **kwargs)
code = number_generator(enums.GenerateCode.ETL.value, self.id)
print(type(self.code))
if self.code == '' or self.code == None:
self.code = code
self.save()
class UserHistory(AuditClass): class UserHistory(AuditClass):
file_name = models.ForeignKey(
ExtractTransformLoad,
to_field='code',
related_name='extract_transform_load',
on_delete=models.DO_NOTHING,
blank=True,
null=True
)
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
username = models.CharField(max_length=255, unique=True) username = models.CharField(max_length=255, unique=True)
email = models.EmailField(max_length=255, unique=False) email = models.EmailField(max_length=255, unique=False)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment