Skip to content

Commit cde619e

Browse files
committed
some renaming and refactor
1 parent 89e9a2c commit cde619e

File tree

12 files changed

+43
-72
lines changed

12 files changed

+43
-72
lines changed

src/Contexts/Backoffice/Courses/application/BackofficeCourseResponse.ts

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import { BackofficeCourseResponse } from './BackofficeCourseResponse';
1+
import { BackofficeCourse } from '../domain/BackofficeCourse';
22

33
export class BackofficeCoursesResponse {
4-
readonly courses: Array<BackofficeCourseResponse>;
4+
readonly courses: Array<BackofficeCourse>;
55

6-
constructor(courses: Array<BackofficeCourseResponse>) {
6+
constructor(courses: Array<BackofficeCourse>) {
77
this.courses = courses;
88
}
99
}
Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { BackofficeCourseRepository } from '../../domain/BackofficeCourseRepository';
2-
import { BackofficeCourseResponse } from '../BackofficeCourseResponse';
32
import { BackofficeCoursesResponse } from '../BackofficeCoursesResponse';
43

54
export class CoursesFinder {
@@ -8,8 +7,6 @@ export class CoursesFinder {
87
async run() {
98
const courses = await this.coursesRepository.searchAll();
109

11-
const backofficeCourseResponses = courses.map(BackofficeCourseResponse.fromAggregate);
12-
13-
return new BackofficeCoursesResponse(backofficeCourseResponses);
10+
return new BackofficeCoursesResponse(courses);
1411
}
1512
}

src/Contexts/Backoffice/Courses/application/SearchByCriteria/CoursesByCriteriaSearcher.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { Criteria } from '../../../../Shared/domain/criteria/Criteria';
22
import { Filters } from '../../../../Shared/domain/criteria/Filters';
33
import { Order } from '../../../../Shared/domain/criteria/Order';
44
import { BackofficeCourseRepository } from '../../domain/BackofficeCourseRepository';
5-
import { BackofficeCourseResponse } from '../BackofficeCourseResponse';
65
import { BackofficeCoursesResponse } from '../BackofficeCoursesResponse';
76

87
export class CoursesByCriteriaSearcher {
@@ -13,8 +12,6 @@ export class CoursesByCriteriaSearcher {
1312

1413
const courses = await this.repository.matching(criteria);
1514

16-
const backofficeCourseResponses = courses.map(BackofficeCourseResponse.fromAggregate);
17-
18-
return new BackofficeCoursesResponse(backofficeCourseResponses);
15+
return new BackofficeCoursesResponse(courses);
1916
}
2017
}

src/Contexts/Backoffice/Courses/application/SearchByCriteria/SearchCoursesByCriteriaQueryHandler.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ export class SearchCoursesByCriteriaQueryHandler
1616

1717
handle(query: SearchCoursesByCriteriaQuery): Promise<BackofficeCoursesResponse> {
1818
const filters = Filters.fromValues(query.filters);
19-
2019
const order = Order.fromValues(query.orderBy, query.orderType);
2120

2221
return this.searcher.run(filters, order, query.offset, query.limit);
Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { EnumValueObject } from '../value-object/EnumValueObject';
22
import { InvalidArgumentError } from '../value-object/InvalidArgumentError';
33

4-
export enum FilterOperators {
4+
export enum Operator {
55
EQUAL = '=',
66
NOT_EQUAL = '!=',
77
GT = '>',
@@ -10,35 +10,35 @@ export enum FilterOperators {
1010
NOT_CONTAINS = 'NOT_CONTAINS'
1111
}
1212

13-
export class FilterOperator extends EnumValueObject<FilterOperators> {
14-
constructor(value: FilterOperators) {
15-
super(value, Object.values(FilterOperators));
13+
export class FilterOperator extends EnumValueObject<Operator> {
14+
constructor(value: Operator) {
15+
super(value, Object.values(Operator));
1616
}
1717

1818
static fromValue(value: string): FilterOperator {
1919
switch (value) {
20-
case FilterOperators.EQUAL:
21-
return new FilterOperator(FilterOperators.EQUAL);
22-
case FilterOperators.NOT_EQUAL:
23-
return new FilterOperator(FilterOperators.NOT_EQUAL);
24-
case FilterOperators.GT:
25-
return new FilterOperator(FilterOperators.GT);
26-
case FilterOperators.LT:
27-
return new FilterOperator(FilterOperators.LT);
28-
case FilterOperators.CONTAINS:
29-
return new FilterOperator(FilterOperators.CONTAINS);
30-
case FilterOperators.NOT_CONTAINS:
31-
return new FilterOperator(FilterOperators.NOT_CONTAINS);
20+
case Operator.EQUAL:
21+
return new FilterOperator(Operator.EQUAL);
22+
case Operator.NOT_EQUAL:
23+
return new FilterOperator(Operator.NOT_EQUAL);
24+
case Operator.GT:
25+
return new FilterOperator(Operator.GT);
26+
case Operator.LT:
27+
return new FilterOperator(Operator.LT);
28+
case Operator.CONTAINS:
29+
return new FilterOperator(Operator.CONTAINS);
30+
case Operator.NOT_CONTAINS:
31+
return new FilterOperator(Operator.NOT_CONTAINS);
3232
default:
3333
throw new InvalidArgumentError(`The filter operator ${value} is invalid`);
3434
}
3535
}
3636

3737
public isPositive(): boolean {
38-
return this.value !== FilterOperators.NOT_EQUAL && this.value !== FilterOperators.NOT_CONTAINS;
38+
return this.value !== Operator.NOT_EQUAL && this.value !== Operator.NOT_CONTAINS;
3939
}
4040

41-
protected throwErrorForInvalidValue(value: FilterOperators): void {
41+
protected throwErrorForInvalidValue(value: Operator): void {
4242
throw new InvalidArgumentError(`The filter operator ${value} is invalid`);
4343
}
4444
}

src/Contexts/Shared/infrastructure/persistence/elasticsearch/ElasticCriteriaConverter.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import bodybuilder, { Bodybuilder } from 'bodybuilder';
22
import { Criteria } from '../../../domain/criteria/Criteria';
33
import { Filter } from '../../../domain/criteria/Filter';
4-
import { FilterOperators } from '../../../domain/criteria/FilterOperator';
4+
import { Operator } from '../../../domain/criteria/FilterOperator';
55
import { Filters } from '../../../domain/criteria/Filters';
66

77
export enum TypeQueryEnum {
@@ -13,21 +13,21 @@ export enum TypeQueryEnum {
1313

1414
type QueryObject = { type: TypeQueryEnum; field: string; value: string | object };
1515

16-
interface FunctionTransformer<T, K> {
16+
interface TransformerFunction<T, K> {
1717
(value: T): K;
1818
}
1919

2020
export class ElasticCriteriaConverter {
21-
private queryTransformers: Map<FilterOperators, FunctionTransformer<Filter, QueryObject>>;
21+
private queryTransformers: Map<Operator, TransformerFunction<Filter, QueryObject>>;
2222

2323
constructor() {
24-
this.queryTransformers = new Map<FilterOperators, FunctionTransformer<Filter, QueryObject>>([
25-
[FilterOperators.EQUAL, this.termsQuery],
26-
[FilterOperators.NOT_EQUAL, this.termsQuery],
27-
[FilterOperators.GT, this.greaterThanQuery],
28-
[FilterOperators.LT, this.lowerThanQuery],
29-
[FilterOperators.CONTAINS, this.matchQuery],
30-
[FilterOperators.NOT_CONTAINS, this.matchQuery]
24+
this.queryTransformers = new Map<Operator, TransformerFunction<Filter, QueryObject>>([
25+
[Operator.EQUAL, this.termsQuery],
26+
[Operator.NOT_EQUAL, this.termsQuery],
27+
[Operator.GT, this.greaterThanQuery],
28+
[Operator.LT, this.lowerThanQuery],
29+
[Operator.CONTAINS, this.matchQuery],
30+
[Operator.NOT_CONTAINS, this.matchQuery]
3131
]);
3232
}
3333

src/apps/backoffice/backend/controllers/CoursesGetController.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Request, Response } from 'express';
22
import httpStatus from 'http-status';
3-
import { BackofficeCourseResponse } from '../../../../Contexts/Backoffice/Courses/application/BackofficeCourseResponse';
43
import { BackofficeCoursesResponse } from '../../../../Contexts/Backoffice/Courses/application/BackofficeCoursesResponse';
54
import { SearchAllCoursesQuery } from '../../../../Contexts/Backoffice/Courses/application/SearchAll/SearchAllCoursesQuery';
5+
import { BackofficeCourse } from '../../../../Contexts/Backoffice/Courses/domain/BackofficeCourse';
66
import { QueryBus } from '../../../../Contexts/Shared/domain/QueryBus';
77
import { Controller } from './Controller';
88

@@ -17,7 +17,7 @@ export class CoursesGetController implements Controller {
1717
res.status(httpStatus.OK).send(this.toResponse(queryResponse.courses));
1818
}
1919

20-
private toResponse(courses: Array<BackofficeCourseResponse>) {
20+
private toResponse(courses: Array<BackofficeCourse>) {
2121
return courses.map(course => ({
2222
id: course.id.toString(),
2323
duration: course.duration.toString(),

tests/Contexts/Backoffice/Courses/domain/BackofficeCourseCriteriaMother.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import { Criteria } from '../../../../../src/Contexts/Shared/domain/criteria/Criteria';
22
import { Filter } from '../../../../../src/Contexts/Shared/domain/criteria/Filter';
33
import { FilterField } from '../../../../../src/Contexts/Shared/domain/criteria/FilterField';
4-
import { FilterOperator, FilterOperators } from '../../../../../src/Contexts/Shared/domain/criteria/FilterOperator';
4+
import { FilterOperator, Operator } from '../../../../../src/Contexts/Shared/domain/criteria/FilterOperator';
55
import { Filters } from '../../../../../src/Contexts/Shared/domain/criteria/Filters';
66
import { FilterValue } from '../../../../../src/Contexts/Shared/domain/criteria/FilterValue';
77
import { Order } from '../../../../../src/Contexts/Shared/domain/criteria/Order';
88

99
export class BackofficeCourseCriteriaMother {
10-
static nameAndDurationContains(name: string, duration: string): Criteria {
10+
static nameAndDurationContainsSortAscById(name: string, duration: string): Criteria {
1111
const filterFieldName = new FilterField('name');
1212
const filterFieldDuration = new FilterField('duration');
13-
const filterOperator = new FilterOperator(FilterOperators.CONTAINS);
13+
const filterOperator = new FilterOperator(Operator.CONTAINS);
1414
const valueName = new FilterValue(name);
1515
const valueDuration = new FilterValue(duration);
1616

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import { BackofficeCourseResponse } from '../../../../../src/Contexts/Backoffice/Courses/application/BackofficeCourseResponse';
21
import { BackofficeCoursesResponse } from '../../../../../src/Contexts/Backoffice/Courses/application/BackofficeCoursesResponse';
32
import { BackofficeCourse } from '../../../../../src/Contexts/Backoffice/Courses/domain/BackofficeCourse';
43

54
export class SearchAllCoursesResponseMother {
65
static create(courses: Array<BackofficeCourse>) {
7-
return new BackofficeCoursesResponse(courses.map(BackofficeCourseResponse.fromAggregate));
6+
return new BackofficeCoursesResponse(courses);
87
}
98
}

0 commit comments

Comments
 (0)