diff --git a/samples/web-app-cosmosdb-nosql-api/python/scripts/... b/samples/web-app-cosmosdb-nosql-api/python/scripts/... new file mode 100644 index 0000000..e69de29 diff --git a/samples/web-app-cosmosdb-nosql-api/python/scripts/deploy.sh b/samples/web-app-cosmosdb-nosql-api/python/scripts/deploy.sh index 48848d9..934a013 100755 --- a/samples/web-app-cosmosdb-nosql-api/python/scripts/deploy.sh +++ b/samples/web-app-cosmosdb-nosql-api/python/scripts/deploy.sh @@ -15,13 +15,7 @@ RANDOM_SUFFIX=$(echo $RANDOM) NEW_DB_NAME="vacationplanner_${RANDOM_SUFFIX}" AZURECOSMOSDB_DATABASENAME=$NEW_DB_NAME AZURECOSMOSDB_CONTAINERNAME="activities_${RANDOM_SUFFIX}" -AURECOSMOSDB_PARTITION_KEY="/partitionKey" - -# Start azure CLI local mode session -az login - -# Change the current directory to the script's directory -#cd "$CURRENT_DIR" || exit +AURECOSMOSDB_PARTITION_KEY="/username" # Validates if the resource group exists in the subscription, if not creates it echo "Checking if resource group [$RESOURCE_GROUP_NAME] exists..." @@ -118,14 +112,13 @@ zip -r "$ZIPFILE" app.py cosmosdb_client.py static templates requirements.txt # Deploy the web app echo "Deploying web app [$WEB_APP_NAME] with zip file [$ZIPFILE]..." +echo "Using az webapp deploy command for LocalStack emulator environment." az webapp deploy \ --resource-group $RESOURCE_GROUP_NAME \ --name $WEB_APP_NAME \ --src-path ${ZIPFILE} \ --type zip \ - --async true \ - --debug \ - --verbose 1>/dev/null + --async true # Remove the zip package of the web app if [ -f "$ZIPFILE" ]; then diff --git a/samples/web-app-cosmosdb-nosql-api/python/scripts/validate.sh b/samples/web-app-cosmosdb-nosql-api/python/scripts/validate.sh index fa3fb98..cc024bc 100755 --- a/samples/web-app-cosmosdb-nosql-api/python/scripts/validate.sh +++ b/samples/web-app-cosmosdb-nosql-api/python/scripts/validate.sh @@ -1,6 +1,5 @@ #!/bin/bash -# Variables # Check resource group az group show \ --name local-rg \ diff --git a/samples/web-app-cosmosdb-nosql-api/python/src/app.py b/samples/web-app-cosmosdb-nosql-api/python/src/app.py index bf9fbc9..3ae7cd4 100644 --- a/samples/web-app-cosmosdb-nosql-api/python/src/app.py +++ b/samples/web-app-cosmosdb-nosql-api/python/src/app.py @@ -110,15 +110,5 @@ def delete(activity_id: str): return redirect(url_for('index')) -@app.route('/edit/', methods=['POST']) -def edit(activity_id: str): - new_text = request.form.get('new_text') - - if new_text: - logger.info(f"Updating ID {activity_id} with activity: {new_text}") - get_cosmos().update_document_activity(activity_id, username, new_text) - - return redirect(url_for('index')) - if __name__ == '__main__': app.run(debug=True) diff --git a/samples/web-app-cosmosdb-nosql-api/python/src/cosmosdb_client.py b/samples/web-app-cosmosdb-nosql-api/python/src/cosmosdb_client.py index 79092b8..0eb19b7 100644 --- a/samples/web-app-cosmosdb-nosql-api/python/src/cosmosdb_client.py +++ b/samples/web-app-cosmosdb-nosql-api/python/src/cosmosdb_client.py @@ -62,7 +62,16 @@ def update_document_activity(self, activity_id: str, username: str, new_text: st logger.warning(f"Update failed: {e}") def delete_document_by_id(self, doc_id: str, username: str): + self.ensure_initialized() + try: - self.container.delete_item(item=doc_id, partition_key=username) - except exceptions.CosmosResourceNotFoundError: - pass + doc_to_delete = self.container.read_item(item=doc_id, partition_key=[username]) + self.container.delete_item(item=doc_to_delete, partition_key=[username]) + except exceptions.CosmosResourceNotFoundError as e: + logger.warning(f"Cosmos resource with doc_id {doc_id} and username {username} was not found") + raise e + except exceptions.CosmosHttpResponseError as e: + raise e + except Exception as e: + logger.info(f"DELETE METHOD CRASHED: Error Type: {type(e).__name__}, Message: {e}") + raise e \ No newline at end of file diff --git a/samples/web-app-cosmosdb-nosql-api/python/src/templates/index.html b/samples/web-app-cosmosdb-nosql-api/python/src/templates/index.html index 5928b63..0b55e9c 100644 --- a/samples/web-app-cosmosdb-nosql-api/python/src/templates/index.html +++ b/samples/web-app-cosmosdb-nosql-api/python/src/templates/index.html @@ -1,54 +1,3 @@ - - - @@ -59,15 +8,17 @@

Vacation Planner

-
+
Summer Banner

Vacation Planner

-
-
- - + +
+ + +
@@ -76,36 +27,23 @@

Vacation Planner

Activity - Actions + Action {% for activity in activities %} - - {{ activity[1] }} - -
-
- - - -
+ {{ activity[1] }} + + + +
- -
- - -
- -
-
- {% else %} - No vacation plans yet! + No vacation plans yet! {% endfor %} @@ -114,24 +52,18 @@

Vacation Planner

- + \ No newline at end of file