Commit 278da77
committed
Add POST /api/v0/conversation endpoint
This commit introduces a 'create' action in 'Api::V0::ConversationsController' that instantiates an anonymous conversation, delegates validation and persistence to 'Form::CreateQuestion' (thereby reusing our PII detection, length limits and pending‐question logic rather than reimplementing it), and returns either a 201 with the 'QuestionBlueprint' pending view or a 422 with ‘ValidationErrorBlueprint' JSON. We’ve scoped the existing ‘find_conversation' before_action to run on all actions except ‘create', avoiding a premature 404 on the initial POST, and added a private ‘question_params' method to explicitly require and permit the '{ question: { question: "..." } }' payload in line with our OpenAPI schema. Finally, we updated 'routes.rb' to expose the new POST '/api/v0/conversation' route and added comprehensive request specs covering authorization, success and error scenarios.1 parent 1bcbd15 commit 278da77
3 files changed
Lines changed: 65 additions & 0 deletions
File tree
- app/controllers/api/v0
- config
- spec/requests/api/v0
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
5 | 18 | | |
6 | 19 | | |
7 | 20 | | |
| |||
49 | 62 | | |
50 | 63 | | |
51 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
52 | 69 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
| 148 | + | |
148 | 149 | | |
149 | 150 | | |
150 | 151 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
92 | 139 | | |
93 | 140 | | |
94 | 141 | | |
| |||
0 commit comments