@@ -3,14 +3,10 @@ const db = require('../../src/lib/db')
3
3
const yup = require ( 'yup' )
4
4
const crypto = require ( 'crypto' )
5
5
const { routeWrapper } = require ( './utils' )
6
- const { prop, map, dissoc } = require ( 'ramda' )
7
6
const urlRegex = require ( 'url-regex' )
8
- const profile = require ( '../../src/models/profile' )
9
7
const Boom = require ( '@hapi/boom' )
10
8
const logger = require ( '../../src/lib/logger' )
11
-
12
9
const isUrl = urlRegex ( { exact : true } )
13
- const getOsmId = prop ( 'osm_id' )
14
10
15
11
async function listTeams ( req , res ) {
16
12
const { osmId, bbox } = req . query
@@ -29,58 +25,6 @@ async function listTeams(req, res) {
29
25
return res . send ( data )
30
26
}
31
27
32
- async function getTeam ( req , reply ) {
33
- const { id } = req . params
34
-
35
- if ( ! id ) {
36
- throw Boom . badRequest ( 'Team id is required' )
37
- }
38
-
39
- try {
40
- const teamData = await team . get ( id )
41
- const associatedOrg = await team . associatedOrg ( id )
42
-
43
- if ( ! teamData ) {
44
- throw Boom . notFound ( )
45
- }
46
-
47
- return reply . send ( Object . assign ( { } , teamData , { org : associatedOrg } ) )
48
- } catch ( err ) {
49
- logger . error ( err )
50
- throw Boom . badRequest ( err . message )
51
- }
52
- }
53
-
54
- const getTeamMembers = routeWrapper ( {
55
- validate : {
56
- params : yup
57
- . object ( {
58
- id : yup . number ( ) . required ( ) . positive ( ) . integer ( ) ,
59
- } )
60
- . required ( ) ,
61
- } ,
62
- handler : async ( req , reply ) => {
63
- const { id } = req . params
64
-
65
- if ( ! id ) {
66
- throw Boom . badRequest ( 'team id is required' )
67
- }
68
-
69
- try {
70
- const memberIds = map ( getOsmId , await team . getMembers ( id ) )
71
- const members = await team . resolveMemberNames ( memberIds )
72
- const moderators = await team . getModerators ( id )
73
-
74
- return reply . send (
75
- Object . assign ( { } , { teamId : id } , { members, moderators } )
76
- )
77
- } catch ( err ) {
78
- logger . error ( err )
79
- throw Boom . badRequest ( err . message )
80
- }
81
- } ,
82
- } )
83
-
84
28
async function createTeam ( req , reply ) {
85
29
const { body } = req
86
30
const { user_id } = req . session
@@ -97,35 +41,6 @@ async function createTeam(req, reply) {
97
41
}
98
42
}
99
43
100
- async function updateTeam ( req , reply ) {
101
- const { id } = req . params
102
- const { body } = req
103
-
104
- if ( ! id ) {
105
- throw Boom . badRequest ( 'team id is required' )
106
- }
107
-
108
- if ( body . editing_policy && ! isUrl . test ( body . editing_policy ) ) {
109
- throw Boom . badRequest ( 'editing_policy must be a valid url' )
110
- }
111
-
112
- try {
113
- const tags = prop ( 'tags' , body )
114
- if ( tags ) {
115
- await profile . setProfile ( tags , 'team' , id )
116
- }
117
- const teamData = dissoc ( 'tags' , body )
118
- let updatedTeam = { }
119
- if ( teamData ) {
120
- updatedTeam = await team . update ( id , teamData )
121
- }
122
- reply . send ( updatedTeam )
123
- } catch ( err ) {
124
- logger . error ( err )
125
- throw Boom . badRequest ( err . message )
126
- }
127
- }
128
-
129
44
async function assignModerator ( req , reply ) {
130
45
const { id : teamId , osmId } = req . params
131
46
@@ -170,22 +85,6 @@ async function removeModerator(req, reply) {
170
85
}
171
86
}
172
87
173
- async function destroyTeam ( req , reply ) {
174
- const { id } = req . params
175
-
176
- if ( ! id ) {
177
- throw Boom . badRequest ( 'team id is required' )
178
- }
179
-
180
- try {
181
- await team . destroy ( id )
182
- return reply . status ( 200 ) . send ( )
183
- } catch ( err ) {
184
- logger . error ( err )
185
- throw Boom . badRequest ( err . message )
186
- }
187
- }
188
-
189
88
async function addMember ( req , reply ) {
190
89
const { id, osmId } = req . params
191
90
@@ -206,37 +105,6 @@ async function addMember(req, reply) {
206
105
}
207
106
}
208
107
209
- async function updateMembers ( req , reply ) {
210
- const { id } = req . params
211
- const { add, remove } = req . body
212
-
213
- if ( ! id ) {
214
- throw Boom . badRequest ( 'team id is required' )
215
- }
216
-
217
- if ( ! add && ! remove ) {
218
- throw Boom . badRequest ( 'osm ids are required' )
219
- }
220
-
221
- try {
222
- let members = [ ]
223
- if ( add ) {
224
- members = members . concat ( add )
225
- }
226
- if ( remove ) {
227
- members = members . concat ( remove )
228
- }
229
- // Check if these are OSM users
230
- await team . resolveMemberNames ( members )
231
-
232
- await team . updateMembers ( id , add , remove )
233
- return reply . status ( 200 ) . send ( )
234
- } catch ( err ) {
235
- logger . error ( err )
236
- throw Boom . badRequest ( err . message )
237
- }
238
- }
239
-
240
108
async function removeMember ( req , reply ) {
241
109
const { id, osmId } = req . params
242
110
@@ -386,15 +254,10 @@ module.exports = {
386
254
addMember,
387
255
assignModerator,
388
256
createTeam,
389
- destroyTeam,
390
- getTeam,
391
- getTeamMembers,
392
257
joinTeam,
393
258
listTeams,
394
259
removeMember,
395
260
removeModerator,
396
- updateMembers,
397
- updateTeam,
398
261
getJoinInvitations,
399
262
createJoinInvitation,
400
263
deleteJoinInvitation,
0 commit comments