import 'dart:convert';

import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomParams.dart';
import 'package:marianum_mobile/api/marianumcloud/talk/room/getRoomResponse.dart';
import 'package:marianum_mobile/api/requestCache.dart';

import 'getRoom.dart';

class GetRoomCache extends RequestCache<GetRoomResponse> {
  GetRoomCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) {
    start("MarianumMobile", "nc-rooms");
  }

  @override
  GetRoomResponse onLocalData(String json) {
    return GetRoomResponse.fromJson(jsonDecode(json));
  }

  @override
  Future<GetRoomResponse> onLoad() {
    return GetRoom(
      GetRoomParams(
        includeStatus: true,
      )
    ).run();
  }
}