vkdart

Форк
0
59 строк · 1.9 Кб
1
import 'package:vkdart/vkontakte.dart';
2

3
/// Model Document.
4
///
5
/// See https://dev.vk.com/ru/reference/objects/doc
6
class DocumentAttachmentModel extends CustomAttachmentModel {
7
  // ignore: public_member_api_docs
8
  DocumentAttachmentModel(super.payload) : super(attachType: 'doc');
9

10
  /// Title of the document.
11
  String? get title => payload['title'];
12

13
  /// Size of the document in bytes.
14
  int? get size => payload['size'];
15

16
  /// MIME type of the document.
17
  String? get ext => payload['ext'];
18

19
  /// URL of the document.
20
  String? get url => payload['url'];
21

22
  /// Date when the document has been uploaded in Unixtime.
23
  int? get createdAt => payload['date'];
24

25
  /// Document type.
26
  int? get documentType => payload['type'];
27

28
  Map<String, dynamic>? get _preview => payload['preview'];
29
  Map<String, dynamic>? get _previewGraffiti => _preview?['graffiti'];
30
  Map<String, dynamic>? get _previewAudioMessage => _preview?['audio_message'];
31

32
  /// an array of image copies in different sizes.
33
  List<PhotoCopyModel>? get previewPhotoSizes =>
34
      (_preview?['photo']?['sizes'] as List?)
35
          ?.map((e) => PhotoCopyModel((e as Map).cast<String, dynamic>()))
36
          .toList();
37

38
  /// Graffiti file URL;
39
  String? get previewGraffitiSrc => _previewGraffiti?['src'];
40

41
  /// graffiti width in px;
42
  int? get previewGraffitiWidth => _previewGraffiti?['width'];
43

44
  /// graffiti height in px;
45
  int? get previewGraffitiHeight => _previewGraffiti?['height'];
46

47
  /// Audio message duration in seconds.
48
  int? get previewAudioMessageDuration => _previewAudioMessage?['duration'];
49

50
  /// Audio message waveform.
51
  List<int>? get previewAudioMessageWaveform =>
52
      (_previewAudioMessage?['waveform'] as List?)?.cast<int>();
53

54
  /// Audio message ling ogg.
55
  String? get previewAudioMessageLinkOgg => _previewAudioMessage?['link_ogg'];
56

57
  /// Audio message ling mp3.
58
  String? get previewAudioMessageLinkMp3 => _previewAudioMessage?['link_mp3'];
59
}
60

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.