fix: Gitea Traefik routing and connection pool optimization
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
- Remove middleware reference from Gitea Traefik labels (caused routing issues) - Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s) - Add explicit service reference in Traefik labels - Fix intermittent 504 timeouts by improving PostgreSQL connection handling Fixes Gitea unreachability via git.michaelschiemer.de
This commit is contained in:
46
resources/js/modules/validation/ValidationRule.js
Normal file
46
resources/js/modules/validation/ValidationRule.js
Normal file
@@ -0,0 +1,46 @@
|
||||
/**
|
||||
* ValidationRule - Individual validation rule
|
||||
*
|
||||
* Represents a single validation rule with its configuration.
|
||||
*/
|
||||
|
||||
export class ValidationRule {
|
||||
constructor(name, validator, options = {}) {
|
||||
this.name = name;
|
||||
this.validator = validator;
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate a value against this rule
|
||||
*/
|
||||
async validate(value) {
|
||||
if (typeof this.validator === 'function') {
|
||||
const result = await this.validator(value, this.options);
|
||||
return result === true ? true : (result || this.options.message || 'Validation failed');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get rule name
|
||||
*/
|
||||
getName() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get rule options
|
||||
*/
|
||||
getOptions() {
|
||||
return { ...this.options };
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a validation rule
|
||||
*/
|
||||
static create(name, validator, options = {}) {
|
||||
return new ValidationRule(name, validator, options);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user