mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-16 20:48:37 -04:00
Insert initial letter rates.
Create letter rates dao. Query to fetch letter rates.
This commit is contained in:
23
app/dao/letter_rate_dao.py
Normal file
23
app/dao/letter_rate_dao.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from app import db
|
||||
from app.dao.dao_utils import transactional
|
||||
from app.models import LetterRate
|
||||
|
||||
|
||||
@transactional
|
||||
def dao_create_letter_rate(letter_rate):
|
||||
db.session.add(letter_rate)
|
||||
|
||||
|
||||
def get_letter_rates_for_daterange(date, crown, sheet_count, post_class='second'):
|
||||
rates = LetterRate.query.filter(
|
||||
LetterRate.start_date <= date
|
||||
).filter((LetterRate.end_date == None) | # noqa
|
||||
(LetterRate.end_date > date)
|
||||
).filter(
|
||||
LetterRate.crown == crown
|
||||
).filter(
|
||||
LetterRate.sheet_count == sheet_count
|
||||
).filter(
|
||||
LetterRate.post_class == post_class
|
||||
).all()
|
||||
return rates
|
||||
@@ -1487,7 +1487,7 @@ class LetterRate(db.Model):
|
||||
id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
|
||||
start_date = db.Column(db.DateTime, nullable=False)
|
||||
end_date = db.Column(db.DateTime, nullable=True)
|
||||
sheet_total = db.Column(db.Integer, nullable=False) # double sided sheet
|
||||
sheet_count = db.Column(db.Integer, nullable=False) # double sided sheet
|
||||
rate = db.Column(db.Numeric(), nullable=False)
|
||||
crown = db.Column(db.Boolean, nullable=False)
|
||||
post_class = db.Column(db.String, nullable=False)
|
||||
|
||||
Reference in New Issue
Block a user