123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- const API = require("../../lib/API");
- const { BaseStdResponse } = require("../../BaseStdResponse");
- const db = require("../../plugin/DataBase/db");
- const AccessControl = require("../../lib/AccessControl");
- class GetMyAttendanceItems extends API {
- constructor() {
- super();
- this.setPath('/GetMyAttendanceItems');
- this.setMethod('GET');
- }
- async onRequest(req, res) {
- const { uuid, session } = req.query;
- // 检查必需的参数是否缺失
- if (!uuid || !session) {
- return res.json({
- ...BaseStdResponse.MISSING_PARAMETER,
- endpoint: 1513123
- });
- }
- // 检查 session 是否有效
- if (!await AccessControl.checkSession(uuid, session)) {
- return res.json({
- ...BaseStdResponse.ACCESS_DENIED,
- endpoint: 48153145
- });
- }
- try {
- // 查询用户考勤项目
- const sqlGetItems = `
- SELECT id, name, user, day_of_week, loopy, begintime, endtime, address
- FROM kq_items
- WHERE JSON_CONTAINS(user, JSON_QUOTE(?), '$') ORDER BY id DESC
- `;
- const items = await db.query(sqlGetItems, [uuid]);
- if (!items) {
- return res.json({
- ...BaseStdResponse.DATABASE_ERR,
- endpoint: 154766
- });
- }
- // 查询用户考勤记录
- const sqlGetRecords = `
- SELECT id, uuid, project_id, time, commit
- FROM kq_records
- WHERE uuid = ?
- `;
- const records = await db.query(sqlGetRecords, [uuid]);
- if (records === undefined) {
- return res.json({
- ...BaseStdResponse.DATABASE_ERR,
- endpoint: 154756
- });
- }
- res.json({
- ...BaseStdResponse.OK,
- list: items,
- records: records
- });
- } catch (error) {
- res.json({
- ...BaseStdResponse.DATABASE_ERR,
- endpoint: 154754
- });
- }
- }
- }
- module.exports.GetMyAttendanceItems = GetMyAttendanceItems;
|