Skip to content
This repository was archived by the owner on Mar 15, 2024. It is now read-only.

Commit a19455a

Browse files
committed
use ideal-postcodes instead of ordnance survey
1 parent 2b54715 commit a19455a

File tree

1 file changed

+15
-22
lines changed

1 file changed

+15
-22
lines changed

src/rest-api/controllers/postcodes.ts

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,39 +2,32 @@ import axios from 'axios'
22
import { NextFunction, Request, Response } from 'express'
33
import * as get from 'lodash/get'
44

5-
const { OS_API_KEY } = process.env
6-
75
export async function search(
86
request: Request,
97
response: Response,
108
next: NextFunction
119
) {
12-
const { postcode, srs = 'WGS84' } = request.params
13-
14-
const url = `https://api.ordnancesurvey.co.uk/places/v1/addresses/postcode?postcode=${postcode}&key=${OS_API_KEY}&output_srs=${srs}`
10+
const url = `https://api.ideal-postcodes.co.uk/v1/postcodes/${
11+
request.params.postcode
12+
}?api_key=${process.env.IDEAL_POSTCODES_KEY}`
1513

1614
try {
1715
const { data } = await axios.get(url)
1816

1917
response.json({
20-
localAuthority: get(
21-
data,
22-
'results[0].DPA.LOCAL_CUSTODIAN_CODE_DESCRIPTION',
23-
'unknown'
24-
).toLowerCase(),
25-
results: data.results.map(({ DPA: result }) => {
26-
// console.log(result)
18+
localAuthority: get(data, 'result[0].district', 'unknown')
19+
.toLowerCase()
20+
.replace(' ', ''),
21+
results: data.result.map(result => {
2722
return {
28-
id: result.UPDRN || result.UPRN,
29-
name: result.ADDRESS.split(',')
30-
.slice(0, -1)
31-
.join(','),
32-
uprn: result.UPRN,
33-
updrn: result.UPDRN,
34-
x: result.X_COORDINATE,
35-
y: result.Y_COORDINATE,
36-
lat: result.LAT,
37-
lng: result.LNG,
23+
id: result.udprn.toString(),
24+
name: [result.line_1, result.line_2].filter(Boolean).join(', '),
25+
uprn: result.udprn.toString(),
26+
updrn: result.udprn.toString(),
27+
x: result.eastings,
28+
y: result.northings,
29+
lat: result.latitude,
30+
lng: result.longitude,
3831
rawData: result,
3932
}
4033
}),

0 commit comments

Comments
 (0)