Files
Tom Moor bf45e97641 chore: Enforce type import consistency (#10968)
* Update types

* fix circular dep

* type imports

* lint type imports and --fix
2025-12-19 23:07:02 -05:00

34 lines
788 B
TypeScript

import { observable } from "mobx";
import type { CollectionPermission } from "@shared/types";
import Collection from "./Collection";
import User from "./User";
import Model from "./base/Model";
import { AfterRemove } from "./decorators/Lifecycle";
import Relation from "./decorators/Relation";
class Membership extends Model {
static modelName = "Membership";
userId: string;
@Relation(() => User, { onDelete: "cascade" })
user: User;
collectionId: string;
@Relation(() => Collection, { onDelete: "cascade" })
collection: Collection;
@observable
permission: CollectionPermission;
// hooks
@AfterRemove
public static removeFromPolicies(model: Membership) {
model.store.rootStore.policies.removeForMembership(model.id);
}
}
export default Membership;