diff --git a/Backend/Backend/Program.cs b/Backend/Backend/Program.cs index 54845000735b1de787f7357767951c2ef8d969d5..8f2de671b5c3b6d99e96249d251fddabf83a5966 100644 --- a/Backend/Backend/Program.cs +++ b/Backend/Backend/Program.cs @@ -29,7 +29,7 @@ builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(c => { c.SwaggerDoc("v1", - new OpenApiInfo {Title = "AnnotationTool", Description = "KIV/ASWI ZÄŚU PlzeĹ, 2022", Version = "0.1.1"}); + new OpenApiInfo { Title = "AnnotationTool", Description = "KIV/ASWI ZÄŚU PlzeĹ, 2022", Version = "0.1.1" }); }); // JWT authentication @@ -51,7 +51,7 @@ builder.Services.AddAuthentication(options => builder.Services.AddHttpContextAccessor(); builder.Services.AddScoped<User>(provider => - ((User?) provider.GetRequiredService<IHttpContextAccessor>().HttpContext?.Items["User"])); + ((User?)provider.GetRequiredService<IHttpContextAccessor>().HttpContext?.Items["User"])); // Database builder.Services.AddDbContext<DatabaseContext>(); diff --git a/Backend/Core/Seeding/DummyTags.cs b/Backend/Core/Seeding/DummyTags.cs new file mode 100644 index 0000000000000000000000000000000000000000..0b798e81d8cc25d5fb3ad1ffa60569ce24751afc --- /dev/null +++ b/Backend/Core/Seeding/DummyTags.cs @@ -0,0 +1,544 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Core.Contexts; +using Core.Entities; + +namespace Core.Seeding +{ + public class DummyTags + { + public static void AddDummyTags(DatabaseContext context) + { + AddCookies(context); + AddSubjects(context); + AddRights(context); + AddExperimental(context); + } + + private static void AddRights(DatabaseContext context) + { + TagCategory rightsCat = new TagCategory() + { + Name = "Práva subjektĹŻ ĂşdajĹŻ", + Description = "", + Color = "" + }; + context.TagCategories.Add(rightsCat); + + Tag pristupZadostTag = new Tag() + { + Name = "pristup_zadost", + Description = "InformovánĂ subjektu o jeho právu na pĹ™Ăstup k osobnĂm ĂşdajĹŻm vztahujĂcĂm se k jeho osobÄ› na jeho žádost.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(pristupZadostTag); + + Tag pristupZadostDoplneniTag = new Tag() + { + Name = "pristup_zadost_doplneni", + Description = "Instrukce pro subjekt, jakĂ˝m zpĹŻsobem má podat žádost.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(pristupZadostDoplneniTag); + + Tag omezeniPristupuZadostTag = new Tag() + { + Name = "omezeni_pristupu_zadost", + Description = "Informace o dĹŻvodech, z jakĂ˝ch mĹŻĹľe správce omezit ÄŤi odmĂtnout vyhovÄ›nà žádosti.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(omezeniPristupuZadostTag); + + Tag opravaZadostTag = new Tag() + { + Name = "oprava_zadost", + Description = "InformovánĂ subjektu o jeho právu na opravu osobnĂch ĂşdajĹŻ vztahujĂcĂm se k jeho osobÄ› na jeho žádost.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(opravaZadostTag); + + Tag omezeniZpracovaniZadostTag = new Tag() + { + Name = "omezeni_zpracovani_zadost", + Description = "InformovánĂ subjektu o moĹľnosti omezit zpracovánĂ osobnĂch ĂşdajĹŻ mĂsto jejich opravy ÄŤi vĂ˝mazu.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(omezeniZpracovaniZadostTag); + + Tag vymazZadostTag = new Tag() + { + Name = "vymaz_zadost", + Description = "InformovánĂ subjektu o jeho právu na vĂ˝maz osobnĂch ĂşdajĹŻ vztahujĂcĂch se k jeho osobÄ› na jeho žádost.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(vymazZadostTag); + + Tag zaznamZadostTag = new Tag() + { + Name = "zaznam_zadost", + Description = "LhĹŻta, zákonná ÄŤi správcem urÄŤená, po kterou správce uchovává záznam o žádosti a zpĹŻsobu jejĂho vyĹ™ĂzenĂ.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(zaznamZadostTag); + + Tag lhutaZadostTag = new Tag() + { + Name = "lhuta_zadost", + Description = "LhĹŻta, zákonem ÄŤi správcem urÄŤená, pro vyĹ™Ăzenà žádosti od subjektu.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(lhutaZadostTag); + + Tag namitkaZadostTag = new Tag() + { + Name = "namitka_zadost", + Description = "Informace o moĹľnosti podat námitku ohlednÄ› vyĹ™Ăzenà žádosti správcem.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(namitkaZadostTag); + + Tag podnetZadostTag = new Tag() + { + Name = "podnet_zadost", + Description = "Informace o moĹľnosti obrátit se na ĂšOOĂš s podnÄ›tem o ověřenĂ zákonnosti.", + Color = "", + Category = rightsCat + }; + context.Tags.Add(podnetZadostTag); + } + + private static void AddCookies(DatabaseContext context) + { + TagCategory cookiesCat = new TagCategory() + { + Name = "SĂĹĄovĂ© identifikátory (cookies)", + Description = "", + Color = "" + }; + context.TagCategories.Add(cookiesCat); + + Tag pouzitiCookiesTag = new Tag() + { + Name = "pouziti_cookies", + Description = "Informace o tom, zda jsou pouĹľity cookies", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(pouzitiCookiesTag); + + Tag vysvetlivkaCookiesTag = new Tag() + { + Name = "vysvetlivka_cookies", + Description = "Informace o tom, co jsou cookies a jak zpracovávajĂ osobnĂ Ăşdaje", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(vysvetlivkaCookiesTag); + + Tag typCookiesTag = new Tag() + { + Name = "typ_cookies", + Description = "Informace o pouĹľitĂ doÄŤasnĂ˝ch nebo trvalĂ˝ch souborĹŻ cookies", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(typCookiesTag); + + Tag dobaCookiesTag = new Tag() + { + Name = "doba_cookies", + Description = "Informace o lhĹŻtÄ› uloĹľenĂ trvalĂ˝ch cookies", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(dobaCookiesTag); + + Tag pouziteSystemyTag = new Tag() + { + Name = "pouzite_systemy", + Description = "VyuĹľitĂ vlastnĂch technickĂ˝ch systĂ©mĹŻ, vyuĹľitĂ Google Analytics, vyuĹľitĂ dalšĂch systĂ©mĹŻ (napĹ™. NetMonitor, Recombee, Hotjar, …)", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(pouziteSystemyTag); + + Tag cookiesTretichStranTag = new Tag() + { + Name = "cookies_tretich_stran", + Description = "Informace o vyuĹľĂvánĂ cookies tĹ™etĂch stran (Google, Facebook, Sklik, …)", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(cookiesTretichStranTag); + + Tag ucelyCookiesTag = new Tag() + { + Name = "ucely_cookies", + Description = "Informace o tom, za jakĂ˝mi účely jsou prostĹ™ednictvĂm prohlĂĹľeÄŤe do pĹ™Ăstroje ukládány cookies", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(ucelyCookiesTag); + + Tag mericiPixelyTag = new Tag() + { + Name = "merici_pixely", + Description = "Informace o tom, Ĺľe web pouĹľĂvá tzv. měřĂcĂ pixely", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(mericiPixelyTag); + + Tag jmenoCookiesTag = new Tag() + { + Name = "jmeno_cookies", + Description = "JmĂ©no pouĹľitĂ© cookies.", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(jmenoCookiesTag); + + Tag vypnutiCookiesTag = new Tag() + { + Name = "vypnuti_cookies", + Description = "Návod na vypnutĂ cookies.", + Color = "", + Category = cookiesCat + }; + context.Tags.Add(vypnutiCookiesTag); + } + + private static void AddSubjects(DatabaseContext context) + { + TagCategory subjectsCat = new TagCategory() + { + Name = "Subjekty", + Description = "", + Color = "" + }; + context.TagCategories.Add(subjectsCat); + + Tag spravceTag = new Tag() + { + Name = "spravce", + Description = "Název správce", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(spravceTag); + + Tag kontaktSpravceEmailTag = new Tag() + { + Name = "kontakt_spravce_email", + Description = "Kontakt na správce – email", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(kontaktSpravceEmailTag); + + Tag kontaktSpravceAdresaTag = new Tag() + { + Name = "kontakt_spravce_adresa", + Description = "Kontakt na správce – adresa", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(kontaktSpravceAdresaTag); + + Tag kontaktSpravceTelTag = new Tag() + { + Name = "kontakt_spravce_tel", + Description = "Kontakt na správce – telefon", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(kontaktSpravceTelTag); + + Tag kontaktSpravceNamitkyTag = new Tag() + { + Name = "kontakt_spravce_namitky", + Description = "ZvláštnĂ kontakt pro vznášenĂ námitek a dotazĹŻ ohlednÄ› zpracovánĂ osobnĂch ĂşdajĹŻ (napĹ™. specializovanĂ˝ email)", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(kontaktSpravceNamitkyTag); + + Tag spolSpravceTag = new Tag() + { + Name = "spol_spravce", + Description = "Název spoleÄŤnĂ©ho správce", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(spolSpravceTag); + + Tag kontaktSpolSpravceTag = new Tag() + { + Name = "kontakt_spol_spravce", + Description = "Kontakt na spoleÄŤnĂ©ho správce", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(kontaktSpolSpravceTag); + + Tag zpracovatelTag = new Tag() + { + Name = "zpracovatel", + Description = "Název zpracovatele", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(zpracovatelTag); + + Tag kontaktZpracovatelTag = new Tag() + { + Name = "kontakt_zpracovatel", + Description = "Kontakt na zpracovatele", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(kontaktZpracovatelTag); + + Tag poverenecTag = new Tag() + { + Name = "poverenec", + Description = "Kontakt na pověřence pro ochranu osobnĂch ĂşdajĹŻ", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(poverenecTag); + + Tag prijemceTag = new Tag() + { + Name = "prijemce", + Description = "PĹ™Ăjemce ÄŤi kategorie pĹ™ĂjemcĹŻ osobnĂch Ăşdaj", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(prijemceTag); + + Tag dozorUradTag = new Tag() + { + Name = "dozor_urad", + Description = "Název dozorovĂ©ho úřadu", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(dozorUradTag); + + Tag kontaktDozorUradTag = new Tag() + { + Name = "kontakt_dozor_urad", + Description = "Název dozorovĂ©ho úřadu", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(kontaktDozorUradTag); + + Tag subjektUdajuTag = new Tag() //TODO: PotenciálnÄ› SubTagy? + { + Name = "subjekt_udaju", + Description = "V pĹ™ĂpadÄ› ÄŤlenÄ›nĂ podmĂnek a vytvářenĂ specifickĂ˝ch pravidel pro jednotlivĂ© kategorie subjektĹŻ ĂşdajĹŻ je nutnĂ© rozlišit tyto subjekty a následnÄ› pro nÄ› vytvoĹ™it zvláštnĂ tĹ™Ădu a tagy. ", + Color = "", + Category = subjectsCat + }; + context.Tags.Add(subjektUdajuTag); + + SubTag subjektUdajuSubTag = new SubTag() // Optionally add subtag // SUBTAG EX. + { + Name = "subjekt_udaju_1", + Description = "subjekt udaju 1", + Tag = subjektUdajuTag // Specify the tag + }; + context.SubTags.Add(subjektUdajuSubTag); + } + + private static void AddExperimental(DatabaseContext context) + { + TagCategory experimentalCat = new TagCategory() + { + Name = "K diskuzi tagy pro jednotlivĂ© cookies", + Description = "", + Color = "" + }; + context.TagCategories.Add(experimentalCat); + + Tag ukladaniInformaciVZarizeniTag = new Tag() + { + Name = "ukladani_informaci_v_zarizeni", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(ukladaniInformaciVZarizeniTag); + + Tag pristupKInformacimVZarizeniTag = new Tag() + { + Name = "pristup_k_informacim_v_zarizeni", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(pristupKInformacimVZarizeniTag); + + Tag nastaveniReklamyTag = new Tag() + { + Name = "nastaveni_reklamy", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(nastaveniReklamyTag); + + Tag personalizovanyObsahTag = new Tag() + { + Name = "personalizovany_obsah", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(personalizovanyObsahTag); + + Tag profilProPersonalizovanyObsahTag = new Tag() + { + Name = "profil_pro_personalizovany_obsah", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(profilProPersonalizovanyObsahTag); + + Tag mereniVykonuReklamyTag = new Tag() + { + Name = "mereni_vykonu_reklamy", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(mereniVykonuReklamyTag); + + Tag pouzitiVyzkumuTrhuTag = new Tag() + { + Name = "pouziti_vyzkumu_trhu", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(pouzitiVyzkumuTrhuTag); + + Tag vyberPersonalizovaneReklamyTag = new Tag() + { + Name = "vyber_personalizovane_reklamy", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(vyberPersonalizovaneReklamyTag); + + Tag vyvojAZlepsovaniTag = new Tag() + { + Name = "vyvoj_a_zlepsovani", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(vyvojAZlepsovaniTag); + + Tag profilProPersonalizovanouReklamuTag = new Tag() + { + Name = "profil_pro_personalizovanou_reklamu", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(profilProPersonalizovanouReklamuTag); + + Tag mereniVykonuObsahuTag = new Tag() + { + Name = "mereni_vykonu_obsahu", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(mereniVykonuObsahuTag); + + Tag zpracovaniDalsimiPartneryTag = new Tag() + { + Name = "zpracovani_dalsimi_partnery", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(zpracovaniDalsimiPartneryTag); + + Tag nezbytneCookiesTag = new Tag() + { + Name = "nezbytne_cookies", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(nezbytneCookiesTag); + + Tag parovaniOnlineAOfflineTag = new Tag() + { + Name = "parovani_online_a_offline", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(parovaniOnlineAOfflineTag); + + Tag propojeniZarizeniTag = new Tag() + { + Name = "propojeni_zarizeni", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(propojeniZarizeniTag); + + Tag identifikaceTag = new Tag() + { + Name = "identifikace", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(identifikaceTag); + + Tag technickeZajisteniZobrazovaniTag = new Tag() + { + Name = "technicke_zajisteni_zobrazovani", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(technickeZajisteniZobrazovaniTag); + + Tag predchazeniPodvodumTag = new Tag() + { + Name = "predchazeni_podvodum", + Description = "", + Color = "", + Category = experimentalCat + }; + context.Tags.Add(predchazeniPodvodumTag); + + + } + + } +} \ No newline at end of file diff --git a/Backend/Core/Seeding/Seeder.cs b/Backend/Core/Seeding/Seeder.cs index 617aaf9da803bf151ca1fdbed366326b7d764504..d6fb105b86a896d06d219975544ca070faf0b9ae 100644 --- a/Backend/Core/Seeding/Seeder.cs +++ b/Backend/Core/Seeding/Seeder.cs @@ -16,101 +16,9 @@ namespace Core.Seeding { if (!context.Users.Any(u => u.Role == ERole.ADMINISTRATOR)) { - DocumentContent content = new DocumentContent() - { - Content = "Dummy content" - }; - context.DocumentContents.Add(content); - - User user = new User() - { - Username = "testuser", - Name = "Test", - Surname = "User", - Password = BCrypt.Net.BCrypt.HashPassword("password"), - Role = ERole.ANNOTATOR - }; - context.Users.Add(user); - - User admin = new User() - { - Username = "admin", - Name = "Admin", - Surname = "User", - Password = BCrypt.Net.BCrypt.HashPassword("admin"), - Role = ERole.ADMINISTRATOR - }; - context.Users.Add(admin); - - Document document = new Document() - { - Content = content, - Name = "Test document", - DateAdded = DateTime.Now, - Length = 10, - RequiredAnnotations = 3, - UserAdded = user - }; - context.Documents.Add(document); - context.SaveChanges(); - - Annotation annotation = new Annotation() - { - DateAssigned = DateTime.Now, - DateLastChanged = DateTime.Now, - Document = document, - Note = "", - State = EState.NEW, - User = user, - UserAssigned = user - }; - context.Annotations.Add(annotation); - - Class clss = new Class() - { - Color = "rgb(...)", - Description = "Dummy description", - Name = "Dummy class name" - }; - context.Classes.Add(clss); - - annotation.Classes.Add(clss); - - TagCategory category = new TagCategory() - { - Name = "Dummy category", - Color = "rgb(...)", - Description = "Dummy category description" - }; - context.TagCategories.Add(category); - - Tag tag = new Tag() - { - Name = "Dummy tag", - Category = category, - Description = "Dummy tag", - Color = "rgb(...)" - }; - context.Tags.Add(tag); - SubTag subTag = new SubTag() - { - Description = "Dummy subtag", - Name = "Dummy subtag", - Tag = tag - }; - context.SubTags.Add(subTag); - - AnnotationTag annotationTag = new AnnotationTag() - { - Annotation = annotation, - Instance = 0, - Length = 1, - Position = 0, - Tag = tag, - Note = "Dummy note" - }; - context.AnnotationTags.Add(annotationTag); - + var users = AddUsers(context); + var classes = AddClasses(context); + DummyTags.AddDummyTags(context); context.SaveChanges(); } } @@ -131,5 +39,91 @@ namespace Core.Seeding context.SaveChanges(); } } + + private static List<Class> AddClasses(DatabaseContext context) + { + List<Class> classes = new List<Class>(); + Class class1 = new Class() + { + Name = "Class1", + Description = "Class1 description", + Color = "Class 1 color" + }; + context.Classes.Add(class1); + classes.Add(class1); + return classes; + } + + private static List<User> AddUsers(DatabaseContext context) + { + List<User> users = new List<User>(); + User annotator1 = new User() + { + Username = "annotator1", + Name = "Anno", + Surname = "Tator1", + Password = BCrypt.Net.BCrypt.HashPassword("password"), + Role = ERole.ANNOTATOR + }; + context.Users.Add(annotator1); + users.Add(annotator1); + + User annotator2 = new User() + { + Username = "annotator2", + Name = "Anno", + Surname = "Tator2", + Password = BCrypt.Net.BCrypt.HashPassword("password"), + Role = ERole.ANNOTATOR + }; + context.Users.Add(annotator2); + users.Add(annotator2); + + User annotator3 = new User() + { + Username = "annotator3", + Name = "Anno", + Surname = "Tator3", + Password = BCrypt.Net.BCrypt.HashPassword("password"), + Role = ERole.ANNOTATOR + }; + context.Users.Add(annotator3); + users.Add(annotator3); + + User annotator4 = new User() + { + Username = "annotator4", + Name = "Anno", + Surname = "Tator4", + Password = BCrypt.Net.BCrypt.HashPassword("password"), + Role = ERole.ANNOTATOR + }; + context.Users.Add(annotator4); + users.Add(annotator4); + + User annotator5 = new User() + { + Username = "annotator5", + Name = "Anno", + Surname = "Tator5", + Password = BCrypt.Net.BCrypt.HashPassword("password"), + Role = ERole.ANNOTATOR + }; + context.Users.Add(annotator5); + users.Add(annotator5); + + User admin = new User() + { + Username = "admin", + Name = "Admin", + Surname = "User", + Password = BCrypt.Net.BCrypt.HashPassword("admin"), + Role = ERole.ADMINISTRATOR + }; + context.Users.Add(admin); + users.Add(admin); + + return users; + } } } \ No newline at end of file