Skip to content

Commit 62ba4c0

Browse files
author
Lasim
committed
feat(backend): enhance email test endpoint with detailed response schemas
1 parent 273d325 commit 62ba4c0

File tree

6 files changed

+274
-246
lines changed

6 files changed

+274
-246
lines changed

services/backend/api-spec.json

Lines changed: 92 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -19403,7 +19403,8 @@
1940319403
"properties": {
1940419404
"email": {
1940519405
"type": "string",
19406-
"format": "email"
19406+
"format": "email",
19407+
"description": "Valid email address to send test email to"
1940719408
}
1940819409
},
1940919410
"required": [
@@ -19422,162 +19423,142 @@
1942219423
],
1942319424
"responses": {
1942419425
"200": {
19425-
"description": "Default Response",
19426+
"description": "Test email sent successfully",
1942619427
"content": {
1942719428
"application/json": {
1942819429
"schema": {
19429-
"schema": {
19430-
"description": "Test email sent successfully",
19431-
"type": "object",
19432-
"properties": {
19433-
"success": {
19434-
"description": "Indicates if the test email was sent successfully",
19435-
"type": "boolean"
19436-
},
19437-
"message": {
19438-
"description": "Success message",
19439-
"type": "string"
19440-
},
19441-
"messageId": {
19442-
"description": "Email message ID from SMTP server",
19430+
"type": "object",
19431+
"properties": {
19432+
"success": {
19433+
"type": "boolean",
19434+
"description": "Indicates if the test email was sent successfully"
19435+
},
19436+
"message": {
19437+
"type": "string",
19438+
"description": "Success message"
19439+
},
19440+
"messageId": {
19441+
"type": "string",
19442+
"description": "Email message ID from SMTP server"
19443+
},
19444+
"recipients": {
19445+
"type": "array",
19446+
"items": {
1944319447
"type": "string"
1944419448
},
19445-
"recipients": {
19446-
"description": "List of email recipients",
19447-
"type": "array",
19448-
"items": {
19449-
"type": "string"
19450-
}
19451-
}
19452-
},
19453-
"required": [
19454-
"success",
19455-
"message",
19456-
"recipients"
19457-
],
19458-
"additionalProperties": false
19449+
"description": "List of email recipients"
19450+
}
1945919451
},
19460-
"components": {}
19452+
"required": [
19453+
"success",
19454+
"message",
19455+
"recipients"
19456+
],
19457+
"description": "Test email sent successfully"
1946119458
}
1946219459
}
1946319460
}
1946419461
},
1946519462
"400": {
19466-
"description": "Default Response",
19463+
"description": "Bad Request - Invalid email address or validation error",
1946719464
"content": {
1946819465
"application/json": {
1946919466
"schema": {
19470-
"schema": {
19471-
"description": "Bad Request - Invalid email address or validation error",
19472-
"type": "object",
19473-
"properties": {
19474-
"success": {
19475-
"description": "Indicates the operation failed",
19476-
"default": false,
19477-
"type": "boolean"
19478-
},
19479-
"error": {
19480-
"description": "Error message describing what went wrong",
19481-
"type": "string"
19482-
}
19467+
"type": "object",
19468+
"properties": {
19469+
"success": {
19470+
"type": "boolean",
19471+
"default": false,
19472+
"description": "Indicates the operation failed"
1948319473
},
19484-
"required": [
19485-
"success",
19486-
"error"
19487-
],
19488-
"additionalProperties": false
19474+
"error": {
19475+
"type": "string",
19476+
"description": "Error message describing what went wrong"
19477+
}
1948919478
},
19490-
"components": {}
19479+
"required": [
19480+
"success",
19481+
"error"
19482+
],
19483+
"description": "Bad Request - Invalid email address or validation error"
1949119484
}
1949219485
}
1949319486
}
1949419487
},
1949519488
"401": {
19496-
"description": "Default Response",
19489+
"description": "Unauthorized - Authentication required",
1949719490
"content": {
1949819491
"application/json": {
1949919492
"schema": {
19500-
"schema": {
19501-
"description": "Unauthorized - Authentication required",
19502-
"type": "object",
19503-
"properties": {
19504-
"success": {
19505-
"description": "Indicates the operation failed",
19506-
"default": false,
19507-
"type": "boolean"
19508-
},
19509-
"error": {
19510-
"description": "Error message describing what went wrong",
19511-
"type": "string"
19512-
}
19493+
"type": "object",
19494+
"properties": {
19495+
"success": {
19496+
"type": "boolean",
19497+
"default": false,
19498+
"description": "Indicates the operation failed"
1951319499
},
19514-
"required": [
19515-
"success",
19516-
"error"
19517-
],
19518-
"additionalProperties": false
19500+
"error": {
19501+
"type": "string",
19502+
"description": "Error message describing what went wrong"
19503+
}
1951919504
},
19520-
"components": {}
19505+
"required": [
19506+
"success",
19507+
"error"
19508+
],
19509+
"description": "Unauthorized - Authentication required"
1952119510
}
1952219511
}
1952319512
}
1952419513
},
1952519514
"403": {
19526-
"description": "Default Response",
19515+
"description": "Forbidden - Insufficient permissions (requires email.test permission)",
1952719516
"content": {
1952819517
"application/json": {
1952919518
"schema": {
19530-
"schema": {
19531-
"description": "Forbidden - Insufficient permissions (requires email.test permission)",
19532-
"type": "object",
19533-
"properties": {
19534-
"success": {
19535-
"description": "Indicates the operation failed",
19536-
"default": false,
19537-
"type": "boolean"
19538-
},
19539-
"error": {
19540-
"description": "Error message describing what went wrong",
19541-
"type": "string"
19542-
}
19519+
"type": "object",
19520+
"properties": {
19521+
"success": {
19522+
"type": "boolean",
19523+
"default": false,
19524+
"description": "Indicates the operation failed"
1954319525
},
19544-
"required": [
19545-
"success",
19546-
"error"
19547-
],
19548-
"additionalProperties": false
19526+
"error": {
19527+
"type": "string",
19528+
"description": "Error message describing what went wrong"
19529+
}
1954919530
},
19550-
"components": {}
19531+
"required": [
19532+
"success",
19533+
"error"
19534+
],
19535+
"description": "Forbidden - Insufficient permissions (requires email.test permission)"
1955119536
}
1955219537
}
1955319538
}
1955419539
},
1955519540
"500": {
19556-
"description": "Default Response",
19541+
"description": "Internal Server Error - SMTP configuration or email sending failed",
1955719542
"content": {
1955819543
"application/json": {
1955919544
"schema": {
19560-
"schema": {
19561-
"description": "Internal Server Error - SMTP configuration or email sending failed",
19562-
"type": "object",
19563-
"properties": {
19564-
"success": {
19565-
"description": "Indicates the operation failed",
19566-
"default": false,
19567-
"type": "boolean"
19568-
},
19569-
"error": {
19570-
"description": "Error message describing what went wrong",
19571-
"type": "string"
19572-
}
19545+
"type": "object",
19546+
"properties": {
19547+
"success": {
19548+
"type": "boolean",
19549+
"default": false,
19550+
"description": "Indicates the operation failed"
1957319551
},
19574-
"required": [
19575-
"success",
19576-
"error"
19577-
],
19578-
"additionalProperties": false
19552+
"error": {
19553+
"type": "string",
19554+
"description": "Error message describing what went wrong"
19555+
}
1957919556
},
19580-
"components": {}
19557+
"required": [
19558+
"success",
19559+
"error"
19560+
],
19561+
"description": "Internal Server Error - SMTP configuration or email sending failed"
1958119562
}
1958219563
}
1958319564
}

0 commit comments

Comments
 (0)