add int id
This commit is contained in:
parent
b8d2dd6925
commit
376359f723
3 changed files with 16 additions and 55 deletions
|
|
@ -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 django.db.models.deletion
|
||||||
import uuid
|
import uuid
|
||||||
|
|
@ -19,14 +19,21 @@ class Migration(migrations.Migration):
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='ChargeRequest',
|
name='ChargeRequest',
|
||||||
fields=[
|
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)),
|
('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
|
||||||
('updated_at', models.DateTimeField(auto_now=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)),
|
('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)),
|
('amount', models.PositiveBigIntegerField(blank=True, null=True)),
|
||||||
('callback_url', models.URLField(blank=True, null=True)),
|
('callback_url', models.URLField(blank=True, null=True)),
|
||||||
('details', models.JSONField(blank=True, default=dict, 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)),
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)),
|
||||||
],
|
],
|
||||||
options={
|
options={
|
||||||
|
|
|
||||||
|
|
@ -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),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
@ -12,7 +12,9 @@ from utils.wallet_client import deposit_to_user_wallet_submit, withdraw_from_use
|
||||||
from utils.pna import PNAClient
|
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,
|
application = models.ForeignKey(oauth2_settings.APPLICATION_MODEL, on_delete=models.PROTECT,
|
||||||
related_name='+', null=True, blank=True)
|
related_name='+', null=True, blank=True)
|
||||||
state = models.IntegerField(choices=StateChoices.choices, default=StateChoices.CREATED)
|
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_code = models.IntegerField(null=True, blank=True)
|
||||||
pna_status_message = models.CharField(null=True, blank=True, max_length=255)
|
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
|
# TODO: complete and use this
|
||||||
def change_state(self, from_state, to_state, error_message=None, **data):
|
def change_state(self, from_state, to_state, error_message=None, **data):
|
||||||
if self.state == from_state:
|
if self.state == from_state:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue