]> PHS Git Server - phs-api.git/commitdiff
Cleaning up the phone_number.model.js file.
authorcharleswrayjr <charleswrayjr@gmail.com>
Fri, 12 Sep 2025 01:57:30 +0000 (20:57 -0500)
committercharleswrayjr <charleswrayjr@gmail.com>
Fri, 12 Sep 2025 01:57:30 +0000 (20:57 -0500)
src/models/phone_number.model.js

index ea786a49d462de8ca02ffb0946943b881ad486b8..d1a1c23a9f296f276cd711b9dd5680c677da12fe 100644 (file)
@@ -2,7 +2,7 @@
  * @file Phone number model for phase.phone_numbers table
  */
 
-const { Model, ValidationError } = require( './model' );
+const { Model, NotFoundError, FailedToCreateError, ValidationError } = require( './model' );
 
 /**
  * @typedef {Object} PhoneNumber
@@ -55,13 +55,14 @@ class PhoneNumber extends Model {
     `;
     this.default_order_by = 'ORDER BY pn.number ASC';
     this.instance = _props => new PhoneNumber( _props );
-  }
+  };
 
   /**
    * Create a new phone number
    * @param {Omit<PhoneNumber, 'id'|'created_at'|'is_deleted'|'deleted_by_id'|'deleted_at'>} phone_data - Phone number data
    * @returns {Promise<PhoneNumber>} Created phone number instance
    * @throws {ValidationError} If required fields are missing
+   * @throws {FailedToCreateError} If creation fails
    */
   static async create( phone_data ) {
     const { name = 'mobile', type = 'mobile', number, created_by_id = null } = phone_data;
@@ -73,17 +74,10 @@ class PhoneNumber extends Model {
     `;
     const values = [name, type, number, created_by_id];
     const result = await phsdb.query( query_str, values, { plain:true } );
-    if (!result) throw new ValidationError( 'Failed to create phone number' );
+    if (!result) throw new FailedToCreateError( 'Failed to create phone number' );
     return new PhoneNumber( result );
   };
 
-  static async add_user( user_id ) {
-    const done = await require( 'user_phone_number.model' ).add_relation( user_id, this.id );
-    if (!done) throw new ValidationError( 'Failed to add phone number' );
-    return done;
-  };
-
-  // noinspection JSUnusedGlobalSymbols
   /**
    * Find phone number by number
    * @param {string} number - Phone number to search for
@@ -99,6 +93,7 @@ class PhoneNumber extends Model {
    * @param {number|string} deleted_by_id - ID of user performing deletion
    * @returns {Promise<PhoneNumber>} Updated phone number instance
    * @throws {ValidationError} If deleted_by_id is invalid
+   * @throws {NotFoundError} If record not found
    */
   async soft_delete( deleted_by_id ) {
     const deleted_by_id_int = parseInt( deleted_by_id, 10 );