Skip to content

Commit 23d5422

Browse files
committed
#375: added tenant information for more bff functions
1 parent bde9263 commit 23d5422

File tree

36 files changed

+90
-66
lines changed

36 files changed

+90
-66
lines changed

src/domain/creator/getById/CreatorNotFound.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ export default class CreatorNotFound extends NotFound
55
{
66
constructor(id: string, tenantId: string)
77
{
8-
super(`No creator for id: ${id} and tenant ${tenantId}`);
8+
super(`No creator for id: ${id} and tenant '${tenantId}'`);
99
}
1010
}

src/domain/creator/updateNickname/retrieveByNickname.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ import database from '^/integrations/database';
44
import { RECORD_TYPE } from '../definitions';
55
import type { DataModel } from '../types';
66

7-
export default async function retrieveByNickname(nickname: string): Promise<DataModel | undefined>
7+
export default async function retrieveByNickname(tenantId: string, nickname: string): Promise<DataModel | undefined>
88
{
9-
const query = { nickname: { EQUALS: nickname } };
9+
const query = {
10+
nickname: { EQUALS: nickname },
11+
tenantId: { EQUALS: tenantId }
12+
};
1013

1114
return database.findRecord(RECORD_TYPE, query) as Promise<DataModel | undefined>;
1215
}

src/domain/creator/updateNickname/updateNickname.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11

22
import type { Requester } from '^/domain/authentication';
3+
import type { Tenant } from '^/domain/tenant';
34

45
import cleanNickname from '../cleanNickname';
56
import update from '../update';
67
import NicknameAlreadyExists from './NicknameAlreadyExists';
78
import retrieveByNickname from './retrieveByNickname';
89

9-
export default async function updateNickname(requester: Requester, nickname: string): Promise<void>
10+
11+
export default async function updateNickname(requester: Requester, tenant: Tenant, nickname: string): Promise<void>
1012
{
1113
const cleanedNickname = cleanNickname(nickname);
1214

13-
const data = await retrieveByNickname(cleanedNickname);
15+
const data = await retrieveByNickname(tenant.id, cleanedNickname);
1416

1517
if (data !== undefined)
1618
{

src/domain/notification/getById/getById.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@ import database from '^/integrations/database';
55
import { RECORD_TYPE } from '../definitions';
66
import type { DataModel } from '../types';
77

8-
export default async function getById(id: string): Promise<DataModel>
8+
export default async function getById(receiverId: string, id: string): Promise<DataModel>
99
{
1010
const query: RecordQuery =
1111
{
1212
id: { EQUALS: id },
13+
receiverId: { EQUALS: receiverId },
1314
deleted: { EQUALS: false }
1415
};
16+
1517
return database.findRecord(RECORD_TYPE, query) as Promise<DataModel>;
1618
}

src/domain/notification/getByIdAggregated/getByIdAggregated.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import getById from '../getById';
88

99
export default async function getByIdAggregated(requester: Requester, tenant: Tenant, id: string): Promise<AggregatedData>
1010
{
11-
const data = await getById(id);
11+
const data = await getById(requester.id, id);
1212

1313
return aggregate(requester, tenant, data);
1414
}

src/domain/notification/notify/createdPost.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import getPost from '^/domain/post/getById';
44
import create from '../create';
55
import { Types } from '../definitions';
66

7-
export default async function createdPost(creatorId: string, postId: string, parentId?: string): Promise<void>
7+
export default async function createdPost(tenantId: string, creatorId: string, postId: string, parentId?: string): Promise<void>
88
{
99
if (parentId === undefined)
1010
{
1111
return;
1212
}
1313

14-
const parentPost = await getPost(parentId);
14+
const parentPost = await getPost(tenantId, parentId);
1515

1616
return create(Types.REACTED_TO_POST, creatorId, parentPost.creatorId, postId);
1717
}

src/domain/notification/notify/ratedPost.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ import getPost from '^/domain/post/getById';
44
import create from '../create';
55
import { Types } from '../definitions';
66

7-
export default async function ratedPost(creatorId: string, postId: string, rated: boolean): Promise<void>
7+
export default async function ratedPost(tenantId: string, creatorId: string, postId: string, rated: boolean): Promise<void>
88
{
99
if (rated === false)
1010
{
1111
return;
1212
}
1313

14-
const post = await getPost(postId);
14+
const post = await getPost(tenantId, postId);
1515

1616
return create(Types.RATED_POST, creatorId, post.creatorId, postId);
1717
}

src/domain/notification/notify/subscriptions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import startedFollowing from './startedFollowing';
1212
async function subscribe(): Promise<void>
1313
{
1414
await Promise.all([
15-
subscribeToPostRated(({ creatorId, postId, rated }) => ratedPost(creatorId, postId, rated)),
16-
subscribeToPostCreated(({ creatorId, postId, parentId }) => reactedToPost(creatorId, postId, parentId)),
15+
subscribeToPostRated(({ tenantId, creatorId, postId, rated }) => ratedPost(tenantId, creatorId, postId, rated)),
16+
subscribeToPostCreated(({ tenantId, creatorId, postId, parentId }) => reactedToPost(tenantId, creatorId, postId, parentId)),
1717
subscribeToRelationEstablished(({ followerId, followingId }) => startedFollowing(followerId, followingId)),
1818
subscribeToPostRemoved(({ postId }) => removedPost(postId)),
1919
]);

src/domain/post/create/create.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export default async function create(creatorId: string, tenantId: string, comicI
1919

2020
postId = await insertData(data);
2121

22-
await publish(creatorId, postId, parentId);
22+
await publish(tenantId, creatorId, postId, parentId);
2323

2424
return postId;
2525
}

src/domain/post/create/publish.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ import { EVENT_CHANNEL } from '../definitions';
55
import { EVENT_NAME } from './definitions';
66
import type { CreatedPublication } from './types';
77

8-
export default async function publish(creatorId: string, postId: string, parentId?: string): Promise<void>
8+
export default async function publish(tenantId: string, creatorId: string, postId: string, parentId?: string): Promise<void>
99
{
1010
const publication: CreatedPublication = {
1111
channel: EVENT_CHANNEL,
1212
name: EVENT_NAME,
13-
data: { creatorId, postId, parentId }
13+
data: { tenantId, creatorId, postId, parentId }
1414
};
1515

1616
return eventBroker.publish(publication);

0 commit comments

Comments
 (0)