Ejemplo n.º 1
0
class OTPSchema(Schema):
    """
    OTP Verification API Schema
    """
    mobile = fields.Number(required=True)
    otp = fields.Number(required=True)
    gender = fields.String(required=False, allow_none=True)
    email = fields.String(required=False, allow_none=True)
Ejemplo n.º 2
0
class AccountSchema(Schema):
    """
    AccountSchema
    """
    item_id = fields.String(attribute='item.item_id')
    updated = fields.String(attribute='item.updated')
    current_balance = fields.Number()
    available_balance = fields.Number()
    account_id = fields.String(required=False, allow_none=True)
    official_name = fields.String(required=False, allow_none=True)
    currency = fields.String(required=False, allow_none=True)
    type = fields.String(required=False, allow_none=True)
    subtype = fields.String(required=False, allow_none=True)
    transactions = fields.Method('get_transaction')

    def get_transaction(self, instance, **kwargs):
        return TransactionSchema().dump(instance.transaction_account.all(),many=True)
Ejemplo n.º 3
0
class LoginSchema(Schema):
    """
    User API Schema
    """
    name = fields.String(required=True)
    mobile = fields.Number(required=True)

    @validates("mobile")
    def validates_mobile(self, value):
        if not valid_mobile_number(value):
            raise InvalidDataException("Not a valid mobile Number")

    @post_load
    def post_processing(self, data, **kwargs):
        data['otp'] = create_otp()
        data['existing_user'] = not User.objects.filter(
            mobile=data['mobile']).exists()
        return data
Ejemplo n.º 4
0
class TransactionSchema(Schema):
    """
    Account Schema
    category = models.ManyToManyField(TransactionCategory, blank=True, null=True)

    """
    name = fields.String()
    transaction_id = fields.String()
    pending_transaction_id = fields.String()
    transaction_type = fields.String()
    currency = fields.String()
    date = fields.Date()
    authorized_date = fields.Date()
    pending = fields.Boolean()
    amount = fields.Number()
    categories = fields.Method('get_categories')

    def get_categories(self, instance, **kwargs):
        categories = [x['name'] for x in list(instance.category.all().values('name'))]
        return categories
Ejemplo n.º 5
0
class TokenSchema(Schema):
    """
    OTP Verification API Schema
    """
    token = fields.Number(required=True, read_only=True)