teableio/teable

View on GitHub
apps/nestjs-backend/src/features/field/model/field-dto/last-modified-time-field.dto.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { LastModifiedTimeFieldCore } from '@teable/core';
import type { FieldBase } from '../field-base';

export class LastModifiedTimeFieldDto extends LastModifiedTimeFieldCore implements FieldBase {
  get isStructuredCellValue() {
    return false;
  }

  convertCellValue2DBValue(value: unknown): unknown {
    if (this.isMultipleCellValue) {
      return value == null ? value : JSON.stringify(value);
    }
    return value;
  }

  convertDBValue2CellValue(value: unknown): unknown {
    if (this.isMultipleCellValue) {
      return value == null || typeof value === 'object' ? value : JSON.parse(value as string);
    }
    if (value instanceof Date) {
      return value.toISOString();
    }
    return value;
  }
}