added swagger
parent
73824e6fb2
commit
82f839142d
|
@ -2,6 +2,7 @@ package structs
|
||||||
|
|
||||||
import "time"
|
import "time"
|
||||||
|
|
||||||
|
// swagger:model CustomerFeedback
|
||||||
type CustomerFeedback struct {
|
type CustomerFeedback struct {
|
||||||
Id string
|
Id string
|
||||||
Origin string
|
Origin string
|
||||||
|
|
|
@ -503,6 +503,128 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"/crm/nolink": {
|
||||||
|
"get": {
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"crm"
|
||||||
|
],
|
||||||
|
"summary": "Redirect to crm no link provided",
|
||||||
|
"operationId": "crmNoLinkProvidedRedirect",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Redirect to crm no link provided"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Failed to redirect to crm no link provided"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/customerfeedback": {
|
||||||
|
"post": {
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"customerFeedback"
|
||||||
|
],
|
||||||
|
"summary": "Create customer feedback",
|
||||||
|
"operationId": "createCustomerFeedback",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"description": "Feedback origin",
|
||||||
|
"name": "origin",
|
||||||
|
"in": "query"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "data",
|
||||||
|
"in": "body",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/CustomerFeedbackRequest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Feedback created"
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Invalid request"
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "No permissions"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Failed to create feedback"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/customerfeedback/origin": {
|
||||||
|
"get": {
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"customerFeedback"
|
||||||
|
],
|
||||||
|
"summary": "Get feedbacks by origin",
|
||||||
|
"operationId": "getCustomerOriginFeedbacks",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"description": "Feedback origin",
|
||||||
|
"name": "origin",
|
||||||
|
"in": "query"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "List of feedbacks",
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/definitions/CustomerFeedback"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Invalid request query"
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "No permissions"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Failed to get origins"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/customerfeedback/origins": {
|
||||||
|
"get": {
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"customerFeedback"
|
||||||
|
],
|
||||||
|
"summary": "Get all origins",
|
||||||
|
"operationId": "getCustomerFeedbackOrigins",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "List of origins"
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"description": "Invalid request query"
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "No permissions"
|
||||||
|
},
|
||||||
|
"500": {
|
||||||
|
"description": "Failed to get origins"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"/equipment/documentation/create": {
|
"/equipment/documentation/create": {
|
||||||
"post": {
|
"post": {
|
||||||
"consumes": [
|
"consumes": [
|
||||||
|
@ -1701,6 +1823,36 @@
|
||||||
},
|
},
|
||||||
"x-go-package": "jannex/admin-dashboard-backend/modules/structs"
|
"x-go-package": "jannex/admin-dashboard-backend/modules/structs"
|
||||||
},
|
},
|
||||||
|
"CustomerFeedback": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"CreatedAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date-time"
|
||||||
|
},
|
||||||
|
"Data": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {}
|
||||||
|
},
|
||||||
|
"Id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"Origin": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"x-go-package": "jannex/admin-dashboard-backend/modules/structs"
|
||||||
|
},
|
||||||
|
"CustomerFeedbackRequest": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"Data": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"x-go-package": "jannex/admin-dashboard-backend/modules/structs"
|
||||||
|
},
|
||||||
"EditEquipmentDocumentationRequest": {
|
"EditEquipmentDocumentationRequest": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
|
|
@ -19,6 +19,29 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
func CreateCustomerFeedback(c *fiber.Ctx) error {
|
func CreateCustomerFeedback(c *fiber.Ctx) error {
|
||||||
|
// swagger:operation POST /customerfeedback customerFeedback createCustomerFeedback
|
||||||
|
// ---
|
||||||
|
// summary: Create customer feedback
|
||||||
|
// produces:
|
||||||
|
// - application/json
|
||||||
|
// parameters:
|
||||||
|
// - name: origin
|
||||||
|
// in: query
|
||||||
|
// description: Feedback origin
|
||||||
|
// - name: data
|
||||||
|
// in: body
|
||||||
|
// schema:
|
||||||
|
// "$ref": "#/definitions/CustomerFeedbackRequest"
|
||||||
|
// responses:
|
||||||
|
// '200':
|
||||||
|
// description: Feedback created
|
||||||
|
// '400':
|
||||||
|
// description: Invalid request
|
||||||
|
// '401':
|
||||||
|
// description: No permissions
|
||||||
|
// '500':
|
||||||
|
// description: Failed to create feedback
|
||||||
|
|
||||||
var query structs.CustomerFeedbackQuery
|
var query structs.CustomerFeedbackQuery
|
||||||
|
|
||||||
if err := rsutils.QueryParserHelper(c, &query); err != nil {
|
if err := rsutils.QueryParserHelper(c, &query); err != nil {
|
||||||
|
@ -75,6 +98,21 @@ func CreateCustomerFeedback(c *fiber.Ctx) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetCustomerFeedbackOrigins(c *fiber.Ctx) error {
|
func GetCustomerFeedbackOrigins(c *fiber.Ctx) error {
|
||||||
|
// swagger:operation GET /customerfeedback/origins customerFeedback getCustomerFeedbackOrigins
|
||||||
|
// ---
|
||||||
|
// summary: Get all origins
|
||||||
|
// produces:
|
||||||
|
// - application/json
|
||||||
|
// responses:
|
||||||
|
// '200':
|
||||||
|
// description: List of origins
|
||||||
|
// '400':
|
||||||
|
// description: Invalid request query
|
||||||
|
// '401':
|
||||||
|
// description: No permissions
|
||||||
|
// '500':
|
||||||
|
// description: Failed to get origins
|
||||||
|
|
||||||
var origins []string
|
var origins []string
|
||||||
|
|
||||||
if err := database.DB.Model(&structs.CustomerFeedback{}).Pluck("origin", &origins).Error; err != nil {
|
if err := database.DB.Model(&structs.CustomerFeedback{}).Pluck("origin", &origins).Error; err != nil {
|
||||||
|
@ -100,6 +138,27 @@ func removeDuplicates(origins []string) []string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetCustomerOriginFeedbacks(c *fiber.Ctx) error {
|
func GetCustomerOriginFeedbacks(c *fiber.Ctx) error {
|
||||||
|
// swagger:operation GET /customerfeedback/origin customerFeedback getCustomerOriginFeedbacks
|
||||||
|
// ---
|
||||||
|
// summary: Get feedbacks by origin
|
||||||
|
// produces:
|
||||||
|
// - application/json
|
||||||
|
// parameters:
|
||||||
|
// - name: origin
|
||||||
|
// in: query
|
||||||
|
// description: Feedback origin
|
||||||
|
// responses:
|
||||||
|
// '200':
|
||||||
|
// description: List of feedbacks
|
||||||
|
// schema:
|
||||||
|
// "$ref": "#/definitions/CustomerFeedback"
|
||||||
|
// '400':
|
||||||
|
// description: Invalid request query
|
||||||
|
// '401':
|
||||||
|
// description: No permissions
|
||||||
|
// '500':
|
||||||
|
// description: Failed to get origins
|
||||||
|
|
||||||
var customerOriginFeedbacksParam structs.CustomerOriginFeedbacksParam
|
var customerOriginFeedbacksParam structs.CustomerOriginFeedbacksParam
|
||||||
|
|
||||||
if err := rsutils.ParamsParserHelper(c, &customerOriginFeedbacksParam); err != nil {
|
if err := rsutils.ParamsParserHelper(c, &customerOriginFeedbacksParam); err != nil {
|
||||||
|
|
Loading…
Reference in New Issue