UNPKG

@ournet/news-data

Version:
31 lines (30 loc) 2.21 kB
import DynamoDB = require("aws-sdk/clients/dynamodb"); import { BaseRepository, RepositoryUpdateData, RepositoryAccessOptions } from "@ournet/domain"; import { Topic, NewsEvent, EventRepository, LatestEventsQueryParams, LatestEventsByTopicQueryParams, CountEventsQueryParams, CountEventsByTopicQueryParams, TopItem, TrendingTopicsQueryParams, SimilarEventsByTopicsQueryParams } from "@ournet/news-domain"; import { EventModel } from "./dynamo-event"; import { TopicEventModel } from "./topic-event"; import { Locale } from "../common"; import { LatestEventModel } from "./dynamo-latest-event"; export declare class DynamoEventRepository extends BaseRepository<NewsEvent> implements EventRepository { protected model: EventModel; protected latestModel: LatestEventModel; protected topicModel: TopicEventModel; constructor(client: DynamoDB.DocumentClient, tableSuffix: string); similarByTopics(params: SimilarEventsByTopicsQueryParams, options?: RepositoryAccessOptions<NewsEvent>): Promise<NewsEvent[]>; viewNewsEvent(id: string): Promise<number>; innerCreate(data: NewsEvent): Promise<NewsEvent>; innerUpdate(data: RepositoryUpdateData<NewsEvent>): Promise<NewsEvent>; delete(id: string): Promise<boolean>; exists(id: string): Promise<boolean>; getById(id: string, options?: RepositoryAccessOptions<NewsEvent>): Promise<NewsEvent | null>; getByIds(ids: string[], options?: RepositoryAccessOptions<NewsEvent>): Promise<NewsEvent[]>; latest(params: LatestEventsQueryParams, options?: RepositoryAccessOptions<NewsEvent>): Promise<NewsEvent[]>; latestByTopic(params: LatestEventsByTopicQueryParams, options?: RepositoryAccessOptions<NewsEvent>): Promise<NewsEvent[]>; count(params: CountEventsQueryParams): Promise<number>; countByTopic(params: CountEventsByTopicQueryParams): Promise<number>; topTopics(params: LatestEventsQueryParams): Promise<TopItem[]>; trendingTopics(params: TrendingTopicsQueryParams): Promise<TopItem[]>; protected putTopicEvent(locale: Locale, eventId: string, createdAt: string, topics: Topic[]): Promise<void>; deleteStorage(): Promise<void>; createStorage(): Promise<void>; }