mirror of
				https://gitea.publichub.eu/oscar.krause/fastapi-dls.git
				synced 2025-11-04 00:26:07 +00:00 
			
		
		
		
	Merge branch 'dev' into 'main'
Dev See merge request oscar.krause/fastapi-dls!38
This commit is contained in:
		@@ -20,6 +20,7 @@ build:docker:
 | 
				
			|||||||
      changes:
 | 
					      changes:
 | 
				
			||||||
        - app/**/*
 | 
					        - app/**/*
 | 
				
			||||||
        - Dockerfile
 | 
					        - Dockerfile
 | 
				
			||||||
 | 
					        - requirements.txt
 | 
				
			||||||
    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
 | 
					    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
 | 
				
			||||||
  tags: [ docker ]
 | 
					  tags: [ docker ]
 | 
				
			||||||
  before_script:
 | 
					  before_script:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								app/orm.py
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								app/orm.py
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
from datetime import datetime, timedelta
 | 
					from datetime import datetime, timedelta, timezone
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from dateutil.relativedelta import relativedelta
 | 
					from dateutil.relativedelta import relativedelta
 | 
				
			||||||
from sqlalchemy import Column, VARCHAR, CHAR, ForeignKey, DATETIME, update, and_, inspect, text
 | 
					from sqlalchemy import Column, VARCHAR, CHAR, ForeignKey, DATETIME, update, and_, inspect, text
 | 
				
			||||||
@@ -66,7 +66,17 @@ class Origin(Base):
 | 
				
			|||||||
        if origin_refs is None:
 | 
					        if origin_refs is None:
 | 
				
			||||||
            deletions = session.query(Origin).delete()
 | 
					            deletions = session.query(Origin).delete()
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            deletions = session.query(Origin).filter(Origin.origin_ref in origin_refs).delete()
 | 
					            deletions = session.query(Origin).filter(Origin.origin_ref.in_(origin_refs)).delete()
 | 
				
			||||||
 | 
					        session.commit()
 | 
				
			||||||
 | 
					        session.close()
 | 
				
			||||||
 | 
					        return deletions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @staticmethod
 | 
				
			||||||
 | 
					    def delete_expired(engine: Engine) -> int:
 | 
				
			||||||
 | 
					        session = sessionmaker(bind=engine)()
 | 
				
			||||||
 | 
					        origins = session.query(Origin).join(Lease, Origin.origin_ref == Lease.origin_ref, isouter=True).filter(Lease.lease_ref.is_(None)).all()
 | 
				
			||||||
 | 
					        origin_refs = [origin.origin_ref for origin in origins]
 | 
				
			||||||
 | 
					        deletions = session.query(Origin).filter(Origin.origin_ref.in_(origin_refs)).delete()
 | 
				
			||||||
        session.commit()
 | 
					        session.commit()
 | 
				
			||||||
        session.close()
 | 
					        session.close()
 | 
				
			||||||
        return deletions
 | 
					        return deletions
 | 
				
			||||||
@@ -94,10 +104,10 @@ class Lease(Base):
 | 
				
			|||||||
            'lease_ref': self.lease_ref,
 | 
					            'lease_ref': self.lease_ref,
 | 
				
			||||||
            'origin_ref': self.origin_ref,
 | 
					            'origin_ref': self.origin_ref,
 | 
				
			||||||
            # 'scope_ref': self.scope_ref,
 | 
					            # 'scope_ref': self.scope_ref,
 | 
				
			||||||
            'lease_created': self.lease_created.isoformat(),
 | 
					            'lease_created': self.lease_created.replace(tzinfo=timezone.utc).isoformat(),
 | 
				
			||||||
            'lease_expires': self.lease_expires.isoformat(),
 | 
					            'lease_expires': self.lease_expires.replace(tzinfo=timezone.utc).isoformat(),
 | 
				
			||||||
            'lease_updated': self.lease_updated.isoformat(),
 | 
					            'lease_updated': self.lease_updated.replace(tzinfo=timezone.utc).isoformat(),
 | 
				
			||||||
            'lease_renewal': lease_renewal.isoformat(),
 | 
					            'lease_renewal': lease_renewal.replace(tzinfo=timezone.utc).isoformat(),
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @staticmethod
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user