Skip to content

Commit d709e08

Browse files
committed
feat: TT-365 Create activity json dao
1 parent 152b816 commit d709e08

File tree

6 files changed

+74
-77
lines changed

6 files changed

+74
-77
lines changed

V2/create_activity/function.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"disabled": false,
3+
"bindings": [
4+
{
5+
"type": "httpTrigger",
6+
"direction": "in",
7+
"name": "req",
8+
"route": "activities/",
9+
"authLevel": "anonymous",
10+
"methods": [
11+
"POST"
12+
]
13+
},
14+
{
15+
"type": "http",
16+
"direction": "out",
17+
"name": "$return"
18+
}
19+
],
20+
"entryPoint": "create_activity",
21+
"scriptFile": "../time_entries/interface.py"
22+
}

V2/get_activities/function.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"disabled": false,
3+
"bindings": [
4+
{
5+
"type": "httpTrigger",
6+
"direction": "in",
7+
"name": "req",
8+
"route": "activities/{id:?}",
9+
"authLevel": "anonymous",
10+
"methods": [
11+
"GET"
12+
]
13+
},
14+
{
15+
"type": "http",
16+
"direction": "out",
17+
"name": "$return"
18+
}
19+
],
20+
"entryPoint": "get_activities",
21+
"scriptFile": "../time_entries/interface.py"
22+
}

V2/serverless.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,5 @@ functions:
5454
x-azure-settings:
5555
methods:
5656
- POST
57-
route: activities/create
57+
route: activities/
5858
authLevel: anonymous

V2/time_entries/_application/_activities/_create_activity.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,17 @@ def create_activity(req: func.HttpRequest) -> func.HttpResponse:
2222
logging.info(
2323
'Python HTTP trigger function processed a request to create an activity.'
2424
)
25-
#activity_id = req.route_params.get('id')
25+
#activity_data = req.route_params.get('activity_data')
26+
activity_data = req.get_json()
27+
print(activity_data)
2628
status_code = 200
2729

2830
if status_code == 200:
29-
response = _create_activity(new_activity)
30-
if response == b'Not Found':
31+
response = _create_activity(activity_data)
32+
if response == b'no data activity ':
3133
status_code = 404
3234
else:
33-
response = b'Not Found'
35+
response = b'Not possible to create activity'
3436

3537
return func.HttpResponse(
3638
body=response, status_code=status_code, mimetype="application/json"

V2/time_entries/_infrastructure/_data_persistence/_activities_json_dao.py

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@
33
import json
44
import typing
55

6-
6+
# JSON_PATH = (
7+
# '../../time_entries/_infrastructure/_data_persistence/activities_data.json'
8+
# )
9+
JSON_PATH = '../../time_entries/_infrastructure/_data_persistence/activities_data.json'
10+
PATH = '/Users/danielagarcia/time-tracker-backend/V2/time_entries/_infrastructure/_data_persistence/activities_data.json'
711
class ActivitiesJsonDao(ActivitiesDao):
812
def __init__(self, json_data_file_path: str):
913
self.json_data_file_path = json_data_file_path
@@ -25,11 +29,23 @@ def get_all(self) -> typing.List[Activity]:
2529
for activity in self.__get_activities_from_file()
2630
]
2731

28-
def create_activity(self, newactivity: Activity) -> typing.List[Activity]:
29-
return [
30-
self.__create_activity_dto(activity)
31-
for activity in self.__get_activities_from_file()
32-
]
32+
def create_activity(self, activity_data: dict) -> Activity:
33+
#array = []
34+
# with open(PATH, "r+") as outfile:
35+
# data = json.load(outfile)
36+
# data.append(activity_data)
37+
# outfile.seek(0)
38+
# json.dump(data, outfile)
39+
40+
41+
with open(PATH, 'a+') as outfile:
42+
#data = outfile.read(100)
43+
#if len(data) > 0:
44+
# outfile.write("\n")
45+
# Append text at the end of file
46+
# outfile.write(str(activity_data)+",")
47+
json.dump(activity_data, outfile)
48+
return self.__create_activity_dto(activity_data)
3349

3450
def __get_activities_from_file(self) -> typing.List[dict]:
3551
try:
Lines changed: 1 addition & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1 @@
1-
[
2-
{
3-
"name": "Development",
4-
"description": "Development",
5-
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
6-
"id": "c61a4a49-3364-49a3-a7f7-0c5f2d15072b",
7-
"_rid": "QUwFAPuumiRhAAAAAAAAAA==",
8-
"_self": "dbs/QUwFAA==/colls/QUwFAPuumiQ=/docs/QUwFAPuumiRhAAAAAAAAAA==/",
9-
"_etag": "\"4e006cc9-0000-0500-0000-607dcc0d0000\"",
10-
"_attachments": "attachments/",
11-
"_last_event_ctx": {
12-
"user_id": "dd76e5d6-3949-46fd-b418-f15bf7c354fa",
13-
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
14-
"action": "delete",
15-
"description": null,
16-
"container_id": "activity",
17-
"session_id": null
18-
},
19-
"deleted": "b4327ba6-9f96-49ee-a9ac-3c1edf525172",
20-
"status": null,
21-
"_ts": 1618856973
22-
},
23-
{
24-
"name": "Management",
25-
"description": null,
26-
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
27-
"id": "94ec92e2-a500-4700-a9f6-e41eb7b5507c",
28-
"_last_event_ctx": {
29-
"user_id": "dd76e5d6-3949-46fd-b418-f15bf7c354fa",
30-
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
31-
"action": "delete",
32-
"description": null,
33-
"container_id": "activity",
34-
"session_id": null
35-
},
36-
"_rid": "QUwFAPuumiRfAAAAAAAAAA==",
37-
"_self": "dbs/QUwFAA==/colls/QUwFAPuumiQ=/docs/QUwFAPuumiRfAAAAAAAAAA==/",
38-
"_etag": "\"4e0069c9-0000-0500-0000-607dcc0d0000\"",
39-
"_attachments": "attachments/",
40-
"deleted": "7cf6efe5-a221-4fe4-b94f-8945127a489a",
41-
"status": null,
42-
"_ts": 1618856973
43-
},
44-
{
45-
"name": "Operations",
46-
"description": "Operation activities performed.",
47-
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
48-
"id": "d45c770a-b1a0-4bd8-a713-22c01a23e41b",
49-
"_rid": "QUwFAPuumiRjAAAAAAAAAA==",
50-
"_self": "dbs/QUwFAA==/colls/QUwFAPuumiQ=/docs/QUwFAPuumiRjAAAAAAAAAA==/",
51-
"_etag": "\"09009a4d-0000-0500-0000-614b66fb0000\"",
52-
"_attachments": "attachments/",
53-
"_last_event_ctx": {
54-
"user_id": "82ed0f65-051c-4898-890f-870805900e21",
55-
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
56-
"action": "update",
57-
"description": null,
58-
"container_id": "activity",
59-
"session_id": null
60-
},
61-
"deleted": "7cf6efe5-a221-4fe4-b94f-8945127a489a",
62-
"status": "active",
63-
"_ts": 1632331515
64-
}
65-
]
66-
1+
{"id": "94ec92e2-a500-4700-a9f6-e41eb7b550p1", "name": "Prueba1", "description": "hola1", "deleted": "7cf6efe5-a221-4fe4-b94f-8945127a489a", "status": null, "tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05"}

0 commit comments

Comments
 (0)