Skip to content

Commit 0f118d0

Browse files
feat: make new api route for planter to get selfies from tree (#558)
1 parent 0c50c5f commit 0f118d0

2 files changed

Lines changed: 26 additions & 3 deletions

File tree

src/controllers/planter.controller.ts

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,16 @@ import {
1616
// del,
1717
requestBody,
1818
} from '@loopback/rest';
19-
import { Planter } from '../models';
20-
import { PlanterRepository } from '../repositories';
19+
import { Planter, Trees } from '../models';
20+
import { TreesFilter } from './trees.controller';
21+
import { PlanterRepository, TreesRepository } from '../repositories';
2122

2223
export class PlanterController {
2324
constructor(
2425
@repository(PlanterRepository)
2526
public planterRepository: PlanterRepository,
27+
@repository(TreesRepository)
28+
public treesRepository: TreesRepository,
2629
) {}
2730

2831
@get('/planter/count', {
@@ -71,6 +74,26 @@ export class PlanterController {
7174
return await this.planterRepository.findById(id);
7275
}
7376

77+
@get('/planter/{id}/selfies', {
78+
responses: {
79+
'200': {
80+
description: 'Array of Trees model instances',
81+
content: { 'application/json': { schema: { 'x-ts-type': Trees } } },
82+
},
83+
},
84+
})
85+
async findSelfiesById(
86+
@param.path.number('id') id: number,
87+
@param.query.object('filter', getFilterSchemaFor(Trees))
88+
filter?: TreesFilter,
89+
): Promise<Trees[]> {
90+
filter = {
91+
where: { planterId: id, planterPhotoUrl: { neq: null } },
92+
...filter,
93+
};
94+
return await this.treesRepository.find(filter);
95+
}
96+
7497
@patch('/planter/{id}', {
7598
responses: {
7699
'204': {

src/controllers/trees.controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import { Transaction } from 'loopback-connector';
2828
type TreesWhere =
2929
| (Where<Trees> & { tagId?: string; organizationId?: number })
3030
| undefined;
31-
type TreesFilter = Filter<Trees> & { where: TreesWhere };
31+
export type TreesFilter = Filter<Trees> & { where: TreesWhere };
3232

3333
export class TreesController {
3434
constructor(

0 commit comments

Comments
 (0)