/**
* certificationtype-without-required-constraint Model
* Generated: 2025-04-01T19:44:53.348Z
*/
/**
* certificationtype-without-required-constraint model class
*/
export class CertificationtypeWithoutRequiredConstraint {
/**
* Create a new certificationtype-without-required-constraint instance
* @param {Object} data - Initial data
*/
constructor(data = {}) {
/**
* Note Sails special attributes: autoIncrement
* @type integer
*/
this.id = data.id !== undefined ? data.id : undefined;
/**
*
* @type number
*/
this.createdAt = data.createdAt !== undefined ? data.createdAt : undefined;
/**
*
* @type number
*/
this.updatedAt = data.updatedAt !== undefined ? data.updatedAt : undefined;
/**
* The user who created this record JSON dictionary representing the **person** instance or FK when creating / updating / not populated
* @type any
*/
this.createdBy = data.createdBy !== undefined ? data.createdBy : undefined;
/**
* Unique identifier code for the certification type
* @type string
*/
this.code = data.code !== undefined ? data.code : undefined;
/**
* Display name of the certification type
* @type string
*/
this.name = data.name !== undefined ? data.name : undefined;
/**
* Detailed description of the certification type
* @type string
*/
this.description = data.description !== undefined ? data.description : undefined;
/**
* Whether this certification type requires periodic renewal
* @type boolean
*/
this.requiresRenewal = data.requiresRenewal !== undefined ? data.requiresRenewal : undefined;
/**
* Default validity period in months (if applicable)
* @type number
*/
this.defaultValidityPeriod = data.defaultValidityPeriod !== undefined ? data.defaultValidityPeriod : undefined;
/**
* Array of **certification**'s or array of FK's when creating / updating / not populated
* @type certification[]
*/
this.certifications = data.certifications !== undefined ? data.certifications : undefined;
/**
* Array of **certificationcategory**'s or array of FK's when creating / updating / not populated
* @type certificationcategory[]
*/
this.categories = data.categories !== undefined ? data.categories : undefined;
/**
* Array of **classificationlevel**'s or array of FK's when creating / updating / not populated
* @type classificationlevel[]
*/
this.classificationLevels = data.classificationLevels !== undefined ? data.classificationLevels : undefined;
}
/**
* Validate the model
* @returns {Object} - Validation result {valid: boolean, errors: Object}
*/
validate() {
const errors = {};
return {
valid: Object.keys(errors).length === 0,
errors
};
}
/**
* Convert the model to a plain object
* @returns {Object} - Plain object representation
*/
toJSON() {
const data = {};
if (this.id !== undefined) {
data.id = this.id;
}
if (this.createdAt !== undefined) {
data.createdAt = this.createdAt;
}
if (this.updatedAt !== undefined) {
data.updatedAt = this.updatedAt;
}
if (this.createdBy !== undefined) {
data.createdBy = this.createdBy;
}
if (this.code !== undefined) {
data.code = this.code;
}
if (this.name !== undefined) {
data.name = this.name;
}
if (this.description !== undefined) {
data.description = this.description;
}
if (this.requiresRenewal !== undefined) {
data.requiresRenewal = this.requiresRenewal;
}
if (this.defaultValidityPeriod !== undefined) {
data.defaultValidityPeriod = this.defaultValidityPeriod;
}
if (this.certifications !== undefined) {
data.certifications = this.certifications;
}
if (this.categories !== undefined) {
data.categories = this.categories;
}
if (this.classificationLevels !== undefined) {
data.classificationLevels = this.classificationLevels;
}
return data;
}
/**
* Create a certificationtype-without-required-constraint instance from JSON data
* @param {Object} data - JSON data
* @returns CertificationtypeWithoutRequiredConstraint - New model instance
*/
static fromJSON(data) {
return new CertificationtypeWithoutRequiredConstraint(data);
}
}
export default CertificationtypeWithoutRequiredConstraint;