Skip to content

Commit 2accaa0

Browse files
authored
Fix product create check (#3173)
1 parent 89cfa87 commit 2accaa0

File tree

1 file changed

+8
-22
lines changed

1 file changed

+8
-22
lines changed

src/components/product/product.service.ts

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,9 @@ import {
1010
Session,
1111
UnsecuredDto,
1212
} from '../../common';
13-
import {
14-
HandleIdLookup,
15-
ILogger,
16-
Logger,
17-
ResourceLoader,
18-
ResourceResolver,
19-
} from '../../core';
13+
import { HandleIdLookup, ILogger, Logger, ResourceResolver } from '../../core';
2014
import { compareNullable, ifDiff, isSame } from '../../core/database/changes';
2115
import { Privileges } from '../authorization';
22-
import { IEngagement } from '../engagement';
2316
import {
2417
getTotalVerseEquivalents,
2518
getTotalVerses,
@@ -61,7 +54,6 @@ export class ProductService {
6154
private readonly scriptureRefs: ScriptureReferenceService,
6255
private readonly privileges: Privileges,
6356
private readonly repo: ProductRepository,
64-
private readonly resourceLoader: ResourceLoader,
6557
private readonly resources: ResourceResolver,
6658
@Logger('product:service') private readonly logger: ILogger,
6759
) {}
@@ -73,18 +65,6 @@ export class ProductService {
7365
| CreateOtherProduct,
7466
session: Session,
7567
): Promise<AnyProduct> {
76-
const engagementResource = await this.resourceLoader.load(
77-
IEngagement,
78-
input.engagementId,
79-
);
80-
const engagementPrivileges = this.privileges.for(
81-
session,
82-
IEngagement,
83-
engagementResource,
84-
);
85-
86-
engagementPrivileges.verifyCan('create');
87-
8868
const engagement = await this.repo.getBaseNode(
8969
input.engagementId,
9070
'Engagement',
@@ -175,7 +155,13 @@ export class ProductService {
175155
});
176156

177157
this.logger.debug(`product created`, { id });
178-
return await this.readOne(id, session);
158+
const created = await this.readOne(id, session);
159+
160+
this.privileges
161+
.for(session, resolveProductType(created), created)
162+
.verifyCan('create');
163+
164+
return created;
179165
}
180166

181167
@HandleIdLookup([

0 commit comments

Comments
 (0)