Example #1
0
        public JObject GetSessionUser()
        {
            try
            {
                var user = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);

                if (user == null)
                {
                    return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                }
                else
                {
                    if (SignupHelper.IsValidToken(user, SessionProvider, Logger, isOauthVerification))
                    {
                        return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(user))));
                    }
                    else
                    {
                        SessionProvider.ResetSession();
                        return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(string.Format("UsersController.Get {0}", ex.Message), ex);
                return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
            }
        }
Example #2
0
        public async Task Upgrade()
        {
            foreach (var mission in SignupsData.Missions)
            {
                await mission.Access.WaitAsync(-1);

                try
                {
                    Uri  uriResult;
                    bool validUrl = Uri.TryCreate(mission.Modlist, UriKind.Absolute, out uriResult) &&
                                    (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);

                    if (!validUrl)
                    {
                        bool recheck = Uri.TryCreate($"https://modlist.armaforces.com/#/download/{mission.Modlist}", UriKind.Absolute, out uriResult) &&
                                       (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps);
                        if (recheck)
                        {
                            mission.Modlist = $"https://modlist.armaforces.com/#/download/{mission.Modlist}";
                            var guild   = _client.GetGuild(_config.AFGuild);
                            var channel = await SignupHelper.UpdateMission(guild, mission, SignupsData);
                            await ReplyAsync($"Misja {mission.Title} zaktualizowana.");
                        }
                    }
                }
                finally
                {
                    mission.Access.Release();
                }
            }

            await ReplyAsync("No i cyk, gotowe.");

            await BanHelper.MakeBanHistoryMessage(_map, Context.Guild);
        }
Example #3
0
        public async Task EndSignups()
        {
            if (SignupsData.Missions.Any(x => x.Editing == Mission.EditEnum.New && x.Owner == Context.User.Id))
            {
                var mission = SignupsData.Missions.Single(x => x.Editing == Mission.EditEnum.New && x.Owner == Context.User.Id);
                if (SignupHelper.CheckMissionComplete(mission))
                {
                    var embed = new EmbedBuilder()
                                .WithColor(Color.Green)
                                .WithTitle(mission.Title)
                                .WithDescription(mission.Description)
                                .WithFooter(mission.Date.ToString())
                                .AddField("Zamknięcie zapisów:", mission.CloseTime.ToString())
                                .AddField("Wołanie wszystkich:", mission.MentionEveryone)
                                .WithAuthor(Context.User);

                    if (mission.Attachment != null)
                    {
                        embed.WithImageUrl(mission.Attachment);
                    }

                    mission.Modlist ??= "https://modlist.armaforces.com/#/download/default";

                    embed.AddField("Modlista:", mission.Modlist);

                    _miscHelper.BuildTeamsEmbed(mission.Teams, embed);

                    _miscHelper.CreateConfirmationDialog(
                        _dialogs,
                        Context,
                        embed.Build(),
                        dialog =>
                    {
                        _dialogs.Dialogs.Remove(dialog);
                        _ = SignupHelper.CreateSignupChannel(SignupsData, Context.User.Id, Context.Channel);
                        ReplyAsync("No to lecim!");
                    },
                        dialog =>
                    {
                        Context.Channel.DeleteMessageAsync(dialog.DialogID);
                        _dialogs.Dialogs.Remove(dialog);
                        ReplyAsync("Poprawiaj to szybko!");
                    });
                }
                else
                {
                    await ReplyAsync("Nie uzupełniłeś wszystkich informacji ciołku!");
                }
            }
            else
            {
                await ReplyAsync("Co ty chcesz kończyć jak nic nie zacząłeś?");
            }
        }
Example #4
0
 public ApiController(
     MissionsArchiveData missionsArchiveData,
     SignupsData signupsData,
     DiscordSocketClient client,
     BanHelper banHelper,
     SignupHelper signupHelper,
     MiscHelper miscHelper)
 {
     _missionsArchiveData = missionsArchiveData;
     _signupsData         = signupsData;
     _client       = client;
     _banHelper    = banHelper;
     _signupHelper = signupHelper;
     _miscHelper   = miscHelper;
 }
Example #5
0
 public JObject GetUserInfo()
 {
     try
     {
         var user_id = HttpProxy.GetQueryString(CommonConst.CommonField.USER_ID);
         if (string.IsNullOrEmpty(user_id))
         {
             Logger.Debug("User id query string is null");
             return(ResponseBuilder.CreateReponse(CommonConst._400_BAD_REQUEST));
         }
         var userData = SessionProvider.GetValue <UserModel>(CommonConst.CommonValue.SESSION_USER_KEY);
         if (userData == null)
         {
             Logger.Debug("User session data is null");
             return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
         }
         if (userData.user_id != user_id)
         {
             Logger.Debug("User id conflict with session data");
             return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
         }
         if (SignupHelper.IsValidToken(userData, SessionProvider, Logger, isOauthVerification))
         {
             JArray  joinData       = new JArray();
             JObject collectionJoin = GetCollectionJoin(CommonConst.CommonField.USER_ID, CommonConst.Collection.USER_INFO, CommonConst.CommonField.USER_ID, null, ModuleAppConsts.Field.USER_INFO);
             joinData.Add(collectionJoin);
             JObject filter = new JObject();
             filter[CommonConst.CommonField.USER_ID] = user_id;
             var data = GetPaggedData(CommonConst.Collection.USERS, joinData, filter.ToString());
             return(ResponseBuilder.CreateReponse(CommonConst._1_SUCCESS, data[CommonConst.CommonField.DATA][0]));
         }
         else
         {
             Logger.Debug("User Auth token is not valid");
             SessionProvider.ResetSession();
             return(ResponseBuilder.CreateReponse(CommonConst._401_UNAUTHORIZED));
         }
     }
     catch (Exception ex)
     {
         Logger.Error(string.Format("UsersController.GetUserInfo {0}", ex.Message), ex);
         return(ResponseBuilder.CreateReponse(CommonConst._500_SERVER_ERROR));
     }
 }
Example #6
0
        public async Task SaveChanges(bool announce = false)
        {
            if (SignupsData.Missions.Any(x => x.Editing == Mission.EditEnum.Started && x.Owner == Context.User.Id))
            {
                var mission = SignupsData.Missions.Single(x => x.Editing == Mission.EditEnum.Started && x.Owner == Context.User.Id);

                await mission.Access.WaitAsync(-1);

                try
                {
                    if (SignupHelper.CheckMissionComplete(mission))
                    {
                        var guild = _client.GetGuild(_config.AFGuild);

                        var channel = await SignupHelper.UpdateMission(guild, mission, SignupsData);

                        mission.Editing = Mission.EditEnum.NotEditing;

                        if (announce)
                        {
                            await channel.SendMessageAsync("@everyone Misja uległa modyfikacji, proszę zapoznać się z nowymi informacjami i dostosować swój beton.");
                        }

                        await ReplyAsync("Się robi szefie!");
                    }
                    else
                    {
                        await ReplyAsync("Nie uzupełniłeś wszystkich informacji ciołku!");
                    }
                }
                catch (Exception e)
                {
                    await ReplyAsync($"Oj, coś poszło nie tak: {e.Message}");
                }
                finally
                {
                    mission.Access.Release();
                }
            }
        }
Example #7
0
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine("Welcome to the app");
                if (loggedInUser.Equals(""))
                {
                    Console.WriteLine("1. Login");
                }
                else
                {
                    Console.WriteLine("1. Continue as " + loggedInUser);
                }
                Console.WriteLine("2. Signup");
                Console.WriteLine("3. Forgot Password");

                int userInput = Convert.ToInt32(Console.ReadLine());
                switch (userInput)
                {
                case 1:
                    string userName;
                    string password;
                    if (sessionUser == null)
                    {
                        Console.WriteLine("Enter your username");

                        userName = Console.ReadLine();
                        Console.WriteLine("Enter your password");

                        password = Console.ReadLine();

                        LoginHelper authenticator = new LoginHelper();
                        try
                        {
                            if (authenticator.LoginValidator(userName, password) == null)
                            {
                                Console.WriteLine("Invalid Login or the user does not exist");
                            }
                            else
                            {
                                Console.WriteLine("Succesful Login");
                                loggedInUser = userName;
                                sessionUser  = authenticator.LoginValidator(userName, password);
                                Menu();
                            }
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                        }
                    }
                    else
                    {
                        Menu();
                    }
                    break;

                case 2:
                    Console.WriteLine("Enter a username");
                    userName = Console.ReadLine();
                    Console.WriteLine("Enter a password");
                    password = Console.ReadLine();
                    Console.WriteLine("What was the name of your first school?");
                    string       Answer        = Console.ReadLine();
                    SignupHelper signupService = new SignupHelper(userName);
                    try
                    {
                        sessionUser  = signupService.SignupService(userName, password, Answer);
                        loggedInUser = userName;
                        Menu();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    break;

                case 3:

                    ForgotPasswordHelper resetPasswordService = new ForgotPasswordHelper();
                    Console.WriteLine("Enter the user name of the account");
                    userName = Console.ReadLine();
                    try
                    {
                        Console.WriteLine("What is the name of your first school?");
                        string answer = Console.ReadLine();
                        resetPasswordService.ForgotPasswordService(userName, answer);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }
                    break;
                }
            }
        }