Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert MethodViews to module functions for API requests #3092

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
2c0f2a8
Convert permissions other than scheduled changes to functions
michellemounde Feb 5, 2024
92dec20
Remove permissions view from module export list
michellemounde Feb 6, 2024
4e6e1ce
Lint fixes
michellemounde Feb 6, 2024
349cb1a
Add transaction and exception handlers to permission functions
michellemounde Feb 6, 2024
ebe5c88
Update functions with required parameters
michellemounde Feb 6, 2024
c51fa2d
Import sorting
michellemounde Feb 6, 2024
2e12c19
Modify debugging of request path into a decorator function
michellemounde Feb 6, 2024
d720837
Refactor required signoffs other than scheduled changes and history
michellemounde Feb 6, 2024
5378f3e
Change rules views to functions minus scheduled chnages and history v…
michellemounde Feb 6, 2024
17da61d
Modify SingleRelaseView and SingleLocaleView class methods to functions
michellemounde Feb 7, 2024
7300776
Change ReleaseReadOnly AdminViews to functions
michellemounde Feb 7, 2024
814bf14
Refactor ReleasesAPIView and SingleReleaseColumnView to functions
michellemounde Feb 7, 2024
0cdb22a
Modify ScheduleReleaseDiffView and ScheduleReleaseFieldView to functions
michellemounde Feb 7, 2024
0a7f3e8
Lint fixes
michellemounde Feb 7, 2024
da7939a
Redefine symbols to be exported from permissions module with refactor…
michellemounde Feb 7, 2024
6fbef36
Fix put_rules_id_or_alias to handle general exceptions with correct r…
michellemounde Feb 7, 2024
a0a59ea
Combine Flask imports to one line in base view
michellemounde Feb 7, 2024
4538c2c
Revert a0a59ea0
michellemounde Feb 8, 2024
b9d4f91
Modify ScheduledChangesView and PermissionScheduledChangesView to fun…
michellemounde Feb 8, 2024
885e887
Convert RequiredSignoffsScheduledChangesView to functions
michellemounde Feb 9, 2024
68042e7
Convert RulesScheduledChangesView to functions
michellemounde Feb 9, 2024
9deec60
Convert ReleaseScheduledChangesView to functions
michellemounde Feb 9, 2024
61ab5ba
Convert PinnableReleaseScheduledChangesView to functions
michellemounde Feb 9, 2024
594015e
Rename scheduled changes permissions in plural
michellemounde Feb 9, 2024
0bd7578
Refactor ScheduledChangesView in emergency shutoff to functions
michellemounde Feb 9, 2024
ec55dae
Lint fixes
michellemounde Feb 9, 2024
4f7203f
Add missing request body params to scheduled changes functions
michellemounde Feb 9, 2024
eec09f8
Modify ScheduledChangeView and PermissionScheduledChangeView to funct…
michellemounde Feb 9, 2024
96114f1
Change RequiredSignoffScheduledChangeView to functions
michellemounde Feb 9, 2024
dab0e96
Change RuleScheduledChangeView to functions
michellemounde Feb 9, 2024
1663ee7
Change ReleaseScheduledChangeView to functions
michellemounde Feb 9, 2024
2fdb2ed
Refactor ScheduledChangeView in emergency shutoff to functions
michellemounde Feb 9, 2024
f3416cd
Add missing request body params to scheduled change functions
michellemounde Feb 9, 2024
40f4aaa
Lint fixes
michellemounde Feb 9, 2024
906caf0
Refactor EnactScheduledChangeView and its subclasses to functions
michellemounde Feb 12, 2024
f171921
Lint fixes
michellemounde Feb 12, 2024
2822797
Convert SignoffsView and its subclasses to functions
michellemounde Feb 14, 2024
336441f
Change HistoryView and HistoryAPIViews to functions
michellemounde Feb 14, 2024
233ae7b
Modify ScheduledChangeHistoryView to functions
michellemounde Feb 15, 2024
c2c7b86
Convert ScheduledChangeHistoryView child classes to functions
michellemounde Feb 15, 2024
290b029
Lint fixes
michellemounde Feb 15, 2024
b792c87
Modify required signoffs get_filters helper function to only pass nee…
michellemounde Feb 16, 2024
384c10e
Accept object change id in rules history functions
michellemounde Feb 16, 2024
b6e4290
Clean up print statements and TODO's
michellemounde Feb 16, 2024
bd038ca
Delete base AdminView
michellemounde Feb 16, 2024
f7fbeb3
Lint fixes
michellemounde Feb 16, 2024
d73ee4e
Remove debugPath decorator and modify handleGeneralExceptions to read…
michellemounde Feb 16, 2024
ff994e6
Modify requirelogin to use connexion.request
michellemounde Feb 16, 2024
92a2e5c
Remove docstrings with request paths
michellemounde Feb 16, 2024
dbf4578
Sort imports
michellemounde Feb 16, 2024
49d8f1d
Add handleGeneralExceptions to post functions that were missing it
michellemounde Feb 19, 2024
166b812
Remove kwargs in delete emergency_shutoff
michellemounde Feb 19, 2024
e846d5c
Use data version directly in delete_scheduled_change
michellemounde Feb 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 49 additions & 22 deletions src/auslib/web/admin/emergency_shutoff.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,15 @@

from auslib.global_state import dbo
from auslib.web.admin.views.base import handleGeneralExceptions, requirelogin, transactionHandler
from auslib.web.admin.views.scheduled_changes import EnactScheduledChangeView, ScheduledChangesView, ScheduledChangeView, SignoffsView
from auslib.web.admin.views.scheduled_changes import (
delete_scheduled_change,
delete_signoffs_scheduled_change,
get_scheduled_changes,
post_enact_scheduled_change,
post_scheduled_change,
post_scheduled_changes,
post_signoffs_scheduled_change,
)


def get_emergency_shutoff(product, channel):
Expand All @@ -20,7 +28,7 @@ def shutoff_exists(product, channel):

@requirelogin
@transactionHandler
@handleGeneralExceptions("POST")
@handleGeneralExceptions
def post(emergency_shutoff, changed_by, transaction):
if shutoff_exists(emergency_shutoff["product"], emergency_shutoff["channel"]):
return problem(400, "Bad Request", "Invalid Emergency shutoff data", ext={"exception": "Emergency shutoff for product/channel already exists."})
Expand All @@ -36,8 +44,8 @@ def post(emergency_shutoff, changed_by, transaction):

@requirelogin
@transactionHandler
@handleGeneralExceptions("DELETE")
def delete(product, channel, data_version, changed_by, transaction, **kwargs):
@handleGeneralExceptions
def delete(product, channel, data_version, changed_by, transaction):
if not shutoff_exists(product, channel):
return problem(status=404, title="Not Found", detail="Shutoff wasn't found", ext={"exception": "Shutoff does not exist"})
where = dict(product=product, channel=channel)
Expand All @@ -46,46 +54,65 @@ def delete(product, channel, data_version, changed_by, transaction, **kwargs):


def scheduled_changes():
view = ScheduledChangesView("emergency_shutoff", dbo.emergencyShutoffs)
return view.get()
return get_scheduled_changes(table=dbo.emergencyShutoffs)


@requirelogin
@transactionHandler
@handleGeneralExceptions
def schedule_deletion(sc_emergency_shutoff, changed_by, transaction):
change_type = sc_emergency_shutoff.get("change_type")
if change_type != "delete":
return problem(400, "Bad Request", "Invalid or missing change_type")

view = ScheduledChangesView("emergency_shutoff", dbo.emergencyShutoffs)
return view._post(sc_emergency_shutoff, transaction, changed_by, change_type)
return post_scheduled_changes(
sc_table=dbo.emergencyShutoffs.scheduled_changes, what=sc_emergency_shutoff, transaction=transaction, changed_by=changed_by, change_type=change_type
)


@requirelogin
@transactionHandler
@handleGeneralExceptions
def update_scheduled_deletion(sc_id, sc_emergency_shutoff, changed_by, transaction):
view = ScheduledChangeView("emergency_shutoff", dbo.emergencyShutoffs)
return view._post(sc_id, sc_emergency_shutoff, transaction, changed_by, sc_emergency_shutoff["sc_data_version"])
return post_scheduled_change(
sc_table=dbo.emergencyShutoffs.scheduled_changes,
sc_id=sc_id,
what=sc_emergency_shutoff,
transaction=transaction,
changed_by=changed_by,
old_sc_data_version=sc_emergency_shutoff["sc_data_version"],
)


@requirelogin
@transactionHandler
def delete_scheduled_deletion(sc_id, changed_by, transaction, **kwargs):
view = ScheduledChangeView("emergency_shutoff", dbo.emergencyShutoffs)
return view._delete(sc_id, transaction, changed_by)
@handleGeneralExceptions
def delete_scheduled_deletion(sc_id, data_version, changed_by, transaction):
return delete_scheduled_change(
sc_table=dbo.emergencyShutoffs.scheduled_changes, sc_id=sc_id, data_version=data_version, transaction=transaction, changed_by=changed_by
)


def scheduled_changes_signoffs(sc_id):
view = SignoffsView("emergency_shutoff", dbo.emergencyShutoffs)
return view.post(sc_id)
@requirelogin
@transactionHandler
@handleGeneralExceptions
def scheduled_changes_signoffs(sc_id, transaction, changed_by):
return post_signoffs_scheduled_change(
signoffs_table=dbo.emergencyShutoffs.scheduled_changes.signoffs, sc_id=sc_id, transaction=transaction, changed_by=changed_by
)


def scheduled_changes_signoffs_delete(sc_id):
view = SignoffsView("emergency_shutoff", dbo.emergencyShutoffs)
return view.delete(sc_id)
@requirelogin
@transactionHandler
@handleGeneralExceptions
def scheduled_changes_signoffs_delete(sc_id, transaction, changed_by):
return delete_signoffs_scheduled_change(
signoffs_table=dbo.emergencyShutoffs.scheduled_changes.signoffs, sc_id=sc_id, transaction=transaction, changed_by=changed_by
)


@requirelogin
def enact_updates_scheduled_for_reactivation(sc_id, changed_by):
view = EnactScheduledChangeView("emergency_shutoff", dbo.emergencyShutoffs)
return view.post(sc_id, changed_by=changed_by)
@transactionHandler
@handleGeneralExceptions
def enact_updates_scheduled_for_reactivation(sc_id, transaction, changed_by):
return post_enact_scheduled_change(sc_table=dbo.emergencyShutoffs.scheduled_changes, sc_id=sc_id, transaction=transaction, changed_by=changed_by)
Loading