/* Author : Enrique Blasco BLanquer Date: 27 de mayo de 2019 */ module.exports = Self => { Self.remoteMethodCtx('addAutoTime', { description: 'Adds a new hour registry by app in manual 0', accessType: 'WRITE', accepts: [{ arg: 'data', type: 'object', required: true, description: 'timed', http: {source: 'body'} }], returns: [{ type: 'Object', root: true }], http: { path: `/addAutoTime`, verb: 'POST' } }); Self.addAutoTime = async(ctx, data) => { const myUserId = ctx.req.accessToken.userId; // get all worked time control, needed to calculate order let hours = await Self.rawSql(`SELECT * FROM vn.workerTimeControl WHERE userFk = ? AND DATE(timed) = CURDATE() ORDER BY timed DESC LIMIT 1`, [myUserId]); // 1 get next order let order = 0; if (hours.length > 0) order = hours[hours.length - 1].order; // 2 create element in db return Self.create({ userFk: myUserId, timed: data.timed, order: order + 1, manual: 0 }); }; };