typescript - Hvordan legge til Sequelize getter til modellobjekt?


Jeg ønsker å legge til en getter for name-feltet i Company-modellobjektet. Har prøvd flere ting, men uten hell. Klarer ikke å finne et godt eksempel heller. Sequelize-versjonen er 5.21. Ville det være inne i dekoratoren eller et annet sted? Trimmet kode for klarhet. All hjelp tas imot med takk

    export default class Company extends Model<Company> {
      @PrimaryKey
      @Default(DataType.UUIDV4)
      @Column(DataType.UUID)
      id: string;
    
      @Default(DataType.NOW)
      @Column
      created_at: Date;
    
      @Default(0)
      @Column
      deleted_at: Date;
    
      @AllowNull(false)
      @Column(DataType.STRING(25))
      name: string;
    
      @Default(true)
      @Column
      active: boolean;
    
      
    }

Svar #1

Du kan bruke VIRTUAL-typen for en kolonne sammen med en getter og en setter:

@Table({ modelName: 'application' })
export class Application extends Model<Application> {

  @Column(DataType.VIRTUAL(DataType.STRING))
  get clientSecret(): string {
    return this.getDataValue('clientSecret')
  }

  set clientSecret(value: string) {
    this.setDataValue('clientSecret', value)
  }
}

Se denne kommentaren i et problem

Relaterte artikler