Skip to content
Snippets Groups Projects
Commit d3f5ba5e authored by Sylvain Renault's avatar Sylvain Renault
Browse files

Merge branch 'fix/generator_issues' into 'develop'

Adapt the API to new reloc info request.

See merge request !12
parents 9b9f27de a9973df8
No related branches found
No related tags found
2 merge requests!13Adapt the API to new reloc info request.,!12Adapt the API to new reloc info request.
Showing
with 118 additions and 69 deletions
openapi @ 99ea877d
Subproject commit 073fd7213fd9e6ebc2f8a47d628a650de30c8bc4
Subproject commit 99ea877dca8ba0587699f12dab77a43f79a836fc
......@@ -52,17 +52,24 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// Operation to retrieve all the relocalization information of one or severals WorldAnchors or Trackables.
/// </summary>
///
public override IActionResult GetRelocalizationInformation([FromQuery(Name = "uuids")][Required()] List<GetRelocalizationInformationUuidsParameterInner> uuids, [FromQuery(Name = "capabilities")][Required()] List<Capability> capabilities, [FromHeader(Name = "token")] string token)
// old: public override IActionResult GetRelocalizationInformation([FromQuery(Name = "uuids")][Required()] List<GetRelocalizationInformationUuidsParameterInner> uuids, [FromQuery(Name = "capabilities")][Required()] List<Capability> capabilities, [FromHeader(Name = "token")] string token)
public override IActionResult GetRelocalizationInformation([FromQuery(Name = "uuids")][Required()] List<UuidAndMode> uuids, [FromQuery(Name = "capabilities")][Required()] List<Capability> capabilities, [FromHeader(Name = "token")] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
WorldAnchorService _worldAnchorService = WorldAnchorService.Singleton as WorldAnchorService;
TrackableService _trackableService = TrackableService.Singleton as TrackableService;
var history = new List<Guid>();
var result = new GetRelocalizationInformation200Response();
var result = new RelocalizationInformations();
result.RelocInfo = new List<RelocalizationInformation>();
Guid errorUid = Guid.Empty;
foreach (var request in uuids)
{
//System.Diagnostics.Debug.WriteLine("RelocInfo: Looking in the WS database for UUID=" + request.Uuid.ToString());
var anchor = _worldAnchorService.Get(request.Uuid);
Trackable trackable = null;
......@@ -88,18 +95,18 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
else if (trackable != null)
{
history.Add(trackable.UUID);
Matrix4x4 matrix = Matrix4x4.Identity;
var relocalizationInformation = new RelocalizationInformation();
relocalizationInformation.RequestUUID = trackable.UUID;
relocalizationInformation.RequestType = TypeWorldStorage.TRACKABLEEnum;
relocalizationInformation.RelocObjects = new List<RelocalizationInformationRelocObjectsInner>();
relocalizationInformation.RelocObjects = new List<RelocObject>();
if (trackable.Match(capabilities))
{
// add itself with matrix identity as Transform3D
var itself = new RelocalizationInformationRelocObjectsInner();
var itself = new RelocObject();
itself.Trackable = trackable;
itself.Mode = request.Mode;
itself.Transform3D = new List<float>()
......@@ -118,16 +125,19 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
}
else
{
Console.WriteLine($"WorldAnchor with UUID {request.Uuid} does not exist in database");
Console.WriteLine($"Trackable or WorldAnchor with UUID {request.Uuid} does not exist in database");
}
}
return result.RelocInfo.Count > 0 ? new ObjectResult(result) : StatusCode(404, "Not found, could not find UUID in database.");
return result.RelocInfo.Count > 0 ? new ObjectResult(result) : StatusCode(404, new Error() { Message = "Not found, could not find UUID(s) in database." });
}
private List<RelocalizationInformationRelocObjectsInner> FindRelocInfo(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List<Capability> capabilities, ref List<Guid> history)
//
// Helpers
//
private List<RelocObject> FindRelocInfo(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List<Capability> capabilities, ref List<Guid> history)
{
var results = new List<RelocalizationInformationRelocObjectsInner>();
var results = new List<RelocObject>();
results.AddRange(FindRelocInfoAsTo(targetUUID, mode, matrix, capabilities, ref history));
results.AddRange(FindRelocInfoAsFrom(targetUUID, mode, matrix, capabilities, ref history));
......@@ -136,13 +146,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
}
// Check links where the target UUID appeared as "To"
private List<RelocalizationInformationRelocObjectsInner> FindRelocInfoAsTo(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List<Capability> capabilities, ref List<Guid> history)
private List<RelocObject> FindRelocInfoAsTo(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List<Capability> capabilities, ref List<Guid> history)
{
TrackableService _trackableService = TrackableService.Singleton as TrackableService;
WorldAnchorService _worldAnchorService = WorldAnchorService.Singleton as WorldAnchorService;
WorldLinkService _worldLinkService = WorldLinkService.Singleton as WorldLinkService;
var results = new List<RelocalizationInformationRelocObjectsInner>();
var results = new List<RelocObject>();
// Check links where the target UUID appeared as "To"
List<WorldLink> linksTo;
......@@ -199,7 +209,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
}
// We found a valid trackable, add it to the results
var result = new RelocalizationInformationRelocObjectsInner();
var result = new RelocObject();
result.Trackable = trackable;
result.Mode = mode;
result.Transform3D = new List<float>()
......@@ -226,9 +236,9 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
if (anchor != null)
{
Matrix4x4 m;
m = link.Matrix()*matrix;
m = link.Matrix() * matrix;
if (mode == ModeWorldStorage.REQUESTTOTRACKABLESEnum)
{
......@@ -272,13 +282,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
}
// Check links where the target UUID appeared as "From"
private List<RelocalizationInformationRelocObjectsInner> FindRelocInfoAsFrom(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List<Capability> capabilities, ref List<Guid> history)
private List<RelocObject> FindRelocInfoAsFrom(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List<Capability> capabilities, ref List<Guid> history)
{
TrackableService _trackableService = TrackableService.Singleton as TrackableService;
WorldAnchorService _worldAnchorService = WorldAnchorService.Singleton as WorldAnchorService;
WorldLinkService _worldLinkService = WorldLinkService.Singleton as WorldLinkService;
var results = new List<RelocalizationInformationRelocObjectsInner>();
var results = new List<RelocObject>();
// Check links where the anchor appeared as "From"
List<WorldLink> linksTo;
......@@ -335,7 +345,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
}
// We found a valid trackable, add it to the results
var result = new RelocalizationInformationRelocObjectsInner();
var result = new RelocObject();
result.Trackable = trackable;
result.Mode = mode;
result.Transform3D = new List<float>()
......
......@@ -15,7 +15,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Last change: June 2024
// Last change: September 2024
//
/*
......@@ -66,6 +66,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult AddTrackable([FromBody] Trackable trackable, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
if (String.IsNullOrEmpty(trackable.UUID.ToString()))
{
trackable.UUID = Guid.NewGuid();
......@@ -75,13 +77,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
Trackable mytrackable = _trackableService.Create(trackable);
if (mytrackable == null)
{
return StatusCode(409, "UUID already existing!");
return StatusCode(409, new Error() { Message = "UUID already existing!" });
}
else return StatusCode(200, mytrackable.UUID.ToString());
else return StatusCode(200, new Success() { Message = mytrackable.UUID.ToString() });
}
catch (Exception e)
{
return StatusCode(400, e.Message);
return StatusCode(400, new Error() { Message = e.Message });
}
}
......@@ -90,6 +92,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult DeleteTrackable([FromRoute(Name = "trackableUUID")][Required] Guid trackableUUID, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
// Access other service(s)
WorldLinkService _worldLinkService = WorldLinkService.Singleton as WorldLinkService;
......@@ -121,7 +125,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
{
result += ", removed object was referenced in " + worldlinkinfo + " and removed there as well";
}
return (count > 0) ? new ObjectResult(result) : StatusCode(404, "Not found, could not find UUID in database.");
result += " Token: " + token;
return (count > 0) ? StatusCode(200, new Success() { Message = result }) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
/// <summary>
......@@ -129,8 +134,10 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult GetTrackableById([FromRoute(Name = "trackableUUID")][Required] Guid trackableUUID, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
Trackable trackable = _trackableService.Get(trackableUUID);
return (null != trackable) ? new ObjectResult(trackable) : StatusCode(404, "Not found, could not find UUID in database.");
return (null != trackable) ? new ObjectResult(trackable) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
/// <summary>
......@@ -138,8 +145,11 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult GetTrackables([FromHeader] string token)
{
List<Trackable> trackablelist = _trackableService.Get();
return new ObjectResult(trackablelist);
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
TrackablesResponse response = new TrackablesResponse();
response.Trackables = _trackableService.Get();
return new ObjectResult(response);
}
......@@ -149,14 +159,16 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult ModifyTrackable([FromBody] Trackable trackable, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
long count = _trackableService.Replace(trackable);
if (count == 0)
{
return StatusCode(404, "Not found, could not find UUID in database.");
return StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
else
{
return StatusCode(200, trackable.UUID.ToString());
return StatusCode(200, new Success() { Message = trackable.UUID.ToString() });
}
}
}
......
......@@ -66,6 +66,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult AddWorldAnchor([FromBody] WorldAnchor worldAnchor, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
if (String.IsNullOrEmpty(worldAnchor.UUID.ToString()))
{
worldAnchor.UUID = Guid.NewGuid();
......@@ -75,13 +77,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
WorldAnchor myworldanchor = _worldAnchorService.Create(worldAnchor);
if (myworldanchor == null)
{
return StatusCode(409, "UUID alread exexisting!");
return StatusCode(409, new Error() { Message = "UUID alread exexisting!" });
}
else return StatusCode(200, myworldanchor.UUID.ToString());
else return StatusCode(200, new Success() { Message = myworldanchor.UUID.ToString() });
}
catch (Exception e)
{
return StatusCode(400, e.Message);
return StatusCode(400, new Error() { Message = e.Message });
}
}
......@@ -90,6 +92,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult DeleteWorldAnchor([FromRoute(Name = "worldAnchorUUID")][Required] Guid worldAnchorUUID, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
// Access other service(s)
WorldLinkService _worldLinkService = WorldLinkService.Singleton as WorldLinkService;
......@@ -121,7 +125,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
{
result += ", but removed object was referenced in " + worldlinkinfo + " and removed there as well";
}
return (count > 0) ? new ObjectResult(result) : StatusCode(404, "Not found, could not find UUID in database.");
return (count > 0) ? StatusCode(200, new Success() { Message = result }) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
/// <summary>
......@@ -129,8 +133,10 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult GetWorldAnchorById([FromRoute(Name = "worldAnchorUUID")][Required] Guid worldAnchorUUID, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
WorldAnchor myworldanchor = _worldAnchorService.Get(worldAnchorUUID);
return (null != myworldanchor) ? new ObjectResult(myworldanchor) : StatusCode(404, "Not found, could not find UUID in database.");
return (null != myworldanchor) ? new ObjectResult(myworldanchor) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
/// <summary>
......@@ -138,8 +144,11 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult GetWorldAnchors([FromHeader] string token)
{
List<WorldAnchor> worldanchorlist = _worldAnchorService.Get();
return new ObjectResult(worldanchorlist);
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
WorldAnchorsResponse response = new WorldAnchorsResponse();
response.WorldAnchors = _worldAnchorService.Get();
return new ObjectResult(response);
}
......@@ -149,14 +158,16 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult ModifyWorldAnchor([FromBody] WorldAnchor worldAnchor, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
long count = _worldAnchorService.Replace(worldAnchor);
if (count == 0)
{
return StatusCode(404, "Not found, could not find UUID in database.");
return StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
else
{
return StatusCode(200, worldAnchor.UUID.ToString());
return StatusCode(200, new Success() { Message = worldAnchor.UUID.ToString() });
}
}
......
......@@ -15,7 +15,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Last change: June 2024
// Last change: September 2024
//
/*
......@@ -65,6 +65,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult AddWorldLink([FromBody] WorldLink worldLink, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
if (String.IsNullOrEmpty(worldLink.UUID.ToString()))
{
worldLink.UUID = Guid.NewGuid();
......@@ -74,13 +76,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
WorldLink myworldlink = _worldLinkService.Create(worldLink);
if (myworldlink == null)
{
return StatusCode(409, "UUID already existing!");
return StatusCode(409, new Error() { Message = "UUID already existing!" });
}
else return StatusCode(200, myworldlink.UUID.ToString());
else return StatusCode(200, new Success() { Message = myworldlink.UUID.ToString() });
}
catch (Exception e)
{
return StatusCode(400, e.Message);
return StatusCode(400, new Error() { Message = e.Message});
}
}
......@@ -89,8 +91,10 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult DeleteWorldLink([FromRoute(Name = "worldLinkUUID")][Required] Guid worldLinkUUID, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
long count = _worldLinkService.Remove(worldLinkUUID);
return (count > 0) ? new ObjectResult("ok") : StatusCode(404, "Not found, could not find UUID in database.");
return (count > 0) ? StatusCode(200, new Success() { Message = "ok" } ) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
......@@ -99,6 +103,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult GetWorldLinkById([FromRoute(Name = "worldLinkUUID")][Required] Guid worldLinkUUID, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
// Access other service(s)
TrackableService _trackableService = TrackableService.Singleton as TrackableService;
WorldAnchorService _worldAnchorService = WorldAnchorService.Singleton as WorldAnchorService;
......@@ -141,7 +147,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
}
}
}
return (null != myworldlink) ? new ObjectResult(myworldlink) : StatusCode(404, "Not found, could not find UUID in database.");
return (null != myworldlink) ? new ObjectResult(myworldlink) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
/// <summary>
......@@ -149,12 +155,16 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult GetWorldLinks([FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
WorldLinksResponse response = new WorldLinksResponse();
// Access other service(s)
TrackableService _trackableService = TrackableService.Singleton as TrackableService;
WorldAnchorService _worldAnchorService = WorldAnchorService.Singleton as WorldAnchorService;
List<WorldLink> worldlinklist = _worldLinkService.Get();
foreach (WorldLink myworldlink in worldlinklist)
response.WorldLinks = _worldLinkService.Get();
foreach (WorldLink myworldlink in response.WorldLinks)
{
// check TypeFrom
if (myworldlink.TypeFrom == TypeWorldStorage.TRACKABLEEnum)
......@@ -191,7 +201,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
}
}
}
return new ObjectResult(worldlinklist);
return new ObjectResult(response);
}
......@@ -201,14 +211,16 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers
/// </summary>
public override IActionResult ModifyWorldLink([FromBody] WorldLink worldLink, [FromHeader] string token)
{
if (!Startup.IsAccessGranted(token)) return StatusCode(511, new Error() { Message = "Invalid token!" });
long count = _worldLinkService.Replace(worldLink);
if (count == 0)
{
return StatusCode(404, "Not found, could not find UUID in database.");
return StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." });
}
else
{
return StatusCode(200, worldLink.UUID.ToString());
return StatusCode(200, new Success() { Message = worldLink.UUID.ToString() });
}
}
}
......
......@@ -15,7 +15,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Last change: June 2022
// Last change: June 2024
//
using System;
......
......@@ -15,7 +15,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Last change: June 2022
// Last change: June 2024
//
using System;
......
......@@ -15,7 +15,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Last change: June 2022
// Last change: June 2024
//
using System;
......
......@@ -15,7 +15,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Last change: June 2024
// Last change: September 2024
//
/*
......@@ -23,7 +23,7 @@
*
* API ensuring interoperability between an authoring tool and a World Storage service
*
* The version of the OpenAPI document: 2.0.1
* The version of the OpenAPI document: 2.0.2
*
* Generated by: https://openapi-generator.tech
*/
......@@ -68,17 +68,18 @@ namespace ETSI.ARF.OpenAPI.WorldStorage
/// <summary>
/// The API version. (how to read it from the yaml?)
/// </summary>
static public string apiVersion = "2.0.1";
static public string apiVersion = "2.0.0";
/// <summary>
/// Demo access key
/// </summary>
static public string accessKey = "My!Key.ETSI";
static public string accessKey = "ARF";
/// <summary>
/// Demo secret key
/// </summary>
static public string secretKey = "GW0Wae1t4Cs5rAqEbPYFWO9J5nSbpJXxp1F3uv0J";
//static public string secretKey = "GW0Wae1t4Cs5rAqEbPYFWO9J5nSbpJXxp1F3uv0J";
static public string secretKey = "hhi";
/// <summary>
/// Constructor
......@@ -97,14 +98,16 @@ namespace ETSI.ARF.OpenAPI.WorldStorage
/// <summary>
/// SylR: Check if the request is authorized
/// </summary>
/// <param name="security"></param>
/// <param name="token"></param>
/// <returns></returns>
//static public bool IsAccessAllowed(ETSI.ARF.OpenAPI.WorldStorage.Models.SecureAccess security)
//{
// Console.WriteLine(security.AccessKey);
// return true;
// //return (security.AccessKey == accessKey && security.SecretKey == secretKey);
//}
static public bool IsAccessGranted(string token)
{
if (token == null) return false;
else if (token == "dev") return true; // developermode
string[] t = token .Split('&');
return t[0] == accessKey && t[1] == secretKey;
}
/// <summary>
/// This method gets called by the runtime. Use this method to add services to the container.
......@@ -180,7 +183,8 @@ namespace ETSI.ARF.OpenAPI.WorldStorage
services
.AddControllers(options =>
{
options.ModelBinderProviders.Insert(0, new FromJsonBinderProviderT<GetRelocalizationInformationUuidsParameterInner>());
options.ModelBinderProviders.Insert(0, new FromJsonBinderProviderT<RelocObject>());
options.ModelBinderProviders.Insert(0, new FromJsonBinderProviderT<UuidAndMode>());
options.ModelBinderProviders.Insert(0, new FromJsonBinderProviderT<Capability>());
});
}
......@@ -220,10 +224,10 @@ namespace ETSI.ARF.OpenAPI.WorldStorage
// set route prefix to openapi, e.g. http://localhost:8080/openapi/index.html
c.RoutePrefix = "openapi";
//TODO: Either use the SwaggerGen generated OpenAPI contract (generated from C# classes)
//c.SwaggerEndpoint("/openapi/" + apiVersion + "/openapi.json", "World Storage API");
c.SwaggerEndpoint("/openapi/" + apiVersion + "/openapi.json", "World Storage API");
//TODO: Or alternatively use the original OpenAPI contract that's included in the static files
c.SwaggerEndpoint("/openapi-original.json", "World Storage API Original");
//c.SwaggerEndpoint("/openapi-original.json", "World Storage API Original");
});
app.UseRouting();
app.UseEndpoints(endpoints =>
......
......@@ -5,9 +5,9 @@
"MongoSrv": "192-168-020-029.fe.hhi.de",
"MongoPort": "27037",
"DatabaseName": "WorldStorageAPI",
"CollectionNameWorldLinks": "WorldLinks-DEV",
"CollectionNameTrackables": "Trackables-DEV",
"CollectionNameWorldAnchors": "WorldAnchors-DEV"
"CollectionNameWorldLinks": "WorldLinks",
"CollectionNameTrackables": "Trackables",
"CollectionNameWorldAnchors": "WorldAnchors"
},
"Logging": {
"LogLevel": {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment