Introduce version number in RESP API root like "/energy/v1/"
This commit is contained in:
parent
ce4cd69654
commit
1284154d02
2 changed files with 15 additions and 7 deletions
|
|
@ -6,6 +6,12 @@ import databases
|
||||||
import sqlalchemy
|
import sqlalchemy
|
||||||
from sqlite3 import OperationalError
|
from sqlite3 import OperationalError
|
||||||
|
|
||||||
|
API_VERSION_MAJOR = 1
|
||||||
|
API_VERSION_MINOR = 0
|
||||||
|
|
||||||
|
REST_API_ROOT = f"/energy/v{API_VERSION_MAJOR}/"
|
||||||
|
REST_API_VERSION = REST_API_ROOT + ".0"
|
||||||
|
|
||||||
DATABASE_URL = "sqlite:///./energyDB.sqlite"
|
DATABASE_URL = "sqlite:///./energyDB.sqlite"
|
||||||
# DATABASE_URL = "sqlite://"
|
# DATABASE_URL = "sqlite://"
|
||||||
db = databases.Database(DATABASE_URL)
|
db = databases.Database(DATABASE_URL)
|
||||||
|
|
@ -57,7 +63,7 @@ async def shutdown():
|
||||||
# if token != fake_secret_token:
|
# if token != fake_secret_token:
|
||||||
# raise HTTPException(status_code=400, detail="Invalid X-Token header")
|
# raise HTTPException(status_code=400, detail="Invalid X-Token header")
|
||||||
|
|
||||||
@app.put("/energy/bulkData")
|
@app.put(REST_API_ROOT + "bulkData")
|
||||||
async def putBulkEnergyData(bulkData: BulkData):
|
async def putBulkEnergyData(bulkData: BulkData):
|
||||||
valuesToInsert = []
|
valuesToInsert = []
|
||||||
for channelData in bulkData.bulk:
|
for channelData in bulkData.bulk:
|
||||||
|
|
@ -72,7 +78,7 @@ async def putBulkEnergyData(bulkData: BulkData):
|
||||||
"valuesToInsert": valuesToInsert
|
"valuesToInsert": valuesToInsert
|
||||||
}
|
}
|
||||||
|
|
||||||
@app.get("/energy/bulkData", response_model = BulkData)
|
@app.get(REST_API_ROOT + "bulkData", response_model = BulkData)
|
||||||
async def getBulkEnergyData(bulkDataRequest: BulkDataRequest):
|
async def getBulkEnergyData(bulkDataRequest: BulkDataRequest):
|
||||||
bulkData = []
|
bulkData = []
|
||||||
for ch in bulkDataRequest.channel_ids:
|
for ch in bulkDataRequest.channel_ids:
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ import urllib.parse
|
||||||
from srv import energyDB
|
from srv import energyDB
|
||||||
|
|
||||||
class Test_energyDb:
|
class Test_energyDb:
|
||||||
|
restApiRoot = "/energy/v1/"
|
||||||
bulkTestData = [
|
bulkTestData = [
|
||||||
{
|
{
|
||||||
"channel_id": 1,
|
"channel_id": 1,
|
||||||
|
|
@ -47,7 +47,9 @@ class Test_energyDb:
|
||||||
|
|
||||||
def _test_bulkData_put(self):
|
def _test_bulkData_put(self):
|
||||||
# response = self.client.put("/energy/bulkData", json=self.bulkTestData);
|
# response = self.client.put("/energy/bulkData", json=self.bulkTestData);
|
||||||
response = self.client.put("/energy/bulkData", json={"bulk": self.bulkTestData})
|
response = self.client.put(
|
||||||
|
self.restApiRoot + "bulkData",
|
||||||
|
json={"bulk": self.bulkTestData})
|
||||||
# print(f"dir(response): {dir(response)}")
|
# print(f"dir(response): {dir(response)}")
|
||||||
# print(f"dir(response.request): {dir(response.request)}")
|
# print(f"dir(response.request): {dir(response.request)}")
|
||||||
# print("---- request")
|
# print("---- request")
|
||||||
|
|
@ -68,7 +70,7 @@ class Test_energyDb:
|
||||||
fromTimestamp = datetime.fromisoformat("2020-12-11T12:30:00")
|
fromTimestamp = datetime.fromisoformat("2020-12-11T12:30:00")
|
||||||
tillTimestamp = datetime.fromisoformat("2020-12-11T12:30:59")
|
tillTimestamp = datetime.fromisoformat("2020-12-11T12:30:59")
|
||||||
response = self.client.get(
|
response = self.client.get(
|
||||||
"/energy/bulkData",
|
self.restApiRoot + "bulkData",
|
||||||
json = {
|
json = {
|
||||||
"channel_ids": [1, 2, 3],
|
"channel_ids": [1, 2, 3],
|
||||||
"fromTime": fromTimestamp.isoformat(),
|
"fromTime": fromTimestamp.isoformat(),
|
||||||
|
|
@ -100,7 +102,7 @@ class Test_energyDb:
|
||||||
print(f"energyData: {energyData}")
|
print(f"energyData: {energyData}")
|
||||||
# response = self.client.put("/energies/1", json=energyData) #, headers={"X-Token": "coneofsilence"})
|
# response = self.client.put("/energies/1", json=energyData) #, headers={"X-Token": "coneofsilence"})
|
||||||
response = self.client.put(
|
response = self.client.put(
|
||||||
"/energy/2",
|
self.restApiRoot + "2",
|
||||||
# params=energyData,
|
# params=energyData,
|
||||||
json=energyData) #, headers={"X-Token": "coneofsilence"})
|
json=energyData) #, headers={"X-Token": "coneofsilence"})
|
||||||
# print(f"dir(response): {dir(response)}")
|
# print(f"dir(response): {dir(response)}")
|
||||||
|
|
@ -120,7 +122,7 @@ class Test_energyDb:
|
||||||
|
|
||||||
@pytest.mark.skip(reason="Ignore me temporarily")
|
@pytest.mark.skip(reason="Ignore me temporarily")
|
||||||
def test_get_energy(self):
|
def test_get_energy(self):
|
||||||
response = self.client.get("/energy/1")
|
response = self.client.get(self.restApiRoot + "1")
|
||||||
# print(f"dir(response): {dir(response)}")
|
# print(f"dir(response): {dir(response)}")
|
||||||
# print(f"dir(response.request): {dir(response.request)}")
|
# print(f"dir(response.request): {dir(response.request)}")
|
||||||
# print("---- request")
|
# print("---- request")
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue