diff --git a/.vs/MyCore/v15/Server/sqlite3/storage.ide b/.vs/MyCore/v15/Server/sqlite3/storage.ide
index fd9346a..50d6ba2 100644
Binary files a/.vs/MyCore/v15/Server/sqlite3/storage.ide and b/.vs/MyCore/v15/Server/sqlite3/storage.ide differ
diff --git a/.vs/MyCore/v15/Server/sqlite3/storage.ide-shm b/.vs/MyCore/v15/Server/sqlite3/storage.ide-shm
index 1776622..7598333 100644
Binary files a/.vs/MyCore/v15/Server/sqlite3/storage.ide-shm and b/.vs/MyCore/v15/Server/sqlite3/storage.ide-shm differ
diff --git a/.vs/MyCore/v15/Server/sqlite3/storage.ide-wal b/.vs/MyCore/v15/Server/sqlite3/storage.ide-wal
index d4d5401..17861aa 100644
Binary files a/.vs/MyCore/v15/Server/sqlite3/storage.ide-wal and b/.vs/MyCore/v15/Server/sqlite3/storage.ide-wal differ
diff --git a/MyCore/Controllers/IOTController.cs b/MyCore/Controllers/IOTController.cs
index ed6fcc9..40099d8 100644
--- a/MyCore/Controllers/IOTController.cs
+++ b/MyCore/Controllers/IOTController.cs
@@ -26,6 +26,7 @@ namespace MyCore.Controllers
///
/// Retrieve all SmartPrinterMessage
///
+ /// Id of the smart printer message
[HttpGet("smartprinter/{idDevice}")]
public ActionResult> GetSmartPrinterMessages(int id)
{
@@ -36,6 +37,10 @@ namespace MyCore.Controllers
///
/// It's the method to post data from mqtt broker to Database (Thanks Rpi!)
///
+ /// Id of the device to upload to DB
+ /// Content that will be uploaded
+ /// Content successfully posted to DB
+ /// Unexpected error
[HttpPost("smartprinter/{idDevice}")]
public IActionResult PostToDBPrinter(int idDevice, [FromBody] SmartPrinterMessage[] content)
{
diff --git a/MyCore/Controllers/TokenController.cs b/MyCore/Controllers/TokenController.cs
index 25808e1..6ade3a4 100644
--- a/MyCore/Controllers/TokenController.cs
+++ b/MyCore/Controllers/TokenController.cs
@@ -23,7 +23,7 @@ namespace MyCore.Controllers
public IActionResult Create(string username, string password)
{
if (IsValidUserAndPasswordCombination(username, password))
- return new ObjectResult(GenerateToken(username));
+ return new ObjectResult("{\"Token\":\""+GenerateToken(username)+"\"}");
return BadRequest();
}
diff --git a/MyCore/Startup.cs b/MyCore/Startup.cs
index 2f976f3..1e84531 100644
--- a/MyCore/Startup.cs
+++ b/MyCore/Startup.cs
@@ -84,6 +84,10 @@ namespace MyCore
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
+ app.UseCors(
+ options => options.WithOrigins("http://localhost:4200").AllowAnyMethod()
+ );
+
// Enable middleware to serve generated Swagger as a JSON endpoint.
app.UseSwagger();
diff --git a/MyCore/appsettings.json b/MyCore/appsettings.json
index 4507b8a..1403b95 100644
--- a/MyCore/appsettings.json
+++ b/MyCore/appsettings.json
@@ -1,7 +1,7 @@
{
"ConnectionStrings": {
- "BookstoreDb": "mongodb://localhost:27017",
- "MyCoreDb": "mongodb://localhost:27017"
+ "BookstoreDb": "mongodb://admin:MioTech4ever!@localhost:27017",
+ "MyCoreDb": "mongodb://admin:MioTech4ever!@localhost:27017"
},
"Logging": {
"LogLevel": {
diff --git a/MyCore/bin/Debug/netcoreapp2.1/MyCore.xml b/MyCore/bin/Debug/netcoreapp2.1/MyCore.xml
index 4399122..5507925 100644
--- a/MyCore/bin/Debug/netcoreapp2.1/MyCore.xml
+++ b/MyCore/bin/Debug/netcoreapp2.1/MyCore.xml
@@ -8,11 +8,16 @@
Retrieve all SmartPrinterMessage
+ Id of the smart printer message
It's the method to post data from mqtt broker to Database (Thanks Rpi!)
+ Id of the device to upload to DB
+ Content that will be uploaded
+ Content successfully posted to DB
+ Unexpected error
diff --git a/MyCore/obj/Debug/netcoreapp2.1/MyCore.csproj.FileListAbsolute.txt b/MyCore/obj/Debug/netcoreapp2.1/MyCore.csproj.FileListAbsolute.txt
index 1b1821f..eab1dda 100644
--- a/MyCore/obj/Debug/netcoreapp2.1/MyCore.csproj.FileListAbsolute.txt
+++ b/MyCore/obj/Debug/netcoreapp2.1/MyCore.csproj.FileListAbsolute.txt
@@ -19,7 +19,6 @@ C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\bin\Debug\netcoreapp2.1\
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\bin\Debug\netcoreapp2.1\MyCore.runtimeconfig.json
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\bin\Debug\netcoreapp2.1\MyCore.runtimeconfig.dev.json
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\bin\Debug\netcoreapp2.1\MyCore.dll
-C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\obj\Debug\netcoreapp2.1\MyCore.csprojAssemblyReference.cache
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\obj\Debug\netcoreapp2.1\MyCore.csproj.CoreCompileInputs.cache
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\obj\Debug\netcoreapp2.1\MyCore.RazorAssemblyInfo.cache
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\obj\Debug\netcoreapp2.1\MyCore.RazorAssemblyInfo.cs
@@ -32,3 +31,4 @@ C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\bin\Debug\netcoreapp2.1\
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\obj\Debug\netcoreapp2.1\MyCore.dll
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\obj\Debug\netcoreapp2.1\MyCore.pdb
C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\obj\Debug\netcoreapp2.1\UserSecretsAssemblyInfo.cs
+C:\Users\thoma\OneDrive\Documents\Travail\MyCore\MyCore\obj\Debug\netcoreapp2.1\MyCore.csprojAssemblyReference.cache
diff --git a/MyCore/obj/Debug/netcoreapp2.1/MyCore.xml b/MyCore/obj/Debug/netcoreapp2.1/MyCore.xml
index 4399122..5507925 100644
--- a/MyCore/obj/Debug/netcoreapp2.1/MyCore.xml
+++ b/MyCore/obj/Debug/netcoreapp2.1/MyCore.xml
@@ -8,11 +8,16 @@
Retrieve all SmartPrinterMessage
+ Id of the smart printer message
It's the method to post data from mqtt broker to Database (Thanks Rpi!)
+ Id of the device to upload to DB
+ Content that will be uploaded
+ Content successfully posted to DB
+ Unexpected error
diff --git a/Screenshot_2.jpg b/Screenshot_2.jpg
new file mode 100644
index 0000000..0c78dcc
Binary files /dev/null and b/Screenshot_2.jpg differ
diff --git a/pswdMongoDB.txt b/pswdMongoDB.txt
new file mode 100644
index 0000000..3ede319
--- /dev/null
+++ b/pswdMongoDB.txt
@@ -0,0 +1,15 @@
+db.createUser(
+ {
+ user: "admin",
+ pwd: "MioTech4ever!",
+ roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
+ }
+)
+
+db.updateUser( "admin",
+ {
+ roles: [ { role: "userAdminAnyDatabase", db: "admin" },
+{ role: "readWrite", db: "BookstoreDb" },
+{ role: "readWrite", db: "MyCoreDb" } ]
+ }
+)
\ No newline at end of file
diff --git a/swagger.json b/swagger.json
new file mode 100644
index 0000000..2bfdff3
--- /dev/null
+++ b/swagger.json
@@ -0,0 +1 @@
+{"swagger":"2.0","info":{"version":"v1","title":"MyCoreApi"},"paths":{"/azure":{"post":{"tags":["Azure"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/AzureADAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/books":{"get":{"tags":["Books"],"operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/Book"}}}}},"post":{"tags":["Books"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"book","in":"body","required":false,"schema":{"$ref":"#/definitions/Book"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/Book"}}}}},"/api/books/{id}":{"get":{"tags":["Books"],"operationId":"GetBook","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/Book"}}}},"put":{"tags":["Books"],"operationId":"Update","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"string"},{"name":"bookIn","in":"body","required":false,"schema":{"$ref":"#/definitions/Book"}}],"responses":{"200":{"description":"Success"}}},"delete":{"tags":["Books"],"operationId":"Delete","consumes":[],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success"}}}},"/facebook":{"post":{"tags":["Facebook"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/FacebookAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/google":{"post":{"tags":["Google"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/GoogleAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/iot/smartprinter/{idDevice}":{"get":{"tags":["IOT"],"summary":"Retrieve all SmartPrinterMessage","operationId":"GetSmartPrinterMessages","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[{"name":"id","in":"query","description":"Id of the smart printer message","required":false,"type":"integer","format":"int32"},{"name":"idDevice","in":"path","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartPrinterMessage"}}}}},"post":{"tags":["IOT"],"summary":"It's the method to post data from mqtt broker to Database (Thanks Rpi!)","operationId":"PostToDBPrinter","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","description":"Id of the device to upload to DB","required":true,"type":"integer","format":"int32"},{"name":"content","in":"body","description":"Content that will be uploaded","required":false,"schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartPrinterMessage"}}}],"responses":{"200":{"description":"Success"},"201":{"description":"Content successfully posted to DB"},"500":{"description":"Unexpected error"}}}},"/api/iot/smartgarden/{idDevice}":{"post":{"tags":["IOT"],"summary":"It's the method to post data from mqtt broker to Database (Thanks Rpi!)","operationId":"PostToDBSmartGarden","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":[],"parameters":[{"name":"idDevice","in":"path","required":true,"type":"integer","format":"int32"},{"name":"content","in":"body","required":false,"schema":{"uniqueItems":false,"type":"array","items":{"$ref":"#/definitions/SmartGardenMessage"}}}],"responses":{"200":{"description":"Success"}}}},"/api/mqtt":{"get":{"tags":["MQTT"],"summary":"It's a mqtt publish test ! :)","operationId":"GetToPublishMqtt","consumes":[],"produces":[],"parameters":[],"responses":{"200":{"description":"Success"}}}},"/api/token":{"post":{"tags":["Token"],"operationId":"Create","consumes":[],"produces":[],"parameters":[{"name":"username","in":"query","required":false,"type":"string"},{"name":"password","in":"query","required":false,"type":"string"}],"responses":{"200":{"description":"Success"}}}},"/token":{"post":{"tags":["Token"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/User"}}],"responses":{"200":{"description":"Success"}}}},"/twitter":{"post":{"tags":["Twitter"],"operationId":"Create","consumes":["application/json-patch+json","application/json","text/json","application/*+json"],"produces":["application/json"],"parameters":[{"name":"user","in":"body","required":false,"schema":{"$ref":"#/definitions/TwitterAuthModel"}}],"responses":{"200":{"description":"Success"}}}},"/api/test":{"get":{"tags":["Values"],"summary":"It's a test ! :)","operationId":"Get","consumes":[],"produces":["text/plain","application/json","text/json"],"parameters":[],"responses":{"200":{"description":"Success","schema":{"uniqueItems":false,"type":"array","items":{"type":"string"}}}}},"post":{"tags":["Values"],"operationId":"Post","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/test/{id}":{"get":{"tags":["Values"],"operationId":"Get","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":["Values"],"operationId":"Put","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":["Values"],"operationId":"Delete","consumes":[],"produces":[],"parameters":[{"name":"id","in":"path","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"Success"}}}}},"definitions":{"AzureADAuthModel":{"type":"object","properties":{"apiKey":{"type":"string"}}},"Book":{"type":"object","properties":{"id":{"type":"string"},"bookName":{"type":"string"},"price":{"format":"double","type":"number"},"category":{"type":"string"},"author":{"type":"string"}}},"FacebookAuthModel":{"type":"object","properties":{"userAccessToken":{"type":"string"}}},"GoogleAuthModel":{"type":"object","properties":{"authorizationCode":{"type":"string"},"apiKey":{"type":"string"}}},"SmartPrinterMessage":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"time":{"type":"string"},"temperature":{"format":"double","type":"number"},"pressure":{"format":"double","type":"number"},"smoke":{"format":"int32","type":"integer"}}},"SmartGardenMessage":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"time":{"type":"string"},"temperature":{"format":"double","type":"number"},"pressure":{"format":"double","type":"number"},"humidity":{"format":"double","type":"number"},"water":{"format":"int32","type":"integer"},"light":{"format":"int32","type":"integer"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"password":{"type":"string"}}},"TwitterAuthModel":{"type":"object","properties":{"apiKey":{"type":"string"}}}},"securityDefinitions":{"Bearer":{"name":"Authorization","in":"header","type":"apiKey","description":"Please enter JWT with Bearer into field"}},"security":[{"Bearer":[]}]}
\ No newline at end of file