@@ -502,6 +502,7 @@ jsonEncCmd_Login val =
502502
503503type Cmd =
504504 Copy String
505+ | GeneratePassword PasswordGeneratorConfig
505506 | Init
506507 | Login Cmd_Login
507508 | NeedCiphersList
@@ -516,6 +517,7 @@ jsonDecCmd : Json.Decode.Decoder ( Cmd )
516517jsonDecCmd =
517518 let jsonDecDictCmd = Dict.fromList
518519 [ ("Copy", Json.Decode.lazy (\_ -> Json.Decode.map Copy (Json.Decode.string)))
520+ , ("GeneratePassword", Json.Decode.lazy (\_ -> Json.Decode.map GeneratePassword (jsonDecPasswordGeneratorConfig)))
519521 , ("Init", Json.Decode.lazy (\_ -> Json.Decode.succeed Init))
520522 , ("Login", Json.Decode.lazy (\_ -> Json.Decode.map Login (jsonDecCmd_Login)))
521523 , ("NeedCiphersList", Json.Decode.lazy (\_ -> Json.Decode.succeed NeedCiphersList))
@@ -533,6 +535,7 @@ jsonEncCmd : Cmd -> Value
533535jsonEncCmd val =
534536 let keyval v = case v of
535537 Copy v1 -> ("Copy", encodeValue (Json.Encode.string v1))
538+ GeneratePassword v1 -> ("GeneratePassword", encodeValue (jsonEncPasswordGeneratorConfig v1))
536539 Init -> ("Init", encodeValue (Json.Encode.list identity []))
537540 Login v1 -> ("Login", encodeValue (jsonEncCmd_Login v1))
538541 NeedCiphersList -> ("NeedCiphersList", encodeValue (Json.Encode.list identity []))
@@ -575,6 +578,65 @@ jsonEncFullCipher val =
575578
576579
577580
581+type alias PasswordGeneratorConfig =
582+ { ambiguous: Bool
583+ , capitalize: Bool
584+ , includeNumber: Bool
585+ , length: Int
586+ , lowercase: Bool
587+ , minLowercase: Int
588+ , minNumber: Int
589+ , minSpecial: Int
590+ , minUppercase: Int
591+ , numWords: Int
592+ , number: Bool
593+ , special: Bool
594+ , type_: String
595+ , uppercase: Bool
596+ , wordSeparator: String
597+ }
598+
599+jsonDecPasswordGeneratorConfig : Json.Decode.Decoder ( PasswordGeneratorConfig )
600+jsonDecPasswordGeneratorConfig =
601+ Json.Decode.succeed (\pambiguous pcapitalize pincludeNumber plength plowercase pminLowercase pminNumber pminSpecial pminUppercase pnumWords pnumber pspecial ptype puppercase pwordSeparator -> {ambiguous = pambiguous, capitalize = pcapitalize, includeNumber = pincludeNumber, length = plength, lowercase = plowercase, minLowercase = pminLowercase, minNumber = pminNumber, minSpecial = pminSpecial, minUppercase = pminUppercase, numWords = pnumWords, number = pnumber, special = pspecial, type_ = ptype, uppercase = puppercase, wordSeparator = pwordSeparator})
602+ |> required "ambiguous" (Json.Decode.bool)
603+ |> required "capitalize" (Json.Decode.bool)
604+ |> required "includeNumber" (Json.Decode.bool)
605+ |> required "length" (Json.Decode.int)
606+ |> required "lowercase" (Json.Decode.bool)
607+ |> required "minLowercase" (Json.Decode.int)
608+ |> required "minNumber" (Json.Decode.int)
609+ |> required "minSpecial" (Json.Decode.int)
610+ |> required "minUppercase" (Json.Decode.int)
611+ |> required "numWords" (Json.Decode.int)
612+ |> required "number" (Json.Decode.bool)
613+ |> required "special" (Json.Decode.bool)
614+ |> required "type" (Json.Decode.string)
615+ |> required "uppercase" (Json.Decode.bool)
616+ |> required "wordSeparator" (Json.Decode.string)
617+
618+jsonEncPasswordGeneratorConfig : PasswordGeneratorConfig -> Value
619+jsonEncPasswordGeneratorConfig val =
620+ Json.Encode.object
621+ [ ("ambiguous", Json.Encode.bool val.ambiguous)
622+ , ("capitalize", Json.Encode.bool val.capitalize)
623+ , ("includeNumber", Json.Encode.bool val.includeNumber)
624+ , ("length", Json.Encode.int val.length)
625+ , ("lowercase", Json.Encode.bool val.lowercase)
626+ , ("minLowercase", Json.Encode.int val.minLowercase)
627+ , ("minNumber", Json.Encode.int val.minNumber)
628+ , ("minSpecial", Json.Encode.int val.minSpecial)
629+ , ("minUppercase", Json.Encode.int val.minUppercase)
630+ , ("numWords", Json.Encode.int val.numWords)
631+ , ("number", Json.Encode.bool val.number)
632+ , ("special", Json.Encode.bool val.special)
633+ , ("type", Json.Encode.string val.type_)
634+ , ("uppercase", Json.Encode.bool val.uppercase)
635+ , ("wordSeparator", Json.Encode.string val.wordSeparator)
636+ ]
637+
638+
639+
578640type alias Sub_LoadCiphers =
579641 { cipherType: CipherType
580642 , date: String
@@ -636,6 +698,7 @@ type Sub =
636698 CaptchaDone
637699 | CipherChanged FullCipher
638700 | Error String
701+ | GeneratedPassword String
639702 | LoadCipher FullCipher
640703 | LoadCiphers Sub_LoadCiphers_List
641704 | LoginSuccessful
@@ -651,6 +714,7 @@ jsonDecSub =
651714 [ ("CaptchaDone", Json.Decode.lazy (\_ -> Json.Decode.succeed CaptchaDone))
652715 , ("CipherChanged", Json.Decode.lazy (\_ -> Json.Decode.map CipherChanged (jsonDecFullCipher)))
653716 , ("Error", Json.Decode.lazy (\_ -> Json.Decode.map Error (Json.Decode.string)))
717+ , ("GeneratedPassword", Json.Decode.lazy (\_ -> Json.Decode.map GeneratedPassword (Json.Decode.string)))
654718 , ("LoadCipher", Json.Decode.lazy (\_ -> Json.Decode.map LoadCipher (jsonDecFullCipher)))
655719 , ("LoadCiphers", Json.Decode.lazy (\_ -> Json.Decode.map LoadCiphers (jsonDecSub_LoadCiphers_List)))
656720 , ("LoginSuccessful", Json.Decode.lazy (\_ -> Json.Decode.succeed LoginSuccessful))
@@ -669,6 +733,7 @@ jsonEncSub val =
669733 CaptchaDone -> ("CaptchaDone", encodeValue (Json.Encode.list identity []))
670734 CipherChanged v1 -> ("CipherChanged", encodeValue (jsonEncFullCipher v1))
671735 Error v1 -> ("Error", encodeValue (Json.Encode.string v1))
736+ GeneratedPassword v1 -> ("GeneratedPassword", encodeValue (Json.Encode.string v1))
672737 LoadCipher v1 -> ("LoadCipher", encodeValue (jsonEncFullCipher v1))
673738 LoadCiphers v1 -> ("LoadCiphers", encodeValue (jsonEncSub_LoadCiphers_List v1))
674739 LoginSuccessful -> ("LoginSuccessful", encodeValue (Json.Encode.list identity []))