mirror of
https://github.com/KevinMidboe/immich.git
synced 2025-10-29 17:40:28 +00:00
* feat: explore * chore: generate open api * styling explore page * styling no result page * style overlay * style: bluring text on thumbnail card for readability * explore page tweaks * fix(web): search urls * feat(web): use objects for things * feat(server): filter by motion, sort by createdAt * More styling * better navigation --------- Co-authored-by: Alex Tran <alex.tran1502@gmail.com> Co-authored-by: Michel Heusschen <59014050+michelheusschen@users.noreply.github.com>
41 lines
1.9 KiB
TypeScript
41 lines
1.9 KiB
TypeScript
import { CollectionCreateSchema } from 'typesense/lib/Typesense/Collections';
|
|
|
|
export const assetSchemaVersion = 2;
|
|
export const assetSchema: CollectionCreateSchema = {
|
|
name: `assets-v${assetSchemaVersion}`,
|
|
fields: [
|
|
// asset
|
|
{ name: 'ownerId', type: 'string', facet: false },
|
|
{ name: 'type', type: 'string', facet: true },
|
|
{ name: 'originalPath', type: 'string', facet: false },
|
|
{ name: 'createdAt', type: 'string', facet: false, sort: true },
|
|
{ name: 'updatedAt', type: 'string', facet: false, sort: true },
|
|
{ name: 'fileCreatedAt', type: 'string', facet: false, sort: true },
|
|
{ name: 'fileModifiedAt', type: 'string', facet: false, sort: true },
|
|
{ name: 'isFavorite', type: 'bool', facet: true },
|
|
// { name: 'checksum', type: 'string', facet: true },
|
|
// { name: 'tags', type: 'string[]', facet: true, optional: true },
|
|
|
|
// exif
|
|
{ name: 'exifInfo.city', type: 'string', facet: true, optional: true },
|
|
{ name: 'exifInfo.country', type: 'string', facet: true, optional: true },
|
|
{ name: 'exifInfo.state', type: 'string', facet: true, optional: true },
|
|
{ name: 'exifInfo.description', type: 'string', facet: false, optional: true },
|
|
{ name: 'exifInfo.imageName', type: 'string', facet: false, optional: true },
|
|
{ name: 'exifInfo.make', type: 'string', facet: true, optional: true },
|
|
{ name: 'exifInfo.model', type: 'string', facet: true, optional: true },
|
|
{ name: 'exifInfo.orientation', type: 'string', optional: true },
|
|
|
|
// smart info
|
|
{ name: 'smartInfo.objects', type: 'string[]', facet: true, optional: true },
|
|
{ name: 'smartInfo.tags', type: 'string[]', facet: true, optional: true },
|
|
|
|
// computed
|
|
{ name: 'geo', type: 'geopoint', facet: false, optional: true },
|
|
{ name: 'motion', type: 'bool', facet: true },
|
|
],
|
|
token_separators: ['.'],
|
|
enable_nested_fields: true,
|
|
default_sorting_field: 'fileCreatedAt',
|
|
};
|