Compare commits
3 Commits
f35a4c6145
...
41cb7ae14f
Author | SHA1 | Date | |
---|---|---|---|
41cb7ae14f | |||
5035dd4947 | |||
08440d242f |
@ -155,6 +155,13 @@ async def _origins_delete(request: Request):
|
||||
return Response(status_code=201)
|
||||
|
||||
|
||||
@app.delete('/-/origins/{origin_ref}', summary='* Origins')
|
||||
async def _origins_delete_origin_ref(request: Request, origin_ref: str):
|
||||
if Origin.delete(db, origin_ref) == 1:
|
||||
return Response(status_code=201)
|
||||
raise JSONResponse(status_code=404, content={'status': 404, 'detail': 'lease not found'})
|
||||
|
||||
|
||||
@app.get('/-/leases', summary='* Leases')
|
||||
async def _leases(request: Request, origin: bool = False):
|
||||
session = sessionmaker(bind=db)()
|
||||
|
@ -56,12 +56,12 @@ class Origin(Base):
|
||||
session.close()
|
||||
|
||||
@staticmethod
|
||||
def delete(engine: Engine, origins: ["Origin"] = None) -> int:
|
||||
def delete(engine: Engine, origin_ref: str = None) -> int:
|
||||
session = sessionmaker(bind=engine)()
|
||||
if origins is None:
|
||||
if origin_ref is None:
|
||||
deletions = session.query(Origin).delete()
|
||||
else:
|
||||
deletions = session.query(Origin).filter(Origin.origin_ref in origins).delete()
|
||||
deletions = session.query(Origin).filter(Origin.origin_ref == origin_ref).delete()
|
||||
session.commit()
|
||||
session.close()
|
||||
return deletions
|
||||
|
@ -102,7 +102,16 @@ async function deleteOrigins() {
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open("DELETE", '/-/origins', true);
|
||||
xhr.send();
|
||||
await fetchOriginsWithLeases()
|
||||
}
|
||||
|
||||
async function deleteOrigin(origin_ref) {
|
||||
if (origin_ref === undefined)
|
||||
origin_ref = window.prompt("Please enter 'origin_ref' which should be deleted");
|
||||
if (origin_ref === null || origin_ref === "")
|
||||
return
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open("DELETE", `/-/origins/${origin_ref}`, true);
|
||||
xhr.send();
|
||||
}
|
||||
|
||||
async function deleteLease(lease_ref) {
|
||||
|
@ -5,18 +5,20 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h1 class="h2">Leases <small>with origin</small></h1>
|
||||
<div class="btn-toolbar mb-2 mb-md-0">
|
||||
<div class="btn-group me-2">
|
||||
<button type="button" class="btn btn-sm btn-outline-danger" onclick="deleteLease();load();">delete lease</button>
|
||||
<div>
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h1 class="h2">Leases <small>with origin</small></h1>
|
||||
<div class="btn-toolbar mb-2 mb-md-0">
|
||||
<div class="btn-group me-2">
|
||||
<button type="button" class="btn btn-sm btn-outline-danger" onclick="deleteLease().finally(() => load())">
|
||||
delete lease
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="leases" class="mt-3"></div>
|
||||
</div>
|
||||
<div id="leases" class="mt-3"></div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
|
@ -5,24 +5,33 @@
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h1 class="h2">Origins <small>with leases</small></h1>
|
||||
<div class="btn-toolbar mb-2 mb-md-0">
|
||||
<div class="btn-group me-2">
|
||||
<button type="button" class="btn btn-sm btn-outline-danger" onclick="deleteOrigins()">delete all</button>
|
||||
<div>
|
||||
<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
|
||||
<h1 class="h2">Origins <small>with leases</small></h1>
|
||||
<div class="btn-toolbar mb-2 mb-md-0">
|
||||
<div class="btn-group me-2">
|
||||
<button type="button" class="btn btn-sm btn-outline-danger" onclick="deleteOrigin().finally(() => load())">
|
||||
delete origin
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-danger" onclick="deleteOrigins().finally(() => load())">
|
||||
delete all
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="origins" class="mt-3"></div>
|
||||
</div>
|
||||
<div id="origins" class="mt-3"></div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block scripts %}
|
||||
{{ super() }}
|
||||
<script type="application/javascript">
|
||||
const origins = document.getElementById('origins')
|
||||
fetchOriginsWithLeases(origins)
|
||||
</script>
|
||||
<script type="application/javascript">
|
||||
function load() {
|
||||
const origins = document.getElementById('origins')
|
||||
fetchOriginsWithLeases(origins)
|
||||
}
|
||||
|
||||
load()
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
Loading…
Reference in New Issue
Block a user