Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
feat: TT-356 Read activities with an azure endpoint
  • Loading branch information
Andrés Soto committed Oct 11, 2021
commit 9711cebc3792b633ec920c848564c8b8d6bdda1c
5 changes: 5 additions & 0 deletions V2/azure_time_tracker/.funcignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.git*
.vscode
local.settings.json
test
.venv
130 changes: 130 additions & 0 deletions V2/azure_time_tracker/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don’t work, or not
# install all needed dependencies.
#Pipfile.lock

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# Azure Functions artifacts
bin
obj
appsettings.json
local.settings.json
.python_packages
20 changes: 20 additions & 0 deletions V2/azure_time_tracker/activities/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from time_tracker.source.use_cases.use_case import get_all, get_by_id

import logging
import json
import azure.functions as func


def main(req: func.HttpRequest) -> func.HttpResponse:
logging.info(
'Python HTTP trigger function processed a request to get an activity.'
)
mimetype = "application/json"
id = req.route_params.get('id')

if id:
response = json.dumps(get_by_id(id))
else:
response = json.dumps(get_all())

return func.HttpResponse(body=response, status_code=200, mimetype=mimetype)
18 changes: 18 additions & 0 deletions V2/azure_time_tracker/activities/function.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"scriptFile": "__init__.py",
"bindings": [
{
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [ "get" ],
"route": "activities/{id:?}"
},
{
"type": "http",
"direction": "out",
"name": "$return"
}
]
}
3 changes: 3 additions & 0 deletions V2/azure_time_tracker/activities/sample.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"name": "Azure"
}
15 changes: 15 additions & 0 deletions V2/azure_time_tracker/host.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[2.*, 3.0.0)"
}
}
4 changes: 4 additions & 0 deletions V2/azure_time_tracker/proxies.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {}
}
5 changes: 5 additions & 0 deletions V2/azure_time_tracker/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# DO NOT include azure-functions-worker in this file
# The Python Worker is managed by Azure Functions platform
# Manually managing azure-functions-worker may cause unexpected issues

azure-functions
33 changes: 33 additions & 0 deletions V2/azure_time_tracker/time_tracker/source/use_cases/use_case.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
def get_all():
activity = [
{
"name": "Development",
"description": "Development",
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
"id": "c61a4a49-3364-49a3-a7f7-0c5f2d15072b",
"deleted": "b4327ba6-9f96-49ee-a9ac-3c1edf525172",
"status": "active",
},
{
"name": "Management",
"description": "description test",
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
"id": "94ec92e2-a500-4700-a9f6-e41eb7b5507c",
"deleted": "7cf6efe5-a221-4fe4-b94f-8945127a489a",
"status": "active",
},
]

return activity


def get_by_id(id):

return {
"name": "Management",
"description": "description test",
"tenant_id": "cc925a5d-9644-4a4f-8d99-0bee49aadd05",
"id": "94ec92e2-a500-4700-a9f6-e41eb7b5507c",
"deleted": "7cf6efe5-a221-4fe4-b94f-8945127a489a",
"status": "active",
}