all repos — caroster @ 60d64767353163a8100c5d56dccf7eb484b5b10d

[Octree] Group carpool to your event https://caroster.io

extensions/users-permissions/controllers/User.js (view raw)

 1const {removeUndefined, sanitizeEntity} = require('strapi-utils');
 2
 3module.exports = {
 4  /**
 5   * Update authenticated user.
 6   *
 7   * @return {Object}
 8   */
 9  updateMe: async ctx => {
10    const user = ctx.state.user;
11
12    if (!user) {
13      return ctx.badRequest(null, [
14        {messages: [{id: 'No authorization header was found'}]},
15      ]);
16    }
17
18    const {
19      username,
20      email,
21      password,
22      firstname,
23      lastname,
24      events,
25    } = ctx.request.body;
26
27    const data = await strapi.plugins['users-permissions'].services.user.edit(
28      {id: user.id},
29      removeUndefined({
30        username,
31        email,
32        password,
33        firstname,
34        lastname,
35        events,
36      })
37    );
38
39    ctx.send(data);
40  },
41
42  /**
43   * Retrieve authenticated user.
44   * @return {Object}
45   */
46  async me(ctx) {
47    const {id} = ctx.state.user;
48
49    const user = await strapi.plugins['users-permissions'].services.user.fetch({
50      id,
51    });
52
53    if (!user) {
54      return ctx.badRequest(null, [
55        {messages: [{id: 'No authorization header was found'}]},
56      ]);
57    }
58    const data = sanitizeEntity(user, {
59      model: strapi.query('user', 'users-permissions').model,
60    });
61    ctx.send(data);
62  },
63};