mirror of
https://github.com/GSA/notifications-api.git
synced 2026-08-18 05:28:49 -04:00
Add callback_type column to service_callback_api table
Also add service_callback_type table with allowed types
This commit is contained in:
@@ -57,6 +57,10 @@ SMS_AUTH_TYPE = 'sms_auth'
|
||||
EMAIL_AUTH_TYPE = 'email_auth'
|
||||
USER_AUTH_TYPE = [SMS_AUTH_TYPE, EMAIL_AUTH_TYPE]
|
||||
|
||||
DELIVERY_STATUS_CALLBACK_TYPE = 'delivery_status'
|
||||
COMPLAINT_CALLBACK_TYPE = 'complaint'
|
||||
SERVICE_CALLBACK_TYPES = [DELIVERY_STATUS_CALLBACK_TYPE, COMPLAINT_CALLBACK_TYPE]
|
||||
|
||||
|
||||
def filter_null_value_fields(obj):
|
||||
return dict(
|
||||
@@ -596,6 +600,7 @@ class ServiceCallbackApi(db.Model, Versioned):
|
||||
service_id = db.Column(UUID(as_uuid=True), db.ForeignKey('services.id'), index=True, nullable=False, unique=True)
|
||||
service = db.relationship('Service', backref='service_callback_api')
|
||||
url = db.Column(db.String(), nullable=False)
|
||||
callback_type = db.Column(db.String(), db.ForeignKey('service_callback_type.name'), nullable=True)
|
||||
_bearer_token = db.Column("bearer_token", db.String(), nullable=False)
|
||||
created_at = db.Column(db.DateTime, default=datetime.datetime.utcnow, nullable=False)
|
||||
updated_at = db.Column(db.DateTime, nullable=True)
|
||||
@@ -624,6 +629,12 @@ class ServiceCallbackApi(db.Model, Versioned):
|
||||
}
|
||||
|
||||
|
||||
class ServiceCallbackType(db.Model):
|
||||
__tablename__ = 'service_callback_type'
|
||||
|
||||
name = db.Column(db.String, primary_key=True)
|
||||
|
||||
|
||||
class ApiKey(db.Model, Versioned):
|
||||
__tablename__ = 'api_keys'
|
||||
|
||||
|
||||
@@ -11,7 +11,8 @@ from app.errors import (
|
||||
)
|
||||
from app.models import (
|
||||
ServiceInboundApi,
|
||||
ServiceCallbackApi
|
||||
ServiceCallbackApi,
|
||||
DELIVERY_STATUS_CALLBACK_TYPE,
|
||||
)
|
||||
from app.schema_validation import validate
|
||||
from app.service.service_callback_api_schema import (
|
||||
@@ -88,6 +89,7 @@ def create_service_callback_api(service_id):
|
||||
data = request.get_json()
|
||||
validate(data, create_service_callback_api_schema)
|
||||
data["service_id"] = service_id
|
||||
data["callback_type"] = DELIVERY_STATUS_CALLBACK_TYPE
|
||||
callback_api = ServiceCallbackApi(**data)
|
||||
try:
|
||||
save_service_callback_api(callback_api)
|
||||
|
||||
Reference in New Issue
Block a user