- Add CloudronStack/output/CloudronPackages-Artifacts/tirreno/ directory and its contents - Includes package manifest, Dockerfile, source code, documentation, and build artifacts - Add tirreno-1761840148.tar.gz as a build artifact - Add tirreno-cloudron-package-1761841304.tar.gz as the Cloudron package - Include all necessary files for the tirreno Cloudron package This adds the complete tirreno Cloudron package artifacts to the repository.
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const addDays = (date, days) => {
 | 
						|
    const dateCopy = new Date(date);
 | 
						|
    dateCopy.setDate(date.getDate() + days);
 | 
						|
 | 
						|
    return dateCopy;
 | 
						|
};
 | 
						|
 | 
						|
const addHours = (date, hours) => {
 | 
						|
    const ms = hours * 60 * 60 * 1000;
 | 
						|
 | 
						|
    const dateCopy = new Date(date);
 | 
						|
    dateCopy.setTime(date.getTime() + ms);
 | 
						|
 | 
						|
    return dateCopy;
 | 
						|
};
 | 
						|
 | 
						|
//https://stackoverflow.com/a/12550320
 | 
						|
const padZero = (n, s = 2) => {
 | 
						|
    return (s > 0) ? ('000'+n).slice(-s) : (n+'000').slice(0, -s);
 | 
						|
};
 | 
						|
 | 
						|
const notificationTime = () => {
 | 
						|
    const dt        = new Date();
 | 
						|
    const day       = padZero(dt.getDate());
 | 
						|
    const month     = padZero(dt.getMonth() + 1);
 | 
						|
    const year      = padZero(dt.getFullYear(), 4);
 | 
						|
    const hours     = padZero(dt.getHours());
 | 
						|
    const minutes   = padZero(dt.getMinutes());
 | 
						|
    const seconds   = padZero(dt.getSeconds());
 | 
						|
 | 
						|
    return `[${day}/${month}/${year} ${hours}:${minutes}:${seconds}]`;
 | 
						|
};
 | 
						|
 | 
						|
// offsetInSeconds is not inverted as .getTimezoneOffset() result
 | 
						|
const formatIntTimeUtc = (ts, useTime, offsetInSeconds = 0) => {
 | 
						|
    const dt = new Date(ts + ((new Date()).getTimezoneOffset() * 60 + offsetInSeconds) * 1000);
 | 
						|
 | 
						|
    let m = dt.getMonth() + 1;
 | 
						|
    let d = dt.getDate();
 | 
						|
    let y = dt.getFullYear();
 | 
						|
    m = padZero(m);
 | 
						|
    d = padZero(d);
 | 
						|
    y = padZero(y, 4);
 | 
						|
 | 
						|
    if (!useTime) {
 | 
						|
        return `${d}/${m}/${y}`;
 | 
						|
    }
 | 
						|
 | 
						|
    let h = dt.getHours();
 | 
						|
    let i = dt.getMinutes();
 | 
						|
    let s = dt.getSeconds();
 | 
						|
    h = padZero(h);
 | 
						|
    i = padZero(i);
 | 
						|
    s = padZero(s);
 | 
						|
 | 
						|
    return `${d}/${m}/${y} ${h}:${i}:${s}`;
 | 
						|
};
 | 
						|
 | 
						|
const formatStringTime = (dt) => {
 | 
						|
 | 
						|
    let m = dt.getMonth() + 1;
 | 
						|
    let d = dt.getDate();
 | 
						|
    let y = dt.getFullYear();
 | 
						|
    m = padZero(m);
 | 
						|
    d = padZero(d);
 | 
						|
    y = padZero(y, 4);
 | 
						|
 | 
						|
    let h = dt.getHours();
 | 
						|
    let i = dt.getMinutes();
 | 
						|
    let s = dt.getSeconds();
 | 
						|
    h = padZero(h);
 | 
						|
    i = padZero(i);
 | 
						|
    s = padZero(s);
 | 
						|
 | 
						|
    return `${y}-${m}-${d}T${h}:${i}:${s}`;
 | 
						|
};
 | 
						|
 | 
						|
export {
 | 
						|
    formatIntTimeUtc,
 | 
						|
    formatStringTime,
 | 
						|
    notificationTime,
 | 
						|
    padZero,
 | 
						|
    addDays,
 | 
						|
    addHours,
 | 
						|
};
 |