@channel.io/be-user-chat-mcp
Version:
Backend UserChat Model Context Protocol server for Channel.io
29 lines • 1.83 kB
TypeScript
import { GetItemCommandInput, QueryCommandInput } from "@aws-sdk/client-dynamodb";
import { NativeAttributeValue } from "@aws-sdk/util-dynamodb";
import type { RequestContext } from "../config/index.js";
/**
* Fetches a single item from a DynamoDB table by its key.
*
* @template T The expected type of the unmarshalled item.
* @param tableName The name of the DynamoDB table.
* @param key The primary key of the item to fetch (use NativeAttributeValue format).
* @param options Optional GetItemCommandInput options (e.g., ProjectionExpression).
* @param context RequestContext containing AWS credentials.
* @returns The requested item, unmarshalled to type T, or null if not found.
*/
export declare function getDynamoDBItem<T = Record<string, NativeAttributeValue>>(tableName: string, key: Record<string, NativeAttributeValue>, options: Partial<GetItemCommandInput> | undefined, context: RequestContext): Promise<T | null>;
/**
* Queries a DynamoDB table or index.
*
* @template T The expected type of the unmarshalled items.
* @param tableName The name of the DynamoDB table.
* @param queryInput Query parameters (KeyConditionExpression, etc.).
* Use ExpressionAttributeValues with NativeAttributeValue format for easier use.
* Example: ExpressionAttributeValues: { ':val': 'someValue', ':num': 123 }
* @param context RequestContext containing AWS credentials.
* @returns An array of items matching the query, unmarshalled to type T[].
*/
export declare function queryDynamoDB<T = Record<string, NativeAttributeValue>>(tableName: string, queryInput: Omit<QueryCommandInput, "TableName" | "ExpressionAttributeValues"> & {
ExpressionAttributeValues?: Record<string, NativeAttributeValue>;
}, context: RequestContext): Promise<T[]>;
//# sourceMappingURL=dynamodb.service.d.ts.map