feat: additional expenses
This commit is contained in:
		
							
								
								
									
										19
									
								
								services/statistics/common.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								services/statistics/common.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
from datetime import date
 | 
			
		||||
 | 
			
		||||
from sqlalchemy import select, func, literal, text, cast, CTE
 | 
			
		||||
from sqlalchemy.dialects.postgresql import TIMESTAMP
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def generate_date_range(date_from: date, date_to: date, additional_columns: list[str]) -> CTE:
 | 
			
		||||
    cols = [literal(0).label(col_label) for col_label in additional_columns]
 | 
			
		||||
    return select(
 | 
			
		||||
        cast(
 | 
			
		||||
            func.generate_series(
 | 
			
		||||
                date_from,
 | 
			
		||||
                date_to,
 | 
			
		||||
                text("'1 day'")
 | 
			
		||||
            ),
 | 
			
		||||
            TIMESTAMP(timezone=False)
 | 
			
		||||
        ).label("date"),
 | 
			
		||||
        *cols,
 | 
			
		||||
    ).cte()
 | 
			
		||||
		Reference in New Issue
	
	Block a user