@things-factory/transport-base 6.0.0-alpha.6 → 6.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-server/service/transport-driver/transport-driver-mutation.js +1 -1
- package/dist-server/service/transport-driver/transport-driver-mutation.js.map +1 -1
- package/dist-server/service/transport-vehicle/transport-vehicle-mutation.js +3 -1
- package/dist-server/service/transport-vehicle/transport-vehicle-mutation.js.map +1 -1
- package/dist-server/service/transport-vehicle/transport-vehicle-query.js +1 -1
- package/dist-server/service/transport-vehicle/transport-vehicle-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/server/service/transport-driver/transport-driver-mutation.ts +1 -1
- package/server/service/transport-vehicle/transport-vehicle-mutation.ts +3 -1
- package/server/service/transport-vehicle/transport-vehicle-query.ts +1 -1
|
@@ -106,7 +106,7 @@ async function createTransportDriver(transportDriver, domain, user, tx) {
|
|
|
106
106
|
const repository = tx
|
|
107
107
|
? tx.getRepository(transport_driver_1.TransportDriver)
|
|
108
108
|
: (0, shell_1.getRepository)(transport_driver_1.TransportDriver);
|
|
109
|
-
const existingUsers = (await tx.getRepository(transport_driver_1.TransportDriver).find({ where: { domain }, relations: ['user'] })).map(driver => driver.userId);
|
|
109
|
+
const existingUsers = (await tx.getRepository(transport_driver_1.TransportDriver).find({ where: { domain: { id: domain.id } }, relations: ['user'] })).map(driver => driver.userId);
|
|
110
110
|
if (existingUsers.includes(transportDriver.userId))
|
|
111
111
|
throw new Error('driver user already exists');
|
|
112
112
|
const driverUser = await tx.getRepository(auth_base_1.User).findOne({ where: { id: transportDriver.userId } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-driver-mutation.js","sourceRoot":"","sources":["../../../server/service/transport-driver/transport-driver-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In, Repository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { NewTransportDriver, TransportDriverPatch } from '../'\nimport { TransportDriver } from './transport-driver'\n\nconst debug = require('debug')('things-factory:operato-wms:addTransportDriver')\n\n@Resolver(TransportDriver)\nexport class TransportDriverMutation {\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => TransportDriver)\n async createTransportDriver(\n @Arg('transportDriver', type => NewTransportDriver) transportDriver: NewTransportDriver,\n @Ctx() context: ResolverContext\n ): Promise<TransportDriver> {\n const { tx, domain, user } = context.state\n return await createTransportDriver(transportDriver, domain, user, tx)\n }\n\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => TransportDriver)\n async updateTransportDriver(\n @Arg('id') id: string,\n @Arg('patch', type => TransportDriverPatch) patch: TransportDriverPatch,\n @Ctx() context: ResolverContext\n ): Promise<TransportDriver> {\n const { tx, domain, user } = context.state\n\n return await updateTransportDriver(id, patch, domain, user, tx)\n }\n\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteTransportDriver(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { tx } = context.state\n\n return await deleteTransportDriver(id, tx)\n }\n\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteTransportDrivers(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n return await deleteTransportDrivers(ids, context)\n }\n\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => [TransportDriver])\n async updateMultipleTransportDriver(\n @Arg('patches', type => [TransportDriverPatch]) patches: TransportDriverPatch[],\n @Ctx() context: ResolverContext\n ): Promise<TransportDriver[]> {\n const { tx, domain, user } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const patch: TransportDriverPatch = _createRecords[i]\n const result = await createTransportDriver(patch as NewTransportDriver, domain, user, tx)\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const patch: TransportDriverPatch = _updateRecords[i]\n const result = await updateTransportDriver(patch.id, patch, domain, user, tx)\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n\nexport async function createTransportDriver(\n transportDriver: NewTransportDriver,\n domain: Domain,\n user: User,\n tx?: EntityManager\n) {\n const repository: Repository<TransportDriver> = tx\n ? tx.getRepository(TransportDriver)\n : getRepository(TransportDriver)\n\n const existingUsers: string[] = (\n await tx.getRepository(TransportDriver).find({ where: { domain }, relations: ['user'] })\n ).map(driver => driver.userId)\n if (existingUsers.includes(transportDriver.userId)) throw new Error('driver user already exists')\n\n const driverUser = await tx.getRepository(User).findOne({ where: { id: transportDriver.userId } })\n\n return await repository.save({\n ...transportDriver,\n user: driverUser,\n domain,\n creator: user,\n updater: user\n })\n}\n\nexport async function updateTransportDriver(\n id: string,\n patch: TransportDriver | TransportDriverPatch,\n domain: Domain,\n user: User,\n tx?: EntityManager\n): Promise<TransportDriver> {\n const repository: Repository<TransportDriver> = tx\n ? tx.getRepository(TransportDriver)\n : getRepository(TransportDriver)\n const transportDriver = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...transportDriver,\n ...patch,\n updater: user\n })\n}\n\nexport async function deleteTransportDriver(id: string, tx?: EntityManager) {\n const repository: Repository<TransportDriver> = tx\n ? tx.getRepository(TransportDriver)\n : getRepository(TransportDriver)\n await repository.delete(id)\n return true\n}\n\nexport async function deleteTransportDrivers(ids: string[], context: ResolverContext) {\n const { tx, user } = context.state\n\n const transportDrivers = await tx.getRepository(TransportDriver).find({ where: { id: In(ids) } })\n\n let deletedTransportDrivers: TransportDriver[] = []\n deletedTransportDrivers = await Promise.all(\n transportDrivers.map((transportDriver: TransportDriver) => {\n transportDriver.deletedAt = new Date()\n transportDriver.updater = user\n\n return transportDriver\n })\n )\n await tx.getRepository(TransportDriver).save(deletedTransportDrivers)\n return true\n}\n"]}
|
|
1
|
+
{"version":3,"file":"transport-driver-mutation.js","sourceRoot":"","sources":["../../../server/service/transport-driver/transport-driver-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In, Repository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { NewTransportDriver, TransportDriverPatch } from '../'\nimport { TransportDriver } from './transport-driver'\n\nconst debug = require('debug')('things-factory:operato-wms:addTransportDriver')\n\n@Resolver(TransportDriver)\nexport class TransportDriverMutation {\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => TransportDriver)\n async createTransportDriver(\n @Arg('transportDriver', type => NewTransportDriver) transportDriver: NewTransportDriver,\n @Ctx() context: ResolverContext\n ): Promise<TransportDriver> {\n const { tx, domain, user } = context.state\n return await createTransportDriver(transportDriver, domain, user, tx)\n }\n\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => TransportDriver)\n async updateTransportDriver(\n @Arg('id') id: string,\n @Arg('patch', type => TransportDriverPatch) patch: TransportDriverPatch,\n @Ctx() context: ResolverContext\n ): Promise<TransportDriver> {\n const { tx, domain, user } = context.state\n\n return await updateTransportDriver(id, patch, domain, user, tx)\n }\n\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteTransportDriver(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { tx } = context.state\n\n return await deleteTransportDriver(id, tx)\n }\n\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteTransportDrivers(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n return await deleteTransportDrivers(ids, context)\n }\n\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Directive('@transaction')\n @Mutation(returns => [TransportDriver])\n async updateMultipleTransportDriver(\n @Arg('patches', type => [TransportDriverPatch]) patches: TransportDriverPatch[],\n @Ctx() context: ResolverContext\n ): Promise<TransportDriver[]> {\n const { tx, domain, user } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const patch: TransportDriverPatch = _createRecords[i]\n const result = await createTransportDriver(patch as NewTransportDriver, domain, user, tx)\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const patch: TransportDriverPatch = _updateRecords[i]\n const result = await updateTransportDriver(patch.id, patch, domain, user, tx)\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n}\n\nexport async function createTransportDriver(\n transportDriver: NewTransportDriver,\n domain: Domain,\n user: User,\n tx?: EntityManager\n) {\n const repository: Repository<TransportDriver> = tx\n ? tx.getRepository(TransportDriver)\n : getRepository(TransportDriver)\n\n const existingUsers: string[] = (\n await tx.getRepository(TransportDriver).find({ where: { domain: { id: domain.id } }, relations: ['user'] })\n ).map(driver => driver.userId)\n if (existingUsers.includes(transportDriver.userId)) throw new Error('driver user already exists')\n\n const driverUser = await tx.getRepository(User).findOne({ where: { id: transportDriver.userId } })\n\n return await repository.save({\n ...transportDriver,\n user: driverUser,\n domain,\n creator: user,\n updater: user\n })\n}\n\nexport async function updateTransportDriver(\n id: string,\n patch: TransportDriver | TransportDriverPatch,\n domain: Domain,\n user: User,\n tx?: EntityManager\n): Promise<TransportDriver> {\n const repository: Repository<TransportDriver> = tx\n ? tx.getRepository(TransportDriver)\n : getRepository(TransportDriver)\n const transportDriver = await repository.findOne({\n where: { domain: { id: domain.id }, id }\n })\n\n return await repository.save({\n ...transportDriver,\n ...patch,\n updater: user\n })\n}\n\nexport async function deleteTransportDriver(id: string, tx?: EntityManager) {\n const repository: Repository<TransportDriver> = tx\n ? tx.getRepository(TransportDriver)\n : getRepository(TransportDriver)\n await repository.delete(id)\n return true\n}\n\nexport async function deleteTransportDrivers(ids: string[], context: ResolverContext) {\n const { tx, user } = context.state\n\n const transportDrivers = await tx.getRepository(TransportDriver).find({ where: { id: In(ids) } })\n\n let deletedTransportDrivers: TransportDriver[] = []\n deletedTransportDrivers = await Promise.all(\n transportDrivers.map((transportDriver: TransportDriver) => {\n transportDriver.deletedAt = new Date()\n transportDriver.updater = user\n\n return transportDriver\n })\n )\n await tx.getRepository(TransportDriver).save(deletedTransportDrivers)\n return true\n}\n"]}
|
|
@@ -56,7 +56,9 @@ let TransportVehicleMutation = class TransportVehicleMutation {
|
|
|
56
56
|
if (!transportVehicle)
|
|
57
57
|
throw new Error('Failed to find vehicle');
|
|
58
58
|
transportVehicle.transportDrivers = [];
|
|
59
|
-
const newDriver = await tx
|
|
59
|
+
const newDriver = await tx
|
|
60
|
+
.getRepository(transport_driver_1.TransportDriver)
|
|
61
|
+
.findOne({ where: { id: driverId, domain: { id: domain.id } } });
|
|
60
62
|
if (!newDriver)
|
|
61
63
|
throw new Error('driver not found');
|
|
62
64
|
transportVehicle.transportDrivers.push(newDriver);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-vehicle-mutation.js","sourceRoot":"","sources":["../../../server/service/transport-vehicle/transport-vehicle-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In, Repository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { NewTransportVehicle, TransportVehiclePatch } from '../'\nimport { TransportDriver } from '../transport-driver/transport-driver'\nimport { TransportVehicle } from './transport-vehicle'\n\nconst debug = require('debug')('things-factory:operato-wms:addTransportVehicle')\n\n@Resolver(TransportVehicle)\nexport class TransportVehicleMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => TransportVehicle)\n async createTransportVehicle(\n @Arg('transportVehicle', type => NewTransportVehicle) transportVehicle: NewTransportVehicle,\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle> {\n const { tx, domain, user } = context.state\n\n return await createTransportVehicle(transportVehicle, domain, user, tx)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => [TransportVehicle])\n async updateTransportVehicle(\n @Arg('patch', type => TransportVehiclePatch) patch: TransportVehiclePatch,\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle> {\n const { tx, domain, user } = context.state\n\n return await updateTransportVehicle(patch, domain, user, tx)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => [TransportVehicle])\n async updateMultipleTransportVehicle(\n @Arg('patches', type => [TransportVehiclePatch]) patches: TransportVehiclePatch[],\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle[]> {\n const { tx, domain, user } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const patch: TransportVehiclePatch = _createRecords[i]\n const result = await createTransportVehicle(patch, domain, user, tx)\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const patch: TransportVehiclePatch = _updateRecords[i]\n const result = await updateTransportVehicle(patch, domain, user, tx)\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => Boolean)\n async deleteTransportVehicle(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { tx } = context.state\n\n return await deleteTransportVehicle(id, tx)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => Boolean)\n async deleteTransportVehicles(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n return await deleteTransportVehicles(ids, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => TransportVehicle)\n async addTransportVehicleDriver(\n @Arg('id') id: string,\n @Arg('driverId', type => String) driverId: string,\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle> {\n const { domain, user, tx } = context.state\n const transportVehicleRepo = tx.getRepository(TransportVehicle)\n const transportVehicle = await transportVehicleRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'transportDrivers']\n })\n\n if (!transportVehicle) throw new Error('Failed to find vehicle')\n\n transportVehicle.transportDrivers = []\n\n const newDriver = await tx.getRepository(TransportDriver).findOne({ where: { id: driverId, domain } })\n if (!newDriver) throw new Error('driver not found')\n\n transportVehicle.transportDrivers.push(newDriver)\n\n return await transportVehicleRepo.save({\n ...transportVehicle,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => TransportVehicle)\n async deleteTransportVehicleDrivers(\n @Arg('vehicleId') vehicleId: string,\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle> {\n const { domain, user, tx } = context.state\n const transportVehicleRepo = tx.getRepository(TransportVehicle)\n const transportVehicle = await transportVehicleRepo.findOne({\n where: { domain: { id: domain.id }, id: vehicleId },\n relations: ['domain', 'transportDrivers']\n })\n\n if (!transportVehicle) throw new Error('Failed to find vehicle')\n\n const existedDriverIds: string[] = transportVehicle.transportDrivers.map(transportDriver => transportDriver.id)\n const newDriverIds: string[] = existedDriverIds.filter(existedDriverId => !ids.includes(existedDriverId))\n\n return await transportVehicleRepo.save({\n ...transportVehicle,\n transportDrivers: await getRepository(TransportDriver).findByIds(newDriverIds),\n updater: user\n })\n }\n}\n\nexport async function createTransportVehicle(\n transportVehicle: TransportVehicle | NewTransportVehicle,\n domain: Domain,\n user: User,\n tx?: EntityManager\n) {\n const repository: Repository<TransportVehicle> = tx\n ? tx.getRepository(TransportVehicle)\n : getRepository(TransportVehicle)\n return await repository.save({\n ...transportVehicle,\n regNumber: transportVehicle.name,\n domain,\n creator: user,\n updater: user\n })\n}\n\nexport async function updateTransportVehicle(\n patch: TransportVehicle | TransportVehiclePatch,\n domain: Domain,\n user: User,\n tx?: EntityManager\n): Promise<TransportVehicle> {\n const repository: Repository<TransportVehicle> = tx\n ? tx.getRepository(TransportVehicle)\n : getRepository(TransportVehicle)\n const transportVehicle = await repository.findOne({\n where: { domain: { id: domain.id }, id: patch.id }\n })\n\n return await repository.save({\n ...transportVehicle,\n ...patch,\n regNumber: patch.name,\n updater: user\n })\n}\n\nexport async function deleteTransportVehicle(id: string, tx?: EntityManager) {\n const repository: Repository<TransportVehicle> = tx\n ? tx.getRepository(TransportVehicle)\n : getRepository(TransportVehicle)\n await repository.delete(id)\n return true\n}\n\nexport async function deleteTransportVehicles(ids: string[], context: ResolverContext) {\n const { tx, user } = context.state\n\n const transportVehicles = await tx.getRepository(TransportVehicle).find({ where: { id: In(ids) } })\n\n let deletedTransportVehicles: TransportVehicle[] = []\n deletedTransportVehicles = await Promise.all(\n transportVehicles.map((transportVehicle: TransportVehicle) => {\n transportVehicle.deletedAt = new Date()\n transportVehicle.updater = user\n\n return transportVehicle\n })\n )\n await tx.getRepository(TransportVehicle).save(deletedTransportVehicles)\n return true\n}\n"]}
|
|
1
|
+
{"version":3,"file":"transport-vehicle-mutation.js","sourceRoot":"","sources":["../../../server/service/transport-vehicle/transport-vehicle-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, In, Repository } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Domain, getRepository } from '@things-factory/shell'\n\nimport { NewTransportVehicle, TransportVehiclePatch } from '../'\nimport { TransportDriver } from '../transport-driver/transport-driver'\nimport { TransportVehicle } from './transport-vehicle'\n\nconst debug = require('debug')('things-factory:operato-wms:addTransportVehicle')\n\n@Resolver(TransportVehicle)\nexport class TransportVehicleMutation {\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => TransportVehicle)\n async createTransportVehicle(\n @Arg('transportVehicle', type => NewTransportVehicle) transportVehicle: NewTransportVehicle,\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle> {\n const { tx, domain, user } = context.state\n\n return await createTransportVehicle(transportVehicle, domain, user, tx)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => [TransportVehicle])\n async updateTransportVehicle(\n @Arg('patch', type => TransportVehiclePatch) patch: TransportVehiclePatch,\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle> {\n const { tx, domain, user } = context.state\n\n return await updateTransportVehicle(patch, domain, user, tx)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => [TransportVehicle])\n async updateMultipleTransportVehicle(\n @Arg('patches', type => [TransportVehiclePatch]) patches: TransportVehiclePatch[],\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle[]> {\n const { tx, domain, user } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const patch: TransportVehiclePatch = _createRecords[i]\n const result = await createTransportVehicle(patch, domain, user, tx)\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const patch: TransportVehiclePatch = _updateRecords[i]\n const result = await updateTransportVehicle(patch, domain, user, tx)\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => Boolean)\n async deleteTransportVehicle(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { tx } = context.state\n\n return await deleteTransportVehicle(id, tx)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => Boolean)\n async deleteTransportVehicles(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n return await deleteTransportVehicles(ids, context)\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => TransportVehicle)\n async addTransportVehicleDriver(\n @Arg('id') id: string,\n @Arg('driverId', type => String) driverId: string,\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle> {\n const { domain, user, tx } = context.state\n const transportVehicleRepo = tx.getRepository(TransportVehicle)\n const transportVehicle = await transportVehicleRepo.findOne({\n where: { domain: { id: domain.id }, id },\n relations: ['domain', 'transportDrivers']\n })\n\n if (!transportVehicle) throw new Error('Failed to find vehicle')\n\n transportVehicle.transportDrivers = []\n\n const newDriver = await tx\n .getRepository(TransportDriver)\n .findOne({ where: { id: driverId, domain: { id: domain.id } } })\n if (!newDriver) throw new Error('driver not found')\n\n transportVehicle.transportDrivers.push(newDriver)\n\n return await transportVehicleRepo.save({\n ...transportVehicle,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"mutation\")')\n @Mutation(returns => TransportVehicle)\n async deleteTransportVehicleDrivers(\n @Arg('vehicleId') vehicleId: string,\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<TransportVehicle> {\n const { domain, user, tx } = context.state\n const transportVehicleRepo = tx.getRepository(TransportVehicle)\n const transportVehicle = await transportVehicleRepo.findOne({\n where: { domain: { id: domain.id }, id: vehicleId },\n relations: ['domain', 'transportDrivers']\n })\n\n if (!transportVehicle) throw new Error('Failed to find vehicle')\n\n const existedDriverIds: string[] = transportVehicle.transportDrivers.map(transportDriver => transportDriver.id)\n const newDriverIds: string[] = existedDriverIds.filter(existedDriverId => !ids.includes(existedDriverId))\n\n return await transportVehicleRepo.save({\n ...transportVehicle,\n transportDrivers: await getRepository(TransportDriver).findByIds(newDriverIds),\n updater: user\n })\n }\n}\n\nexport async function createTransportVehicle(\n transportVehicle: TransportVehicle | NewTransportVehicle,\n domain: Domain,\n user: User,\n tx?: EntityManager\n) {\n const repository: Repository<TransportVehicle> = tx\n ? tx.getRepository(TransportVehicle)\n : getRepository(TransportVehicle)\n return await repository.save({\n ...transportVehicle,\n regNumber: transportVehicle.name,\n domain,\n creator: user,\n updater: user\n })\n}\n\nexport async function updateTransportVehicle(\n patch: TransportVehicle | TransportVehiclePatch,\n domain: Domain,\n user: User,\n tx?: EntityManager\n): Promise<TransportVehicle> {\n const repository: Repository<TransportVehicle> = tx\n ? tx.getRepository(TransportVehicle)\n : getRepository(TransportVehicle)\n const transportVehicle = await repository.findOne({\n where: { domain: { id: domain.id }, id: patch.id }\n })\n\n return await repository.save({\n ...transportVehicle,\n ...patch,\n regNumber: patch.name,\n updater: user\n })\n}\n\nexport async function deleteTransportVehicle(id: string, tx?: EntityManager) {\n const repository: Repository<TransportVehicle> = tx\n ? tx.getRepository(TransportVehicle)\n : getRepository(TransportVehicle)\n await repository.delete(id)\n return true\n}\n\nexport async function deleteTransportVehicles(ids: string[], context: ResolverContext) {\n const { tx, user } = context.state\n\n const transportVehicles = await tx.getRepository(TransportVehicle).find({ where: { id: In(ids) } })\n\n let deletedTransportVehicles: TransportVehicle[] = []\n deletedTransportVehicles = await Promise.all(\n transportVehicles.map((transportVehicle: TransportVehicle) => {\n transportVehicle.deletedAt = new Date()\n transportVehicle.updater = user\n\n return transportVehicle\n })\n )\n await tx.getRepository(TransportVehicle).save(deletedTransportVehicles)\n return true\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-vehicle-query.js","sourceRoot":"","sources":["../../../server/service/transport-vehicle/transport-vehicle-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAwF;AACxF,qCAAgC;AAEhC,yDAAgD;AAChD,uDAAmD;AACnD,iDAAsG;AAEtG,2BAA0C;AAC1C,2EAAsE;AACtE,2DAAsD;AAGtD,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAIhC,KAAK,CAAC,iBAAiB,CACd,OAAwB,EACuB,OAAkB,EACb,UAAuB,EAC1B,QAAoB;QAE5E,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,kBAAkB,EAAE,CAAA;QAC5E,IAAA,kBAAU,EAAC,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE;YACnE,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;SAC7C,CAAC,CAAA;QAEF,YAAY;aACT,iBAAiB,CAAC,yBAAyB,EAAE,QAAQ,CAAC;aACtD,iBAAiB,CAAC,0BAA0B,EAAE,SAAS,CAAC;aACxD,iBAAiB,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;QAE3D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,IAAG,CAAC,EAAE;YACvB,YAAY;iBACT,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBAC1D,QAAQ,CAAC,oCAAoC,CAAC,CAAA;SAClD;aAAM;YACL,YAAY;iBACT,KAAK,CAAC,oCAAoC,CAAC;iBAC3C,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;SAC9D;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAKD,KAAK,CAAC,oBAAoB,CAAY,EAAU,EAAS,OAAwB;QAC/E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE;gBACL,EAAE;gBACF,MAAM;
|
|
1
|
+
{"version":3,"file":"transport-vehicle-query.js","sourceRoot":"","sources":["../../../server/service/transport-vehicle/transport-vehicle-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAwF;AACxF,qCAAgC;AAEhC,yDAAgD;AAChD,uDAAmD;AACnD,iDAAsG;AAEtG,2BAA0C;AAC1C,2EAAsE;AACtE,2DAAsD;AAGtD,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAIhC,KAAK,CAAC,iBAAiB,CACd,OAAwB,EACuB,OAAkB,EACb,UAAuB,EAC1B,QAAoB;QAE5E,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEpC,MAAM,YAAY,GAAG,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,kBAAkB,EAAE,CAAA;QAC5E,IAAA,kBAAU,EAAC,YAAY,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE;YACnE,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;SAC7C,CAAC,CAAA;QAEF,YAAY;aACT,iBAAiB,CAAC,yBAAyB,EAAE,QAAQ,CAAC;aACtD,iBAAiB,CAAC,0BAA0B,EAAE,SAAS,CAAC;aACxD,iBAAiB,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAA;QAE3D,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,IAAG,CAAC,EAAE;YACvB,YAAY;iBACT,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBAC1D,QAAQ,CAAC,oCAAoC,CAAC,CAAA;SAClD;aAAM;YACL,YAAY;iBACT,KAAK,CAAC,oCAAoC,CAAC;iBAC3C,QAAQ,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAA;SAC9D;QAED,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QAE3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IACzB,CAAC;IAKD,KAAK,CAAC,oBAAoB,CAAY,EAAU,EAAS,OAAwB;QAC/E,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAE1C,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE;gBACL,EAAE;gBACF,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE;gBACzB,SAAS,EAAE,IAAA,gBAAM,GAAE;aACpB;SACF,CAAC,CAAA;IACJ,CAAC;IAGD,KAAK,CAAC,MAAM,CAAS,gBAAkC;QACrD,OAAO,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAA;IACjF,CAAC;IAGD,KAAK,CAAC,QAAQ,CAAS,gBAAkC;QACvD,OAAO,MAAM,IAAA,qBAAa,EAAC,mBAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAA;IACrF,CAAC;IAGD,KAAK,CAAC,OAAO,CAAS,gBAAkC;QACtD,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;IAChF,CAAC;IAGD,KAAK,CAAC,OAAO,CAAS,gBAAkC;QACtD,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;IAChF,CAAC;IAGD,KAAK,CAAC,gBAAgB,CAAS,gBAAkC;QAC/D,OAAO,MAAM,CACX,MAAM,IAAA,qBAAa,EAAC,oCAAgB,CAAC,CAAC,OAAO,CAAC;YAC5C,KAAK,EAAE;gBACL,EAAE,EAAE,gBAAgB,CAAC,EAAE;aACxB;YACD,SAAS,EAAE,CAAC,kBAAkB,CAAC;SAChC,CAAC,CACH,CAAC,gBAAgB,CAAA;IACpB,CAAC;CACF,CAAA;AA/EC;IAHC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,uDAAuD,CAAC;IAClE,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,wBAAoB,CAAC;IAEpC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,cAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACpD,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,kBAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,mBAAA,IAAA,kBAAG,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,eAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;4DADiB,kBAAU;;8DA4BnF;AAKD;IAHC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,wBAAS,EAAC,uDAAuD,CAAC;IAClE,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,oCAAgB,CAAC;IACP,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEAUvD;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,cAAM,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAmB,oCAAgB;;mDAEtD;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,mBAAQ,CAAC;IAChB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAmB,oCAAgB;;qDAExD;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAmB,oCAAgB;;oDAEvD;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACb,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAmB,oCAAgB;;oDAEvD;AAGD;IADC,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kCAAe,CAAC,CAAC;IACjB,mBAAA,IAAA,mBAAI,GAAE,CAAA;;6CAAmB,oCAAgB;;6DAShE;AAlFU,qBAAqB;IADjC,IAAA,uBAAQ,EAAC,oCAAgB,CAAC;GACd,qBAAqB,CAmFjC;AAnFY,sDAAqB","sourcesContent":["import { Arg, Ctx, Directive, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { IsNull } from 'typeorm'\n\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { buildQuery, Domain, Filter, getRepository, Pagination, Sorting } from '@things-factory/shell'\n\nimport { TransportVehicleList } from '../'\nimport { TransportDriver } from '../transport-driver/transport-driver'\nimport { TransportVehicle } from './transport-vehicle'\n\n@Resolver(TransportVehicle)\nexport class TransportVehicleQuery {\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"query\")')\n @Query(returns => TransportVehicleList)\n async transportVehicles(\n @Ctx() context: ResolverContext,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: [Filter],\n @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: [Sorting]\n ): Promise<TransportVehicleList> {\n const { domain, tx } = context.state\n\n const queryBuilder = tx.getRepository(TransportVehicle).createQueryBuilder()\n buildQuery(queryBuilder, { filters, pagination, sortings }, context, {\n searchables: ['name', 'description', 'size']\n })\n\n queryBuilder\n .leftJoinAndSelect('TransportVehicle.domain', 'Domain')\n .leftJoinAndSelect('TransportVehicle.creator', 'Creator')\n .leftJoinAndSelect('TransportVehicle.updater', 'Updater')\n\n if (filters?.length > 0) {\n queryBuilder\n .andWhere('Domain.id = :domainId', { domainId: domain.id })\n .andWhere('TransportVehicle.deletedAt IS NULL')\n } else {\n queryBuilder\n .where('TransportVehicle.deletedAt IS NULL')\n .andWhere('Domain.id = :domainId', { domainId: domain.id })\n }\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Directive('@transaction')\n @Directive('@privilege(category: \"transport\", privilege: \"query\")')\n @Query(returns => TransportVehicle)\n async transportVehicleById(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<TransportVehicle> {\n const { domain, user, tx } = context.state\n\n return await tx.getRepository(TransportVehicle).findOne({\n where: {\n id,\n domain: { id: domain.id },\n deletedAt: IsNull()\n }\n })\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() transportVehicle: TransportVehicle): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: transportVehicle.domainId })\n }\n\n @FieldResolver(type => Bizplace)\n async bizplace(@Root() transportVehicle: TransportVehicle): Promise<Bizplace> {\n return await getRepository(Bizplace).findOneBy({ id: transportVehicle.bizplaceId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() transportVehicle: TransportVehicle): Promise<User> {\n return await getRepository(User).findOneBy({ id: transportVehicle.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() transportVehicle: TransportVehicle): Promise<User> {\n return await getRepository(User).findOneBy({ id: transportVehicle.creatorId })\n }\n\n @FieldResolver(type => [TransportDriver])\n async transportDrivers(@Root() transportVehicle: TransportVehicle): Promise<TransportDriver[]> {\n return await (\n await getRepository(TransportVehicle).findOne({\n where: {\n id: transportVehicle.id\n },\n relations: ['transportDrivers']\n })\n ).transportDrivers\n }\n}\n"]}
|