Update routes/onboarding.py
Browse files- routes/onboarding.py +11 -2
routes/onboarding.py
CHANGED
|
@@ -88,14 +88,23 @@ async def update_onboarding_question(payload: UpdateOnboardingQuestion = Body(..
|
|
| 88 |
async def add_onboarding_question(payload: CreateOnboardingQuestion = Body(...)):
|
| 89 |
"""
|
| 90 |
Adiciona uma nova pergunta de onboarding.
|
| 91 |
-
|
| 92 |
"""
|
| 93 |
try:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
new_question = {
|
| 95 |
"title": payload.title,
|
| 96 |
"question_type": payload.question_type,
|
| 97 |
"optional": payload.optional,
|
| 98 |
-
"options":
|
| 99 |
"target_type": payload.target_type
|
| 100 |
}
|
| 101 |
|
|
|
|
| 88 |
async def add_onboarding_question(payload: CreateOnboardingQuestion = Body(...)):
|
| 89 |
"""
|
| 90 |
Adiciona uma nova pergunta de onboarding.
|
| 91 |
+
Trata casos onde `options` vem como `{}` ou string.
|
| 92 |
"""
|
| 93 |
try:
|
| 94 |
+
# Tratamento de `options`
|
| 95 |
+
options = payload.options
|
| 96 |
+
|
| 97 |
+
if isinstance(options, dict) and not options:
|
| 98 |
+
options = None
|
| 99 |
+
elif isinstance(options, str):
|
| 100 |
+
# Transforma string simples em lista com um item capitalizado
|
| 101 |
+
options = [options.strip().capitalize()]
|
| 102 |
+
|
| 103 |
new_question = {
|
| 104 |
"title": payload.title,
|
| 105 |
"question_type": payload.question_type,
|
| 106 |
"optional": payload.optional,
|
| 107 |
+
"options": options,
|
| 108 |
"target_type": payload.target_type
|
| 109 |
}
|
| 110 |
|