﻿£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
import peewee as pw

from defence360agent.feature_management.constants import NA, FULL, AV_REPORT


def migrate(migrator, database, fake=False, **kwargs):
    permissions_model = migrator.orm["feature_management_permissions"]
    migrator.add_fields(
        permissions_model,
        proactive_new=pw.TextField(
            default=FULL,
            null=False,
            constraints=[
                pw.Check("proactive_new in ('{}','{}')".format(NA, FULL))
            ],
        ),
        av=pw.TextField(
            default=AV_REPORT,
            null=False,
            constraints=[
                pw.Check("av in ('{}','{}','{}')".format(NA, AV_REPORT, FULL))
            ],
        ),
    )

    migrator.sql(
        "UPDATE feature_management_permissions SET av=? WHERE cleanup=1",
        (FULL,),
    )
    migrator.sql(
        "UPDATE feature_management_permissions SET av=? WHERE cleanup=0",
        (AV_REPORT,),
    )

    migrator.sql(
        "UPDATE feature_management_permissions SET proactive_new=? "
        "WHERE proactive=1",
        (FULL,),
    )
    migrator.sql(
        "UPDATE feature_management_permissions SET proactive_new=? "
        "WHERE proactive=0",
        (NA,),
    )

    migrator.remove_fields(permissions_model, "cleanup", "proactive")


def rollback(migrator, database, fake=False, **kwargs):
    pass
