This repository has been archived on 2025-07-31. You can view files and clone it, but cannot push or open issues or pull requests.
Files
terminally-online/src/database/meme.ts
2023-07-11 17:08:43 +03:00

48 lines
1007 B
TypeScript

import { Realm } from '@realm/react';
import { Tag } from './tag';
enum MEME_TYPE {
IMAGE = 'IMAGE',
GIF = 'GIF',
ALMBUM = 'ALMBUM',
VIDEO = 'VIDEO',
AUDIO = 'AUDIO',
TEXT = 'TEXT',
}
class Meme extends Realm.Object<Meme> {
id!: Realm.BSON.UUID;
type!: MEME_TYPE;
uri!: string;
size!: number;
title!: string;
description?: string;
isFavorite!: boolean;
tags!: Realm.List<Tag>;
dateCreated!: Date;
dateModified!: Date;
dateUsed?: Date;
timesUsed!: number;
static schema: Realm.ObjectSchema = {
name: 'Meme',
primaryKey: 'id',
properties: {
id: 'uuid',
type: { type: 'string', indexed: true },
uri: 'string',
size: 'int',
title: 'string',
description: 'string?',
isFavorite: { type: 'bool', indexed: true, default: false },
tags: 'Tag[]',
dateCreated: 'date',
dateModified: 'date',
dateUsed: 'date?',
timesUsed: { type: 'int', default: 0 },
},
};
}
export { MEME_TYPE, Meme };