(query: Knex.QueryBuilder, fields: string[])
| 47 | } |
| 48 | |
| 49 | applyFields(query: Knex.QueryBuilder, fields: string[]) { |
| 50 | // Users should be able to select some fields to show. |
| 51 | if (fields.length === 0 || (fields.length === 1 && fields[0] === "*")) { |
| 52 | valideteQueryFeature(this.model, QueryFeature.FieldsAll); |
| 53 | query.select(`${this.model.instance.table}.*`); |
| 54 | } else { |
| 55 | const fullPathFields = fields.map((field) => { |
| 56 | if (field.includes(".") === false) { |
| 57 | return `${this.model.instance.table}.${field}`; |
| 58 | } |
| 59 | return field; |
| 60 | }); |
| 61 | query.select([...fullPathFields, ...this.relationColumns]); |
| 62 | } |
| 63 | } |
| 64 | |
| 65 | applySorting(query: Knex.QueryBuilder, sort: ISortField[]) { |
| 66 | if (sort.length === 0) { |
no test coverage detected