feat(cloudron): add tirreno package artifacts

- 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.
This commit is contained in:
2025-10-30 11:43:06 -05:00
parent 0ce353ea9d
commit 91d52d2de5
1692 changed files with 202851 additions and 0 deletions

View File

@@ -0,0 +1,118 @@
import {BaseGridWithPanel} from './BaseWithPanel.js?v=2';
import {
renderBoolean,
renderReputation,
renderEmail,
renderDefaultIfEmptyElement,
} from '../DataRenderers.js?v=2';
export class EmailsGrid extends BaseGridWithPanel {
get orderConfig() {
return [];
}
get columnDefs() {
const columnDefs = [
{
className: 'email-email-col',
targets: 0
},
{
className: 'email-reputation-col',
targets: 1
},
{
className: 'email-free-provider-col',
targets: 2
},
{
className: 'email-no-breach-col',
targets: 3
},
{
className: 'email-total-breaches-col',
targets: 4
},
{
className: 'email-disposable-col',
targets: 5
},
{
className: 'email-spam-col',
targets: 6
},
{
className: 'email-blacklist-col',
targets: 7
},
// TODO: return alert_list back in next release
//{
// className: 'medium-yes-no-col',
// targets: 8
//}
];
return columnDefs;
}
get columns() {
const columns = [
{
data: 'email',
render: (data, type, record) => {
return renderEmail(record);
}
},
{
data: 'reputation',
render: (data, type, record) => {
return renderReputation(record);
}
},
{
data: 'free_email_provider',
render: renderBoolean
},
//{
// data: 'profiles',
// orderable: false,
// render: (data, type, record) => {
// // revert profiles to `no profiles`
// return renderBoolean(data === null ? null : !data);
// }
//},
{
data: 'data_breach',
orderable: false,
render: (data, type, record) => {
// revert data breach to `no breach`
return renderBoolean(data === null ? null : !data);
}
},
{
data: 'data_breaches',
render: renderDefaultIfEmptyElement
},
{
data: 'disposable_domains',
render: renderBoolean
},
{
data: 'blockemails',
render: renderBoolean
},
{
data: 'fraud_detected',
render: renderBoolean
},
// TODO: return alert_list back in next release
//{
// data: 'alert_list',
// render: renderBoolean
//}
];
return columns;
}
}