Introduction
QuickApp is a web application framework that is designed to aid developers create Angular web applications quickly. It comes with several common application features such as login, user management, role (permission based) management already implemented.
The focus of quickapp is all about speed of development. How to get a working, running application quickly whilst following best programming practices.
Backends
QuickApp comes with a default ASP.NET Core backend implementation. To implement other backends such as java, node, php, python, etc you will need to implement the APIs as defined in this Swagger API document: http://quickapp-pro.ebenmonney.com/swagger/v1/swagger.json.
Test the API from here: http://quickapp-pro.ebenmonney.com/swagger (Swagger UI)
// http://quickapp-pro.ebenmonney.com/swagger/v1/swagger.json
"/api/Account/users/me": {
"operationId": "ApiAccountUsersMeGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
"operationId": "ApiAccountUsersMePut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"schema": { "$ref": "#/definitions/UserEditViewModel" }
"responses": { "200": { "description": "Success" } }
"operationId": "ApiAccountUsersMePatch",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"items": { "$ref": "#/definitions/Operation" }
"responses": { "200": { "description": "Success" } }
"/api/Account/users/{id}": {
"operationId": "ApiAccountUsersByIdGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
"operationId": "ApiAccountUsersByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"schema": { "$ref": "#/definitions/UserEditViewModel" }
"responses": { "200": { "description": "Success" } }
"operationId": "ApiAccountUsersByIdDelete",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
"operationId": "ApiAccountUsersByIdPatch",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"items": { "$ref": "#/definitions/Operation" }
"responses": { "200": { "description": "Success" } }
"/api/Account/users/username/{userName}": {
"operationId": "ApiAccountUsersUsernameByUserNameGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
"operationId": "ApiAccountUsersGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"items": { "$ref": "#/definitions/UserViewModel" }
"operationId": "ApiAccountUsersPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"schema": { "$ref": "#/definitions/UserEditViewModel" }
"responses": { "200": { "description": "Success" } }
"/api/Account/users/{page}/{pageSize}": {
"operationId": "ApiAccountUsersByPageByPageSizeGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"items": { "$ref": "#/definitions/UserViewModel" }
"/api/Account/users/unblock/{id}": {
"operationId": "ApiAccountUsersUnblockByIdPut",
"responses": { "200": { "description": "Success" } }
"/api/Account/users/me/preferences": {
"operationId": "ApiAccountUsersMePreferencesGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "type": "string" }
"operationId": "ApiAccountUsersMePreferencesPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"schema": { "type": "string" }
"responses": { "200": { "description": "Success" } }
"/api/Account/roles/{id}": {
"operationId": "ApiAccountRolesByIdGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
"operationId": "ApiAccountRolesByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"schema": { "$ref": "#/definitions/RoleViewModel" }
"responses": { "200": { "description": "Success" } }
"operationId": "ApiAccountRolesByIdDelete",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
"/api/Account/roles/name/{name}": {
"operationId": "ApiAccountRolesNameByNameGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
"operationId": "ApiAccountRolesGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"items": { "$ref": "#/definitions/RoleViewModel" }
"operationId": "ApiAccountRolesPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"schema": { "$ref": "#/definitions/RoleViewModel" }
"responses": { "200": { "description": "Success" } }
"/api/Account/roles/{page}/{pageSize}": {
"operationId": "ApiAccountRolesByPageByPageSizeGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"items": { "$ref": "#/definitions/RoleViewModel" }
"/api/Account/permissions": {
"operationId": "ApiAccountPermissionsGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"items": { "$ref": "#/definitions/PermissionViewModel" }
"operationId": "ApiCustomerGet",
"responses": { "200": { "description": "Success" } }
"operationId": "ApiCustomerPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"schema": { "type": "string" }
"responses": { "200": { "description": "Success" } }
"operationId": "ApiCustomerThrowGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"items": { "$ref": "#/definitions/CustomerViewModel" }
"operationId": "ApiCustomerEmailGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "type": "string" }
"operationId": "ApiCustomerByIdGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"schema": { "type": "string" }
"operationId": "ApiCustomerByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"schema": { "type": "string" }
"responses": { "200": { "description": "Success" } }
"operationId": "ApiCustomerByIdDelete",
"responses": { "200": { "description": "Success" } }
"operationId": "ApiHomeGet",
"produces": [ "text/plain", "application/json", "text/json" ],
"description": "Success",
"items": { "type": "string" }
"required": [ "userName", "email" ],
"id": { "type": "string" },
"fullName": { "type": "string" },
"jobTitle": { "type": "string" },
"phoneNumber": { "type": "string" },
"configuration": { "type": "string" },
"isEnabled": { "type": "boolean" },
"isLockedOut": { "type": "boolean" },
"items": { "type": "string" }
"required": [ "userName", "email" ],
"currentPassword": { "type": "string" },
"isLockedOut": { "type": "boolean" },
"id": { "type": "string" },
"fullName": { "type": "string" },
"jobTitle": { "type": "string" },
"phoneNumber": { "type": "string" },
"configuration": { "type": "string" },
"isEnabled": { "type": "boolean" },
"items": { "type": "string" }
"value": { "type": "object" },
"path": { "type": "string" },
"op": { "type": "string" },
"from": { "type": "string" }
"id": { "type": "string" },
"description": { "type": "string" },
"items": { "$ref": "#/definitions/PermissionViewModel" }
"name": { "type": "string" },
"value": { "type": "string" },
"groupName": { "type": "string" },
"description": { "type": "string" }
"name": { "type": "string" },
"email": { "type": "string" },
"phoneNumber": { "type": "string" },
"address": { "type": "string" },
"city": { "type": "string" },
"gender": { "type": "string" },
"items": { "$ref": "#/definitions/OrderViewModel" }
"comments": { "type": "string" }
"description": "Login with your bearer authentication token. e.g. Bearer <auth-token>"
// 20180122101848
// http://quickapp-pro.ebenmonney.com/swagger/v1/swagger.json
{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "QuickApp API"
},
"basePath": "/",
"paths": {
"/api/Account/users/me": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMeGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
}
}
},
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMePut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "user",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/UserEditViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
},
"patch": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMePatch",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "patch",
"in": "body",
"required": false,
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/Operation" }
}
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/users/{id}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByIdGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
}
}
},
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "user",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/UserEditViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
},
"delete": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByIdDelete",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
}
}
},
"patch": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByIdPatch",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "patch",
"in": "body",
"required": false,
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/Operation" }
}
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/users/username/{userName}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersUsernameByUserNameGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "userName",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
}
}
}
},
"/api/Account/users": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/UserViewModel" }
}
}
}
},
"post": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "user",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/UserEditViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/users/{page}/{pageSize}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByPageByPageSizeGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "page",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "pageSize",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/UserViewModel" }
}
}
}
}
},
"/api/Account/users/unblock/{id}": {
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersUnblockByIdPut",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/users/me/preferences": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMePreferencesGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": { "type": "string" }
}
}
},
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMePreferencesPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "data",
"in": "body",
"required": false,
"schema": { "type": "string" }
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/roles/{id}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesByIdGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
}
},
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "role",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
},
"delete": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesByIdDelete",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
}
}
},
"/api/Account/roles/name/{name}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesNameByNameGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
}
}
},
"/api/Account/roles": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/RoleViewModel" }
}
}
}
},
"post": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "role",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/roles/{page}/{pageSize}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesByPageByPageSizeGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "page",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "pageSize",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/RoleViewModel" }
}
}
}
}
},
"/api/Account/permissions": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountPermissionsGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/PermissionViewModel" }
}
}
}
}
},
"/api/Customer": {
"get": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerGet",
"consumes": [],
"produces": [],
"responses": { "200": { "description": "Success" } }
},
"post": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "value",
"in": "body",
"required": false,
"schema": { "type": "string" }
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Customer/throw": {
"get": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerThrowGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/CustomerViewModel" }
}
}
}
}
},
"/api/Customer/email": {
"get": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerEmailGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": { "type": "string" }
}
}
}
},
"/api/Customer/{id}": {
"get": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerByIdGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "type": "string" }
}
}
},
"put": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "value",
"in": "body",
"required": false,
"schema": { "type": "string" }
}
],
"responses": { "200": { "description": "Success" } }
},
"delete": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerByIdDelete",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Home": {
"get": {
"tags": [ "Home" ],
"operationId": "ApiHomeGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}
},
"definitions": {
"UserViewModel": {
"required": [ "userName", "email" ],
"type": "object",
"properties": {
"id": { "type": "string" },
"userName": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"fullName": { "type": "string" },
"email": {
"maxLength": 200,
"minLength": 0,
"type": "string"
},
"jobTitle": { "type": "string" },
"phoneNumber": { "type": "string" },
"configuration": { "type": "string" },
"isEnabled": { "type": "boolean" },
"isLockedOut": { "type": "boolean" },
"roles": {
"type": "array",
"items": { "type": "string" }
}
}
},
"UserEditViewModel": {
"required": [ "userName", "email" ],
"type": "object",
"properties": {
"currentPassword": { "type": "string" },
"newPassword": {
"minLength": 6,
"type": "string"
},
"isLockedOut": { "type": "boolean" },
"id": { "type": "string" },
"userName": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"fullName": { "type": "string" },
"email": {
"maxLength": 200,
"minLength": 0,
"type": "string"
},
"jobTitle": { "type": "string" },
"phoneNumber": { "type": "string" },
"configuration": { "type": "string" },
"isEnabled": { "type": "boolean" },
"roles": {
"type": "array",
"items": { "type": "string" }
}
}
},
"Operation": {
"type": "object",
"properties": {
"value": { "type": "object" },
"path": { "type": "string" },
"op": { "type": "string" },
"from": { "type": "string" }
}
},
"RoleViewModel": {
"required": [ "name" ],
"type": "object",
"properties": {
"id": { "type": "string" },
"name": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"description": { "type": "string" },
"usersCount": {
"format": "int32",
"type": "integer"
},
"permissions": {
"type": "array",
"items": { "$ref": "#/definitions/PermissionViewModel" }
}
}
},
"PermissionViewModel": {
"type": "object",
"properties": {
"name": { "type": "string" },
"value": { "type": "string" },
"groupName": { "type": "string" },
"description": { "type": "string" }
}
},
"CustomerViewModel": {
"type": "object",
"properties": {
"id": {
"format": "int32",
"type": "integer"
},
"name": { "type": "string" },
"email": { "type": "string" },
"phoneNumber": { "type": "string" },
"address": { "type": "string" },
"city": { "type": "string" },
"gender": { "type": "string" },
"orders": {
"type": "array",
"items": { "$ref": "#/definitions/OrderViewModel" }
}
}
},
"OrderViewModel": {
"type": "object",
"properties": {
"id": {
"format": "int32",
"type": "integer"
},
"discount": {
"format": "double",
"type": "number"
},
"comments": { "type": "string" }
}
}
},
"securityDefinitions": {
"BearerAuth": {
"name": "Authorization",
"in": "header",
"type": "apiKey",
"description": "Login with your bearer authentication token. e.g. Bearer <auth-token>"
}
}
}
// 20180122101848
// http://quickapp-pro.ebenmonney.com/swagger/v1/swagger.json
{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "QuickApp API"
},
"basePath": "/",
"paths": {
"/api/Account/users/me": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMeGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
}
}
},
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMePut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "user",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/UserEditViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
},
"patch": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMePatch",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "patch",
"in": "body",
"required": false,
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/Operation" }
}
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/users/{id}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByIdGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
}
}
},
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "user",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/UserEditViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
},
"delete": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByIdDelete",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
}
}
},
"patch": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByIdPatch",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "patch",
"in": "body",
"required": false,
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/Operation" }
}
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/users/username/{userName}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersUsernameByUserNameGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "userName",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/UserViewModel" }
}
}
}
},
"/api/Account/users": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/UserViewModel" }
}
}
}
},
"post": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "user",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/UserEditViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/users/{page}/{pageSize}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersByPageByPageSizeGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "page",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "pageSize",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/UserViewModel" }
}
}
}
}
},
"/api/Account/users/unblock/{id}": {
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersUnblockByIdPut",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/users/me/preferences": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMePreferencesGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": { "type": "string" }
}
}
},
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountUsersMePreferencesPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "data",
"in": "body",
"required": false,
"schema": { "type": "string" }
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/roles/{id}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesByIdGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
}
},
"put": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "role",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
},
"delete": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesByIdDelete",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
}
}
},
"/api/Account/roles/name/{name}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesNameByNameGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
}
}
},
"/api/Account/roles": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/RoleViewModel" }
}
}
}
},
"post": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "role",
"in": "body",
"required": false,
"schema": { "$ref": "#/definitions/RoleViewModel" }
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Account/roles/{page}/{pageSize}": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountRolesByPageByPageSizeGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "page",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "pageSize",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/RoleViewModel" }
}
}
}
}
},
"/api/Account/permissions": {
"get": {
"tags": [ "Account" ],
"operationId": "ApiAccountPermissionsGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/PermissionViewModel" }
}
}
}
}
},
"/api/Customer": {
"get": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerGet",
"consumes": [],
"produces": [],
"responses": { "200": { "description": "Success" } }
},
"post": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerPost",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "value",
"in": "body",
"required": false,
"schema": { "type": "string" }
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Customer/throw": {
"get": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerThrowGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "$ref": "#/definitions/CustomerViewModel" }
}
}
}
}
},
"/api/Customer/email": {
"get": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerEmailGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": { "type": "string" }
}
}
}
},
"/api/Customer/{id}": {
"get": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerByIdGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "Success",
"schema": { "type": "string" }
}
}
},
"put": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerByIdPut",
"consumes": [ "application/json-patch+json", "application/json", "text/json", "application/*+json" ],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "value",
"in": "body",
"required": false,
"schema": { "type": "string" }
}
],
"responses": { "200": { "description": "Success" } }
},
"delete": {
"tags": [ "Customer" ],
"operationId": "ApiCustomerByIdDelete",
"consumes": [],
"produces": [],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"format": "int32"
}
],
"responses": { "200": { "description": "Success" } }
}
},
"/api/Home": {
"get": {
"tags": [ "Home" ],
"operationId": "ApiHomeGet",
"consumes": [],
"produces": [ "text/plain", "application/json", "text/json" ],
"responses": {
"200": {
"description": "Success",
"schema": {
"type": "array",
"items": { "type": "string" }
}
}
}
}
}
},
"definitions": {
"UserViewModel": {
"required": [ "userName", "email" ],
"type": "object",
"properties": {
"id": { "type": "string" },
"userName": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"fullName": { "type": "string" },
"email": {
"maxLength": 200,
"minLength": 0,
"type": "string"
},
"jobTitle": { "type": "string" },
"phoneNumber": { "type": "string" },
"configuration": { "type": "string" },
"isEnabled": { "type": "boolean" },
"isLockedOut": { "type": "boolean" },
"roles": {
"type": "array",
"items": { "type": "string" }
}
}
},
"UserEditViewModel": {
"required": [ "userName", "email" ],
"type": "object",
"properties": {
"currentPassword": { "type": "string" },
"newPassword": {
"minLength": 6,
"type": "string"
},
"isLockedOut": { "type": "boolean" },
"id": { "type": "string" },
"userName": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"fullName": { "type": "string" },
"email": {
"maxLength": 200,
"minLength": 0,
"type": "string"
},
"jobTitle": { "type": "string" },
"phoneNumber": { "type": "string" },
"configuration": { "type": "string" },
"isEnabled": { "type": "boolean" },
"roles": {
"type": "array",
"items": { "type": "string" }
}
}
},
"Operation": {
"type": "object",
"properties": {
"value": { "type": "object" },
"path": { "type": "string" },
"op": { "type": "string" },
"from": { "type": "string" }
}
},
"RoleViewModel": {
"required": [ "name" ],
"type": "object",
"properties": {
"id": { "type": "string" },
"name": {
"maxLength": 200,
"minLength": 2,
"type": "string"
},
"description": { "type": "string" },
"usersCount": {
"format": "int32",
"type": "integer"
},
"permissions": {
"type": "array",
"items": { "$ref": "#/definitions/PermissionViewModel" }
}
}
},
"PermissionViewModel": {
"type": "object",
"properties": {
"name": { "type": "string" },
"value": { "type": "string" },
"groupName": { "type": "string" },
"description": { "type": "string" }
}
},
"CustomerViewModel": {
"type": "object",
"properties": {
"id": {
"format": "int32",
"type": "integer"
},
"name": { "type": "string" },
"email": { "type": "string" },
"phoneNumber": { "type": "string" },
"address": { "type": "string" },
"city": { "type": "string" },
"gender": { "type": "string" },
"orders": {
"type": "array",
"items": { "$ref": "#/definitions/OrderViewModel" }
}
}
},
"OrderViewModel": {
"type": "object",
"properties": {
"id": {
"format": "int32",
"type": "integer"
},
"discount": {
"format": "double",
"type": "number"
},
"comments": { "type": "string" }
}
}
},
"securityDefinitions": {
"BearerAuth": {
"name": "Authorization",
"in": "header",
"type": "apiKey",
"description": "Login with your bearer authentication token. e.g. Bearer <auth-token>"
}
}
}
2 Comments
Azzam
October 7, 2018 at 9:01 pmCan you eliminate elaborate a little more on how to use different backend? Thanks
bnrashed
July 24, 2019 at 2:18 pmHI Eden
can i use this temp with MySQL in replace of SQL server with Entity framework core