mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
feat: search backend (#537)
* docs: transient docs * chore: cleanup * webvtt WIP * webvtt field * chore: webvtt tests comments * chore: remove useless tests * feat: search TASK.md * feat: full text search by title/webvtt * chore: search api task * feat: search api * feat: search API * chore: rm task md * chore: roll back unnecessary validators * chore: pr review WIP * chore: pr review WIP * chore: pr review * chore: top imports * feat: better lint + ci * feat: better lint + ci * feat: better lint + ci * feat: better lint + ci * chore: lint * chore: lint * fix: db datetime definitions * fix: flush() params * fix: update transcript mutability expectation / test * fix: update transcript mutability expectation / test * chore: auto review * chore: new controller extraction * chore: new controller extraction * chore: cleanup * chore: review WIP * chore: pr WIP * chore: remove ci lint * chore: openapi regeneration * chore: openapi regeneration * chore: postgres test doc * fix: .dockerignore for arm binaries * fix: .dockerignore for arm binaries * fix: cap test loops * fix: cap test loops * fix: cap test loops * fix: get_transcript_topics * chore: remove flow.md docs and claude guidance * chore: remove claude.md db doc * chore: remove claude.md db doc * chore: remove claude.md db doc * chore: remove claude.md db doc
This commit is contained in:
@@ -209,7 +209,6 @@ export const $GetTranscript = {
|
||||
},
|
||||
created_at: {
|
||||
type: "string",
|
||||
format: "date-time",
|
||||
title: "Created At",
|
||||
},
|
||||
share_mode: {
|
||||
@@ -395,7 +394,6 @@ export const $GetTranscriptMinimal = {
|
||||
},
|
||||
created_at: {
|
||||
type: "string",
|
||||
format: "date-time",
|
||||
title: "Created At",
|
||||
},
|
||||
share_mode: {
|
||||
@@ -758,8 +756,15 @@ export const $Page_GetTranscriptMinimal_ = {
|
||||
title: "Items",
|
||||
},
|
||||
total: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
anyOf: [
|
||||
{
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
{
|
||||
type: "null",
|
||||
},
|
||||
],
|
||||
title: "Total",
|
||||
},
|
||||
page: {
|
||||
@@ -800,7 +805,7 @@ export const $Page_GetTranscriptMinimal_ = {
|
||||
},
|
||||
},
|
||||
type: "object",
|
||||
required: ["items", "total", "page", "size"],
|
||||
required: ["items", "page", "size"],
|
||||
title: "Page[GetTranscriptMinimal]",
|
||||
} as const;
|
||||
|
||||
@@ -814,8 +819,15 @@ export const $Page_Room_ = {
|
||||
title: "Items",
|
||||
},
|
||||
total: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
anyOf: [
|
||||
{
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
},
|
||||
{
|
||||
type: "null",
|
||||
},
|
||||
],
|
||||
title: "Total",
|
||||
},
|
||||
page: {
|
||||
@@ -856,7 +868,7 @@ export const $Page_Room_ = {
|
||||
},
|
||||
},
|
||||
type: "object",
|
||||
required: ["items", "total", "page", "size"],
|
||||
required: ["items", "page", "size"],
|
||||
title: "Page[Room]",
|
||||
} as const;
|
||||
|
||||
@@ -973,6 +985,136 @@ export const $RtcOffer = {
|
||||
title: "RtcOffer",
|
||||
} as const;
|
||||
|
||||
export const $SearchResponse = {
|
||||
properties: {
|
||||
results: {
|
||||
items: {
|
||||
$ref: "#/components/schemas/SearchResult",
|
||||
},
|
||||
type: "array",
|
||||
title: "Results",
|
||||
},
|
||||
total: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
title: "Total",
|
||||
description: "Total number of search results",
|
||||
},
|
||||
query: {
|
||||
type: "string",
|
||||
minLength: 1,
|
||||
title: "Query",
|
||||
description: "Search query text",
|
||||
},
|
||||
limit: {
|
||||
type: "integer",
|
||||
maximum: 100,
|
||||
minimum: 1,
|
||||
title: "Limit",
|
||||
description: "Results per page",
|
||||
},
|
||||
offset: {
|
||||
type: "integer",
|
||||
minimum: 0,
|
||||
title: "Offset",
|
||||
description: "Number of results to skip",
|
||||
},
|
||||
},
|
||||
type: "object",
|
||||
required: ["results", "total", "query", "limit", "offset"],
|
||||
title: "SearchResponse",
|
||||
} as const;
|
||||
|
||||
export const $SearchResult = {
|
||||
properties: {
|
||||
id: {
|
||||
type: "string",
|
||||
minLength: 1,
|
||||
title: "Id",
|
||||
},
|
||||
title: {
|
||||
anyOf: [
|
||||
{
|
||||
type: "string",
|
||||
},
|
||||
{
|
||||
type: "null",
|
||||
},
|
||||
],
|
||||
title: "Title",
|
||||
},
|
||||
user_id: {
|
||||
anyOf: [
|
||||
{
|
||||
type: "string",
|
||||
},
|
||||
{
|
||||
type: "null",
|
||||
},
|
||||
],
|
||||
title: "User Id",
|
||||
},
|
||||
room_id: {
|
||||
anyOf: [
|
||||
{
|
||||
type: "string",
|
||||
},
|
||||
{
|
||||
type: "null",
|
||||
},
|
||||
],
|
||||
title: "Room Id",
|
||||
},
|
||||
created_at: {
|
||||
type: "string",
|
||||
title: "Created At",
|
||||
},
|
||||
status: {
|
||||
type: "string",
|
||||
minLength: 1,
|
||||
title: "Status",
|
||||
},
|
||||
rank: {
|
||||
type: "number",
|
||||
maximum: 1,
|
||||
minimum: 0,
|
||||
title: "Rank",
|
||||
},
|
||||
duration: {
|
||||
anyOf: [
|
||||
{
|
||||
type: "number",
|
||||
minimum: 0,
|
||||
},
|
||||
{
|
||||
type: "null",
|
||||
},
|
||||
],
|
||||
title: "Duration",
|
||||
description: "Duration in seconds",
|
||||
},
|
||||
search_snippets: {
|
||||
items: {
|
||||
type: "string",
|
||||
},
|
||||
type: "array",
|
||||
title: "Search Snippets",
|
||||
description: "Text snippets around search matches",
|
||||
},
|
||||
},
|
||||
type: "object",
|
||||
required: [
|
||||
"id",
|
||||
"created_at",
|
||||
"status",
|
||||
"rank",
|
||||
"duration",
|
||||
"search_snippets",
|
||||
],
|
||||
title: "SearchResult",
|
||||
description: "Public search result model with computed fields.",
|
||||
} as const;
|
||||
|
||||
export const $SourceKind = {
|
||||
type: "string",
|
||||
enum: ["room", "live", "file"],
|
||||
@@ -1397,6 +1539,7 @@ export const $WherebyWebhookEvent = {
|
||||
title: "Type",
|
||||
},
|
||||
data: {
|
||||
additionalProperties: true,
|
||||
type: "object",
|
||||
title: "Data",
|
||||
},
|
||||
@@ -1414,11 +1557,15 @@ export const $Word = {
|
||||
},
|
||||
start: {
|
||||
type: "number",
|
||||
minimum: 0,
|
||||
title: "Start",
|
||||
description: "Time in seconds with float part",
|
||||
},
|
||||
end: {
|
||||
type: "number",
|
||||
minimum: 0,
|
||||
title: "End",
|
||||
description: "Time in seconds with float part",
|
||||
},
|
||||
speaker: {
|
||||
type: "integer",
|
||||
|
||||
Reference in New Issue
Block a user