( authType: AuthTypeValue | undefined, schema: TableSchema )
| 28 | * name↔id at this boundary, mirroring the public v1 routes. |
| 29 | */ |
| 30 | export function rowWireTranslators( |
| 31 | authType: AuthTypeValue | undefined, |
| 32 | schema: TableSchema |
| 33 | ): RowWireTranslators { |
| 34 | if (authType !== AuthType.INTERNAL_JWT) { |
| 35 | const identity = <T>(value: T): T => value |
| 36 | return { dataIn: identity, dataOut: identity, filterIn: identity, sortIn: identity } |
| 37 | } |
| 38 | const idByName = buildIdByName(schema) |
| 39 | const nameById = buildNameById(schema) |
| 40 | return { |
| 41 | dataIn: (data) => rowDataNameToId(data, idByName), |
| 42 | dataOut: (data) => rowDataIdToName(data, nameById), |
| 43 | filterIn: (filter) => filterNamesToIds(filter, idByName), |
| 44 | sortIn: (sort) => sortNamesToIds(sort, idByName), |
| 45 | } |
| 46 | } |
no test coverage detected