| @@ -149,6 +149,10 @@ def register_blueprints(app): | |||
| from controllers.web import bp as web_bp | |||
| from controllers.console import bp as console_app_bp | |||
| CORS(service_api_bp, | |||
| allow_headers=['Content-Type', 'Authorization', 'X-App-Code'], | |||
| methods=['GET', 'PUT', 'POST', 'DELETE', 'OPTIONS', 'PATCH'] | |||
| ) | |||
| app.register_blueprint(service_api_bp) | |||
| CORS(web_bp, | |||
| @@ -1,4 +1,5 @@ | |||
| # -*- coding:utf-8 -*- | |||
| from flask import request | |||
| from flask_restful import fields, marshal_with, reqparse | |||
| from flask_restful.inputs import int_range | |||
| from werkzeug.exceptions import NotFound | |||
| @@ -56,16 +57,14 @@ class ConversationDetailApi(AppApiResource): | |||
| conversation_id = str(c_id) | |||
| parser = reqparse.RequestParser() | |||
| parser.add_argument('user', type=str, location='args') | |||
| args = parser.parse_args() | |||
| user = request.get_json().get('user') | |||
| if end_user is None and args['user'] is not None: | |||
| end_user = create_or_update_end_user_for_user_id(app_model, args['user']) | |||
| if end_user is None and user is not None: | |||
| end_user = create_or_update_end_user_for_user_id(app_model, user) | |||
| try: | |||
| ConversationService.delete(app_model, conversation_id, end_user) | |||
| return {"result": "success"}, 204 | |||
| return {"result": "success"} | |||
| except services.errors.conversation.ConversationNotExistsError: | |||
| raise NotFound("Conversation Not Exists.") | |||
| @@ -95,3 +94,4 @@ class ConversationRenameApi(AppApiResource): | |||
| api.add_resource(ConversationRenameApi, '/conversations/<uuid:c_id>/name', endpoint='conversation_name') | |||
| api.add_resource(ConversationApi, '/conversations') | |||
| api.add_resource(ConversationApi, '/conversations/<uuid:c_id>', endpoint='conversation') | |||
| api.add_resource(ConversationDetailApi, '/conversations/<uuid:c_id>', endpoint='conversation_detail') | |||
| @@ -334,6 +334,53 @@ For versatile conversational apps using a Q&A format, call the chat-messages API | |||
| </Row> | |||
| --- | |||
| <Heading | |||
| url='/conversations/{converation_id}' | |||
| method='DELETE' | |||
| title='Conversation deletion' | |||
| name='#delete' | |||
| /> | |||
| <Row> | |||
| <Col> | |||
| Delete conversation. | |||
| ### Request Body | |||
| <Properties> | |||
| <Property name='user' type='string' key='user'> | |||
| The user identifier, defined by the developer, must ensure uniqueness within the app. | |||
| </Property> | |||
| </Properties> | |||
| </Col> | |||
| <Col sticky> | |||
| <CodeGroup title="Request" tag="DELETE" label="/conversations/{converation_id}" targetCode={`curl --location --request DELETE '${props.appDetail.api_base_url}/conversations/{conversation_id}' \\\n--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{ \n "user": "abc-123"\n}'`}> | |||
| ```bash {{ title: 'cURL' }} | |||
| curl --location --request DELETE 'https://cloud.langgenius.dev/api/conversations/{convsation_id}' \ | |||
| --header 'Content-Type: application/json' \ | |||
| --header 'Accept: application/json' \ | |||
| --header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \ | |||
| --data '{ | |||
| "user": "abc-123" | |||
| }' | |||
| ``` | |||
| </CodeGroup> | |||
| <CodeGroup title="Response"> | |||
| ```json {{ title: 'Response' }} | |||
| { | |||
| "result": "success" | |||
| } | |||
| ``` | |||
| </CodeGroup> | |||
| </Col> | |||
| </Row> | |||
| --- | |||
| <Heading | |||
| @@ -333,6 +333,52 @@ import { Row, Col, Properties, Property, Heading, SubProperty } from '../md.tsx' | |||
| </Col> | |||
| </Row> | |||
| --- | |||
| <Heading | |||
| url='/conversations/{converation_id}' | |||
| method='DELETE' | |||
| title='删除会话' | |||
| name='#delete' | |||
| /> | |||
| <Row> | |||
| <Col> | |||
| 删除会话。 | |||
| ### Request Body | |||
| <Properties> | |||
| <Property name='user' type='string' key='user'> | |||
| 用户标识,由开发者定义规则,需保证用户标识在应用内唯一。 | |||
| </Property> | |||
| </Properties> | |||
| </Col> | |||
| <Col sticky> | |||
| <CodeGroup title="Request" tag="DELETE" label="/conversations/{converation_id}" targetCode={`curl --location --request DELETE '${props.appDetail.api_base_url}/conversations/{conversation_id}' \\\n--header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{ \n "user": "abc-123"\n}'`}> | |||
| ```bash {{ title: 'cURL' }} | |||
| curl --location --request DELETE 'https://cloud.langgenius.dev/api/conversations/{convsation_id}' \ | |||
| --header 'Content-Type: application/json' \ | |||
| --header 'Accept: application/json' \ | |||
| --header 'Authorization: Bearer ENTER-YOUR-SECRET-KEY' \ | |||
| --data '{ | |||
| "user": "abc-123" | |||
| }' | |||
| ``` | |||
| </CodeGroup> | |||
| <CodeGroup title="Response"> | |||
| ```json {{ title: 'Response' }} | |||
| { | |||
| "result": "success" | |||
| } | |||
| ``` | |||
| </CodeGroup> | |||
| </Col> | |||
| </Row> | |||
| --- | |||