def get_cnt_of_new_members_in_past(hub=None, days=30): """ Returns a count of a new members in a given past days """ base_date = decrement_date(get_current_date_obj(), days=-days).isoformat() query = and_(Membership.confirmed_at >= base_date) # if hub's instance then return count of new members of a hub if isinstance(hub, Hub): query = and_(Membership.hub == hub, query) return int(Membership.count(query))
def get_cnt_of_leave_members_in_past(hub=None, days=30): """ Returns a count of a leave members in a given past days """ base_date = decrement_date(get_current_date_obj(), days=-days).isoformat() query = and_(Membership.canceled_to >= base_date) # if hub's instance then return count of new members of a hub if isinstance(hub, Hub): query = and_(Membership.hub == hub, query) return int(Membership.count(query))
def get_cnt_of_active_members_in_past(hub=None, days=0): """ Returns a number of active members in a hub on a given date date should be in `YYYY-MM-DD` format. """ base_date = decrement_date(get_current_date_obj(), days=-days).isoformat() query = or_(Membership.canceled_to == None, Membership.canceled_to >= base_date) # if hub's instance then return count of active members of a hub if isinstance(hub, Hub): query = and_(Membership.hub == hub, query) return int(Membership.count(query))