Skip to content

Commit 059fbad

Browse files
committed
Remove forms-api from sequence diagrams
The forms-api app is no longer used in any part of our system, its data and responsibilities have been moved to the forms-admin app, and forms-runner retrieves form definitions from forms-admin. The sequence diagrams in this repo need to be updated to reflect that, this commit does so. This does mean that there is less detail in some sequence diagrams, however this is accurate as to our external API surface; forms-admin exposes fewer public API endpoints than forms-api did.
1 parent bbb05b2 commit 059fbad

4 files changed

Lines changed: 15 additions & 67 deletions

File tree

diagrams/sequence-diagrams/changing-a-form.md

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,48 +8,35 @@ sequenceDiagram
88
participant browser as Web Browser
99
participant admin as forms-admin
1010
link admin: GitHub repo @ https://github.com/alphagov/forms-admin
11-
participant api as forms-api
12-
link api: GitHub repo @ https://github.com/alphagov/forms-api
1311
1412
note right of user: Form has already been made live
1513
1614
user->>browser: visit live form page
1715
browser->>admin: GET /forms/{form id}/live
18-
admin->>api: GET /api/v1/forms/{form id}
19-
admin->>api: GET /api/v1/forms/{form id}/live
2016
browser-->>user: show live form page
2117
2218
user->>browser: click "Create a draft to edit" button
2319
browser->>admin: GET /forms/{form id}
24-
admin->>api: GET /forms/{form id}
25-
admin->>api: GET /forms/{form id}/pages
2620
browser-->>user: show draft form page with task list
2721
28-
note over user,api: User edits the draft form (See Creating form)<br>until they are ready to make their changes live
22+
note over user,admin: User edits the draft form (See Creating form)<br>until they are ready to make their changes live
2923
3024
user->>browser: click "Make your changes live" task
3125
browser->>admin: GET /forms/{form id}/make-live
32-
admin->>api: GET /api/v1/forms/{form id}
3326
browser-->>user: show "Make your changes live" page
3427
alt form creator decides not to make form live
3528
user->>browser: click "No" and submits page
3629
browser->>admin: POST /forms/{form id}/make-live<br>payload: {forms_make_live_form"=><br>{"confirm_make_live"=>"not_made_live"},<br>"form_id"=>"{form id"}}
37-
admin->>api: GET /api/v1/forms/{form id}
3830
admin-->>browser: REDIRECT 302
3931
browser->>admin: GET /forms/{form id}
40-
admin->>api: GET /forms/{form id}
41-
admin->>api: GET /forms/{form id}/pages
4232
browser-->>user: show draft form page with task list
4333
else form creator decides to make form live
4434
user->>browser: click "Yes" and submits page
4535
browser->>admin: POST /forms/{form id}/make-live<br>payload: {forms_make_live_form"=><br>{"confirm_make_live"=>"made_live"},<br>"form_id"=>"{form id"}}
46-
admin->>api: POST /api/v1/forms/{form id}/make-live<br>payload: {includes all form attributes and values}<br>Controller Action doesn't use any
47-
note over admin,api: Creates a new record in published_forms table,<br>with a copy of the form and all its pages<br>
36+
note over admin,admin: Creates a new record in published forms table,<br>with a copy of the form and all its pages<br>
4837
browser-->>user: show "Your form is live" confirmation page
4938
user->>browser: click "Continue to form details" link
5039
browser->>admin: GET /forms/{form id}/live
51-
admin->>api: GET /api/v1/forms/{form id}
52-
admin->>api: GET /api/v1/forms/{form id}/live
5340
browser-->>user: show live form page
5441
end
5542
```

diagrams/sequence-diagrams/creating-a-form.md

Lines changed: 4 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ sequenceDiagram
77
participant browser as Web Browser
88
participant admin as forms-admin
99
link admin: GitHub repo @ https://github.com/alphagov/forms-admin
10-
participant api as forms-api
11-
link api: GitHub repo @ https://github.com/alphagov/forms-api
1210
1311
note right of user: user has already logged in
1412
@@ -17,13 +15,9 @@ sequenceDiagram
1715
browser-->>user: show "What is the name of your form?" page
1816
user->>browser: Give the form a name<br />click "Save and continue" button
1917
browser->>admin: POST /forms/new<br />payload: forms_change_name_form%5Bname%5D={form name}
20-
admin->>api: POST /forms<br />{"name":"{form name}",<br />"submission_email":"",<br />"organisation_id":{user organisation id}}
21-
api->>api: Create form
22-
api-->>admin: {"id":{form id}}
18+
admin->>admin: Create form
2319
admin-->>browser: 302
2420
browser->>admin: GET /forms/{form id}
25-
admin->>api: GET /forms/{form id}
26-
admin->>api: GET /forms/{form id}/pages
2721
browser-->>user: show "Create a form" page
2822
```
2923

@@ -36,15 +30,11 @@ sequenceDiagram
3630
participant browser as Web Browser
3731
participant admin as forms-admin
3832
link admin: GitHub repo @ https://github.com/alphagov/forms-admin
39-
participant api as forms-api
40-
link api: GitHub repo @ https://github.com/alphagov/forms-api
4133
4234
note right of user: On the "Create a form" page
4335
4436
user->>browser: click "Add and edit your questions" link
4537
browser->>admin: GET /forms/1/pages/new/type-of-answer
46-
admin->>api: GET /forms/{form id}
47-
admin->>api: GET /forms/{form id}/pages
4838
4939
browser-->>user: show "What kind of answer do you need to this question?" page
5040
@@ -59,9 +49,7 @@ sequenceDiagram
5949
user->>browser: Provide Question text, Hint text (optional), Question settings
6050
user->>browser: Click "Save and add next question" OR "Save question" button
6151
browser->>admin: POST /forms/{form id}/pages/new/question
62-
admin->>api: POST /forms/{form id}/pages<br />{"question_text":,<br />"hint_text":,<br />"answer_type":,<br />"is_optional":,<br />"answer_settings":{"input_type":}
63-
api->>api: create page
64-
api-->>admin: 201
52+
admin->>admin: create page
6553
6654
alt "Save and add next question" clicked
6755
admin-->>browser: 302
@@ -83,25 +71,18 @@ sequenceDiagram
8371
participant browser as Web Browser
8472
participant admin as forms-admin
8573
link admin: GitHub repo @ https://github.com/alphagov/forms-admin
86-
participant api as forms-api
87-
link api: GitHub repo @ https://github.com/alphagov/forms-api
8874
8975
note right of user: form already created
9076
9177
user->>browser: click "Add a declaration for people to agree to" link
9278
browser->>admin: GET /forms/{form id}/declaration
9379
94-
admin->>api: GET /forms/{form id}
9580
browser-->>user: show "Add a declaration" page
9681
user->>browser: Provide declaration<br />click "Save and continue" button
9782
browser->>admin: POST /forms/{form id}/declaration
98-
admin->>api: GET /forms/{form id}
99-
admin->>api: PUT /forms/{form id}
100-
api->>api: Update form
83+
admin->>admin: Update form
10184
admin-->>browser: 302
10285
browser->>admin: GET /forms/{form id}
103-
admin->>api: GET /forms/{form id}
104-
admin->>api: GET /forms/{form id}/pages
10586
browser-->>user: show "Create a form" page
10687
```
10788

@@ -120,8 +101,6 @@ sequenceDiagram
120101
participant browser as Web Browser
121102
participant admin as forms-admin
122103
link admin: GitHub repo @ https://github.com/alphagov/forms-admin
123-
participant api as forms-api
124-
link api: GitHub repo @ https://github.com/alphagov/forms-api
125104
participant notify as GOV.UK Notify
126105
participant inbox as shared email inbox
127106
actor processor as form processor
@@ -130,7 +109,6 @@ sequenceDiagram
130109
131110
user->>browser: click "Set the email address for completed forms" link
132111
browser->>admin: GET /forms/{form id}/submission-email
133-
admin->>api: GET /forms/{form id}
134112
browser-->>user: show "Set the email address for completed forms" page
135113
user->>browser: Provide email address<br />click "Save and continue" button
136114
browser->>admin: POST /forms/{form id}/submission-email
@@ -139,36 +117,30 @@ sequenceDiagram
139117
notify->>inbox: Send email
140118
admin-->>browser: 302
141119
browser->>admin: GET /forms/{form id}/email-code-sent
142-
admin->>api: GET /forms/{form id}
143120
browser-->>user: show "Confirmation code sent" page
144121
145122
inbox--)processor: read email
146123
processor--)user: provide confirmation_code
147124
148125
user->>browser: click "Enter the email address confirmation code" link
149126
browser->>admin: GET /forms/{form id}/confirm-submission-email
150-
admin->>api: GET /forms/{form id}
151127
browser-->>user: show "Enter the confirmation code" page
152128
153129
user->>browser: enter code, click "Save and continue" button
154130
browser->>admin: POST /forms/{form id}/confirm-submission-email
155-
admin->>api: GET /forms/{form id}
156131
admin->>admin: check code
157132
158133
opt wrong code entered
159134
admin-->>browser: 200
160135
browser-->>user: show "Enter the confirmation code" page with error
161136
user->>browser: enter code, click "Save and continue" button
162137
browser->>admin: POST /forms/{form id}/confirm-submission-email
163-
admin->>api: GET /forms/{form id}
164138
admin->>admin: check code
165139
end
166140
167-
admin->>api: PUT /forms/{form id}
168-
api->>api: update form
141+
admin->>admin: update form
169142
admin-->>browser: 302
170143
browser->>admin: GET /forms/{form id}/submission-email-confirmed
171-
admin->>api: GET /forms/{form id}
172144
browser-->>user: show "Email address confirmed" page
173145
```
174146

@@ -183,20 +155,15 @@ sequenceDiagram
183155
link admin: GitHub repo @ https://github.com/alphagov/forms-admin
184156
participant runner as forms-runner
185157
link runner: GitHub repo @ https://github.com/alphagov/forms-runner
186-
participant api as forms-api
187-
link api: GitHub repo @ https://github.com/alphagov/forms-api
188158
189159
note right of user: At least one question has been added
190160
191161
admin-->>user: show "Create a form" page
192162
user->>browser: Click "Preview this form in a new tab" link
193163
browser->>runner: GET /preview-form/{form id}/{form slug}
194-
runner->>api: GET /forms/{form id}
195164
runner->>runner: determine start page
196165
runner-->>browser: 302
197166
browser->>runner: GET /forms/{form id}/{form slug}/{start page id}
198-
runner->>api: GET /forms/{form id}
199-
runner->>api: GET /forms/{form id}/pages
200167
runner-->>browser: render form start page
201168
browser-->>user: show form preview in new tab
202169
```

diagrams/sequence-diagrams/filling-in-a-form.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sequenceDiagram
66
participant browser as Web Browser
77
participant govuk as GOV.UK website
88
participant runner as forms-runner
9-
participant api as forms-api
9+
participant admin as forms-admin
1010
participant notify as GOV.UK Notify
1111
participant inbox as shared email inbox
1212
actor processor as Form processor
@@ -18,34 +18,34 @@ sequenceDiagram
1818
user->>browser: Click link to form
1919
browser->>runner: GET /form/{form id}/{form slug}
2020
note over browser,runner: Start
21-
runner->>api: GET /api/v1/forms/{form id}/live
21+
runner->>admin: GET /api/v2/forms/{form id}/live
2222
runner->>runner: determine start page
2323
runner-->>browser: 302
2424
browser->>runner: GET /form/{form id}/{form slug}/{start page id}
25-
runner->>api: GET /api/v1/forms/{form id}/live
25+
runner->>admin: GET /api/v2/forms/{form id}/live
2626
browser-->>user: show form
2727
2828
loop for each form question
2929
user->>browser: Provide answer, click "Continue"
3030
browser->>runner: POST /form/{form id}/{form slug}/{page id}
31-
runner->>api: GET /api/v1/forms/{form id}/live
31+
runner->>admin: GET /api/v2/forms/{form id}/live
3232
runner->>runner: Save user session
3333
runner-->>browser: 302
3434
browser->>runner: GET /form/{form id}/{form slug}/{next page id}
35-
runner->>api: GET /api/v1/forms/{form id}/live
35+
runner->>admin: GET /api/v2/forms/{form id}/live
3636
browser-->>user: Show next question
3737
end
3838
3939
browser->>runner: GET /form/{form id}/{form slug}/check_your_answers
4040
browser-->>user: Show check your answers page
4141
user->>browser: Click "Submit"
4242
browser->>runner: POST /form/{form id}/{form slug}/submit-answers
43-
runner->>api: GET /api/v1/forms/{form id}/live
43+
runner->>admin: GET /api/v2/forms/{form id}/live
4444
runner->>notify: client.send_email()
4545
runner->>runner: Delete user session
4646
runner-->>browser: 302
4747
browser->>runner: GET /form/{form id}/{form slug}/submitted
48-
runner->>api: GET /api/v1/forms/{form id}/live
48+
runner->>admin: GET /api/v2/forms/{form id}/live
4949
browser-->>user: Show confirmation page
5050
notify->>inbox: Send email
5151
inbox->>processor: Read email
@@ -60,12 +60,12 @@ sequenceDiagram
6060
actor user as Form filler
6161
participant browser as Web Browser
6262
participant runner as forms-runner
63-
participant api as forms-api
63+
participant admin as forms-admin
6464
participant notify as GOV.UK Notify
6565
6666
user->>browser: Click link to form
6767
browser->>runner: GET /form/{form id}/{form slug}
68-
runner->>api: GET /api/v1/forms/{form id}/live
68+
runner->>admin: GET /api/v2/forms/{form id}/live
6969
runner-->browser: REDIRECT 302 (includes first page id)
7070
browser->>runner: GET /form/{form id}/{forms slug}/{page id}
7171
Note over browser,runner: A new session has started

diagrams/sequence-diagrams/publishing-a-form.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,16 @@ sequenceDiagram
77
participant browser as Web Browser
88
participant admin as forms-admin
99
link admin: GitHub repo @ https://github.com/alphagov/forms-admin
10-
participant api as forms-api
11-
link api: GitHub repo @ https://github.com/alphagov/forms-api
1210
1311
note right of user: All tasks except "Make your form live" have been completed
1412
1513
admin-->>user: show "Create a form" page
1614
user->>browser: Click "Make your form live" link
1715
browser->>admin: GET /forms/{form id}/make-live
18-
admin->>api: GET /api/v1/forms/{form id}
1916
browser-->>user: show "Make your form live" page
2017
2118
user->>browser: Confirm making form live<br />click "Save and continue" button
2219
browser->>admin: POST /forms/{form id}/make-live
23-
admin->>api: GET /api/v1/forms/{form id}
24-
admin->>api: GET /api/v1/forms/{form id}/pages
25-
admin->>api: POST /api/v1/forms/{form id}/make-live<br>payload: {includes all form attributes and values}<br>Controller Action doesn't use any
2620
browser-->>user: show "Your form is live" page
2721
user->>user: Copy URL for the form
2822

0 commit comments

Comments
 (0)