HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/nowruzgan/rest/api/models/User.js
module.exports = {
  attributes: {
    id: { type: 'number', autoIncrement: true, },

    // sub: {
    //   type: 'string',
    //   example: 'auth|123',
    //   unique: true,
    // },

    email: {
      type: 'string',
      allowNull: true,
      unique: true,
    },

    firstName: {
      type: 'string',
      columnName: 'first_name',
      example: 'John',
      allowNull: true
    },

    lastName: {
      type: 'string',
      columnName: 'last_name',
      example: 'Doe',
      allowNull: true
    },

    visited: {
        type: 'ref',
        columnType: 'timestamp'
    }, 

    state: {
      type: 'string',
      isIn: ['active', 'inactive', ''],
      defaultsTo: 'active'
    },
    createdAt: { type: 'ref', columnName: 'created_at', columnType: 'timestamp', autoCreatedAt: true, },
    updatedAt: { type: 'ref', columnName: 'updated_at', columnType: 'timestamp', autoCreatedAt: true, },

    roles: {
      collection: 'Role',
      through: 'UserRole',
      via: 'user'
    },
  },

  getPublic: user => ({
    id: user.id,
    email: user.email,
    firstName: user.firstName,
    lastName: user.lastName,
    roles: user.roles,
  })
};