This commit is contained in:
CocoByte 2024-03-12 16:36:52 -06:00
parent ecb853edbb
commit 2d44669f08
No known key found for this signature in database
GPG key ID: BBFAA2526384C97F
88 changed files with 2597 additions and 1834 deletions

View file

@ -1,4 +1,4 @@
# 15. Use Django-FSM library for domain application state
# 15. Use Django-FSM library for domain request state
Date: 2022-11-03
@ -10,12 +10,12 @@ Accepted
The applications that registrants submit for domains move through a variety of
different states or stages as they are processed by CISA staff. Traditionally,
there would be a “domain application” data model with a “status” field. The
there would be a “domain request” data model with a “status” field. The
rules in the application code that control what changes are permitted to the
statuses are called “domain logic”.
In a large piece of software, domain logic often spreads around the code base
because while handling a single request like “mark this application as
because while handling a single request like “mark this domain request as
approved”, requirements can be enforced at many different points during the
process.
@ -28,7 +28,7 @@ states and can change states (or “transition”) according to fixed rules.
We will use the django-fsm library to represent the status of our domain
registration applications as a finite state machine. The library allows us to
list what statuses are possible and describe which state transitions are
possible (e.g. Can an approved application ever be marked as “in-process”?).
possible (e.g. Can an approved domain request ever be marked as “in-process”?).
## Consequences