5180 fichiers 38.5 Mo 0 téléchargements 242 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / api / housekeeping / HousekeepingTickets.ts
HousekeepingTickets.ts 1.1 Ko Télécharger le fichier
/** The ticket fields the support page groups on; IssueMessageData carries them. */
export interface HousekeepingTicketLike {
    issueId: number;
    state: number;
    pickerUserId: number;
    issueAgeInMilliseconds: number;
}

/** IssueMessageData.STATE_OPEN / STATE_PICKED. */
export const HK_TICKET_STATE_OPEN = 1;
export const HK_TICKET_STATE_PICKED = 2;

/**
 * Open tickets waiting for someone, tickets the operator picked, and tickets
 * other staff picked; oldest first in each group, closed tickets left out.
 */
export const groupHousekeepingTickets = <T extends HousekeepingTicketLike>(tickets: readonly T[], myUserId: number): { open: T[]; mine: T[]; others: T[] } => {
    const oldestFirst = [...tickets].sort((a, b) => b.issueAgeInMilliseconds - a.issueAgeInMilliseconds);

    return {
        open: oldestFirst.filter((ticket) => ticket.state === HK_TICKET_STATE_OPEN),
        mine: oldestFirst.filter((ticket) => ticket.state === HK_TICKET_STATE_PICKED && ticket.pickerUserId === myUserId),
        others: oldestFirst.filter((ticket) => ticket.state === HK_TICKET_STATE_PICKED && ticket.pickerUserId !== myUserId)
    };
};
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser