{ "openapi" : "3.0.1", "info" : { "title" : "Roomulus Backend API", "description" : "Roomulus Backend API", "contact" : { "email" : "support@novisign.com" }, "version" : "V1.0.0" }, "servers" : [ { "url" : "http://localhost:8080/RoomulusService", "description" : "Generated server url" } ], "paths" : { "/api/users" : { "post" : { "tags" : [ "user-controller" ], "summary" : "Updates user", "operationId" : "updateUser", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/UserDto" } } }, "required" : true }, "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/UserDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/sites" : { "post" : { "tags" : [ "site-controller" ], "summary" : "Upserts site", "operationId" : "upsertSite", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/SiteDto" } } }, "required" : true }, "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/SiteDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/rooms" : { "post" : { "tags" : [ "room-controller" ], "summary" : "Upserts room", "operationId" : "upsertRoom", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/RoomDto" } } }, "required" : true }, "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/RoomDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/events" : { "get" : { "tags" : [ "event-controller" ], "summary" : "Return all company events", "operationId" : "getEvents", "parameters" : [ { "name" : "companyKey", "in" : "query", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/EventDto" } } } } } }, "security" : [ { "oauth2" : [ ] } ] }, "post" : { "tags" : [ "event-controller" ], "summary" : "Upserts event", "operationId" : "upsertEvent", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/EventDto" } } }, "required" : true }, "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/EventDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] }, "delete" : { "tags" : [ "event-controller" ], "summary" : "Delete event", "operationId" : "deleteEvent", "parameters" : [ { "name" : "id", "in" : "query", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "type" : "string" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/events/removeClient" : { "post" : { "tags" : [ "event-controller" ], "summary" : "Removes client from event", "operationId" : "removeClientFromEvent", "parameters" : [ { "name" : "eventId", "in" : "query", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "clientId", "in" : "query", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/EventDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/events/addClient" : { "post" : { "tags" : [ "event-controller" ], "summary" : "Adds client to event", "operationId" : "addClientToEvent", "parameters" : [ { "name" : "eventId", "in" : "query", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } }, { "name" : "clientId", "in" : "query", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/EventDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/companies" : { "post" : { "tags" : [ "company-controller" ], "summary" : "Upserts company", "operationId" : "upsertCompany", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/CompanyDto" } } }, "required" : true }, "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/CompanyDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/clients" : { "post" : { "tags" : [ "client-controller" ], "summary" : "Upserts client", "operationId" : "upsertClient", "requestBody" : { "content" : { "application/json" : { "schema" : { "$ref" : "#/components/schemas/ClientDto" } } }, "required" : true }, "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/ClientDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/users/{userName}" : { "get" : { "tags" : [ "user-controller" ], "summary" : "Returns user", "operationId" : "getUser", "parameters" : [ { "name" : "userName", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/UserDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/users/info" : { "get" : { "tags" : [ "user-controller" ], "summary" : "Returns current user or creates a new from token", "operationId" : "checkUser", "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/UserDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/sites/{id}" : { "get" : { "tags" : [ "site-controller" ], "summary" : "Returns site info", "operationId" : "getSiteInfo", "parameters" : [ { "name" : "id", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/SiteDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/rooms/{id}" : { "get" : { "tags" : [ "room-controller" ], "summary" : "Returns room info", "operationId" : "getRoomInfo", "parameters" : [ { "name" : "id", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/RoomDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/events/{id}" : { "get" : { "tags" : [ "event-controller" ], "summary" : "Returns event", "operationId" : "getEventInfo", "parameters" : [ { "name" : "id", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/EventDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/companies/{companyKey}" : { "get" : { "tags" : [ "company-controller" ], "summary" : "Returns company info", "operationId" : "getCompanyInfo", "parameters" : [ { "name" : "companyKey", "in" : "path", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/CompanyDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/clients/{id}" : { "get" : { "tags" : [ "client-controller" ], "summary" : "Returns client info", "operationId" : "getClientInfo", "parameters" : [ { "name" : "id", "in" : "path", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "$ref" : "#/components/schemas/ClientDto" } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/clients/event" : { "get" : { "tags" : [ "client-controller" ], "summary" : "Returns all clients for event", "operationId" : "getClientsByEvent", "parameters" : [ { "name" : "id", "in" : "query", "required" : true, "schema" : { "type" : "string", "format" : "uuid" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ClientDto" } } } } } }, "security" : [ { "oauth2" : [ ] } ] } }, "/api/clients/all" : { "get" : { "tags" : [ "client-controller" ], "summary" : "Returns all company clients", "operationId" : "getClients", "parameters" : [ { "name" : "companyKey", "in" : "query", "required" : true, "schema" : { "type" : "string" } } ], "responses" : { "200" : { "description" : "OK", "content" : { "*/*" : { "schema" : { "type" : "array", "items" : { "$ref" : "#/components/schemas/ClientDto" } } } } } }, "security" : [ { "oauth2" : [ ] } ] } } }, "components" : { "schemas" : { "UserDto" : { "type" : "object", "properties" : { "userName" : { "type" : "string" }, "name" : { "type" : "string" }, "email" : { "type" : "string" }, "companyKey" : { "type" : "string" } } }, "SiteDto" : { "type" : "object", "properties" : { "id" : { "type" : "string", "format" : "uuid" }, "siteName" : { "type" : "string" }, "companyKey" : { "type" : "string" } } }, "RoomDto" : { "type" : "object", "properties" : { "id" : { "type" : "string", "format" : "uuid" }, "roomName" : { "type" : "string" }, "siteKey" : { "type" : "string", "format" : "uuid" } } }, "EventDto" : { "type" : "object", "properties" : { "id" : { "type" : "string", "format" : "uuid" }, "eventName" : { "type" : "string" }, "createdDate" : { "type" : "string" }, "startDateTime" : { "type" : "string" }, "endDateTime" : { "type" : "string" }, "imageUrl" : { "type" : "string" }, "roomId" : { "type" : "string", "format" : "uuid" } } }, "CompanyDto" : { "type" : "object", "properties" : { "companyKey" : { "type" : "string" }, "companyName" : { "type" : "string" }, "email" : { "type" : "string" } } }, "ClientDto" : { "type" : "object", "properties" : { "id" : { "type" : "string", "format" : "uuid" }, "clientName" : { "type" : "string" }, "companyKey" : { "type" : "string" } } } }, "securitySchemes" : { "oauth2" : { "type" : "oauth2", "flows" : { "password" : { "tokenUrl" : "https://test.auth.novisign.com/auth/realms/novisign/protocol/openid-connect/token", "scopes" : { } } } } } } }