import 'package:comunic/enums/likes_type.dart';
import 'package:comunic/models/like_element.dart';
import 'package:flutter/material.dart';

import 'group.dart';

/// Advanced group information
///
/// @author Pierre Hubert

class AdvancedGroupInfo extends Group implements LikeElement {
  final int timeCreate;
  String description;
  String url;
  int likes;
  bool userLike;

  AdvancedGroupInfo({
    @required int id,
    @required String name,
    @required String iconURL,
    @required int numberMembers,
    @required GroupMembershipLevel membershipLevel,
    @required GroupVisibilityLevel visibilityLevel,
    @required GroupRegistrationLevel registrationLevel,
    @required GroupPostCreationLevel postCreationLevel,
    @required String virtualDirectory,
    @required bool following,
    @required this.timeCreate,
    @required this.description,
    @required this.url,
    @required this.likes,
    @required this.userLike,
  }) : super(
            id: id,
            name: name,
            iconURL: iconURL,
            numberMembers: numberMembers,
            membershipLevel: membershipLevel,
            visibilityLevel: visibilityLevel,
            registrationLevel: registrationLevel,
            postCreationLevel: postCreationLevel,
            virtualDirectory: virtualDirectory,
            following: following);

  @override
  LikesType likeType = LikesType.GROUP;
}