started backend conversion to typescript

This commit is contained in:
2025-10-17 12:01:38 -04:00
parent f7a0884fb3
commit cbe2cef565
20 changed files with 221 additions and 33 deletions

6
api/src/services/calendarService.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
export declare function createEvent(eventObject: any): Promise<void>;
export declare function updateEvent(eventObject: any): Promise<void>;
export declare function cancelEvent(eventID: any): Promise<void>;
export declare function getShortEventsInRange(startDate: any, endDate: any): Promise<void>;
export declare function getEventDetailed(eventID: any): Promise<void>;
//# sourceMappingURL=calendarService.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"calendarService.d.ts","sourceRoot":"","sources":["calendarService.ts"],"names":[],"mappings":"AAEA,wBAAsB,WAAW,CAAC,WAAW,KAAA,iBAE5C;AAED,wBAAsB,WAAW,CAAC,WAAW,KAAA,iBAE5C;AAED,wBAAsB,WAAW,CAAC,OAAO,KAAA,iBAExC;AAED,wBAAsB,qBAAqB,CAAC,SAAS,KAAA,EAAE,OAAO,KAAA,iBAE7D;AAED,wBAAsB,gBAAgB,CAAC,OAAO,KAAA,iBAE7C"}

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createEvent = createEvent;
exports.updateEvent = updateEvent;
exports.cancelEvent = cancelEvent;
exports.getShortEventsInRange = getShortEventsInRange;
exports.getEventDetailed = getEventDetailed;
const pool = require('../db');
async function createEvent(eventObject) {
}
async function updateEvent(eventObject) {
}
async function cancelEvent(eventID) {
}
async function getShortEventsInRange(startDate, endDate) {
}
async function getEventDetailed(eventID) {
}
//# sourceMappingURL=calendarService.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"calendarService.js","sourceRoot":"","sources":["calendarService.ts"],"names":[],"mappings":";;AAEA,kCAEC;AAED,kCAEC;AAED,kCAEC;AAED,sDAEC;AAED,4CAEC;AApBD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;AAEtB,KAAK,UAAU,WAAW,CAAC,WAAW;AAE7C,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,WAAW;AAE7C,CAAC;AAEM,KAAK,UAAU,WAAW,CAAC,OAAO;AAEzC,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,SAAS,EAAE,OAAO;AAE9D,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,OAAO;AAE9C,CAAC"}

View File

@@ -0,0 +1,36 @@
// const pool = require('../db');
import pool from '../db';
export interface CalendarEvent {
id: number;
name: string;
start: Date; // DATETIME → Date
end: Date; // DATETIME → Date
location: string;
color: string; // CHAR(7) like "#3b82f6"
description?: string | null;
creator?: number | null; // foreign key to members.id, nullable
cancelled: boolean; // TINYINT(1) → boolean
created_at: Date; // TIMESTAMP → Date
updated_at: Date; // TIMESTAMP → Date
}
export async function createEvent(eventObject) {
}
export async function updateEvent(eventObject) {
}
export async function cancelEvent(eventID) {
}
export async function getShortEventsInRange(startDate, endDate) {
}
export async function getEventDetailed(eventID) {
}

View File

@@ -0,0 +1,22 @@
const pool = require('../db');
async function getAllRanks() {
const rows = await pool.query(
'SELECT id, name, short_name, sort_id FROM ranks;'
);
return rows;
}
async function insertMemberRank(change) {
const sql = `
INSERT INTO members_ranks (member_id, rank_id, event_date)
VALUES (?, ?, ?);
`;
const params = [change.member_id, change.rank_id, change.date];
await pool.query(sql, params);
}
module.exports = {
getAllRanks,
insertMemberRank
};