adding logbook entry edit (#29)
This commit was merged in pull request #29.
This commit is contained in:
@@ -4,7 +4,8 @@ import {
|
||||
Get,
|
||||
HttpException,
|
||||
Param,
|
||||
Post
|
||||
Post,
|
||||
Put
|
||||
} from '@nestjs/common';
|
||||
import { LogbookService } from './logbook.service';
|
||||
import { LogbookDto } from './logbook.dto';
|
||||
@@ -18,7 +19,6 @@ export class LogbookController {
|
||||
|
||||
@Get(':entryId')
|
||||
async find(@Param() params: any): Promise<LogbookEntity> {
|
||||
console.log(params);
|
||||
try {
|
||||
const entry: LogbookEntity = await this.logbookService.find(
|
||||
params.entryId
|
||||
@@ -43,7 +43,7 @@ export class LogbookController {
|
||||
return logbookEntries;
|
||||
} catch (error) {
|
||||
const customError = error as CustomError;
|
||||
console.log(error);
|
||||
|
||||
throw new HttpException(customError.message, customError.statusCode, {
|
||||
cause: customError.name
|
||||
});
|
||||
@@ -63,4 +63,20 @@ export class LogbookController {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Put(':entryId')
|
||||
async update(
|
||||
@Param() params: any,
|
||||
@Body() logbookData: LogbookDto
|
||||
): Promise<void> {
|
||||
try {
|
||||
return await this.logbookService.update(logbookData);
|
||||
} catch (error) {
|
||||
const customError = error as CustomError;
|
||||
|
||||
throw new HttpException(customError.message, customError.statusCode, {
|
||||
cause: customError.name
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,16 +8,18 @@ import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
@Injectable()
|
||||
export class LogbookService {
|
||||
private readonly tableName = 'Logbook';
|
||||
|
||||
constructor(private readonly tableService: TableService) {}
|
||||
|
||||
async getLogbookEntries(filter: string): Promise<LogbookEntity[]> {
|
||||
try {
|
||||
const client: TableClient =
|
||||
await this.tableService.getTableClient('Logbook');
|
||||
const client: TableClient = await this.tableService.getTableClient(
|
||||
this.tableName
|
||||
);
|
||||
const entities = await client.listEntities({
|
||||
queryOptions: { filter: filter }
|
||||
});
|
||||
console.log(entities);
|
||||
const logbookEntries: LogbookEntity[] = [];
|
||||
|
||||
for await (const entity of entities) {
|
||||
@@ -73,7 +75,7 @@ export class LogbookService {
|
||||
: null,
|
||||
notes: entity.notes.toString()
|
||||
};
|
||||
console.log(logbookEntry);
|
||||
|
||||
logbookEntries.push(logbookEntry);
|
||||
}
|
||||
|
||||
@@ -118,8 +120,9 @@ export class LogbookService {
|
||||
}
|
||||
|
||||
async create(logbookData: LogbookDto): Promise<TableInsertEntityHeaders> {
|
||||
const client: TableClient =
|
||||
await this.tableService.getTableClient('Logbook');
|
||||
const client: TableClient = await this.tableService.getTableClient(
|
||||
this.tableName
|
||||
);
|
||||
const logbook: LogbookEntity = new LogbookEntity();
|
||||
|
||||
Object.assign(logbook, logbookData);
|
||||
@@ -138,4 +141,25 @@ export class LogbookService {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
async update(logbookData: LogbookDto): Promise<void> {
|
||||
const client: TableClient = await this.tableService.getTableClient(
|
||||
this.tableName
|
||||
);
|
||||
const logbook: LogbookEntity = new LogbookEntity();
|
||||
|
||||
Object.assign(logbook, logbookData);
|
||||
|
||||
try {
|
||||
await client.upsertEntity(logbook, 'Replace');
|
||||
} catch (error) {
|
||||
const restError: RestError = error as RestError;
|
||||
|
||||
throw new CustomError(
|
||||
restError.details['odataError']['message']['value'],
|
||||
restError.details['odataError']['code'],
|
||||
restError.statusCode
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user