mirror of
https://gitlab.com/mobicoop/v3/service/matcher.git
synced 2026-01-01 02:12:41 +00:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fef0779aaa | ||
|
|
fb3f1cf4df | ||
|
|
703865dc38 | ||
|
|
75bb82094d | ||
|
|
8d2964659b | ||
|
|
8eb1b51457 | ||
|
|
a1ff6f9f45 | ||
|
|
c09b1b9863 | ||
|
|
337c28370d | ||
|
|
14c43afb34 | ||
|
|
73ed3a948e | ||
|
|
b0718e83df | ||
|
|
4547dcf655 | ||
|
|
c5e58db5a6 |
@@ -4,6 +4,10 @@ stages:
|
||||
- test
|
||||
- build
|
||||
|
||||
include:
|
||||
- template: Security/SAST.gitlab-ci.yml
|
||||
- template: Security/Secret-Detection.gitlab-ci.yml
|
||||
|
||||
##############
|
||||
# TEST STAGE #
|
||||
##############
|
||||
|
||||
@@ -181,7 +181,6 @@ If the matching is successful, you will get a result, containing :
|
||||
- **page**: the number of the page that is returned (may be different than the number of the required page, if number of results does not match with perPage parameter)
|
||||
- **perPage**: the number of results per page (as it may not be specified in the request)
|
||||
- **data**: an array of the results themselves, each including:
|
||||
- **id**: an id for the result
|
||||
- **adId**: the id of the ad that matches
|
||||
- **role**: the role of the ad owner in that match
|
||||
- **distance**: the distance in metres of the resulting carpool
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@mobicoop/matcher",
|
||||
"version": "1.3.1",
|
||||
"version": "1.4.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@mobicoop/matcher",
|
||||
"version": "1.3.1",
|
||||
"version": "1.4.2",
|
||||
"license": "AGPL",
|
||||
"dependencies": {
|
||||
"@grpc/grpc-js": "^1.9.9",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@mobicoop/matcher",
|
||||
"version": "1.3.1",
|
||||
"version": "1.4.2",
|
||||
"description": "Mobicoop V3 Matcher",
|
||||
"author": "sbriat",
|
||||
"private": true,
|
||||
|
||||
@@ -32,6 +32,7 @@ export class MatchGrpcController {
|
||||
@UseInterceptors(CacheInterceptor)
|
||||
@GrpcMethod('MatcherService', 'Match')
|
||||
async match(data: MatchRequestDto): Promise<MatchingPaginatedResponseDto> {
|
||||
console.log(data);
|
||||
try {
|
||||
const matchingResult: MatchingResult = await this.queryBus.execute(
|
||||
new MatchQuery(data, this.routeProvider),
|
||||
|
||||
@@ -24,9 +24,8 @@ message MatchRequest {
|
||||
int32 azimuthMargin = 15;
|
||||
float maxDetourDistanceRatio = 16;
|
||||
float maxDetourDurationRatio = 17;
|
||||
int32 identifier = 18;
|
||||
optional int32 page = 19;
|
||||
optional int32 perPage = 20;
|
||||
optional int32 page = 18;
|
||||
optional int32 perPage = 19;
|
||||
}
|
||||
|
||||
message ScheduleItem {
|
||||
@@ -57,18 +56,17 @@ enum AlgorithmType {
|
||||
}
|
||||
|
||||
message Match {
|
||||
string id = 1;
|
||||
string adId = 2;
|
||||
string role = 3;
|
||||
int32 distance = 4;
|
||||
int32 duration = 5;
|
||||
int32 initialDistance = 6;
|
||||
int32 initialDuration = 7;
|
||||
int32 distanceDetour = 8;
|
||||
int32 durationDetour = 9;
|
||||
double distanceDetourPercentage = 10;
|
||||
double durationDetourPercentage = 11;
|
||||
repeated Journey journeys = 12;
|
||||
string adId = 1;
|
||||
string role = 2;
|
||||
int32 distance = 3;
|
||||
int32 duration = 4;
|
||||
int32 initialDistance = 5;
|
||||
int32 initialDuration = 6;
|
||||
int32 distanceDetour = 7;
|
||||
int32 durationDetour = 8;
|
||||
double distanceDetourPercentage = 9;
|
||||
double durationDetourPercentage = 10;
|
||||
repeated Journey journeys = 11;
|
||||
}
|
||||
|
||||
message Journey {
|
||||
|
||||
@@ -195,8 +195,15 @@ const mockMatchMapper = {
|
||||
frequency: 'RECURRENT',
|
||||
distance: 356041,
|
||||
duration: 12647,
|
||||
initialDistance: 349251,
|
||||
initialDuration: 12103,
|
||||
distanceDetour: 6790,
|
||||
durationDetour: 544,
|
||||
distanceDetourPercentage: 4.1,
|
||||
durationDetourPercentage: 3.8,
|
||||
journeys: [
|
||||
{
|
||||
day: 5,
|
||||
firstDate: '2023-09-01',
|
||||
lastDate: '2024-08-30',
|
||||
journeyItems: [
|
||||
@@ -205,16 +212,11 @@ const mockMatchMapper = {
|
||||
lon: 6.17651,
|
||||
duration: 0,
|
||||
distance: 0,
|
||||
time: '07:00',
|
||||
actorTimes: [
|
||||
{
|
||||
role: 'DRIVER',
|
||||
target: 'START',
|
||||
firstDatetime: '2023-09-01 07:00',
|
||||
firstMinDatetime: '2023-09-01 06:45',
|
||||
firstMaxDatetime: '2023-09-01 07:15',
|
||||
lastDatetime: '2024-08-30 07:00',
|
||||
lastMinDatetime: '2024-08-30 06:45',
|
||||
lastMaxDatetime: '2024-08-30 07:15',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -223,26 +225,15 @@ const mockMatchMapper = {
|
||||
lon: 6.67487,
|
||||
duration: 2100,
|
||||
distance: 56878,
|
||||
time: '07:35',
|
||||
actorTimes: [
|
||||
{
|
||||
role: 'DRIVER',
|
||||
target: 'NEUTRAL',
|
||||
firstDatetime: '2023-09-01 07:35',
|
||||
firstMinDatetime: '2023-09-01 07:20',
|
||||
firstMaxDatetime: '2023-09-01 07:50',
|
||||
lastDatetime: '2024-08-30 07:35',
|
||||
lastMinDatetime: '2024-08-30 07:20',
|
||||
lastMaxDatetime: '2024-08-30 07:50',
|
||||
},
|
||||
{
|
||||
role: 'PASSENGER',
|
||||
target: 'START',
|
||||
firstDatetime: '2023-09-01 07:32',
|
||||
firstMinDatetime: '2023-09-01 07:17',
|
||||
firstMaxDatetime: '2023-09-01 07:47',
|
||||
lastDatetime: '2024-08-30 07:32',
|
||||
lastMinDatetime: '2024-08-30 07:17',
|
||||
lastMaxDatetime: '2024-08-30 07:47',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -251,26 +242,15 @@ const mockMatchMapper = {
|
||||
lon: 6.9427,
|
||||
duration: 3840,
|
||||
distance: 76491,
|
||||
time: '08:04',
|
||||
actorTimes: [
|
||||
{
|
||||
role: 'DRIVER',
|
||||
target: 'NEUTRAL',
|
||||
firstDatetime: '2023-09-01 08:04',
|
||||
firstMinDatetime: '2023-09-01 07:51',
|
||||
firstMaxDatetime: '2023-09-01 08:19',
|
||||
lastDatetime: '2024-08-30 08:04',
|
||||
lastMinDatetime: '2024-08-30 07:51',
|
||||
lastMaxDatetime: '2024-08-30 08:19',
|
||||
},
|
||||
{
|
||||
role: 'PASSENGER',
|
||||
target: 'FINISH',
|
||||
firstDatetime: '2023-09-01 08:01',
|
||||
firstMinDatetime: '2023-09-01 07:46',
|
||||
firstMaxDatetime: '2023-09-01 08:16',
|
||||
lastDatetime: '2024-08-30 08:01',
|
||||
lastMinDatetime: '2024-08-30 07:46',
|
||||
lastMaxDatetime: '2024-08-30 08:16',
|
||||
},
|
||||
],
|
||||
},
|
||||
@@ -279,16 +259,11 @@ const mockMatchMapper = {
|
||||
lon: 7.02154,
|
||||
duration: 4980,
|
||||
distance: 96475,
|
||||
time: '08:23',
|
||||
actorTimes: [
|
||||
{
|
||||
role: 'DRIVER',
|
||||
target: 'FINISH',
|
||||
firstDatetime: '2023-09-01 08:23',
|
||||
firstMinDatetime: '2023-09-01 08:08',
|
||||
firstMaxDatetime: '2023-09-01 08:38',
|
||||
lastDatetime: '2024-08-30 08:23',
|
||||
lastMinDatetime: '2024-08-30 08:08',
|
||||
lastMaxDatetime: '2024-08-30 08:38',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user