From 376359f723290d83fadedcc583f9c9e09724f7d6 Mon Sep 17 00:00:00 2001 From: Sayyid Hamid Mahdavi Date: Thu, 15 May 2025 17:09:53 +0330 Subject: [PATCH] add int id --- apps/pg/migrations/0001_initial.py | 13 +++-- ...002_chargerequest_pna_order_id_and_more.py | 51 ------------------- apps/pg/models.py | 7 ++- 3 files changed, 16 insertions(+), 55 deletions(-) delete mode 100644 apps/pg/migrations/0002_chargerequest_pna_order_id_and_more.py diff --git a/apps/pg/migrations/0001_initial.py b/apps/pg/migrations/0001_initial.py index 69e8e7e..238a0ee 100644 --- a/apps/pg/migrations/0001_initial.py +++ b/apps/pg/migrations/0001_initial.py @@ -1,4 +1,4 @@ -# Generated by Django 5.1.7 on 2025-05-13 10:26 +# Generated by Django 5.1.7 on 2025-05-15 13:37 import django.db.models.deletion import uuid @@ -19,14 +19,21 @@ class Migration(migrations.Migration): migrations.CreateModel( name='ChargeRequest', fields=[ - ('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)), + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)), ('updated_at', models.DateTimeField(auto_now=True, db_index=True)), + ('uuid', models.UUIDField(db_index=True, default=uuid.uuid4, editable=False, unique=True)), ('state', models.IntegerField(choices=[(1, 'created'), (2, 'delayed'), (3, 'pending'), (4, 'incomplete'), (5, 'success'), (6, 'failed'), (7, 'expected_failure')], default=1)), ('amount', models.PositiveBigIntegerField(blank=True, null=True)), ('callback_url', models.URLField(blank=True, null=True)), ('details', models.JSONField(blank=True, default=dict, null=True)), - ('application', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL)), + ('pna_token', models.CharField(blank=True, db_index=True, max_length=255, null=True)), + ('pna_order_id', models.IntegerField(blank=True, db_index=True, null=True)), + ('pna_originator', models.CharField(blank=True, max_length=255, null=True)), + ('pna_status', models.IntegerField(blank=True, choices=[(1, 'created'), (2, 'delayed'), (3, 'pending'), (4, 'incomplete'), (5, 'success'), (6, 'failed'), (7, 'expected_failure')], db_index=True, null=True)), + ('pna_status_code', models.IntegerField(blank=True, null=True)), + ('pna_status_message', models.CharField(blank=True, max_length=255, null=True)), + ('application', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], options={ diff --git a/apps/pg/migrations/0002_chargerequest_pna_order_id_and_more.py b/apps/pg/migrations/0002_chargerequest_pna_order_id_and_more.py deleted file mode 100644 index 47f5391..0000000 --- a/apps/pg/migrations/0002_chargerequest_pna_order_id_and_more.py +++ /dev/null @@ -1,51 +0,0 @@ -# Generated by Django 5.1.7 on 2025-05-13 16:08 - -import django.db.models.deletion -from django.conf import settings -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ('pg', '0001_initial'), - migrations.swappable_dependency(settings.OAUTH2_PROVIDER_APPLICATION_MODEL), - ] - - operations = [ - migrations.AddField( - model_name='chargerequest', - name='pna_order_id', - field=models.IntegerField(blank=True, db_index=True, null=True), - ), - migrations.AddField( - model_name='chargerequest', - name='pna_originator', - field=models.CharField(blank=True, max_length=255, null=True), - ), - migrations.AddField( - model_name='chargerequest', - name='pna_status', - field=models.IntegerField(blank=True, choices=[(1, 'created'), (2, 'delayed'), (3, 'pending'), (4, 'incomplete'), (5, 'success'), (6, 'failed'), (7, 'expected_failure')], db_index=True, null=True), - ), - migrations.AddField( - model_name='chargerequest', - name='pna_status_code', - field=models.IntegerField(blank=True, null=True), - ), - migrations.AddField( - model_name='chargerequest', - name='pna_status_message', - field=models.CharField(blank=True, max_length=255, null=True), - ), - migrations.AddField( - model_name='chargerequest', - name='pna_token', - field=models.CharField(blank=True, db_index=True, max_length=255, null=True), - ), - migrations.AlterField( - model_name='chargerequest', - name='application', - field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='+', to=settings.OAUTH2_PROVIDER_APPLICATION_MODEL), - ), - ] diff --git a/apps/pg/models.py b/apps/pg/models.py index 6261b5c..6c1c2ef 100644 --- a/apps/pg/models.py +++ b/apps/pg/models.py @@ -12,7 +12,9 @@ from utils.wallet_client import deposit_to_user_wallet_submit, withdraw_from_use from utils.pna import PNAClient -class ChargeRequest(BaseModel): +class ChargeRequest(models.Model): + uuid = models.UUIDField(editable=False, default=uuid.uuid4, unique=True, db_index=True) + application = models.ForeignKey(oauth2_settings.APPLICATION_MODEL, on_delete=models.PROTECT, related_name='+', null=True, blank=True) state = models.IntegerField(choices=StateChoices.choices, default=StateChoices.CREATED) @@ -28,6 +30,9 @@ class ChargeRequest(BaseModel): pna_status_code = models.IntegerField(null=True, blank=True) pna_status_message = models.CharField(null=True, blank=True, max_length=255) + created_at = models.DateTimeField(auto_now_add=True, db_index=True) + updated_at = models.DateTimeField(auto_now=True, db_index=True) + # TODO: complete and use this def change_state(self, from_state, to_state, error_message=None, **data): if self.state == from_state: