From fdbacd0676c0e61e76904d1b0ed0546d7efa2d33 Mon Sep 17 00:00:00 2001 From: Charles Fries Date: Sat, 6 Apr 2024 16:21:23 -0700 Subject: [PATCH 1/4] WIP --- tests/dummy/app/models/group.ts | 6 ++++-- tests/dummy/app/models/post.ts | 8 ++++---- tests/dummy/app/models/user.ts | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/tests/dummy/app/models/group.ts b/tests/dummy/app/models/group.ts index 2417e5b4..899daa8f 100644 --- a/tests/dummy/app/models/group.ts +++ b/tests/dummy/app/models/group.ts @@ -18,11 +18,13 @@ export default class GroupModel extends Model { @attr('string') declare public name: string; - @hasMany('user') + @hasMany('user', { async: true, inverse: 'groups' }) declare public members: DS.PromiseManyArray; + // @ts-ignore: TODO - find a way to set custom property in RelationshipOptions interface @hasMany('post', { - // @ts-ignore: TODO - find a way to set custom property in RelationshipOptions interface + async: true, + inverse: 'group', isRealtime: true, filter(reference: Query) { diff --git a/tests/dummy/app/models/post.ts b/tests/dummy/app/models/post.ts index 52a7432e..49e25b5a 100644 --- a/tests/dummy/app/models/post.ts +++ b/tests/dummy/app/models/post.ts @@ -22,16 +22,16 @@ export default class PostModel extends Model { @attr('timestamp') declare public createdOn: TimestampTransform; - @belongsTo('user') + @belongsTo('user', { async: true, inverse: 'posts' }) declare public author: DS.PromiseObject; - @belongsTo('group') + @belongsTo('group', { async: true, inverse: 'posts' }) declare public group: DS.PromiseObject; + // @ts-ignore: TODO - find a way to set custom property in RelationshipOptions interface @belongsTo('user', { + async: true, inverse: null, - - // @ts-ignore: TODO - find a way to set custom property in RelationshipOptions interface buildReference(db: Firestore) { return collection(db, 'publishers'); }, diff --git a/tests/dummy/app/models/user.ts b/tests/dummy/app/models/user.ts index 3fd908d7..3f701f1f 100644 --- a/tests/dummy/app/models/user.ts +++ b/tests/dummy/app/models/user.ts @@ -14,10 +14,10 @@ export default class UserModel extends Model { @attr('string') declare public name: string; - @hasMany('group') + @hasMany('group', { async: true, inverse: 'members' }) declare public groups: DS.PromiseManyArray; - @hasMany('post') + @hasMany('post', { async: true, inverse: 'author' }) declare public posts: DS.PromiseManyArray; } From 4e86abfd8bc71aba6a83e1820176aced65deb294 Mon Sep 17 00:00:00 2001 From: Charles Fries Date: Sat, 6 Apr 2024 16:22:33 -0700 Subject: [PATCH 2/4] Ch --- tests/dummy/app/models/post.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/dummy/app/models/post.ts b/tests/dummy/app/models/post.ts index 49e25b5a..117e779e 100644 --- a/tests/dummy/app/models/post.ts +++ b/tests/dummy/app/models/post.ts @@ -32,6 +32,7 @@ export default class PostModel extends Model { @belongsTo('user', { async: true, inverse: null, + buildReference(db: Firestore) { return collection(db, 'publishers'); }, From a3ff3bfb04780b6d817e90bd695469663b1b8df6 Mon Sep 17 00:00:00 2001 From: Charles Fries Date: Sun, 2 Jun 2024 16:03:55 -0700 Subject: [PATCH 3/4] Update group.ts --- tests/dummy/app/models/group.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/dummy/app/models/group.ts b/tests/dummy/app/models/group.ts index aa70f037..315a2398 100644 --- a/tests/dummy/app/models/group.ts +++ b/tests/dummy/app/models/group.ts @@ -19,7 +19,6 @@ export default class GroupModel extends Model { @hasMany('user', { async: true, inverse: 'groups' }) declare public members: DS.PromiseManyArray; - // @ts-ignore: TODO - find a way to set custom property in RelationshipOptions interface @hasMany('post', { async: true, inverse: 'group', From 4ceb3a6cd79eb4b13ed087618ee2966af30b2e17 Mon Sep 17 00:00:00 2001 From: Charles Fries Date: Sun, 2 Jun 2024 16:04:05 -0700 Subject: [PATCH 4/4] Update post.ts --- tests/dummy/app/models/post.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/dummy/app/models/post.ts b/tests/dummy/app/models/post.ts index 00e0dfc1..392f4ea9 100644 --- a/tests/dummy/app/models/post.ts +++ b/tests/dummy/app/models/post.ts @@ -26,7 +26,6 @@ export default class PostModel extends Model { @belongsTo('group', { async: true, inverse: 'posts' }) declare public group: DS.PromiseObject; - // @ts-ignore: TODO - find a way to set custom property in RelationshipOptions interface @belongsTo('user', { async: true, inverse: null,