vkdart

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

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

10
  /// The ID of the album in which the photo is located.
11
  int? get albumId => payload['album_id'];
12

13
  /// ID of the user who uploaded the photo.
14
  int? get userId => payload['user_id'];
15

16
  /// Photo description text.
17
  String? get text => payload['text'];
18

19
  /// Date added in Unixtime format.
20
  int? get createdAt => payload['date'];
21

22
  /// An array with copies of the image in different sizes.
23
  List<PhotoCopyModel> get sizes => (payload['sizes'] as List)
24
      .map((e) => PhotoCopyModel((e as Map).cast<String, dynamic>()))
25
      .toList();
26

27
  /// The width of the original photo in pixels.
28
  int? get width => payload['width'];
29

30
  /// The height of the original photo in pixels.
31
  int? get height => payload['height'];
32

33
  /// ID of the record where the photo was uploaded.
34
  ///
35
  /// see https://dev.vk.com/ru/reference/objects/attachments-wall#Фотография%20(type%20=%20photo)
36
  int? get postId => payload['post_id'];
37
}
38

39
/// Model Photo copy.
40
///
41
/// See https://dev.vk.com/ru/reference/objects/photo-sizes
42
class PhotoCopyModel {
43
  // ignore: public_member_api_docs
44
  PhotoCopyModel(this.photoObject);
45

46
  /// Payload.
47
  final Map<String, dynamic> photoObject;
48

49
  /// Photo type.
50
  String get type => photoObject['type'];
51

52
  /// Photo URL.
53
  String get url => photoObject['url'];
54

55
  /// Photo width.
56
  int get width => photoObject['width'];
57

58
  /// Photo height.
59
  int get height => photoObject['height'];
60
}
61

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

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

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

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