package entity import ( "time" ) // MaxRecordSize — потолок размера одного файла записи. Выведен из расчётного // потолка записи в шесть часов с запасом на видео, а не из замера. // // Число называется **явно** везде, где иначе действует умолчание: у тела запроса // приёма умолчание отсекало бы запись раньше, чем она дойдёт до обработчика — и // без строки в журнале приёма. Умолчания здесь не «без предела», а величины на // два-три порядка меньше нужного. const MaxRecordSize int64 = 8 << 30 // 8 ГиБ // File — одна физическая копия записи. Их ровно две: принятая и приведённая к // рабочему формату. Копия во внешнем хранилище файлом записи не считается — она // существует только потому, что провайдер читает аудио по адресу, и её ключ // живёт в строке попытки распознавания. type File struct { Id string // RecordID — запись, которой копия принадлежит. Копии одной записи лежат её // подкаталогом, названным этим идентификатором: так они лежат вместе, а // запись убирается целиком одним движением. RecordID string // FileName — имя, под которым файл лежит: имя задаёт сервис. Имя, данное // отправителем, в него не попадает — от него взято только расширение. FileName string Size int64 // Format — расширение без точки, приведённое к нижнему регистру. Наружу оно // выходит только через метку метрики, приведённую к перечню известных. Format string // DurationMs — длительность записи, если её удалось прочитать. DurationMs int64 CreatedAt time.Time }