49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
|
/*
|
||
|
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
|
||
|
});
|
||
|
};
|
||
|
};
|