functional ad insert

This commit is contained in:
sbriat
2023-08-24 14:08:49 +02:00
parent 39cebda0b9
commit 9799f78bd2
24 changed files with 1390 additions and 2108 deletions

View File

@@ -1,15 +1,12 @@
import { Inject, Injectable, Logger } from '@nestjs/common';
import { EventEmitter2 } from '@nestjs/event-emitter';
import { AdRepositoryPort } from '../core/application/ports/ad.repository.port';
import {
LoggerBase,
MessagePublisherPort,
PrismaRepositoryBase,
} from '@mobicoop/ddd-library';
import { LoggerBase, MessagePublisherPort } from '@mobicoop/ddd-library';
import { PrismaService } from './prisma.service';
import { AD_MESSAGE_PUBLISHER } from '../ad.di-tokens';
import { AdEntity } from '../core/domain/ad.entity';
import { AdMapper } from '../ad.mapper';
import { ExtendedPrismaRepositoryBase } from '@mobicoop/ddd-library/dist/db/prisma-repository.base';
export type AdBaseModel = {
uuid: string;
@@ -25,8 +22,6 @@ export type AdBaseModel = {
driverDistance: number;
passengerDuration: number;
passengerDistance: number;
waypoints: string;
direction: string;
fwdAzimuth: number;
backAzimuth: number;
createdAt: Date;
@@ -34,6 +29,8 @@ export type AdBaseModel = {
};
export type AdReadModel = AdBaseModel & {
waypoints: string;
direction: string;
schedule: ScheduleItemModel[];
};
@@ -43,6 +40,11 @@ export type AdWriteModel = AdBaseModel & {
};
};
export type AdUnsupportedWriteModel = {
waypoints: string;
direction: string;
};
export type ScheduleItemModel = {
uuid: string;
day: number;
@@ -57,7 +59,12 @@ export type ScheduleItemModel = {
* */
@Injectable()
export class AdRepository
extends PrismaRepositoryBase<AdEntity, AdReadModel, AdWriteModel>
extends ExtendedPrismaRepositoryBase<
AdEntity,
AdReadModel,
AdWriteModel,
AdUnsupportedWriteModel
>
implements AdRepositoryPort
{
constructor(