-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
92 lines (69 loc) · 2.38 KB
/
index.js
File metadata and controls
92 lines (69 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
const zlib = require('zlib');
const fs = require('fs');
const divisionsBuffer = zlib.gunzipSync(fs.readFileSync('./assets/divisions.json.gz'))
const divisions = JSON.parse(divisionsBuffer.toString())
const districtsBuffer = zlib.gunzipSync(fs.readFileSync('./assets/districts.json.gz'))
const districts = JSON.parse(districtsBuffer.toString())
const upazillasBuffer = zlib.gunzipSync(fs.readFileSync('./assets/upazillas.json.gz'))
const upazillas = JSON.parse(upazillasBuffer.toString())
const postOfficesBuffer = zlib.gunzipSync(fs.readFileSync('./assets/postoffices.json.gz'))
const postOffices = JSON.parse(postOfficesBuffer.toString())
const unionsBuffer = zlib.gunzipSync(fs.readFileSync('./assets/unions.json.gz'))
const unions = JSON.parse(unionsBuffer.toString())
class BD {
static divisions(){
return divisions.divisions
}
static districts(){
return districts.districts
}
static district(id){
if(!id){
return {message : 'Plese insert a division id as params.'}
}
return this.districts()
.filter(district=> district.division_id === id.toString())
}
static upazillas(){
return upazillas.upazillas
}
static upazilla(id){
if(!id){
return {message : 'Plese insert a district id as params.'}
}
return this.upazillas()
.filter(upazilla=> upazilla.district_id === id.toString())
}
static unions(){
return unions.unions
}
static union(id){
if(!id){
return {message : 'Plese insert a upazilla id as params.'}
}
return this.unions()
.filter(union=> union.upazilla_id === id.toString())
}
static postOffices(){
return postOffices
}
static postOffice(id){
if(!id){
return {message : 'Plese insert a district id as params.'}
}
const district = this.districts().find(district=> district.id === id.toString())
if(!district){
return {message : 'Plese insert a district id as params.'}
}
const find = []
const data = this.postOffices()
for (const key in data){
const entry = data[key]
if(entry.bn && entry.bn.district.trim() === district.bn_name.trim()){
find.push(entry.bn)
}
}
return find
}
}
module.exports = BD