import { Realm } from '@realm/react'; import { BSON } from 'realm'; import { Meme } from './meme'; class Tag extends Realm.Object { id!: BSON.UUID; name!: string; color!: string; memes!: Realm.List; memesLength!: number; dateCreated!: Date; dateModified!: Date; timesUsed!: number; static schema: Realm.ObjectSchema = { name: 'Tag', primaryKey: 'id', properties: { id: { type: 'uuid', default: () => new BSON.UUID() }, name: { type: 'string', indexed: true }, color: 'string', memes: { type: 'list', objectType: 'Meme', default: [] }, memesLength: { type: 'int', default: 0 }, dateCreated: { type: 'date', default: () => new Date() }, dateModified: { type: 'date', default: () => new Date() }, timesUsed: { type: 'int', default: 0 }, }, }; } const deleteTag = (realm: Realm, tag: Tag) => { realm.write(() => { realm.delete(tag); }); }; const deleteAllTags = (realm: Realm) => { realm.write(() => { realm.delete(realm.objects('Tag')); }); }; export { Tag, deleteTag, deleteAllTags };