Skip to content

Instantly share code, notes, and snippets.

View ashish-mj's full-sized avatar

Ashish M J ashish-mj

View GitHub Profile
from flask import Flask, request, jsonify
from dotenv import load_dotenv
import json
from datetime import datetime
import os
from src.model import Product # Import the Product class
from src.couchbase_client import CouchbaseClient # Import the CouchbaseClient class
load_dotenv(dotenv_path="config/.env")
from dataclasses import dataclass
from datetime import datetime
@dataclass
class Product:
id: str
description: str
price: float
status: str
created_at: datetime
from couchbase.options import ClusterOptions # Updated import
from couchbase.cluster import Cluster
from couchbase.auth import PasswordAuthenticator
from couchbase.exceptions import CouchbaseException, DocumentExistsException # Import the exception
from couchbase.collection import UpsertOptions
class CouchbaseClient:
def __init__(self, connection_string, username, password, bucket_name):
"""
Initialize the Couchbase client.
CONNECTION_STRING=couchbase://localhost
USERNAME=session_pc
PASSWORD=session_pc
BUCKETNAME=session_pc
sonar.host.url=http://localhost:9000/
sonar.login=<YOUR_LOGIN>
sonar.password=<YOUR_PASSWORD>
import os
import uuid
from datetime import datetime
from dotenv import load_dotenv
from couchbase.exceptions import DocumentExistsException
from src.cb import CouchbaseClient
from flask import Flask, request, jsonify
from flask_restx import Api, Resource, fields
from mailjet_rest import Client
from couchbase.auth import PasswordAuthenticator
from couchbase.cluster import Cluster
from couchbase.diagnostics import PingState
from couchbase.exceptions import (
CouchbaseException,
DocumentExistsException,
DocumentNotFoundException,
)
from couchbase.options import ClusterOptions
DB_HOST=localhost
BUCKET=sessiondb_dep
COLLECTION=_default
SCOPE=_default
USERNAME=sessiondb_dep
PASSWORD=sessiondb_dep
API_KEY=<YOUR_API_KEY>
API_SECRET=<YOUR_API_SECRET>
SENDER_MAIL=<YOUR_SENDER_MAIL>
version: '3'
services:
prometheus:
image: prom/prometheus:v2.26.0
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:7.5.2
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
isDefault: true
url: http://prometheus:9090/