Modifying the way rotation works. (#629)
* Modifying the way rotation works. * Adding docs. * Fixing tests.
This commit is contained in:
@ -8,6 +8,7 @@
|
||||
"""
|
||||
import arrow
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.ext.associationproxy import association_proxy
|
||||
from sqlalchemy import Column, Integer, String, Boolean, ForeignKey
|
||||
from sqlalchemy.ext.hybrid import hybrid_property
|
||||
from sqlalchemy.sql.expression import case
|
||||
@ -70,6 +71,8 @@ class Endpoint(db.Model):
|
||||
last_updated = Column(ArrowType, default=arrow.utcnow, nullable=False)
|
||||
date_created = Column(ArrowType, default=arrow.utcnow, onupdate=arrow.utcnow, nullable=False)
|
||||
|
||||
replaced = association_proxy('certificate', 'replaced')
|
||||
|
||||
@property
|
||||
def issues(self):
|
||||
issues = []
|
||||
|
@ -40,14 +40,24 @@ def get(endpoint_id):
|
||||
return database.get(Endpoint, endpoint_id)
|
||||
|
||||
|
||||
def get_by_dnsname(endpoint_dnsname):
|
||||
def get_by_name(name):
|
||||
"""
|
||||
Retrieves an endpoint given it's name.
|
||||
|
||||
:param endpoint_dnsname:
|
||||
:param name:
|
||||
:return:
|
||||
"""
|
||||
return database.get(Endpoint, endpoint_dnsname, field='dnsname')
|
||||
return database.get(Endpoint, name, field='name')
|
||||
|
||||
|
||||
def get_by_dnsname(dnsname):
|
||||
"""
|
||||
Retrieves an endpoint given it's name.
|
||||
|
||||
:param dnsname:
|
||||
:return:
|
||||
"""
|
||||
return database.get(Endpoint, dnsname, field='dnsname')
|
||||
|
||||
|
||||
def get_by_source(source_label):
|
||||
@ -59,6 +69,15 @@ def get_by_source(source_label):
|
||||
return Endpoint.query.filter(Endpoint.source.label == source_label).all() # noqa
|
||||
|
||||
|
||||
def get_all_pending_rotation():
|
||||
"""
|
||||
Retrieves all endpoints which have certificates deployed
|
||||
that have been replaced.
|
||||
:return:
|
||||
"""
|
||||
return Endpoint.query.filter(Endpoint.replaced.any()).all()
|
||||
|
||||
|
||||
def create(**kwargs):
|
||||
"""
|
||||
Creates a new endpoint.
|
||||
|
Reference in New Issue
Block a user