@@ -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
2223export 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' : {
0 commit comments