diff --git a/api/.idea/.gitignore b/api/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..13566b81b018ad684f3a35fee301741b2734c8f4 --- /dev/null +++ b/api/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/api/.idea/compiler.xml b/api/.idea/compiler.xml new file mode 100644 index 0000000000000000000000000000000000000000..89a4163c3d4a79efb15cabca202371c0d3f7cbcf --- /dev/null +++ b/api/.idea/compiler.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="CompilerConfiguration"> + <annotationProcessing> + <profile default="true" name="Default" enabled="true" /> + <profile name="Maven default annotation processors profile" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + </profile> + <profile name="Annotation profile for Freshify API" enabled="true"> + <sourceOutputDir name="target/generated-sources/annotations" /> + <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> + <outputRelativeToContentRoot value="true" /> + <processorPath useClasspath="false"> + <entry name="$MAVEN_REPOSITORY$/org/projectlombok/lombok/1.18.20/lombok-1.18.20.jar" /> + <entry name="$MAVEN_REPOSITORY$/org/projectlombok/lombok-mapstruct-binding/0.2.0/lombok-mapstruct-binding-0.2.0.jar" /> + <entry name="$MAVEN_REPOSITORY$/org/mapstruct/mapstruct-processor/1.4.2.Final/mapstruct-processor-1.4.2.Final.jar" /> + <entry name="$MAVEN_REPOSITORY$/org/mapstruct/mapstruct/1.4.2.Final/mapstruct-1.4.2.Final.jar" /> + </processorPath> + <module name="api" /> + </profile> + </annotationProcessing> + </component> + <component name="JavacSettings"> + <option name="ADDITIONAL_OPTIONS_OVERRIDE"> + <module name="api" options="-parameters" /> + </option> + </component> +</project> \ No newline at end of file diff --git a/api/.idea/encodings.xml b/api/.idea/encodings.xml new file mode 100644 index 0000000000000000000000000000000000000000..63e900193296f8ed911a1b9f5b051cf908099431 --- /dev/null +++ b/api/.idea/encodings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Encoding"> + <file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" /> + </component> +</project> \ No newline at end of file diff --git a/api/.idea/jarRepositories.xml b/api/.idea/jarRepositories.xml new file mode 100644 index 0000000000000000000000000000000000000000..712ab9d985c20018a0c97b93d2148ac1ffe588a5 --- /dev/null +++ b/api/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="RemoteRepositoriesConfiguration"> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Central Repository" /> + <option name="url" value="https://repo.maven.apache.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="central" /> + <option name="name" value="Maven Central repository" /> + <option name="url" value="https://repo1.maven.org/maven2" /> + </remote-repository> + <remote-repository> + <option name="id" value="jboss.community" /> + <option name="name" value="JBoss Community repository" /> + <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> + </remote-repository> + </component> +</project> \ No newline at end of file diff --git a/api/.idea/jpa-buddy.xml b/api/.idea/jpa-buddy.xml new file mode 100644 index 0000000000000000000000000000000000000000..898e07a6753d20b618d16050a3b2681b3b2beff0 --- /dev/null +++ b/api/.idea/jpa-buddy.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="JpaBuddyIdeaProjectConfig"> + <option name="defaultUnitInitialized" value="true" /> + <option name="renamerInitialized" value="true" /> + </component> +</project> \ No newline at end of file diff --git a/api/.idea/misc.xml b/api/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..82ab2ccf16eb636082324c75e9155dca4709899b --- /dev/null +++ b/api/.idea/misc.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ExternalStorageConfigurationManager" enabled="true" /> + <component name="MavenProjectsManager"> + <option name="originalFiles"> + <list> + <option value="$PROJECT_DIR$/pom.xml" /> + </list> + </option> + </component> + <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK" /> + <component name="ProjectType"> + <option name="id" value="jpab" /> + </component> +</project> \ No newline at end of file diff --git a/api/.idea/uiDesigner.xml b/api/.idea/uiDesigner.xml new file mode 100644 index 0000000000000000000000000000000000000000..2b63946d5b31084bbb7dda418ceb3d75eb686373 --- /dev/null +++ b/api/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="Palette2"> + <group name="Swing"> + <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" /> + </item> + <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true"> + <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" /> + <initial-values> + <property name="text" value="Button" /> + </initial-values> + </item> + <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="RadioButton" /> + </initial-values> + </item> + <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="CheckBox" /> + </initial-values> + </item> + <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" /> + <initial-values> + <property name="text" value="Label" /> + </initial-values> + </item> + <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1"> + <preferred-size width="150" height="-1" /> + </default-constraints> + </item> + <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3"> + <preferred-size width="150" height="50" /> + </default-constraints> + </item> + <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3"> + <preferred-size width="200" height="200" /> + </default-constraints> + </item> + <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" /> + </item> + <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" /> + </item> + <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1"> + <preferred-size width="-1" height="20" /> + </default-constraints> + </item> + <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false"> + <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" /> + </item> + <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false"> + <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" /> + </item> + </group> + </component> +</project> \ No newline at end of file diff --git a/api/.idea/vcs.xml b/api/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..6c0b8635858dc7ad44b93df54b762707ce49eefc --- /dev/null +++ b/api/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="$PROJECT_DIR$/.." vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/api/api.iml b/api/api.iml new file mode 100644 index 0000000000000000000000000000000000000000..aa3916f2bf802761e73f4439f126a358a2a12115 --- /dev/null +++ b/api/api.iml @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> + <component name="FacetManager"> + <facet type="web" name="Web"> + <configuration> + <webroots /> + <sourceRoots> + <root url="file://$MODULE_DIR$/src/main/java" /> + <root url="file://$MODULE_DIR$/src/main/resources" /> + </sourceRoots> + </configuration> + </facet> + <facet type="jpa" name="JPA"> + <configuration> + <setting name="validation-enabled" value="true" /> + <setting name="provider-name" value="Hibernate" /> + <datasource-mapping /> + <naming-strategy-map /> + </configuration> + </facet> + <facet type="Spring" name="Spring"> + <configuration /> + </facet> + </component> + <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_17"> + <output url="file://$MODULE_DIR$/target/classes" /> + <output-test url="file://$MODULE_DIR$/target/test-classes" /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> + <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> + <excludeFolder url="file://$MODULE_DIR$/target" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-data-jpa:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.19" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:5.0.1" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.hibernate.orm:hibernate-core:6.1.7.Final" level="project" /> + <orderEntry type="library" name="Maven: jakarta.persistence:jakarta.persistence-api:3.1.0" level="project" /> + <orderEntry type="library" name="Maven: jakarta.transaction:jakarta.transaction-api:2.0.1" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.jboss.logging:jboss-logging:3.5.0.Final" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.hibernate.common:hibernate-commons-annotations:6.0.6.Final" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.jboss:jandex:2.4.2.Final" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: com.fasterxml:classmate:1.5.1" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: net.bytebuddy:byte-buddy:1.12.23" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.glassfish.jaxb:jaxb-runtime:4.0.2" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.glassfish.jaxb:jaxb-core:4.0.2" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.eclipse.angus:angus-activation:2.0.0" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.glassfish.jaxb:txw2:4.0.2" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.istack:istack-commons-runtime:4.1.1" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: jakarta.inject:jakarta.inject-api:2.0.0" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: org.antlr:antlr4-runtime:4.10.1" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.data:spring-data-jpa:3.0.4" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:3.0.4" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-orm:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-context:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-tx:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-beans:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:2.1.1" level="project" /> + <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:2.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-aspects:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-oauth2-client:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.4.6" level="project" /> + <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.4.6" level="project" /> + <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.19.0" level="project" /> + <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.19.0" level="project" /> + <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:2.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.33" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-expression:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: io.micrometer:micrometer-observation:1.10.5" level="project" /> + <orderEntry type="library" name="Maven: io.micrometer:micrometer-commons:1.10.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-client:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-core:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: com.nimbusds:oauth2-oidc-sdk:9.43.1" level="project" /> + <orderEntry type="library" name="Maven: com.github.stephenc.jcip:jcip-annotations:1.0-1" level="project" /> + <orderEntry type="library" name="Maven: com.nimbusds:content-type:2.2" level="project" /> + <orderEntry type="library" name="Maven: com.nimbusds:lang-tag:1.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-jose:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:9.24.4" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-oauth2-resource-server:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-resource-server:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-aop:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.14.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.14.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.14.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.14.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.2" level="project" /> + <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.14.2" level="project" /> + <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:3.0.5" level="project" /> + <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:10.1.7" level="project" /> + <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:10.1.7" level="project" /> + <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:10.1.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-web:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:6.0.7" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: com.h2database:h2:2.1.214" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: com.mysql:mysql-connector-j:8.0.32" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:3.0.5" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:3.0.5" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:3.0.5" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.7.0" level="project" /> + <orderEntry type="library" name="Maven: net.minidev:json-smart:2.4.10" level="project" /> + <orderEntry type="library" name="Maven: net.minidev:accessors-smart:2.4.9" level="project" /> + <orderEntry type="library" name="Maven: org.ow2.asm:asm:9.3" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:4.0.0" level="project" /> + <orderEntry type="library" scope="RUNTIME" name="Maven: jakarta.activation:jakarta.activation-api:2.1.1" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.23.1" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.9.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.9.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.9.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.9.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.9.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.9.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:4.8.1" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.12.23" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.2" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:4.8.1" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.1" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-core:6.0.7" level="project" /> + <orderEntry type="library" name="Maven: org.springframework:spring-jcl:6.0.7" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:6.0.7" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.9.1" level="project" /> + <orderEntry type="library" scope="TEST" name="Maven: org.springframework.security:spring-security-test:6.0.2" level="project" /> + <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.26" level="project" /> + </component> +</module> \ No newline at end of file diff --git a/api/database/localdb.mv.db b/api/database/localdb.mv.db new file mode 100644 index 0000000000000000000000000000000000000000..72d9f048bac533ab2f04d7b0ed090c910dc68ec0 Binary files /dev/null and b/api/database/localdb.mv.db differ diff --git a/api/database/localdb.trace.db b/api/database/localdb.trace.db new file mode 100644 index 0000000000000000000000000000000000000000..2dc86ca284f6ecb0e4222f4d748eec3c4242c24f --- /dev/null +++ b/api/database/localdb.trace.db @@ -0,0 +1,163 @@ +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (1, 1, 'OWNER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (1, 2, 'MEMBER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (2, 3, 'OWNER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (2, 4, 'MEMBER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (3, 5, 'OWNER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (3, 6, 'MEMBER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (4, 7, 'OWNER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (4, 8, 'MEMBER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (5, 9, 'OWNER') [42102-214] +2023-04-20 13:36:10 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (5, 10, 'MEMBER') [42102-214] +2023-04-20 13:37:12 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "[*]HOUSEHOLD_MEMBER ITEM HOUSEHOLD_MEMBER HOUSEHOLD"; expected "HELP"; SQL statement: +HOUSEHOLD_MEMBER ITEM HOUSEHOLD_MEMBER HOUSEHOLD [42001-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (1, 1, 'SUPERUSER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (1, 2, 'USER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (2, 3, 'SUPERUSER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (2, 4, 'USER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (3, 5, 'SUPERUSER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (3, 6, 'USER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (4, 7, 'SUPERUSER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (4, 8, 'USER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (5, 9, 'SUPERUSER') [42102-214] +2023-04-20 13:46:14 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "HOUSEHOLDMEMBER" not found; SQL statement: +INSERT INTO HouseholdMember (household_id, user_id, role) VALUES (5, 10, 'USER') [42102-214] +2023-04-21 14:24:07 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "type test" not found; SQL statement: +INSERT INTO ITEM_TYPE VALUES(1, "type test") [42122-214] + at org.h2.message.DbException.getJdbcSQLException(DbException.java:502) + at org.h2.message.DbException.getJdbcSQLException(DbException.java:477) + at org.h2.message.DbException.get(DbException.java:223) + at org.h2.message.DbException.get(DbException.java:199) + at org.h2.expression.ExpressionColumn.getColumnException(ExpressionColumn.java:244) + at org.h2.expression.ExpressionColumn.optimizeOther(ExpressionColumn.java:226) + at org.h2.expression.ExpressionColumn.optimize(ExpressionColumn.java:213) + at org.h2.command.dml.Insert.doPrepare(Insert.java:300) + at org.h2.command.dml.DataChangeStatement.prepare(DataChangeStatement.java:37) + at org.h2.command.Parser.prepareCommand(Parser.java:575) + at org.h2.engine.SessionLocal.prepareLocal(SessionLocal.java:631) + at org.h2.engine.SessionLocal.prepareCommand(SessionLocal.java:554) + at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1116) + at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:237) + at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:223) + at org.h2.server.web.WebApp.getResult(WebApp.java:1339) + at org.h2.server.web.WebApp.query(WebApp.java:1137) + at org.h2.server.web.WebApp.query(WebApp.java:1113) + at org.h2.server.web.WebApp.process(WebApp.java:244) + at org.h2.server.web.WebApp.processRequest(WebApp.java:176) + at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) + at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:563) + at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:631) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at no.freshify.api.security.JwtTokenFilter.doFilterInternal(JwtTokenFilter.java:66) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:219) + at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:191) + at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:352) + at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:268) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) + at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) + at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) + at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) + at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166) + at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) + at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) + at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) + at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) + at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) + at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:341) + at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390) + at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) + at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:894) + at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1741) + at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) + at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) + at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) + at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) + at java.base/java.lang.Thread.run(Thread.java:833) +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Shirt') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Pants') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Dress') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Jacket') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Hat') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Shoes') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Socks') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Sweater') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Shorts') [42102-214] +2023-04-21 14:25:36 jdbc[13]: exception +org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "ITEMTYPE" not found; SQL statement: +INSERT INTO ItemType (name) VALUES ('Skirt') [42102-214] diff --git a/api/src/main/java/no/freshify/api/model/dto/HouseholdDTO.java b/api/src/main/java/no/freshify/api/model/dto/HouseholdDTO.java index 7b1ba356288cdd2d2ca416ebd2bc973e54309cfc..9d7cf05c8908a0a34cc6b7ce55875315812ec368 100644 --- a/api/src/main/java/no/freshify/api/model/dto/HouseholdDTO.java +++ b/api/src/main/java/no/freshify/api/model/dto/HouseholdDTO.java @@ -6,5 +6,6 @@ import lombok.Setter; @Getter @Setter public class HouseholdDTO { + private Long id; private String name; } diff --git a/api/target/classes/application-dev.properties b/api/target/classes/application-dev.properties new file mode 100644 index 0000000000000000000000000000000000000000..7fa9ec49a7cfdbff49d5e7e40e496ec194b7ccaa --- /dev/null +++ b/api/target/classes/application-dev.properties @@ -0,0 +1,12 @@ +spring.h2.console.enabled=true +spring.h2.console.path=/h2-ui + +spring.datasource.url=jdbc:mysql://127.0.0.1:56000/freshify_dev +spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver +spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect +spring.jpa.hibernate.ddl-auto=update +spring.datasource.username=root +spring.datasource.password=freshify +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect + +jwt.secret=abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz \ No newline at end of file diff --git a/api/target/classes/application.properties b/api/target/classes/application.properties new file mode 100644 index 0000000000000000000000000000000000000000..cbb42d2ac32b3ecbfa477336eab170fb97868c0b --- /dev/null +++ b/api/target/classes/application.properties @@ -0,0 +1 @@ +spring.profiles.active=dev diff --git a/api/target/classes/insert_item_types.sql b/api/target/classes/insert_item_types.sql new file mode 100644 index 0000000000000000000000000000000000000000..3b5baf11f944748d3e4d6c52110762bf8afc8c14 --- /dev/null +++ b/api/target/classes/insert_item_types.sql @@ -0,0 +1,998 @@ +USE freshify_dev; +START TRANSACTION; +INSERT INTO item_type (name) VALUES ('Åbor'); +INSERT INTO item_type (name) VALUES ('Adzukibønner'); +INSERT INTO item_type (name) VALUES ('Agurk'); +INSERT INTO item_type (name) VALUES ('Agurker'); +INSERT INTO item_type (name) VALUES ('Agurksalat'); +INSERT INTO item_type (name) VALUES ('Aioli'); +INSERT INTO item_type (name) VALUES ('Ajvar'); +INSERT INTO item_type (name) VALUES ('Akkar'); +INSERT INTO item_type (name) VALUES ('Ål'); +INSERT INTO item_type (name) VALUES ('Alaska pollock'); +INSERT INTO item_type (name) VALUES ('Alfalfaspirer'); +INSERT INTO item_type (name) VALUES ('Alkoholholdige drikkevarer'); +INSERT INTO item_type (name) VALUES ('Amaranth'); +INSERT INTO item_type (name) VALUES ('Ananas'); +INSERT INTO item_type (name) VALUES ('Ananasjuice'); +INSERT INTO item_type (name) VALUES ('And'); +INSERT INTO item_type (name) VALUES ('Andre kaker o.l.'); +INSERT INTO item_type (name) VALUES ('Anisfrø'); +INSERT INTO item_type (name) VALUES ('Ansjos'); +INSERT INTO item_type (name) VALUES ('Appelsin'); +INSERT INTO item_type (name) VALUES ('Appelsinjuice'); +INSERT INTO item_type (name) VALUES ('Appelsinmarmelade'); +INSERT INTO item_type (name) VALUES ('Appelsinsaft'); +INSERT INTO item_type (name) VALUES ('Appelsinskall'); +INSERT INTO item_type (name) VALUES ('Aprikos'); +INSERT INTO item_type (name) VALUES ('Aprikossyltetøy'); +INSERT INTO item_type (name) VALUES ('Aronia'); +INSERT INTO item_type (name) VALUES ('Artiskokk'); +INSERT INTO item_type (name) VALUES ('Asparges'); +INSERT INTO item_type (name) VALUES ('Aspargesbønner'); +INSERT INTO item_type (name) VALUES ('Aspargessuppe'); +INSERT INTO item_type (name) VALUES ('Aubergine'); +INSERT INTO item_type (name) VALUES ('Avokado'); +INSERT INTO item_type (name) VALUES ('Avokado- og kikertpålegg'); +INSERT INTO item_type (name) VALUES ('Babygulrot'); +INSERT INTO item_type (name) VALUES ('Babymais'); +INSERT INTO item_type (name) VALUES ('Babyspinat'); +INSERT INTO item_type (name) VALUES ('Baconcrisp'); +INSERT INTO item_type (name) VALUES ('Baconost'); +INSERT INTO item_type (name) VALUES ('Baconpostei '); +INSERT INTO item_type (name) VALUES ('Bagels'); +INSERT INTO item_type (name) VALUES ('Baguett'); +INSERT INTO item_type (name) VALUES ('Baguette'); +INSERT INTO item_type (name) VALUES ('Bakepulver'); +INSERT INTO item_type (name) VALUES ('Balsamicoeddik'); +INSERT INTO item_type (name) VALUES ('Bambusskudd'); +INSERT INTO item_type (name) VALUES ('Banan'); +INSERT INTO item_type (name) VALUES ('Bananchips'); +INSERT INTO item_type (name) VALUES ('Banankake'); +INSERT INTO item_type (name) VALUES ('Bankekjøtt'); +INSERT INTO item_type (name) VALUES ('Barnemat'); +INSERT INTO item_type (name) VALUES ('Basilikum'); +INSERT INTO item_type (name) VALUES ('Bayonneskinke'); +INSERT INTO item_type (name) VALUES ('Belgfrukter'); +INSERT INTO item_type (name) VALUES ('Berlinerbolle'); +INSERT INTO item_type (name) VALUES ('Berlinerkrans'); +INSERT INTO item_type (name) VALUES ('Bernaisesaus'); +INSERT INTO item_type (name) VALUES ('Betasuppe'); +INSERT INTO item_type (name) VALUES ('Bidos'); +INSERT INTO item_type (name) VALUES ('Biff stroganoff'); +INSERT INTO item_type (name) VALUES ('Biscotti'); +INSERT INTO item_type (name) VALUES ('Bjørnebær'); +INSERT INTO item_type (name) VALUES ('Bjørnebærsyltetøy'); +INSERT INTO item_type (name) VALUES ('Blåbær'); +INSERT INTO item_type (name) VALUES ('Blåbærsyltetøy'); +INSERT INTO item_type (name) VALUES ('Bladsalat'); +INSERT INTO item_type (name) VALUES ('Blåkveite'); +INSERT INTO item_type (name) VALUES ('Blålange'); +INSERT INTO item_type (name) VALUES ('Blåskjell'); +INSERT INTO item_type (name) VALUES ('Blod'); +INSERT INTO item_type (name) VALUES ('Blodpudding'); +INSERT INTO item_type (name) VALUES ('Blokkebær'); +INSERT INTO item_type (name) VALUES ('Blomkål'); +INSERT INTO item_type (name) VALUES ('Blomkål/brokkolisuppe'); +INSERT INTO item_type (name) VALUES ('Blomkålsuppe'); +INSERT INTO item_type (name) VALUES ('Bløtkake'); +INSERT INTO item_type (name) VALUES ('Bogskinke'); +INSERT INTO item_type (name) VALUES ('Bokhvete'); +INSERT INTO item_type (name) VALUES ('Bokhvetemel'); +INSERT INTO item_type (name) VALUES ('Bolle'); +INSERT INTO item_type (name) VALUES ('Bondebønner'); +INSERT INTO item_type (name) VALUES ('Bønnegryte'); +INSERT INTO item_type (name) VALUES ('Bønnekarbonader'); +INSERT INTO item_type (name) VALUES ('Bønne- og olivensalat'); +INSERT INTO item_type (name) VALUES ('Bønner'); +INSERT INTO item_type (name) VALUES ('Bønnespirer'); +INSERT INTO item_type (name) VALUES ('Borlottibønner'); +INSERT INTO item_type (name) VALUES ('Bouillabaisse'); +INSERT INTO item_type (name) VALUES ('Breiflabb'); +INSERT INTO item_type (name) VALUES ('Brelett'); +INSERT INTO item_type (name) VALUES ('Bremykt'); +INSERT INTO item_type (name) VALUES ('Brennesle'); +INSERT INTO item_type (name) VALUES ('Brennevin'); +INSERT INTO item_type (name) VALUES ('Brie'); +INSERT INTO item_type (name) VALUES ('Bringebær'); +INSERT INTO item_type (name) VALUES ('Bringebærsyltetøy'); +INSERT INTO item_type (name) VALUES ('Brioche'); +INSERT INTO item_type (name) VALUES ('Brisling'); +INSERT INTO item_type (name) VALUES ('Brød'); +INSERT INTO item_type (name) VALUES ('Brødvarer'); +INSERT INTO item_type (name) VALUES ('Brokkoli'); +INSERT INTO item_type (name) VALUES ('Brokkolisuppe'); +INSERT INTO item_type (name) VALUES ('Brønnkarse'); +INSERT INTO item_type (name) VALUES ('Brosme'); +INSERT INTO item_type (name) VALUES ('Brownies'); +INSERT INTO item_type (name) VALUES ('Brune bønner'); +INSERT INTO item_type (name) VALUES ('Brune pinner'); +INSERT INTO item_type (name) VALUES ('Brunost'); +INSERT INTO item_type (name) VALUES ('Brun saus'); +INSERT INTO item_type (name) VALUES ('Brus'); +INSERT INTO item_type (name) VALUES ('Bulgurgryn'); +INSERT INTO item_type (name) VALUES ('Buljongpulver'); +INSERT INTO item_type (name) VALUES ('Butterdeig'); +INSERT INTO item_type (name) VALUES ('Byggmel'); +INSERT INTO item_type (name) VALUES ('Byggryn'); +INSERT INTO item_type (name) VALUES ('Byggrynsgrøt'); +INSERT INTO item_type (name) VALUES ('Cæsardressing'); +INSERT INTO item_type (name) VALUES ('Cæsarsalat'); +INSERT INTO item_type (name) VALUES ('Café au lait'); +INSERT INTO item_type (name) VALUES ('Caffe latte'); +INSERT INTO item_type (name) VALUES ('Caffe mocca'); +INSERT INTO item_type (name) VALUES ('Camembert'); +INSERT INTO item_type (name) VALUES ('Cappucino'); +INSERT INTO item_type (name) VALUES ('Carambola'); +INSERT INTO item_type (name) VALUES ('Cashewnøtter'); +INSERT INTO item_type (name) VALUES ('Cashewnøttpålegg'); +INSERT INTO item_type (name) VALUES ('Chapatti'); +INSERT INTO item_type (name) VALUES ('Chayote'); +INSERT INTO item_type (name) VALUES ('Cheddar'); +INSERT INTO item_type (name) VALUES ('Cheddarsaus'); +INSERT INTO item_type (name) VALUES ('Cheeseburger'); +INSERT INTO item_type (name) VALUES ('Cherimoya'); +INSERT INTO item_type (name) VALUES ('Cherrytomat'); +INSERT INTO item_type (name) VALUES ('Chevre'); +INSERT INTO item_type (name) VALUES ('Chiafrø'); +INSERT INTO item_type (name) VALUES ('Chiapudding'); +INSERT INTO item_type (name) VALUES ('Chili'); +INSERT INTO item_type (name) VALUES ('Chili con carne'); +INSERT INTO item_type (name) VALUES ('Chilinøtter'); +INSERT INTO item_type (name) VALUES ('Chilipulver'); +INSERT INTO item_type (name) VALUES ('Chilisaus'); +INSERT INTO item_type (name) VALUES ('Chorizo'); +INSERT INTO item_type (name) VALUES ('Ciabatta'); +INSERT INTO item_type (name) VALUES ('Cider'); +INSERT INTO item_type (name) VALUES ('Coleslaw'); +INSERT INTO item_type (name) VALUES ('Corn flakes'); +INSERT INTO item_type (name) VALUES ('Cortado'); +INSERT INTO item_type (name) VALUES ('Cottage Cheese'); +INSERT INTO item_type (name) VALUES ('Couscous'); +INSERT INTO item_type (name) VALUES ('Crabsticksalat'); +INSERT INTO item_type (name) VALUES ('Crème Chérie'); +INSERT INTO item_type (name) VALUES ('Crème Fraîche'); +INSERT INTO item_type (name) VALUES ('Croissant'); +INSERT INTO item_type (name) VALUES ('Cupcakes'); +INSERT INTO item_type (name) VALUES ('Daddel'); +INSERT INTO item_type (name) VALUES ('Daimkake'); +INSERT INTO item_type (name) VALUES ('Delfiakake'); +INSERT INTO item_type (name) VALUES ('Dessert'); +INSERT INTO item_type (name) VALUES ('Dessert-topping på boks'); +INSERT INTO item_type (name) VALUES ('Dessertvin'); +INSERT INTO item_type (name) VALUES ('Dill'); +INSERT INTO item_type (name) VALUES ('Dipsaus'); +INSERT INTO item_type (name) VALUES ('Donuts'); +INSERT INTO item_type (name) VALUES ('Dressing'); +INSERT INTO item_type (name) VALUES ('Drikke'); +INSERT INTO item_type (name) VALUES ('Drue'); +INSERT INTO item_type (name) VALUES ('Druejuice'); +INSERT INTO item_type (name) VALUES ('Edamamebønner'); +INSERT INTO item_type (name) VALUES ('Edamer'); +INSERT INTO item_type (name) VALUES ('Eddik'); +INSERT INTO item_type (name) VALUES ('Egg'); +INSERT INTO item_type (name) VALUES ('Eggedosis'); +INSERT INTO item_type (name) VALUES ('Eggehvite'); +INSERT INTO item_type (name) VALUES ('Eggekrem'); +INSERT INTO item_type (name) VALUES ('Eggeplomme'); +INSERT INTO item_type (name) VALUES ('Eggerøre'); +INSERT INTO item_type (name) VALUES ('Eggesalat'); +INSERT INTO item_type (name) VALUES ('Elg'); +INSERT INTO item_type (name) VALUES ('Endivesalat'); +INSERT INTO item_type (name) VALUES ('Energidrikk'); +INSERT INTO item_type (name) VALUES ('Eple'); +INSERT INTO item_type (name) VALUES ('Eplecidereddik'); +INSERT INTO item_type (name) VALUES ('Eplejuice'); +INSERT INTO item_type (name) VALUES ('Eplekake'); +INSERT INTO item_type (name) VALUES ('Eplemos'); +INSERT INTO item_type (name) VALUES ('Eplenektar'); +INSERT INTO item_type (name) VALUES ('Eplepai'); +INSERT INTO item_type (name) VALUES ('Erter'); +INSERT INTO item_type (name) VALUES ('Ertestuing'); +INSERT INTO item_type (name) VALUES ('Espresso'); +INSERT INTO item_type (name) VALUES ('Estragon'); +INSERT INTO item_type (name) VALUES ('Falafel'); +INSERT INTO item_type (name) VALUES ('Falukorv'); +INSERT INTO item_type (name) VALUES ('Fårepølse'); +INSERT INTO item_type (name) VALUES ('Fårikål av lammekjøtt'); +INSERT INTO item_type (name) VALUES ('Feltsalat'); +INSERT INTO item_type (name) VALUES ('Fenalår'); +INSERT INTO item_type (name) VALUES ('Fennikel'); +INSERT INTO item_type (name) VALUES ('Fennikelfrø'); +INSERT INTO item_type (name) VALUES ('Fersken'); +INSERT INTO item_type (name) VALUES ('Feta'); +INSERT INTO item_type (name) VALUES ('Fet fisk'); +INSERT INTO item_type (name) VALUES ('Fiken'); +INSERT INTO item_type (name) VALUES ('Filodeig'); +INSERT INTO item_type (name) VALUES ('Fiskeboller'); +INSERT INTO item_type (name) VALUES ('Fiskeburger'); +INSERT INTO item_type (name) VALUES ('Fiskefarse'); +INSERT INTO item_type (name) VALUES ('Fiskegrateng'); +INSERT INTO item_type (name) VALUES ('Fiskegryte'); +INSERT INTO item_type (name) VALUES ('Fiskekaker'); +INSERT INTO item_type (name) VALUES ('Fiskekarbonader'); +INSERT INTO item_type (name) VALUES ('Fiskepaté'); +INSERT INTO item_type (name) VALUES ('Fiskepinner'); +INSERT INTO item_type (name) VALUES ('Fiskeprodukter og fiskepålegg'); +INSERT INTO item_type (name) VALUES ('Fiskepudding'); +INSERT INTO item_type (name) VALUES ('Fiskesuppe'); +INSERT INTO item_type (name) VALUES ('Fisk og fiskeprodukter'); +INSERT INTO item_type (name) VALUES ('Fisk og skalldyr'); +INSERT INTO item_type (name) VALUES ('Fjørfe'); +INSERT INTO item_type (name) VALUES ('Fjørfe '); +INSERT INTO item_type (name) VALUES ('Fjørfe og kjøtt'); +INSERT INTO item_type (name) VALUES ('Flatbrød'); +INSERT INTO item_type (name) VALUES ('Fleskepølse'); +INSERT INTO item_type (name) VALUES ('Floradix'); +INSERT INTO item_type (name) VALUES ('Fløte'); +INSERT INTO item_type (name) VALUES ('Fløtegratinerte poteter'); +INSERT INTO item_type (name) VALUES ('Fløtemysost'); +INSERT INTO item_type (name) VALUES ('Fløyelsgrøt'); +INSERT INTO item_type (name) VALUES ('Focaccia'); +INSERT INTO item_type (name) VALUES ('Formkake'); +INSERT INTO item_type (name) VALUES ('Frityrolje'); +INSERT INTO item_type (name) VALUES ('Frokostkorn'); +INSERT INTO item_type (name) VALUES ('Frokostsalat'); +INSERT INTO item_type (name) VALUES ('Fromasj'); +INSERT INTO item_type (name) VALUES ('Fruktcocktail'); +INSERT INTO item_type (name) VALUES ('Fruktmüsli'); +INSERT INTO item_type (name) VALUES ('Frukt og bær'); +INSERT INTO item_type (name) VALUES ('Fruktpuré'); +INSERT INTO item_type (name) VALUES ('Fruktsaus'); +INSERT INTO item_type (name) VALUES ('Fruktsmoothie'); +INSERT INTO item_type (name) VALUES ('Fruktstang'); +INSERT INTO item_type (name) VALUES ('Fruktsuppe'); +INSERT INTO item_type (name) VALUES ('Fyrstekake'); +INSERT INTO item_type (name) VALUES ('Gaffelbiter'); +INSERT INTO item_type (name) VALUES ('Galiamelon'); +INSERT INTO item_type (name) VALUES ('Gamalost'); +INSERT INTO item_type (name) VALUES ('Gås'); +INSERT INTO item_type (name) VALUES ('Geitmelk'); +INSERT INTO item_type (name) VALUES ('Geitost'); +INSERT INTO item_type (name) VALUES ('Gelatin'); +INSERT INTO item_type (name) VALUES ('Gelé'); +INSERT INTO item_type (name) VALUES ('Geléfrukt'); +INSERT INTO item_type (name) VALUES ('Ghee'); +INSERT INTO item_type (name) VALUES ('Gjær'); +INSERT INTO item_type (name) VALUES ('Gjedde'); +INSERT INTO item_type (name) VALUES ('Gomme'); +INSERT INTO item_type (name) VALUES ('Gorgonzola'); +INSERT INTO item_type (name) VALUES ('Goro'); +INSERT INTO item_type (name) VALUES ('Goudaost'); +INSERT INTO item_type (name) VALUES ('Gräddost'); +INSERT INTO item_type (name) VALUES ('Granateple'); +INSERT INTO item_type (name) VALUES ('Granola'); +INSERT INTO item_type (name) VALUES ('Grapefrukt'); +INSERT INTO item_type (name) VALUES ('Grapefruktjuice'); +INSERT INTO item_type (name) VALUES ('Gresskar'); +INSERT INTO item_type (name) VALUES ('Gresskarsuppe'); +INSERT INTO item_type (name) VALUES ('Gressløk'); +INSERT INTO item_type (name) VALUES ('Grillpølse'); +INSERT INTO item_type (name) VALUES ('Grønnkål'); +INSERT INTO item_type (name) VALUES ('Grønnsaker'); +INSERT INTO item_type (name) VALUES ('Grønnsaksblanding'); +INSERT INTO item_type (name) VALUES ('Grønnsaksgryte'); +INSERT INTO item_type (name) VALUES ('Grønnsakspostei'); +INSERT INTO item_type (name) VALUES ('Grønnsaksprodukter'); +INSERT INTO item_type (name) VALUES ('Grønnsaksrøre'); +INSERT INTO item_type (name) VALUES ('Grøt '); +INSERT INTO item_type (name) VALUES ('Grovbakstmel'); +INSERT INTO item_type (name) VALUES ('Gruyere'); +INSERT INTO item_type (name) VALUES ('Gryn'); +INSERT INTO item_type (name) VALUES ('Grytebasis'); +INSERT INTO item_type (name) VALUES ('Guacamole'); +INSERT INTO item_type (name) VALUES ('Guava'); +INSERT INTO item_type (name) VALUES ('Gudbrandsdalsost'); +INSERT INTO item_type (name) VALUES ('Gulasj'); +INSERT INTO item_type (name) VALUES ('Gulløl'); +INSERT INTO item_type (name) VALUES ('Gulost'); +INSERT INTO item_type (name) VALUES ('Gulrot'); +INSERT INTO item_type (name) VALUES ('Gulrotkake'); +INSERT INTO item_type (name) VALUES ('Gulrotsuppe'); +INSERT INTO item_type (name) VALUES ('Gurkemeie'); +INSERT INTO item_type (name) VALUES ('Håbrann'); +INSERT INTO item_type (name) VALUES ('Halloumi'); +INSERT INTO item_type (name) VALUES ('Hamburger'); +INSERT INTO item_type (name) VALUES ('Hamburgerbrød'); +INSERT INTO item_type (name) VALUES ('Hare'); +INSERT INTO item_type (name) VALUES ('Hasselnøtter'); +INSERT INTO item_type (name) VALUES ('Havål'); +INSERT INTO item_type (name) VALUES ('Havre'); +INSERT INTO item_type (name) VALUES ('Havrebasert drikke'); +INSERT INTO item_type (name) VALUES ('Havreflak'); +INSERT INTO item_type (name) VALUES ('Havregrøt'); +INSERT INTO item_type (name) VALUES ('Havregryn'); +INSERT INTO item_type (name) VALUES ('Havrekli'); +INSERT INTO item_type (name) VALUES ('Havremakroner'); +INSERT INTO item_type (name) VALUES ('Havremel'); +INSERT INTO item_type (name) VALUES ('Havre- og bokhvetegrøt'); +INSERT INTO item_type (name) VALUES ('Havre- og mandelbasert drikke'); +INSERT INTO item_type (name) VALUES ('Havreputer'); +INSERT INTO item_type (name) VALUES ('Havreringer'); +INSERT INTO item_type (name) VALUES ('Havsalt'); +INSERT INTO item_type (name) VALUES ('Helmelk'); +INSERT INTO item_type (name) VALUES ('Hetvin'); +INSERT INTO item_type (name) VALUES ('Hirse'); +INSERT INTO item_type (name) VALUES ('Hjerte'); +INSERT INTO item_type (name) VALUES ('Hjertesalat'); +INSERT INTO item_type (name) VALUES ('Hjort'); +INSERT INTO item_type (name) VALUES ('Hodekål'); +INSERT INTO item_type (name) VALUES ('Hollandaisesaus'); +INSERT INTO item_type (name) VALUES ('Høne'); +INSERT INTO item_type (name) VALUES ('Honning'); +INSERT INTO item_type (name) VALUES ('Honningmelon'); +INSERT INTO item_type (name) VALUES ('Hønsefrikassé'); +INSERT INTO item_type (name) VALUES ('Horn'); +INSERT INTO item_type (name) VALUES ('Horngjel'); +INSERT INTO item_type (name) VALUES ('Hummer'); +INSERT INTO item_type (name) VALUES ('Hummus'); +INSERT INTO item_type (name) VALUES ('Husholdningshvitt'); +INSERT INTO item_type (name) VALUES ('Husholdningssaft'); +INSERT INTO item_type (name) VALUES ('Hval'); +INSERT INTO item_type (name) VALUES ('Hvete'); +INSERT INTO item_type (name) VALUES ('Hvetebrikker'); +INSERT INTO item_type (name) VALUES ('Hveteflak ristet'); +INSERT INTO item_type (name) VALUES ('Hvetekake'); +INSERT INTO item_type (name) VALUES ('Hvetekim'); +INSERT INTO item_type (name) VALUES ('Hvetekimolje'); +INSERT INTO item_type (name) VALUES ('Hvetekli'); +INSERT INTO item_type (name) VALUES ('Hvetemel'); +INSERT INTO item_type (name) VALUES ('Hvite bønner'); +INSERT INTO item_type (name) VALUES ('Hvite kakemenn'); +INSERT INTO item_type (name) VALUES ('Hvitløk'); +INSERT INTO item_type (name) VALUES ('Hvitløkspulver'); +INSERT INTO item_type (name) VALUES ('Hvit saus'); +INSERT INTO item_type (name) VALUES ('Hvitting'); +INSERT INTO item_type (name) VALUES ('Hvitvin'); +INSERT INTO item_type (name) VALUES ('Hyllebær'); +INSERT INTO item_type (name) VALUES ('Hyrdepai'); +INSERT INTO item_type (name) VALUES ('Hyse'); +INSERT INTO item_type (name) VALUES ('Ingefær'); +INSERT INTO item_type (name) VALUES ('Ingefærrot'); +INSERT INTO item_type (name) VALUES ('Innbakte pølser'); +INSERT INTO item_type (name) VALUES ('Is'); +INSERT INTO item_type (name) VALUES ('Isbergsalat'); +INSERT INTO item_type (name) VALUES ('Iskaffe'); +INSERT INTO item_type (name) VALUES ('Iskrem'); +INSERT INTO item_type (name) VALUES ('Iste'); +INSERT INTO item_type (name) VALUES ('Italiensk salat'); +INSERT INTO item_type (name) VALUES ('Jackfrukt'); +INSERT INTO item_type (name) VALUES ('Jalapeño'); +INSERT INTO item_type (name) VALUES ('Jarlsberg'); +INSERT INTO item_type (name) VALUES ('Jordbær'); +INSERT INTO item_type (name) VALUES ('Jordbærsyltetøy'); +INSERT INTO item_type (name) VALUES ('Jordskokk'); +INSERT INTO item_type (name) VALUES ('Jordskokksuppe'); +INSERT INTO item_type (name) VALUES ('Juice'); +INSERT INTO item_type (name) VALUES ('Julekake'); +INSERT INTO item_type (name) VALUES ('Kabaret'); +INSERT INTO item_type (name) VALUES ('Kaffe'); +INSERT INTO item_type (name) VALUES ('Kaffefløte'); +INSERT INTO item_type (name) VALUES ('Kaffehvitt'); +INSERT INTO item_type (name) VALUES ('Kaffemelk'); +INSERT INTO item_type (name) VALUES ('Kakao'); +INSERT INTO item_type (name) VALUES ('Kakaopulver'); +INSERT INTO item_type (name) VALUES ('Kakaosmør'); +INSERT INTO item_type (name) VALUES ('Kakebunn'); +INSERT INTO item_type (name) VALUES ('Kakekrem'); +INSERT INTO item_type (name) VALUES ('Kakemiks'); +INSERT INTO item_type (name) VALUES ('Kaktusfiken'); +INSERT INTO item_type (name) VALUES ('Kalkun'); +INSERT INTO item_type (name) VALUES ('Kalkunfilet'); +INSERT INTO item_type (name) VALUES ('Kalkunrull'); +INSERT INTO item_type (name) VALUES ('Kålrot'); +INSERT INTO item_type (name) VALUES ('Kålrotstappe'); +INSERT INTO item_type (name) VALUES ('Kalv'); +INSERT INTO item_type (name) VALUES ('Kalverull'); +INSERT INTO item_type (name) VALUES ('Kamskjell'); +INSERT INTO item_type (name) VALUES ('Kanel'); +INSERT INTO item_type (name) VALUES ('Kanelbolle'); +INSERT INTO item_type (name) VALUES ('Kanin'); +INSERT INTO item_type (name) VALUES ('Kantaloupemelon'); +INSERT INTO item_type (name) VALUES ('Kantarell'); +INSERT INTO item_type (name) VALUES ('Kapers'); +INSERT INTO item_type (name) VALUES ('Karamell'); +INSERT INTO item_type (name) VALUES ('Karamellpudding'); +INSERT INTO item_type (name) VALUES ('Karamellsaus'); +INSERT INTO item_type (name) VALUES ('Karbonadedeig'); +INSERT INTO item_type (name) VALUES ('Karbonader'); +INSERT INTO item_type (name) VALUES ('Kardemomme'); +INSERT INTO item_type (name) VALUES ('Karri'); +INSERT INTO item_type (name) VALUES ('Karripasta'); +INSERT INTO item_type (name) VALUES ('Karve'); +INSERT INTO item_type (name) VALUES ('Kassava'); +INSERT INTO item_type (name) VALUES ('Kastanjer'); +INSERT INTO item_type (name) VALUES ('Kaviar'); +INSERT INTO item_type (name) VALUES ('Kaviarmix'); +INSERT INTO item_type (name) VALUES ('Kavring'); +INSERT INTO item_type (name) VALUES ('Ketchup'); +INSERT INTO item_type (name) VALUES ('Kidneybønner'); +INSERT INTO item_type (name) VALUES ('Kikerter'); +INSERT INTO item_type (name) VALUES ('Kikertmel'); +INSERT INTO item_type (name) VALUES ('Kinakål'); +INSERT INTO item_type (name) VALUES ('Kirsebær'); +INSERT INTO item_type (name) VALUES ('Kirsebærsyltetøy'); +INSERT INTO item_type (name) VALUES ('Kiwi'); +INSERT INTO item_type (name) VALUES ('Kjeks'); +INSERT INTO item_type (name) VALUES ('Kjøleskapsgrøt'); +INSERT INTO item_type (name) VALUES ('Kjøttboller'); +INSERT INTO item_type (name) VALUES ('Kjøttbuljong'); +INSERT INTO item_type (name) VALUES ('Kjøttdeig'); +INSERT INTO item_type (name) VALUES ('Kjøttfarse'); +INSERT INTO item_type (name) VALUES ('Kjøttkaker'); +INSERT INTO item_type (name) VALUES ('Kjøttkaker med ertestuing'); +INSERT INTO item_type (name) VALUES ('Kjøttpølse'); +INSERT INTO item_type (name) VALUES ('Kjøttprodukter og kjøttpålegg'); +INSERT INTO item_type (name) VALUES ('Kjøttpudding'); +INSERT INTO item_type (name) VALUES ('Kjøttsuppe med grønnsaker og poteter'); +INSERT INTO item_type (name) VALUES ('Klementin'); +INSERT INTO item_type (name) VALUES ('Klibrød'); +INSERT INTO item_type (name) VALUES ('Klippfisk'); +INSERT INTO item_type (name) VALUES ('Knakkpølse'); +INSERT INTO item_type (name) VALUES ('Knekkebrød'); +INSERT INTO item_type (name) VALUES ('Knutekål'); +INSERT INTO item_type (name) VALUES ('Kokebanan'); +INSERT INTO item_type (name) VALUES ('Kokosbasert drikke'); +INSERT INTO item_type (name) VALUES ('Kokosbolle'); +INSERT INTO item_type (name) VALUES ('Kokosbollekake'); +INSERT INTO item_type (name) VALUES ('Kokosfett'); +INSERT INTO item_type (name) VALUES ('Kokosmakroner'); +INSERT INTO item_type (name) VALUES ('Kokosmasse'); +INSERT INTO item_type (name) VALUES ('Kokosmel'); +INSERT INTO item_type (name) VALUES ('Kokosmelk'); +INSERT INTO item_type (name) VALUES ('Kokosnøtt'); +INSERT INTO item_type (name) VALUES ('Kokosolje'); +INSERT INTO item_type (name) VALUES ('Kokt laks med urtesaus'); +INSERT INTO item_type (name) VALUES ('Kokt skinke'); +INSERT INTO item_type (name) VALUES ('Kompott'); +INSERT INTO item_type (name) VALUES ('Kondensert melk'); +INSERT INTO item_type (name) VALUES ('Kongereke'); +INSERT INTO item_type (name) VALUES ('Koriander'); +INSERT INTO item_type (name) VALUES ('Korianderfrø'); +INSERT INTO item_type (name) VALUES ('Kornblanding'); +INSERT INTO item_type (name) VALUES ('Korn- og bakevarer'); +INSERT INTO item_type (name) VALUES ('Krabbe'); +INSERT INTO item_type (name) VALUES ('Krabbepinner'); +INSERT INTO item_type (name) VALUES ('Kransekake'); +INSERT INTO item_type (name) VALUES ('Krekling'); +INSERT INTO item_type (name) VALUES ('Krem'); +INSERT INTO item_type (name) VALUES ('Kremfløte'); +INSERT INTO item_type (name) VALUES ('Kremost'); +INSERT INTO item_type (name) VALUES ('Kreps'); +INSERT INTO item_type (name) VALUES ('Krepsehale'); +INSERT INTO item_type (name) VALUES ('Kringle'); +INSERT INTO item_type (name) VALUES ('Krumkaker'); +INSERT INTO item_type (name) VALUES ('Kruskakli'); +INSERT INTO item_type (name) VALUES ('Krydderkake'); +INSERT INTO item_type (name) VALUES ('Kumquat'); +INSERT INTO item_type (name) VALUES ('Kvæfjordkake'); +INSERT INTO item_type (name) VALUES ('Kvarg'); +INSERT INTO item_type (name) VALUES ('Kveite'); +INSERT INTO item_type (name) VALUES ('Kylling'); +INSERT INTO item_type (name) VALUES ('Kyllingburger'); +INSERT INTO item_type (name) VALUES ('Kyllinggryte'); +INSERT INTO item_type (name) VALUES ('Kyllingnuggets'); +INSERT INTO item_type (name) VALUES ('Kylling- og kalkunpølse'); +INSERT INTO item_type (name) VALUES ('Kyllingpostei'); +INSERT INTO item_type (name) VALUES ('Kyllingskinn'); +INSERT INTO item_type (name) VALUES ('Lakris'); +INSERT INTO item_type (name) VALUES ('Lakriskonfekt'); +INSERT INTO item_type (name) VALUES ('Laks'); +INSERT INTO item_type (name) VALUES ('Laksepålegg'); +INSERT INTO item_type (name) VALUES ('Lam'); +INSERT INTO item_type (name) VALUES ('Lammefrikassé'); +INSERT INTO item_type (name) VALUES ('Lammerull'); +INSERT INTO item_type (name) VALUES ('Lange'); +INSERT INTO item_type (name) VALUES ('Lapskaus'); +INSERT INTO item_type (name) VALUES ('Lasagne'); +INSERT INTO item_type (name) VALUES ('Laurbærblad'); +INSERT INTO item_type (name) VALUES ('Lefse'); +INSERT INTO item_type (name) VALUES ('Lettmelk'); +INSERT INTO item_type (name) VALUES ('Lettøl'); +INSERT INTO item_type (name) VALUES ('Lettrømme'); +INSERT INTO item_type (name) VALUES ('Lever'); +INSERT INTO item_type (name) VALUES ('Leverpostei'); +INSERT INTO item_type (name) VALUES ('Likør'); +INSERT INTO item_type (name) VALUES ('Limabønner'); +INSERT INTO item_type (name) VALUES ('Lime'); +INSERT INTO item_type (name) VALUES ('Linfrø'); +INSERT INTO item_type (name) VALUES ('Linfrøolje'); +INSERT INTO item_type (name) VALUES ('Linse- og bønnesalat'); +INSERT INTO item_type (name) VALUES ('Linser'); +INSERT INTO item_type (name) VALUES ('Litchi'); +INSERT INTO item_type (name) VALUES ('Loff'); +INSERT INTO item_type (name) VALUES ('Løk'); +INSERT INTO item_type (name) VALUES ('Løksuppe'); +INSERT INTO item_type (name) VALUES ('Lomre'); +INSERT INTO item_type (name) VALUES ('Lotusrot'); +INSERT INTO item_type (name) VALUES ('Lungemos'); +INSERT INTO item_type (name) VALUES ('Lussekatter'); +INSERT INTO item_type (name) VALUES ('Lutefisk'); +INSERT INTO item_type (name) VALUES ('Lyr'); +INSERT INTO item_type (name) VALUES ('Macadamianøtter'); +INSERT INTO item_type (name) VALUES ('Macchiato'); +INSERT INTO item_type (name) VALUES ('Mager fisk'); +INSERT INTO item_type (name) VALUES ('Magerost'); +INSERT INTO item_type (name) VALUES ('Mais'); +INSERT INTO item_type (name) VALUES ('Maismel'); +INSERT INTO item_type (name) VALUES ('Mais- og risflak'); +INSERT INTO item_type (name) VALUES ('Maisolje'); +INSERT INTO item_type (name) VALUES ('Maisstivelse'); +INSERT INTO item_type (name) VALUES ('Majones'); +INSERT INTO item_type (name) VALUES ('Makrell'); +INSERT INTO item_type (name) VALUES ('Makrell i tomat'); +INSERT INTO item_type (name) VALUES ('Manchego'); +INSERT INTO item_type (name) VALUES ('Mandelbasert drikke'); +INSERT INTO item_type (name) VALUES ('Mandelmel'); +INSERT INTO item_type (name) VALUES ('Mandelpålegg'); +INSERT INTO item_type (name) VALUES ('Mandler'); +INSERT INTO item_type (name) VALUES ('Mango'); +INSERT INTO item_type (name) VALUES ('Mangold'); +INSERT INTO item_type (name) VALUES ('Mangosalsa'); +INSERT INTO item_type (name) VALUES ('Marengs'); +INSERT INTO item_type (name) VALUES ('Marengsbunn'); +INSERT INTO item_type (name) VALUES ('Margarin'); +INSERT INTO item_type (name) VALUES ('Margarin og smør'); +INSERT INTO item_type (name) VALUES ('Marsipan'); +INSERT INTO item_type (name) VALUES ('Marsipanbrød'); +INSERT INTO item_type (name) VALUES ('Marsipankake'); +INSERT INTO item_type (name) VALUES ('Mascarpone'); +INSERT INTO item_type (name) VALUES ('Matfett'); +INSERT INTO item_type (name) VALUES ('Matfløte'); +INSERT INTO item_type (name) VALUES ('Matlagingsfett'); +INSERT INTO item_type (name) VALUES ('Matlagingsprodukt'); +INSERT INTO item_type (name) VALUES ('Matolje'); +INSERT INTO item_type (name) VALUES ('Mazarin'); +INSERT INTO item_type (name) VALUES ('Medisterdeig'); +INSERT INTO item_type (name) VALUES ('Medisterkaker'); +INSERT INTO item_type (name) VALUES ('Medisterpølse'); +INSERT INTO item_type (name) VALUES ('Mel'); +INSERT INTO item_type (name) VALUES ('Melis'); +INSERT INTO item_type (name) VALUES ('Melisglasur'); +INSERT INTO item_type (name) VALUES ('Melk'); +INSERT INTO item_type (name) VALUES ('Melkepålegg'); +INSERT INTO item_type (name) VALUES ('Melk og melkebasert drikke'); +INSERT INTO item_type (name) VALUES ('Melk og melkeprodukter'); +INSERT INTO item_type (name) VALUES ('Merian'); +INSERT INTO item_type (name) VALUES ('Meterbønner'); +INSERT INTO item_type (name) VALUES ('Milkshake'); +INSERT INTO item_type (name) VALUES ('Mineralsalt'); +INSERT INTO item_type (name) VALUES ('Mineralvann'); +INSERT INTO item_type (name) VALUES ('Minestronesuppe'); +INSERT INTO item_type (name) VALUES ('Miso'); +INSERT INTO item_type (name) VALUES ('Moreller'); +INSERT INTO item_type (name) VALUES ('Mørkt øl'); +INSERT INTO item_type (name) VALUES ('Mor Monsen'); +INSERT INTO item_type (name) VALUES ('Morrpølse'); +INSERT INTO item_type (name) VALUES ('Morsmelkerstatning'); +INSERT INTO item_type (name) VALUES ('Moussaka'); +INSERT INTO item_type (name) VALUES ('Mozzarella'); +INSERT INTO item_type (name) VALUES ('Muffins'); +INSERT INTO item_type (name) VALUES ('Multekrem'); +INSERT INTO item_type (name) VALUES ('Multer'); +INSERT INTO item_type (name) VALUES ('Multesyltetøy'); +INSERT INTO item_type (name) VALUES ('Multi Vitaminmikstur'); +INSERT INTO item_type (name) VALUES ('Mungbønner'); +INSERT INTO item_type (name) VALUES ('Muskat'); +INSERT INTO item_type (name) VALUES ('Müslibar'); +INSERT INTO item_type (name) VALUES ('Napoleonskake'); +INSERT INTO item_type (name) VALUES ('Nashi'); +INSERT INTO item_type (name) VALUES ('Natron'); +INSERT INTO item_type (name) VALUES ('Nektarin'); +INSERT INTO item_type (name) VALUES ('Nellik'); +INSERT INTO item_type (name) VALUES ('Neper'); +INSERT INTO item_type (name) VALUES ('Nøkkelost'); +INSERT INTO item_type (name) VALUES ('Nori'); +INSERT INTO item_type (name) VALUES ('Normanna'); +INSERT INTO item_type (name) VALUES ('Norvegia'); +INSERT INTO item_type (name) VALUES ('Norzola'); +INSERT INTO item_type (name) VALUES ('Nøtteblanding'); +INSERT INTO item_type (name) VALUES ('Nøttebunn'); +INSERT INTO item_type (name) VALUES ('Nøttekake'); +INSERT INTO item_type (name) VALUES ('Nøttepålegg'); +INSERT INTO item_type (name) VALUES ('Nøtter'); +INSERT INTO item_type (name) VALUES ('Nøttestek'); +INSERT INTO item_type (name) VALUES ('Nudler'); +INSERT INTO item_type (name) VALUES ('Nudler av ris'); +INSERT INTO item_type (name) VALUES ('Nype'); +INSERT INTO item_type (name) VALUES ('Nypesuppe'); +INSERT INTO item_type (name) VALUES ('Nypesyltetøy'); +INSERT INTO item_type (name) VALUES ('Okra'); +INSERT INTO item_type (name) VALUES ('Okserull'); +INSERT INTO item_type (name) VALUES ('Øl'); +INSERT INTO item_type (name) VALUES ('Oliven'); +INSERT INTO item_type (name) VALUES ('Olivenolje'); +INSERT INTO item_type (name) VALUES ('Omelett'); +INSERT INTO item_type (name) VALUES ('Oregano'); +INSERT INTO item_type (name) VALUES ('Oreokake'); +INSERT INTO item_type (name) VALUES ('Ørret'); +INSERT INTO item_type (name) VALUES ('Ost'); +INSERT INTO item_type (name) VALUES ('Østavind'); +INSERT INTO item_type (name) VALUES ('Ostegrill'); +INSERT INTO item_type (name) VALUES ('Ostekake'); +INSERT INTO item_type (name) VALUES ('Ostepop'); +INSERT INTO item_type (name) VALUES ('Østers'); +INSERT INTO item_type (name) VALUES ('Østerssopp'); +INSERT INTO item_type (name) VALUES ('Pære'); +INSERT INTO item_type (name) VALUES ('Pai'); +INSERT INTO item_type (name) VALUES ('Pak-choi'); +INSERT INTO item_type (name) VALUES ('Palmeolje'); +INSERT INTO item_type (name) VALUES ('Paneer'); +INSERT INTO item_type (name) VALUES ('Panetter'); +INSERT INTO item_type (name) VALUES ('Pangasius'); +INSERT INTO item_type (name) VALUES ('Panna cotta'); +INSERT INTO item_type (name) VALUES ('Pannekaker'); +INSERT INTO item_type (name) VALUES ('Papaya'); +INSERT INTO item_type (name) VALUES ('Paprika'); +INSERT INTO item_type (name) VALUES ('Paprika- og kikertpålegg'); +INSERT INTO item_type (name) VALUES ('Paprikapulver'); +INSERT INTO item_type (name) VALUES ('Paradisepler'); +INSERT INTO item_type (name) VALUES ('Paranøtter'); +INSERT INTO item_type (name) VALUES ('Parmesan'); +INSERT INTO item_type (name) VALUES ('Pasjonsfrukt'); +INSERT INTO item_type (name) VALUES ('Pasjonsfruktjuice'); +INSERT INTO item_type (name) VALUES ('Pasta'); +INSERT INTO item_type (name) VALUES ('Pasta bolognese'); +INSERT INTO item_type (name) VALUES ('Pasta med kalkun'); +INSERT INTO item_type (name) VALUES ('Pasta med kjøttsaus'); +INSERT INTO item_type (name) VALUES ('Pastiller'); +INSERT INTO item_type (name) VALUES ('Pastinakk'); +INSERT INTO item_type (name) VALUES ('Pavlova'); +INSERT INTO item_type (name) VALUES ('Peanøtter'); +INSERT INTO item_type (name) VALUES ('Peanøttolje'); +INSERT INTO item_type (name) VALUES ('Peanøttsmør'); +INSERT INTO item_type (name) VALUES ('Pekannøtter'); +INSERT INTO item_type (name) VALUES ('Pepper'); +INSERT INTO item_type (name) VALUES ('Pepperkaker'); +INSERT INTO item_type (name) VALUES ('Peppernøtter'); +INSERT INTO item_type (name) VALUES ('Pepperoni'); +INSERT INTO item_type (name) VALUES ('Pepperrot'); +INSERT INTO item_type (name) VALUES ('Perlebygg'); +INSERT INTO item_type (name) VALUES ('Perlespelt'); +INSERT INTO item_type (name) VALUES ('Persille'); +INSERT INTO item_type (name) VALUES ('Persillerot'); +INSERT INTO item_type (name) VALUES ('Pesto'); +INSERT INTO item_type (name) VALUES ('Physalis'); +INSERT INTO item_type (name) VALUES ('Pigghå'); +INSERT INTO item_type (name) VALUES ('Piggvar'); +INSERT INTO item_type (name) VALUES ('Pils'); +INSERT INTO item_type (name) VALUES ('Pinjekjerner'); +INSERT INTO item_type (name) VALUES ('Pinnekjøtt'); +INSERT INTO item_type (name) VALUES ('Pistasjnøtter'); +INSERT INTO item_type (name) VALUES ('Pitabrød'); +INSERT INTO item_type (name) VALUES ('Pizza'); +INSERT INTO item_type (name) VALUES ('Pizzabunn'); +INSERT INTO item_type (name) VALUES ('Pizzafyllbasis'); +INSERT INTO item_type (name) VALUES ('Pizzaost'); +INSERT INTO item_type (name) VALUES ('Pizzasnurrer'); +INSERT INTO item_type (name) VALUES ('Plantebasert burger'); +INSERT INTO item_type (name) VALUES ('Plantebasert deig'); +INSERT INTO item_type (name) VALUES ('Plantebaserte boller'); +INSERT INTO item_type (name) VALUES ('Plantebaserte middagsboller'); +INSERT INTO item_type (name) VALUES ('Plantebasert grillpølse'); +INSERT INTO item_type (name) VALUES ('Plantebasert middagsdeig'); +INSERT INTO item_type (name) VALUES ('Plantebasert pølse'); +INSERT INTO item_type (name) VALUES ('Plantebasert produkt'); +INSERT INTO item_type (name) VALUES ('Plantebasert schnitzel'); +INSERT INTO item_type (name) VALUES ('Plomme'); +INSERT INTO item_type (name) VALUES ('Plommesyltetøy'); +INSERT INTO item_type (name) VALUES ('Polarbrød'); +INSERT INTO item_type (name) VALUES ('Pølsebrød'); +INSERT INTO item_type (name) VALUES ('Pølser'); +INSERT INTO item_type (name) VALUES ('Pomelo'); +INSERT INTO item_type (name) VALUES ('Pommes frites'); +INSERT INTO item_type (name) VALUES ('Popcorn'); +INSERT INTO item_type (name) VALUES ('Portobellosopp'); +INSERT INTO item_type (name) VALUES ('Port Salut'); +INSERT INTO item_type (name) VALUES ('Potet'); +INSERT INTO item_type (name) VALUES ('Potetchips'); +INSERT INTO item_type (name) VALUES ('Poteter '); +INSERT INTO item_type (name) VALUES ('Potetlompe'); +INSERT INTO item_type (name) VALUES ('Potetmel'); +INSERT INTO item_type (name) VALUES ('Potetmos'); +INSERT INTO item_type (name) VALUES ('Potetmospulver'); +INSERT INTO item_type (name) VALUES ('Potet- og purreløksuppe'); +INSERT INTO item_type (name) VALUES ('Potetsalat'); +INSERT INTO item_type (name) VALUES ('Potetskruer'); +INSERT INTO item_type (name) VALUES ('Prim'); +INSERT INTO item_type (name) VALUES ('Produkter av frukt og bær'); +INSERT INTO item_type (name) VALUES ('Psylliumfrø'); +INSERT INTO item_type (name) VALUES ('Pudding'); +INSERT INTO item_type (name) VALUES ('Puffet havre'); +INSERT INTO item_type (name) VALUES ('Puffet hvete'); +INSERT INTO item_type (name) VALUES ('Puffet ris'); +INSERT INTO item_type (name) VALUES ('Pultost'); +INSERT INTO item_type (name) VALUES ('Pulver'); +INSERT INTO item_type (name) VALUES ('Pumpernikkel'); +INSERT INTO item_type (name) VALUES ('Purre'); +INSERT INTO item_type (name) VALUES ('Purreløk'); +INSERT INTO item_type (name) VALUES ('Pytt i panne'); +INSERT INTO item_type (name) VALUES ('Quinoa'); +INSERT INTO item_type (name) VALUES ('Rabarbra'); +INSERT INTO item_type (name) VALUES ('Rabarbragrøt'); +INSERT INTO item_type (name) VALUES ('Rabarbrasuppe'); +INSERT INTO item_type (name) VALUES ('Rabarbrasyltetøy'); +INSERT INTO item_type (name) VALUES ('Raclette'); +INSERT INTO item_type (name) VALUES ('Radicchio rosso'); +INSERT INTO item_type (name) VALUES ('Rådyr'); +INSERT INTO item_type (name) VALUES ('Rambutan'); +INSERT INTO item_type (name) VALUES ('Rapidsalat'); +INSERT INTO item_type (name) VALUES ('Rapsolje'); +INSERT INTO item_type (name) VALUES ('Reddik'); +INSERT INTO item_type (name) VALUES ('Reinsdyr'); +INSERT INTO item_type (name) VALUES ('Reinsdyrkaker'); +INSERT INTO item_type (name) VALUES ('Reinsdyrpølse'); +INSERT INTO item_type (name) VALUES ('Reinsdyrskav'); +INSERT INTO item_type (name) VALUES ('Reker'); +INSERT INTO item_type (name) VALUES ('Rekesalat'); +INSERT INTO item_type (name) VALUES ('Remulade'); +INSERT INTO item_type (name) VALUES ('Retter med fisk'); +INSERT INTO item_type (name) VALUES ('Retter med fjørfe og kjøtt'); +INSERT INTO item_type (name) VALUES ('Ribberull'); +INSERT INTO item_type (name) VALUES ('Ricotta'); +INSERT INTO item_type (name) VALUES ('Ridderost'); +INSERT INTO item_type (name) VALUES ('Rips'); +INSERT INTO item_type (name) VALUES ('Ris'); +INSERT INTO item_type (name) VALUES ('Risbasert drikke'); +INSERT INTO item_type (name) VALUES ('Risboller'); +INSERT INTO item_type (name) VALUES ('Risgrøt'); +INSERT INTO item_type (name) VALUES ('Riskaker'); +INSERT INTO item_type (name) VALUES ('Riskrem'); +INSERT INTO item_type (name) VALUES ('Rislunsj med jordbær'); +INSERT INTO item_type (name) VALUES ('Rismel'); +INSERT INTO item_type (name) VALUES ('Roastbiff'); +INSERT INTO item_type (name) VALUES ('Rødbete'); +INSERT INTO item_type (name) VALUES ('Rødbeter'); +INSERT INTO item_type (name) VALUES ('Rødbetsalat'); +INSERT INTO item_type (name) VALUES ('Røde bønner'); +INSERT INTO item_type (name) VALUES ('Rødkål'); +INSERT INTO item_type (name) VALUES ('Rødspette'); +INSERT INTO item_type (name) VALUES ('Rødvin'); +INSERT INTO item_type (name) VALUES ('Rogn'); +INSERT INTO item_type (name) VALUES ('Rognebær'); +INSERT INTO item_type (name) VALUES ('Rognleverpostei'); +INSERT INTO item_type (name) VALUES ('Romanosalat'); +INSERT INTO item_type (name) VALUES ('Rømmedressing'); +INSERT INTO item_type (name) VALUES ('Rømmegrøt'); +INSERT INTO item_type (name) VALUES ('Roquefort'); +INSERT INTO item_type (name) VALUES ('Rosenkål'); +INSERT INTO item_type (name) VALUES ('Rosinbolle'); +INSERT INTO item_type (name) VALUES ('Rosiner'); +INSERT INTO item_type (name) VALUES ('Rosmarin'); +INSERT INTO item_type (name) VALUES ('Røye'); +INSERT INTO item_type (name) VALUES ('Ruccolasalat'); +INSERT INTO item_type (name) VALUES ('Rugbrød'); +INSERT INTO item_type (name) VALUES ('Rugmel'); +INSERT INTO item_type (name) VALUES ('Rullekake'); +INSERT INTO item_type (name) VALUES ('Rundstykke'); +INSERT INTO item_type (name) VALUES ('Rundstykker'); +INSERT INTO item_type (name) VALUES ('Rype'); +INSERT INTO item_type (name) VALUES ('Safran'); +INSERT INTO item_type (name) VALUES ('Saft'); +INSERT INTO item_type (name) VALUES ('Saftis'); +INSERT INTO item_type (name) VALUES ('Salami'); +INSERT INTO item_type (name) VALUES ('Salat'); +INSERT INTO item_type (name) VALUES ('Salatdressing'); +INSERT INTO item_type (name) VALUES ('Salat nicoise'); +INSERT INTO item_type (name) VALUES ('Salsiccia'); +INSERT INTO item_type (name) VALUES ('Salt'); +INSERT INTO item_type (name) VALUES ('Saltstenger'); +INSERT INTO item_type (name) VALUES ('Sanasol'); +INSERT INTO item_type (name) VALUES ('Sandefjordsmør'); +INSERT INTO item_type (name) VALUES ('Sandkake'); +INSERT INTO item_type (name) VALUES ('Sarah Bernhard-kake'); +INSERT INTO item_type (name) VALUES ('Sashimi'); +INSERT INTO item_type (name) VALUES ('Sau'); +INSERT INTO item_type (name) VALUES ('Scones'); +INSERT INTO item_type (name) VALUES ('Sei'); +INSERT INTO item_type (name) VALUES ('Seibiff'); +INSERT INTO item_type (name) VALUES ('Seilaks'); +INSERT INTO item_type (name) VALUES ('Seitan'); +INSERT INTO item_type (name) VALUES ('Selbu blå'); +INSERT INTO item_type (name) VALUES ('Sellerirot'); +INSERT INTO item_type (name) VALUES ('Semulegrøt'); +INSERT INTO item_type (name) VALUES ('Semulegryn'); +INSERT INTO item_type (name) VALUES ('Sennep'); +INSERT INTO item_type (name) VALUES ('Sennepsfrø'); +INSERT INTO item_type (name) VALUES ('Sennepssaus'); +INSERT INTO item_type (name) VALUES ('Serinakaker'); +INSERT INTO item_type (name) VALUES ('Servelat'); +INSERT INTO item_type (name) VALUES ('Sesamfrø'); +INSERT INTO item_type (name) VALUES ('Sesamolje'); +INSERT INTO item_type (name) VALUES ('Sesampostei/-pasta'); +INSERT INTO item_type (name) VALUES ('Seterrømme'); +INSERT INTO item_type (name) VALUES ('Sharon'); +INSERT INTO item_type (name) VALUES ('Shiitakesopp'); +INSERT INTO item_type (name) VALUES ('Sik'); +INSERT INTO item_type (name) VALUES ('Sikorisalat'); +INSERT INTO item_type (name) VALUES ('Sild'); +INSERT INTO item_type (name) VALUES ('Sildesalat'); +INSERT INTO item_type (name) VALUES ('Sirup'); +INSERT INTO item_type (name) VALUES ('Sirupskake'); +INSERT INTO item_type (name) VALUES ('Sirupssnipper'); +INSERT INTO item_type (name) VALUES ('Sitron'); +INSERT INTO item_type (name) VALUES ('Sitronfromasj'); +INSERT INTO item_type (name) VALUES ('Sitronsaft'); +INSERT INTO item_type (name) VALUES ('Sitronskall'); +INSERT INTO item_type (name) VALUES ('Sitronterte'); +INSERT INTO item_type (name) VALUES ('Sjalottløk'); +INSERT INTO item_type (name) VALUES ('Sjampinjong'); +INSERT INTO item_type (name) VALUES ('Sjokolade'); +INSERT INTO item_type (name) VALUES ('Sjokoladedrikk'); +INSERT INTO item_type (name) VALUES ('Sjokoladefondant'); +INSERT INTO item_type (name) VALUES ('Sjokoladeglasur'); +INSERT INTO item_type (name) VALUES ('Sjokoladekake'); +INSERT INTO item_type (name) VALUES ('Sjokolademelk'); +INSERT INTO item_type (name) VALUES ('Sjokolademousse'); +INSERT INTO item_type (name) VALUES ('Sjokolade og andre søtsaker'); +INSERT INTO item_type (name) VALUES ('Sjokoladepålegg'); +INSERT INTO item_type (name) VALUES ('Sjokoladepudding'); +INSERT INTO item_type (name) VALUES ('Sjokoladepulver'); +INSERT INTO item_type (name) VALUES ('Sjokoladesaus'); +INSERT INTO item_type (name) VALUES ('Sjøtunge'); +INSERT INTO item_type (name) VALUES ('Sjysaus'); +INSERT INTO item_type (name) VALUES ('Skagenrøre'); +INSERT INTO item_type (name) VALUES ('Skalldyr'); +INSERT INTO item_type (name) VALUES ('Skate'); +INSERT INTO item_type (name) VALUES ('Skinkerull'); +INSERT INTO item_type (name) VALUES ('Skolebrød'); +INSERT INTO item_type (name) VALUES ('Skonrokk'); +INSERT INTO item_type (name) VALUES ('Skorsonnerot'); +INSERT INTO item_type (name) VALUES ('Skumgodt'); +INSERT INTO item_type (name) VALUES ('Skummet melk'); +INSERT INTO item_type (name) VALUES ('Skyr'); +INSERT INTO item_type (name) VALUES ('Smågodt'); +INSERT INTO item_type (name) VALUES ('Småkaker'); +INSERT INTO item_type (name) VALUES ('Smoothie'); +INSERT INTO item_type (name) VALUES ('Smør'); +INSERT INTO item_type (name) VALUES ('Smørkrem'); +INSERT INTO item_type (name) VALUES ('Smuldrepai'); +INSERT INTO item_type (name) VALUES ('Smultringer'); +INSERT INTO item_type (name) VALUES ('Snacks'); +INSERT INTO item_type (name) VALUES ('Snegler'); +INSERT INTO item_type (name) VALUES ('Snickerskake'); +INSERT INTO item_type (name) VALUES ('Sodd'); +INSERT INTO item_type (name) VALUES ('Solbær'); +INSERT INTO item_type (name) VALUES ('Solbærsaft'); +INSERT INTO item_type (name) VALUES ('Solbærsirup'); +INSERT INTO item_type (name) VALUES ('Solbærsyltetøy'); +INSERT INTO item_type (name) VALUES ('Solsikkefrø'); +INSERT INTO item_type (name) VALUES ('Solsikkeolje'); +INSERT INTO item_type (name) VALUES ('Sopprotein'); +INSERT INTO item_type (name) VALUES ('Sorbet'); +INSERT INTO item_type (name) VALUES ('Sorghum'); +INSERT INTO item_type (name) VALUES ('Sosisser'); +INSERT INTO item_type (name) VALUES ('Søt gjærbakst'); +INSERT INTO item_type (name) VALUES ('Søtpotet'); +INSERT INTO item_type (name) VALUES ('Søtpotetsuppe'); +INSERT INTO item_type (name) VALUES ('Soyabasert drikke'); +INSERT INTO item_type (name) VALUES ('Soyabønner'); +INSERT INTO item_type (name) VALUES ('Soyamel'); +INSERT INTO item_type (name) VALUES ('Soyaolje'); +INSERT INTO item_type (name) VALUES ('Soyapølse'); +INSERT INTO item_type (name) VALUES ('Soyaprotein'); +INSERT INTO item_type (name) VALUES ('Soyasaus'); +INSERT INTO item_type (name) VALUES ('Spedbarnsmat'); +INSERT INTO item_type (name) VALUES ('Spekesild'); +INSERT INTO item_type (name) VALUES ('Spekeskinke'); +INSERT INTO item_type (name) VALUES ('Speltmel'); +INSERT INTO item_type (name) VALUES ('Spinat'); +INSERT INTO item_type (name) VALUES ('Spinatsuppe'); +INSERT INTO item_type (name) VALUES ('Spisskål'); +INSERT INTO item_type (name) VALUES ('Squash'); +INSERT INTO item_type (name) VALUES ('Squashfrø'); +INSERT INTO item_type (name) VALUES ('Stabburpølse'); +INSERT INTO item_type (name) VALUES ('Stangselleri'); +INSERT INTO item_type (name) VALUES ('Steinbit'); +INSERT INTO item_type (name) VALUES ('Steinsopp'); +INSERT INTO item_type (name) VALUES ('Sterkøl'); +INSERT INTO item_type (name) VALUES ('Sterkvin'); +INSERT INTO item_type (name) VALUES ('Stikkelsbær'); +INSERT INTO item_type (name) VALUES ('Stilton'); +INSERT INTO item_type (name) VALUES ('Storfe'); +INSERT INTO item_type (name) VALUES ('Strandsnegle'); +INSERT INTO item_type (name) VALUES ('Sukker'); +INSERT INTO item_type (name) VALUES ('Sukkerbrød'); +INSERT INTO item_type (name) VALUES ('Sukkererter'); +INSERT INTO item_type (name) VALUES ('Sukker og søte produkter'); +INSERT INTO item_type (name) VALUES ('Sukkertøy'); +INSERT INTO item_type (name) VALUES ('Suksessterte'); +INSERT INTO item_type (name) VALUES ('Supper'); +INSERT INTO item_type (name) VALUES ('Surimi'); +INSERT INTO item_type (name) VALUES ('Surkål'); +INSERT INTO item_type (name) VALUES ('Sushi'); +INSERT INTO item_type (name) VALUES ('Svarte bønner'); +INSERT INTO item_type (name) VALUES ('Svartøyebønner'); +INSERT INTO item_type (name) VALUES ('Sveitserost'); +INSERT INTO item_type (name) VALUES ('Sveler'); +INSERT INTO item_type (name) VALUES ('Svin'); +INSERT INTO item_type (name) VALUES ('Svinekam'); +INSERT INTO item_type (name) VALUES ('Svinestek med surkål og poteter'); +INSERT INTO item_type (name) VALUES ('Svisker'); +INSERT INTO item_type (name) VALUES ('Sylte'); +INSERT INTO item_type (name) VALUES ('Syltetøy'); +INSERT INTO item_type (name) VALUES ('Syrnet'); +INSERT INTO item_type (name) VALUES ('Syrnet havreprodukt til matlaging'); +INSERT INTO item_type (name) VALUES ('Syrnet melk'); +INSERT INTO item_type (name) VALUES ('Taco kryddermix'); +INSERT INTO item_type (name) VALUES ('Taco med skjell'); +INSERT INTO item_type (name) VALUES ('Taco med tortilla'); +INSERT INTO item_type (name) VALUES ('Tacosaus'); +INSERT INTO item_type (name) VALUES ('Tacoskjell'); +INSERT INTO item_type (name) VALUES ('Tacosuppe'); +INSERT INTO item_type (name) VALUES ('Taffelost'); +INSERT INTO item_type (name) VALUES ('Tamarind'); +INSERT INTO item_type (name) VALUES ('Te'); +INSERT INTO item_type (name) VALUES ('Tebriks'); +INSERT INTO item_type (name) VALUES ('Teffmel'); +INSERT INTO item_type (name) VALUES ('Tempeh'); +INSERT INTO item_type (name) VALUES ('Teriyakisaus'); +INSERT INTO item_type (name) VALUES ('Terte'); +INSERT INTO item_type (name) VALUES ('Tilskuddsblanding'); +INSERT INTO item_type (name) VALUES ('Tilslørte bondepiker'); +INSERT INTO item_type (name) VALUES ('Timian'); +INSERT INTO item_type (name) VALUES ('Tindved'); +INSERT INTO item_type (name) VALUES ('Tofu'); +INSERT INTO item_type (name) VALUES ('Tomat'); +INSERT INTO item_type (name) VALUES ('Tomatbønner'); +INSERT INTO item_type (name) VALUES ('Tomater'); +INSERT INTO item_type (name) VALUES ('Tomatjuice'); +INSERT INTO item_type (name) VALUES ('Tomatpuré'); +INSERT INTO item_type (name) VALUES ('Tomatsalsa'); +INSERT INTO item_type (name) VALUES ('Tomatsuppe'); +INSERT INTO item_type (name) VALUES ('Tørrfisk'); +INSERT INTO item_type (name) VALUES ('Torsk'); +INSERT INTO item_type (name) VALUES ('Tortilla'); +INSERT INTO item_type (name) VALUES ('Tortillachips'); +INSERT INTO item_type (name) VALUES ('Traktkantarell'); +INSERT INTO item_type (name) VALUES ('Tran'); +INSERT INTO item_type (name) VALUES ('Tranebær'); +INSERT INTO item_type (name) VALUES ('Tranebærjuice'); +INSERT INTO item_type (name) VALUES ('Trollkrem'); +INSERT INTO item_type (name) VALUES ('Tropisk juice'); +INSERT INTO item_type (name) VALUES ('Tunfisk'); +INSERT INTO item_type (name) VALUES ('Tyggegummi'); +INSERT INTO item_type (name) VALUES ('Tykklefse'); +INSERT INTO item_type (name) VALUES ('Tyttebær'); +INSERT INTO item_type (name) VALUES ('Tyttebærsyltetøy'); +INSERT INTO item_type (name) VALUES ('Tzatziki'); +INSERT INTO item_type (name) VALUES ('Uer'); +INSERT INTO item_type (name) VALUES ('Urter og krydder'); +INSERT INTO item_type (name) VALUES ('Urtesalt'); +INSERT INTO item_type (name) VALUES ('Vafler'); +INSERT INTO item_type (name) VALUES ('Valmuefrø'); +INSERT INTO item_type (name) VALUES ('Valnøtter'); +INSERT INTO item_type (name) VALUES ('Valnøttolje'); +INSERT INTO item_type (name) VALUES ('Vaniljekrem'); +INSERT INTO item_type (name) VALUES ('Vaniljesaus'); +INSERT INTO item_type (name) VALUES ('Vaniljesukker'); +INSERT INTO item_type (name) VALUES ('Vann'); +INSERT INTO item_type (name) VALUES ('Vannbakkels'); +INSERT INTO item_type (name) VALUES ('Vannkastanje'); +INSERT INTO item_type (name) VALUES ('Vannkastanjer'); +INSERT INTO item_type (name) VALUES ('Vannmelon'); +INSERT INTO item_type (name) VALUES ('Vårløk'); +INSERT INTO item_type (name) VALUES ('Vegetabilsk postei'); +INSERT INTO item_type (name) VALUES ('Vegetarburger'); +INSERT INTO item_type (name) VALUES ('Vegetarlasagne'); +INSERT INTO item_type (name) VALUES ('Vegetarprodukter og retter'); +INSERT INTO item_type (name) VALUES ('Villsvin'); +INSERT INTO item_type (name) VALUES ('Viltsaus'); +INSERT INTO item_type (name) VALUES ('Vin'); +INSERT INTO item_type (name) VALUES ('Vitaminbjørner'); +INSERT INTO item_type (name) VALUES ('Vitamineral'); +INSERT INTO item_type (name) VALUES ('Vita Optimal olje'); +INSERT INTO item_type (name) VALUES ('Vørterkake'); +INSERT INTO item_type (name) VALUES ('Vørterøl'); +INSERT INTO item_type (name) VALUES ('Waldorfsalat'); +INSERT INTO item_type (name) VALUES ('Wasabirot'); +INSERT INTO item_type (name) VALUES ('Wienerbrød'); +INSERT INTO item_type (name) VALUES ('Wienerkringle'); +INSERT INTO item_type (name) VALUES ('Wienerpølse'); +INSERT INTO item_type (name) VALUES ('Wienersnitzel'); +INSERT INTO item_type (name) VALUES ('Wokblanding'); +INSERT INTO item_type (name) VALUES ('Wonton-ark'); +INSERT INTO item_type (name) VALUES ('Wraps'); +INSERT INTO item_type (name) VALUES ('Yams'); +INSERT INTO item_type (name) VALUES ('Yoghurt'); +COMMIT; diff --git a/api/target/classes/no/freshify/api/FreshifyApiApplication.class b/api/target/classes/no/freshify/api/FreshifyApiApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..a0639593ac9717d28efae1bb088474923516bf54 Binary files /dev/null and b/api/target/classes/no/freshify/api/FreshifyApiApplication.class differ diff --git a/api/target/classes/no/freshify/api/GlobalExceptionHandler.class b/api/target/classes/no/freshify/api/GlobalExceptionHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..55dbe738e04f0baa0e833fe168ee8251b50008d2 Binary files /dev/null and b/api/target/classes/no/freshify/api/GlobalExceptionHandler.class differ diff --git a/api/target/classes/no/freshify/api/controller/HouseholdController.class b/api/target/classes/no/freshify/api/controller/HouseholdController.class new file mode 100644 index 0000000000000000000000000000000000000000..b948f84210de68555f4971e8d2a950038e7bba6c Binary files /dev/null and b/api/target/classes/no/freshify/api/controller/HouseholdController.class differ diff --git a/api/target/classes/no/freshify/api/controller/HouseholdMemberController.class b/api/target/classes/no/freshify/api/controller/HouseholdMemberController.class new file mode 100644 index 0000000000000000000000000000000000000000..081a2af2aa91e7c698dcbe64b6394616b17ab21c Binary files /dev/null and b/api/target/classes/no/freshify/api/controller/HouseholdMemberController.class differ diff --git a/api/target/classes/no/freshify/api/controller/InventoryController.class b/api/target/classes/no/freshify/api/controller/InventoryController.class new file mode 100644 index 0000000000000000000000000000000000000000..61693615322d9f30b9e9b17d194209f01cfa834a Binary files /dev/null and b/api/target/classes/no/freshify/api/controller/InventoryController.class differ diff --git a/api/target/classes/no/freshify/api/controller/ItemTypeController.class b/api/target/classes/no/freshify/api/controller/ItemTypeController.class new file mode 100644 index 0000000000000000000000000000000000000000..0720536e74cd0726514696d4f047a2abd68ae9e8 Binary files /dev/null and b/api/target/classes/no/freshify/api/controller/ItemTypeController.class differ diff --git a/api/target/classes/no/freshify/api/controller/ShoppingListController.class b/api/target/classes/no/freshify/api/controller/ShoppingListController.class new file mode 100644 index 0000000000000000000000000000000000000000..b02a7dbdc17b45c17c49f344c6c87705b1a93e50 Binary files /dev/null and b/api/target/classes/no/freshify/api/controller/ShoppingListController.class differ diff --git a/api/target/classes/no/freshify/api/controller/UserController.class b/api/target/classes/no/freshify/api/controller/UserController.class new file mode 100644 index 0000000000000000000000000000000000000000..bea9b32a04eb46d2549533d7b9f612a728323702 Binary files /dev/null and b/api/target/classes/no/freshify/api/controller/UserController.class differ diff --git a/api/target/classes/no/freshify/api/exception/HouseholdMemberAlreadyExistsException.class b/api/target/classes/no/freshify/api/exception/HouseholdMemberAlreadyExistsException.class new file mode 100644 index 0000000000000000000000000000000000000000..2ca7e4dadf51c51be2ede07e72bb722a4721daba Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/HouseholdMemberAlreadyExistsException.class differ diff --git a/api/target/classes/no/freshify/api/exception/HouseholdNotFoundException.class b/api/target/classes/no/freshify/api/exception/HouseholdNotFoundException.class new file mode 100644 index 0000000000000000000000000000000000000000..198cc2b0837371a7415b3d51787c58f00b48b740 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/HouseholdNotFoundException.class differ diff --git a/api/target/classes/no/freshify/api/exception/IllegalItemParameterException.class b/api/target/classes/no/freshify/api/exception/IllegalItemParameterException.class new file mode 100644 index 0000000000000000000000000000000000000000..ee0f978c0e7493d12b1261266b9610aea0534d48 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/IllegalItemParameterException.class differ diff --git a/api/target/classes/no/freshify/api/exception/IllegalItemStatusException.class b/api/target/classes/no/freshify/api/exception/IllegalItemStatusException.class new file mode 100644 index 0000000000000000000000000000000000000000..6e9bdf62ad29df00c995767d0328f952a077e5d6 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/IllegalItemStatusException.class differ diff --git a/api/target/classes/no/freshify/api/exception/InvalidHouseholdMemberRoleException.class b/api/target/classes/no/freshify/api/exception/InvalidHouseholdMemberRoleException.class new file mode 100644 index 0000000000000000000000000000000000000000..353d508e271f6cb577987fd381d10b425ddd5b1c Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/InvalidHouseholdMemberRoleException.class differ diff --git a/api/target/classes/no/freshify/api/exception/InvalidItemCountException.class b/api/target/classes/no/freshify/api/exception/InvalidItemCountException.class new file mode 100644 index 0000000000000000000000000000000000000000..c1b379e39ad1a3c5342ad586c6100f34ac612d96 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/InvalidItemCountException.class differ diff --git a/api/target/classes/no/freshify/api/exception/ItemDoesNotBelongToHouseholdException.class b/api/target/classes/no/freshify/api/exception/ItemDoesNotBelongToHouseholdException.class new file mode 100644 index 0000000000000000000000000000000000000000..685de29c37663c729289d4a41dbcd85193e5cb4f Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/ItemDoesNotBelongToHouseholdException.class differ diff --git a/api/target/classes/no/freshify/api/exception/ItemNotFoundException.class b/api/target/classes/no/freshify/api/exception/ItemNotFoundException.class new file mode 100644 index 0000000000000000000000000000000000000000..7bc6db4158ae379b207dc9e7c740bb5223b55c39 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/ItemNotFoundException.class differ diff --git a/api/target/classes/no/freshify/api/exception/ItemTypeNotFoundException.class b/api/target/classes/no/freshify/api/exception/ItemTypeNotFoundException.class new file mode 100644 index 0000000000000000000000000000000000000000..392f2a0d0ec0b1bfb73c164e8d69fd5f63cf7cd2 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/ItemTypeNotFoundException.class differ diff --git a/api/target/classes/no/freshify/api/exception/ItemTypesNotFoundException.class b/api/target/classes/no/freshify/api/exception/ItemTypesNotFoundException.class new file mode 100644 index 0000000000000000000000000000000000000000..9140baf4418295aa2dfbc40a435bfa7b743e5524 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/ItemTypesNotFoundException.class differ diff --git a/api/target/classes/no/freshify/api/exception/ShoppingListEntryAlreadyExistsException.class b/api/target/classes/no/freshify/api/exception/ShoppingListEntryAlreadyExistsException.class new file mode 100644 index 0000000000000000000000000000000000000000..b33c1fd3486ab502636078cf70da87df1dfafeae Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/ShoppingListEntryAlreadyExistsException.class differ diff --git a/api/target/classes/no/freshify/api/exception/ShoppingListEntryNotFoundException.class b/api/target/classes/no/freshify/api/exception/ShoppingListEntryNotFoundException.class new file mode 100644 index 0000000000000000000000000000000000000000..494ba2c7cffc3994c3933196a6f6bba3eee70a18 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/ShoppingListEntryNotFoundException.class differ diff --git a/api/target/classes/no/freshify/api/exception/UserDoesNotBelongToHouseholdException.class b/api/target/classes/no/freshify/api/exception/UserDoesNotBelongToHouseholdException.class new file mode 100644 index 0000000000000000000000000000000000000000..ab6f66b66aaae0a5efa5ab0b6af5b343a26a33fd Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/UserDoesNotBelongToHouseholdException.class differ diff --git a/api/target/classes/no/freshify/api/exception/UserNotFoundException.class b/api/target/classes/no/freshify/api/exception/UserNotFoundException.class new file mode 100644 index 0000000000000000000000000000000000000000..33141a3aa5f1b11d2209df04d6866f25ed6f87d1 Binary files /dev/null and b/api/target/classes/no/freshify/api/exception/UserNotFoundException.class differ diff --git a/api/target/classes/no/freshify/api/model/Household.class b/api/target/classes/no/freshify/api/model/Household.class new file mode 100644 index 0000000000000000000000000000000000000000..9d3f2ce2fecf6b3264b6b3b37abebb8131ebbbcb Binary files /dev/null and b/api/target/classes/no/freshify/api/model/Household.class differ diff --git a/api/target/classes/no/freshify/api/model/HouseholdMember.class b/api/target/classes/no/freshify/api/model/HouseholdMember.class new file mode 100644 index 0000000000000000000000000000000000000000..d4138b1a7c23ef13003b556291f41024f1cee750 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/HouseholdMember.class differ diff --git a/api/target/classes/no/freshify/api/model/HouseholdMemberKey.class b/api/target/classes/no/freshify/api/model/HouseholdMemberKey.class new file mode 100644 index 0000000000000000000000000000000000000000..62aa2f14991fbda45de8cb186b9fcaf7419f93c8 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/HouseholdMemberKey.class differ diff --git a/api/target/classes/no/freshify/api/model/HouseholdMemberRole.class b/api/target/classes/no/freshify/api/model/HouseholdMemberRole.class new file mode 100644 index 0000000000000000000000000000000000000000..8f7d7ecb924df8f7455ef58e951149af6d3cd828 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/HouseholdMemberRole.class differ diff --git a/api/target/classes/no/freshify/api/model/Item.class b/api/target/classes/no/freshify/api/model/Item.class new file mode 100644 index 0000000000000000000000000000000000000000..b688641d6952c34ef9beb5dca757c50c1eaa3a7b Binary files /dev/null and b/api/target/classes/no/freshify/api/model/Item.class differ diff --git a/api/target/classes/no/freshify/api/model/ItemStatus.class b/api/target/classes/no/freshify/api/model/ItemStatus.class new file mode 100644 index 0000000000000000000000000000000000000000..64e06d80fd7eadc7d4b702cca27ac3981a0f73fc Binary files /dev/null and b/api/target/classes/no/freshify/api/model/ItemStatus.class differ diff --git a/api/target/classes/no/freshify/api/model/ItemType.class b/api/target/classes/no/freshify/api/model/ItemType.class new file mode 100644 index 0000000000000000000000000000000000000000..4385e0b62e91a1e5cfaa54d03562fd157932e5f1 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/ItemType.class differ diff --git a/api/target/classes/no/freshify/api/model/ShoppingListEntry.class b/api/target/classes/no/freshify/api/model/ShoppingListEntry.class new file mode 100644 index 0000000000000000000000000000000000000000..8bf16b3d49a82db603b42b9ce6b303824adee143 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/ShoppingListEntry.class differ diff --git a/api/target/classes/no/freshify/api/model/User.class b/api/target/classes/no/freshify/api/model/User.class new file mode 100644 index 0000000000000000000000000000000000000000..4a0f7378b059d306697839a8a3179bbd13974ae3 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/User.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/CreateHousehold.class b/api/target/classes/no/freshify/api/model/dto/CreateHousehold.class new file mode 100644 index 0000000000000000000000000000000000000000..e539dda79ba105b42e6fcea45ca947424015cb2c Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/CreateHousehold.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/CreateUser.class b/api/target/classes/no/freshify/api/model/dto/CreateUser.class new file mode 100644 index 0000000000000000000000000000000000000000..7260dc6e6e2e993ba588d63e63a6246582966815 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/CreateUser.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/HouseholdDTO.class b/api/target/classes/no/freshify/api/model/dto/HouseholdDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..dc6209904498162e074dc6092e73af9bc6a4362a Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/HouseholdDTO.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/HouseholdMemberDTO.class b/api/target/classes/no/freshify/api/model/dto/HouseholdMemberDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..78aa9cff21bc0931f30177f0cfb76ff511c943b6 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/HouseholdMemberDTO.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/InventoryItem.class b/api/target/classes/no/freshify/api/model/dto/InventoryItem.class new file mode 100644 index 0000000000000000000000000000000000000000..d7e7924eaa6698677d7bc49134f6c8e9d087cb5b Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/InventoryItem.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/ItemTypeDTO.class b/api/target/classes/no/freshify/api/model/dto/ItemTypeDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..a977658b08934830bd63f81d1eb8f3834c186483 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/ItemTypeDTO.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/LoginUser.class b/api/target/classes/no/freshify/api/model/dto/LoginUser.class new file mode 100644 index 0000000000000000000000000000000000000000..8c885d48ae6b9842444bddc63ab27a899eb89b73 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/LoginUser.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryEditRequest.class b/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryEditRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..b206e383785686444ff800845f469a434c613469 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryEditRequest.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryRequest.class b/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..907a4c794d2cbf667e00ed7c42700c3e076e5c8a Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryRequest.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryResponse.class b/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..c9f6aeaaa6f9564d9a1d7dd3508a052db9ac1705 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/ShoppingListEntryResponse.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/UpdateInventoryItem.class b/api/target/classes/no/freshify/api/model/dto/UpdateInventoryItem.class new file mode 100644 index 0000000000000000000000000000000000000000..e1b2ee24d30695946a61018b69b14be6fd85ec1f Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/UpdateInventoryItem.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/UpdateUser.class b/api/target/classes/no/freshify/api/model/dto/UpdateUser.class new file mode 100644 index 0000000000000000000000000000000000000000..b1675e49d3eb92b2227355ae65d2ef3ee308bdd9 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/UpdateUser.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/UserFull.class b/api/target/classes/no/freshify/api/model/dto/UserFull.class new file mode 100644 index 0000000000000000000000000000000000000000..db963b563ddc8ad363cf5345cd8e746114abd6f3 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/UserFull.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/UserId.class b/api/target/classes/no/freshify/api/model/dto/UserId.class new file mode 100644 index 0000000000000000000000000000000000000000..9579bf34ea2a293cb7b782841979caf42c435208 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/UserId.class differ diff --git a/api/target/classes/no/freshify/api/model/dto/UserTypeRequest.class b/api/target/classes/no/freshify/api/model/dto/UserTypeRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..f9726a06cff116a50bbcf30df9e6bba7c551466b Binary files /dev/null and b/api/target/classes/no/freshify/api/model/dto/UserTypeRequest.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/HouseholdMapper.class b/api/target/classes/no/freshify/api/model/mapper/HouseholdMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..23c4613fef8f00b7e43d6e9e665f546c076fdc1c Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/HouseholdMapper.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/HouseholdMapperImpl.class b/api/target/classes/no/freshify/api/model/mapper/HouseholdMapperImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..637c23dab2c21985ebfd15f4ddfd80cf5928990f Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/HouseholdMapperImpl.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/HouseholdMemberMapper.class b/api/target/classes/no/freshify/api/model/mapper/HouseholdMemberMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..76241d60e2e7893faf8abc4a5f463351107d0b7b Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/HouseholdMemberMapper.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/HouseholdMemberMapperImpl.class b/api/target/classes/no/freshify/api/model/mapper/HouseholdMemberMapperImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..7539af08ec850660d5c61e4fa131f8696fc8f316 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/HouseholdMemberMapperImpl.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/ItemMapper.class b/api/target/classes/no/freshify/api/model/mapper/ItemMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..87ae4a7776dfba4474715b88e129408dec2d90ee Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/ItemMapper.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/ItemMapperImpl.class b/api/target/classes/no/freshify/api/model/mapper/ItemMapperImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..f706573ff62f86aae997966b629c6e2861bb78a2 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/ItemMapperImpl.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/ShoppingListEntryMapper.class b/api/target/classes/no/freshify/api/model/mapper/ShoppingListEntryMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..387e6536c576a5f0d9971c0a8b241ed1cc584419 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/ShoppingListEntryMapper.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/ShoppingListEntryMapperImpl.class b/api/target/classes/no/freshify/api/model/mapper/ShoppingListEntryMapperImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..ac5c6d6d2fe4e096f4d9d9259bd8a077abd837c4 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/ShoppingListEntryMapperImpl.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/UserMapper.class b/api/target/classes/no/freshify/api/model/mapper/UserMapper.class new file mode 100644 index 0000000000000000000000000000000000000000..4c559384960c9f3bd258e867a0a9f0e3ef3bf020 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/UserMapper.class differ diff --git a/api/target/classes/no/freshify/api/model/mapper/UserMapperImpl.class b/api/target/classes/no/freshify/api/model/mapper/UserMapperImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..f248b313a1e65a787c72caca7065ee8fbacd0867 Binary files /dev/null and b/api/target/classes/no/freshify/api/model/mapper/UserMapperImpl.class differ diff --git a/api/target/classes/no/freshify/api/repository/HouseholdMemberRepository.class b/api/target/classes/no/freshify/api/repository/HouseholdMemberRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..64892776a0a1ec7b9949ae3071fa29408e3421c1 Binary files /dev/null and b/api/target/classes/no/freshify/api/repository/HouseholdMemberRepository.class differ diff --git a/api/target/classes/no/freshify/api/repository/HouseholdRepository.class b/api/target/classes/no/freshify/api/repository/HouseholdRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..97aa6195db34b3bd6c6cfe7f1c5d48abb5061d7e Binary files /dev/null and b/api/target/classes/no/freshify/api/repository/HouseholdRepository.class differ diff --git a/api/target/classes/no/freshify/api/repository/ItemRepository.class b/api/target/classes/no/freshify/api/repository/ItemRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..d075ff860a0eafc4c73e09bedc720b0abcb38cd5 Binary files /dev/null and b/api/target/classes/no/freshify/api/repository/ItemRepository.class differ diff --git a/api/target/classes/no/freshify/api/repository/ItemTypeRepository.class b/api/target/classes/no/freshify/api/repository/ItemTypeRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..21d39293b2bf12e9f5777d02fbec95662983df76 Binary files /dev/null and b/api/target/classes/no/freshify/api/repository/ItemTypeRepository.class differ diff --git a/api/target/classes/no/freshify/api/repository/ShoppingListEntryRepository.class b/api/target/classes/no/freshify/api/repository/ShoppingListEntryRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..b03733859794ac2466b900f0c36d426519816d7d Binary files /dev/null and b/api/target/classes/no/freshify/api/repository/ShoppingListEntryRepository.class differ diff --git a/api/target/classes/no/freshify/api/repository/UserRepository.class b/api/target/classes/no/freshify/api/repository/UserRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..b8522000f97f717e94edeeda2974997318ed2aca Binary files /dev/null and b/api/target/classes/no/freshify/api/repository/UserRepository.class differ diff --git a/api/target/classes/no/freshify/api/security/AuthenticationService.class b/api/target/classes/no/freshify/api/security/AuthenticationService.class new file mode 100644 index 0000000000000000000000000000000000000000..abcf1c26a2057ea5db7ffca01bc3716d9762c5bf Binary files /dev/null and b/api/target/classes/no/freshify/api/security/AuthenticationService.class differ diff --git a/api/target/classes/no/freshify/api/security/CookieFactory.class b/api/target/classes/no/freshify/api/security/CookieFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..465e17637925e2ab9af099a52892b1365503cc7a Binary files /dev/null and b/api/target/classes/no/freshify/api/security/CookieFactory.class differ diff --git a/api/target/classes/no/freshify/api/security/JwtTokenFilter.class b/api/target/classes/no/freshify/api/security/JwtTokenFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..7b09649ed3045684db8207eab62c3acd4246dc4d Binary files /dev/null and b/api/target/classes/no/freshify/api/security/JwtTokenFilter.class differ diff --git a/api/target/classes/no/freshify/api/security/JwtUserDetailsService.class b/api/target/classes/no/freshify/api/security/JwtUserDetailsService.class new file mode 100644 index 0000000000000000000000000000000000000000..d01789ef423f6b636277d018719024c76007c373 Binary files /dev/null and b/api/target/classes/no/freshify/api/security/JwtUserDetailsService.class differ diff --git a/api/target/classes/no/freshify/api/security/PermissionEvaluatorImpl.class b/api/target/classes/no/freshify/api/security/PermissionEvaluatorImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..41ab972bb08ead17b561e46d88d3edffe192da97 Binary files /dev/null and b/api/target/classes/no/freshify/api/security/PermissionEvaluatorImpl.class differ diff --git a/api/target/classes/no/freshify/api/security/UserAuthentication.class b/api/target/classes/no/freshify/api/security/UserAuthentication.class new file mode 100644 index 0000000000000000000000000000000000000000..0d966afe3f530e0b769fb77b77a9b657e055651e Binary files /dev/null and b/api/target/classes/no/freshify/api/security/UserAuthentication.class differ diff --git a/api/target/classes/no/freshify/api/security/UserDetailsImpl.class b/api/target/classes/no/freshify/api/security/UserDetailsImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..b904d022886d1672b3e0291da17422f35eb97d31 Binary files /dev/null and b/api/target/classes/no/freshify/api/security/UserDetailsImpl.class differ diff --git a/api/target/classes/no/freshify/api/security/WebSecurityConfiguration$1.class b/api/target/classes/no/freshify/api/security/WebSecurityConfiguration$1.class new file mode 100644 index 0000000000000000000000000000000000000000..58dbe052b6e0db9066e95551f6e5b74ab97a5a5e Binary files /dev/null and b/api/target/classes/no/freshify/api/security/WebSecurityConfiguration$1.class differ diff --git a/api/target/classes/no/freshify/api/security/WebSecurityConfiguration.class b/api/target/classes/no/freshify/api/security/WebSecurityConfiguration.class new file mode 100644 index 0000000000000000000000000000000000000000..909616ee0555de945a98ad957f52c784e4327348 Binary files /dev/null and b/api/target/classes/no/freshify/api/security/WebSecurityConfiguration.class differ diff --git a/api/target/classes/no/freshify/api/service/HouseholdMemberService.class b/api/target/classes/no/freshify/api/service/HouseholdMemberService.class new file mode 100644 index 0000000000000000000000000000000000000000..cd22e03dd580dbfbeed179df92df58f4027c7351 Binary files /dev/null and b/api/target/classes/no/freshify/api/service/HouseholdMemberService.class differ diff --git a/api/target/classes/no/freshify/api/service/HouseholdService.class b/api/target/classes/no/freshify/api/service/HouseholdService.class new file mode 100644 index 0000000000000000000000000000000000000000..43c8ce175f3a2e6ac93c4231a4d07665cab330cd Binary files /dev/null and b/api/target/classes/no/freshify/api/service/HouseholdService.class differ diff --git a/api/target/classes/no/freshify/api/service/ItemService.class b/api/target/classes/no/freshify/api/service/ItemService.class new file mode 100644 index 0000000000000000000000000000000000000000..9a4fa62cf4093c177a32dc571db32dc437125e00 Binary files /dev/null and b/api/target/classes/no/freshify/api/service/ItemService.class differ diff --git a/api/target/classes/no/freshify/api/service/ItemTypeService.class b/api/target/classes/no/freshify/api/service/ItemTypeService.class new file mode 100644 index 0000000000000000000000000000000000000000..fb3fe697c10e788be03926c1070bd8d2da064a85 Binary files /dev/null and b/api/target/classes/no/freshify/api/service/ItemTypeService.class differ diff --git a/api/target/classes/no/freshify/api/service/ShoppingListEntryService.class b/api/target/classes/no/freshify/api/service/ShoppingListEntryService.class new file mode 100644 index 0000000000000000000000000000000000000000..f32a5b75909ce012b75509aeb5dcf0e57347309c Binary files /dev/null and b/api/target/classes/no/freshify/api/service/ShoppingListEntryService.class differ diff --git a/api/target/classes/no/freshify/api/service/UserService.class b/api/target/classes/no/freshify/api/service/UserService.class new file mode 100644 index 0000000000000000000000000000000000000000..006ca0eb9a2516841f003748eee55a173cf5f8d0 Binary files /dev/null and b/api/target/classes/no/freshify/api/service/UserService.class differ diff --git a/api/target/generated-sources/annotations/no/freshify/api/model/mapper/HouseholdMapperImpl.java b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/HouseholdMapperImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..b0120a8e1e4f132e244c4f59bb28f303ed9558f8 --- /dev/null +++ b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/HouseholdMapperImpl.java @@ -0,0 +1,43 @@ +package no.freshify.api.model.mapper; + +import java.util.ArrayList; +import java.util.List; +import javax.annotation.processing.Generated; +import no.freshify.api.model.Household; +import no.freshify.api.model.dto.HouseholdDTO; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2023-04-28T10:55:48+0200", + comments = "version: 1.4.2.Final, compiler: javac, environment: Java 17.0.6 (Oracle Corporation)" +) +public class HouseholdMapperImpl extends HouseholdMapper { + + @Override + public HouseholdDTO toHouseholdDTO(Household household) { + if ( household == null ) { + return null; + } + + HouseholdDTO householdDTO = new HouseholdDTO(); + + householdDTO.setId( household.getId() ); + householdDTO.setName( household.getName() ); + + return householdDTO; + } + + @Override + public List<HouseholdDTO> toHouseholdDTO(List<Household> household) { + if ( household == null ) { + return null; + } + + List<HouseholdDTO> list = new ArrayList<HouseholdDTO>( household.size() ); + for ( Household household1 : household ) { + list.add( toHouseholdDTO( household1 ) ); + } + + return list; + } +} diff --git a/api/target/generated-sources/annotations/no/freshify/api/model/mapper/HouseholdMemberMapperImpl.java b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/HouseholdMemberMapperImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..1b60356883801e6cc0490e10c49f9131ee2278b0 --- /dev/null +++ b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/HouseholdMemberMapperImpl.java @@ -0,0 +1,60 @@ +package no.freshify.api.model.mapper; + +import java.util.ArrayList; +import java.util.List; +import javax.annotation.processing.Generated; +import no.freshify.api.model.HouseholdMember; +import no.freshify.api.model.User; +import no.freshify.api.model.dto.HouseholdMemberDTO; +import no.freshify.api.model.dto.UserFull; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2023-04-28T10:55:48+0200", + comments = "version: 1.4.2.Final, compiler: javac, environment: Java 17.0.6 (Oracle Corporation)" +) +public class HouseholdMemberMapperImpl extends HouseholdMemberMapper { + + @Override + public HouseholdMemberDTO toHouseholdMemberDTO(HouseholdMember householdMember) { + if ( householdMember == null ) { + return null; + } + + HouseholdMemberDTO householdMemberDTO = new HouseholdMemberDTO(); + + householdMemberDTO.setUserType( householdMember.getRole() ); + householdMemberDTO.setId( householdMember.getId() ); + householdMemberDTO.setUser( userToUserFull( householdMember.getUser() ) ); + + return householdMemberDTO; + } + + @Override + public List<HouseholdMemberDTO> householdMemberDTOS(List<HouseholdMember> householdMembers) { + if ( householdMembers == null ) { + return null; + } + + List<HouseholdMemberDTO> list = new ArrayList<HouseholdMemberDTO>( householdMembers.size() ); + for ( HouseholdMember householdMember : householdMembers ) { + list.add( toHouseholdMemberDTO( householdMember ) ); + } + + return list; + } + + protected UserFull userToUserFull(User user) { + if ( user == null ) { + return null; + } + + UserFull userFull = new UserFull(); + + userFull.setId( user.getId() ); + userFull.setFirstName( user.getFirstName() ); + userFull.setEmail( user.getEmail() ); + + return userFull; + } +} diff --git a/api/target/generated-sources/annotations/no/freshify/api/model/mapper/ItemMapperImpl.java b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/ItemMapperImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..a27343ad98e6b6baa08ee27fbe1df167c67a0581 --- /dev/null +++ b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/ItemMapperImpl.java @@ -0,0 +1,99 @@ +package no.freshify.api.model.mapper; + +import java.util.ArrayList; +import java.util.List; +import javax.annotation.processing.Generated; +import no.freshify.api.exception.IllegalItemParameterException; +import no.freshify.api.model.Item; +import no.freshify.api.model.ItemType; +import no.freshify.api.model.dto.InventoryItem; +import no.freshify.api.model.dto.ItemTypeDTO; +import no.freshify.api.model.dto.UpdateInventoryItem; +import org.mapstruct.factory.Mappers; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2023-04-28T10:55:48+0200", + comments = "version: 1.4.2.Final, compiler: javac, environment: Java 17.0.6 (Oracle Corporation)" +) +public class ItemMapperImpl extends ItemMapper { + + private final UserMapper userMapper = Mappers.getMapper( UserMapper.class ); + + @Override + public InventoryItem toItemDto(Item item) { + if ( item == null ) { + return null; + } + + InventoryItem inventoryItem = new InventoryItem(); + + inventoryItem.setId( item.getId() ); + inventoryItem.setLastChanged( item.getLastChanged() ); + inventoryItem.setBought( item.getBought() ); + inventoryItem.setRemaining( item.getRemaining() ); + inventoryItem.setSuggested( item.getSuggested() ); + inventoryItem.setStatus( item.getStatus() ); + inventoryItem.setType( item.getType() ); + inventoryItem.setAddedBy( userMapper.toUserFull( item.getAddedBy() ) ); + + return inventoryItem; + } + + @Override + public List<InventoryItem> toItemDtos(List<Item> items) { + if ( items == null ) { + return null; + } + + List<InventoryItem> list = new ArrayList<InventoryItem>( items.size() ); + for ( Item item : items ) { + list.add( toItemDto( item ) ); + } + + return list; + } + + @Override + public ItemTypeDTO toItemTypeDTO(ItemType itemType) { + if ( itemType == null ) { + return null; + } + + ItemTypeDTO itemTypeDTO = new ItemTypeDTO(); + + itemTypeDTO.setId( itemType.getId() ); + itemTypeDTO.setName( itemType.getName() ); + + return itemTypeDTO; + } + + @Override + public List<ItemTypeDTO> toItemTypeDTO(List<ItemType> itemTypes) { + if ( itemTypes == null ) { + return null; + } + + List<ItemTypeDTO> list = new ArrayList<ItemTypeDTO>( itemTypes.size() ); + for ( ItemType itemType : itemTypes ) { + list.add( toItemTypeDTO( itemType ) ); + } + + return list; + } + + @Override + public Item toItem(UpdateInventoryItem updateInventoryItem) throws IllegalItemParameterException { + if ( updateInventoryItem == null ) { + return null; + } + + Item item = new Item(); + + item.setId( updateInventoryItem.getItemId() ); + item.setStatus( updateInventoryItem.getState() ); + item.setRemaining( updateInventoryItem.getRemaining() ); + + return item; + } +} diff --git a/api/target/generated-sources/annotations/no/freshify/api/model/mapper/ShoppingListEntryMapperImpl.java b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/ShoppingListEntryMapperImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..67f5c33581aa084af14e09a22d90a94b80f71114 --- /dev/null +++ b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/ShoppingListEntryMapperImpl.java @@ -0,0 +1,96 @@ +package no.freshify.api.model.mapper; + +import java.util.ArrayList; +import java.util.List; +import javax.annotation.processing.Generated; +import no.freshify.api.model.ItemType; +import no.freshify.api.model.ShoppingListEntry; +import no.freshify.api.model.dto.ShoppingListEntryEditRequest; +import no.freshify.api.model.dto.ShoppingListEntryRequest; +import no.freshify.api.model.dto.ShoppingListEntryResponse; +import org.mapstruct.factory.Mappers; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2023-04-28T10:55:48+0200", + comments = "version: 1.4.2.Final, compiler: javac, environment: Java 17.0.6 (Oracle Corporation)" +) +public class ShoppingListEntryMapperImpl extends ShoppingListEntryMapper { + + private final UserMapper userMapper = Mappers.getMapper( UserMapper.class ); + + @Override + public ShoppingListEntryResponse toShoppingListEntryResponse(ShoppingListEntry shoppingListEntry) { + if ( shoppingListEntry == null ) { + return null; + } + + ShoppingListEntryResponse shoppingListEntryResponse = new ShoppingListEntryResponse(); + + shoppingListEntryResponse.setId( shoppingListEntry.getId() ); + shoppingListEntryResponse.setCount( shoppingListEntry.getCount() ); + shoppingListEntryResponse.setSuggested( shoppingListEntry.getSuggested() ); + shoppingListEntryResponse.setChecked( shoppingListEntry.getChecked() ); + shoppingListEntryResponse.setType( shoppingListEntry.getType() ); + shoppingListEntryResponse.setAddedBy( userMapper.toUserFull( shoppingListEntry.getAddedBy() ) ); + + return shoppingListEntryResponse; + } + + @Override + public List<ShoppingListEntryResponse> toShoppingListEntryResponse(List<ShoppingListEntry> shoppingListEntries) { + if ( shoppingListEntries == null ) { + return null; + } + + List<ShoppingListEntryResponse> list = new ArrayList<ShoppingListEntryResponse>( shoppingListEntries.size() ); + for ( ShoppingListEntry shoppingListEntry : shoppingListEntries ) { + list.add( toShoppingListEntryResponse( shoppingListEntry ) ); + } + + return list; + } + + @Override + public ShoppingListEntry fromShoppingListEntryRequest(ShoppingListEntryRequest shoppingListEntryRequest) { + if ( shoppingListEntryRequest == null ) { + return null; + } + + ShoppingListEntry shoppingListEntry = new ShoppingListEntry(); + + shoppingListEntry.setType( shoppingListEntryRequestToItemType( shoppingListEntryRequest ) ); + shoppingListEntry.setCount( shoppingListEntryRequest.getCount() ); + shoppingListEntry.setSuggested( shoppingListEntryRequest.getSuggested() ); + + return shoppingListEntry; + } + + @Override + public ShoppingListEntry fromShoppingListEntryEditRequest(ShoppingListEntryEditRequest shoppingListEntryEditRequest) { + if ( shoppingListEntryEditRequest == null ) { + return null; + } + + ShoppingListEntry shoppingListEntry = new ShoppingListEntry(); + + shoppingListEntry.setId( shoppingListEntryEditRequest.getId() ); + shoppingListEntry.setCount( shoppingListEntryEditRequest.getCount() ); + shoppingListEntry.setSuggested( shoppingListEntryEditRequest.getSuggested() ); + shoppingListEntry.setChecked( shoppingListEntryEditRequest.getChecked() ); + + return shoppingListEntry; + } + + protected ItemType shoppingListEntryRequestToItemType(ShoppingListEntryRequest shoppingListEntryRequest) { + if ( shoppingListEntryRequest == null ) { + return null; + } + + ItemType itemType = new ItemType(); + + itemType.setId( shoppingListEntryRequest.getItemTypeId() ); + + return itemType; + } +} diff --git a/api/target/generated-sources/annotations/no/freshify/api/model/mapper/UserMapperImpl.java b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/UserMapperImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..81fe332c112e641dd1409e461815f264bcd520cd --- /dev/null +++ b/api/target/generated-sources/annotations/no/freshify/api/model/mapper/UserMapperImpl.java @@ -0,0 +1,75 @@ +package no.freshify.api.model.mapper; + +import javax.annotation.processing.Generated; +import no.freshify.api.model.User; +import no.freshify.api.model.dto.CreateUser; +import no.freshify.api.model.dto.UpdateUser; +import no.freshify.api.model.dto.UserFull; +import no.freshify.api.model.dto.UserId; + +@Generated( + value = "org.mapstruct.ap.MappingProcessor", + date = "2023-04-28T10:55:48+0200", + comments = "version: 1.4.2.Final, compiler: javac, environment: Java 17.0.6 (Oracle Corporation)" +) +public class UserMapperImpl extends UserMapper { + + @Override + public User fromCreateUser(CreateUser user) { + if ( user == null ) { + return null; + } + + User user1 = new User(); + + user1.setPassword( encodePassword( user.getPassword() ) ); + user1.setFirstName( user.getFirstName() ); + user1.setEmail( user.getEmail() ); + + return user1; + } + + @Override + public UserFull toUserFull(User user) { + if ( user == null ) { + return null; + } + + UserFull userFull = new UserFull(); + + userFull.setId( user.getId() ); + userFull.setFirstName( user.getFirstName() ); + userFull.setEmail( user.getEmail() ); + + return userFull; + } + + @Override + public UserId toUserId(User user) { + if ( user == null ) { + return null; + } + + UserId userId = new UserId(); + + userId.userId = user.getId(); + + return userId; + } + + @Override + public User toUser(UpdateUser user) { + if ( user == null ) { + return null; + } + + User user1 = new User(); + + user1.setId( user.getId() ); + user1.setFirstName( user.getFirstName() ); + user1.setEmail( user.getEmail() ); + user1.setPassword( user.getPassword() ); + + return user1; + } +} diff --git a/api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000000000000000000000000000000000000..755ff56a3abc5f395575989e95fc22c65a290b03 --- /dev/null +++ b/api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,67 @@ +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\mapper\HouseholdMemberMapper.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\ShoppingListEntryNotFoundException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\controller\UserController.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\GlobalExceptionHandler.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\HouseholdMemberAlreadyExistsException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\ItemTypeDTO.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\ShoppingListEntry.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\ItemType.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\repository\ItemRepository.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\service\ItemService.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\UserNotFoundException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\security\AuthenticationService.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\HouseholdMemberRole.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\InventoryItem.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\InvalidItemCountException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\mapper\HouseholdMapper.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\security\UserAuthentication.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\controller\HouseholdMemberController.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\ItemTypeNotFoundException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\security\JwtTokenFilter.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\CreateUser.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\ItemStatus.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\ShoppingListEntryResponse.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\repository\UserRepository.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\security\PermissionEvaluatorImpl.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\ShoppingListEntryRequest.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\UserDoesNotBelongToHouseholdException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\security\WebSecurityConfiguration.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\service\ShoppingListEntryService.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\UserTypeRequest.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\service\HouseholdService.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\UserFull.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\controller\ShoppingListController.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\IllegalItemStatusException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\service\UserService.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\repository\HouseholdMemberRepository.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\security\JwtUserDetailsService.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\mapper\ItemMapper.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\repository\ShoppingListEntryRepository.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\IllegalItemParameterException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\LoginUser.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\service\ItemTypeService.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\ItemNotFoundException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\UpdateUser.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\Household.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\InvalidHouseholdMemberRoleException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\ItemDoesNotBelongToHouseholdException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\FreshifyApiApplication.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\HouseholdMemberKey.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\HouseholdMemberDTO.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\User.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\mapper\ShoppingListEntryMapper.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\Item.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\repository\HouseholdRepository.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\service\HouseholdMemberService.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\controller\HouseholdController.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\security\UserDetailsImpl.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\HouseholdMember.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\repository\ItemTypeRepository.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\controller\ItemTypeController.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\ShoppingListEntryEditRequest.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\controller\InventoryController.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\HouseholdNotFoundException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\exception\ShoppingListEntryAlreadyExistsException.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\security\CookieFactory.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\dto\HouseholdDTO.java +C:\Users\matsl\SmartMat\smartmat-backend\api\src\main\java\no\freshify\api\model\mapper\UserMapper.java diff --git a/api/target/test-classes/application-test.properties b/api/target/test-classes/application-test.properties new file mode 100644 index 0000000000000000000000000000000000000000..b27d78a573be58998a99799d384ccc66bc7de410 --- /dev/null +++ b/api/target/test-classes/application-test.properties @@ -0,0 +1,8 @@ +spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE +spring.datasource.driverClassName=org.h2.Driver +spring.datasource.username=sa +spring.datasource.password= +spring.jpa.database-platform=org.hibernate.dialect.H2Dialect +spring.jpa.hibernate.ddl-auto=create-drop + +jwt.secret=abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz \ No newline at end of file diff --git a/api/target/test-classes/no/freshify/api/FreshifyAPIApplicationTests.class b/api/target/test-classes/no/freshify/api/FreshifyAPIApplicationTests.class new file mode 100644 index 0000000000000000000000000000000000000000..ff7da82404a049bc5e08874e4b33da49e5009aa5 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/FreshifyAPIApplicationTests.class differ diff --git a/api/target/test-classes/no/freshify/api/controller/HouseholdControllerTest.class b/api/target/test-classes/no/freshify/api/controller/HouseholdControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c8b6fd6d0d8d1ee1e7452def3f630b435654c90b Binary files /dev/null and b/api/target/test-classes/no/freshify/api/controller/HouseholdControllerTest.class differ diff --git a/api/target/test-classes/no/freshify/api/controller/HouseholdMemberControllerTest.class b/api/target/test-classes/no/freshify/api/controller/HouseholdMemberControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..44c226b387b29e76b7394483a566ee98af11388d Binary files /dev/null and b/api/target/test-classes/no/freshify/api/controller/HouseholdMemberControllerTest.class differ diff --git a/api/target/test-classes/no/freshify/api/controller/InventoryControllerTest.class b/api/target/test-classes/no/freshify/api/controller/InventoryControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..dab2eb22727a8ed72e7ecabbf31f8bcb985c9347 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/controller/InventoryControllerTest.class differ diff --git a/api/target/test-classes/no/freshify/api/controller/ItemTypeControllerTest.class b/api/target/test-classes/no/freshify/api/controller/ItemTypeControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0b0e6171ed85786e96679b355ab31cdd991c8960 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/controller/ItemTypeControllerTest.class differ diff --git a/api/target/test-classes/no/freshify/api/controller/ShoppingListControllerTest.class b/api/target/test-classes/no/freshify/api/controller/ShoppingListControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ef8229b855334901623acd7e829b730a5c88962e Binary files /dev/null and b/api/target/test-classes/no/freshify/api/controller/ShoppingListControllerTest.class differ diff --git a/api/target/test-classes/no/freshify/api/controller/UserControllerTest.class b/api/target/test-classes/no/freshify/api/controller/UserControllerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5c64597077dd4bb3f277635c18062d5c429e39b6 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/controller/UserControllerTest.class differ diff --git a/api/target/test-classes/no/freshify/api/security/TestAuthenticationService.class b/api/target/test-classes/no/freshify/api/security/TestAuthenticationService.class new file mode 100644 index 0000000000000000000000000000000000000000..6af0ee0647cb483bdd99752f74279fe1153b7f50 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/security/TestAuthenticationService.class differ diff --git a/api/target/test-classes/no/freshify/api/security/TestCookieFactory.class b/api/target/test-classes/no/freshify/api/security/TestCookieFactory.class new file mode 100644 index 0000000000000000000000000000000000000000..43c03095113427a23d6bf99088660aec3abac8fb Binary files /dev/null and b/api/target/test-classes/no/freshify/api/security/TestCookieFactory.class differ diff --git a/api/target/test-classes/no/freshify/api/security/TestPermissionEvaluator.class b/api/target/test-classes/no/freshify/api/security/TestPermissionEvaluator.class new file mode 100644 index 0000000000000000000000000000000000000000..1d8300e7613e46acada0cc524e52aa66175478fe Binary files /dev/null and b/api/target/test-classes/no/freshify/api/security/TestPermissionEvaluator.class differ diff --git a/api/target/test-classes/no/freshify/api/service/HouseholdMemberServiceTest.class b/api/target/test-classes/no/freshify/api/service/HouseholdMemberServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..afae0c8b06694eb5c2ca9eeb8692dc4753937061 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/service/HouseholdMemberServiceTest.class differ diff --git a/api/target/test-classes/no/freshify/api/service/HouseholdServiceTest.class b/api/target/test-classes/no/freshify/api/service/HouseholdServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1b4a09b42abb644de9bd26fdbea81197c68d1024 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/service/HouseholdServiceTest.class differ diff --git a/api/target/test-classes/no/freshify/api/service/ItemServiceTest.class b/api/target/test-classes/no/freshify/api/service/ItemServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c126661d868e8f663f7d407529cfefb0d5904542 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/service/ItemServiceTest.class differ diff --git a/api/target/test-classes/no/freshify/api/service/ItemTypeServiceTest.class b/api/target/test-classes/no/freshify/api/service/ItemTypeServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8157f03d9cd91caaaa2cb6c9c14b1422d4b44986 Binary files /dev/null and b/api/target/test-classes/no/freshify/api/service/ItemTypeServiceTest.class differ diff --git a/api/target/test-classes/no/freshify/api/service/ShoppingListEntryServiceTest.class b/api/target/test-classes/no/freshify/api/service/ShoppingListEntryServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..fd50609a1f2ee4acdf27b57bb1c8a9be9274c3be Binary files /dev/null and b/api/target/test-classes/no/freshify/api/service/ShoppingListEntryServiceTest.class differ diff --git a/api/target/test-classes/no/freshify/api/service/UserServiceTest.class b/api/target/test-classes/no/freshify/api/service/UserServiceTest.class new file mode 100644 index 0000000000000000000000000000000000000000..846b67ffbfc553b4fb1ad1d919dec802a9a5727c Binary files /dev/null and b/api/target/test-classes/no/freshify/api/service/UserServiceTest.class differ diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 0f58217f960e380d747ef2ddb24ad1e7e5c3b610..6ec84a0c84f19f5eb09237edbffde4e3b9a5b352 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -7,12 +7,12 @@ info: MySQL database. The API is documented using Swagger. The API is hosted using Apache. Some useful links: - - [The GitLab repository](https://gitlab.stud.idi.ntnu.no/idatt2106-v23-10/smartmat-backend) + - [The GitLab repository](https://gitlab.stud.idi.ntnu.no/idatt2106-v23-10/smartmat-backend) contact: email: vkbugge@hotmail.com license: name: MIT License - url: 'https://opensource.org/licenses/MIT' + url: "https://opensource.org/licenses/MIT" version: 1.0.0 servers: - url: http://localhost:8080 @@ -41,7 +41,7 @@ paths: schema: type: string responses: - '200': + "200": description: successful operation content: application/json: @@ -51,9 +51,9 @@ paths: userId: type: integer format: int64 - '400': + "400": description: No email provided - '404': + "404": description: User not found post: tags: @@ -66,15 +66,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateUser' + $ref: "#/components/schemas/CreateUser" responses: - '201': + "201": description: successful operation content: application/json: schema: - $ref: '#/components/schemas/UserFull' - '409': + $ref: "#/components/schemas/UserFull" + "409": description: User already exists put: tags: @@ -87,15 +87,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/UpdateUser' + $ref: "#/components/schemas/UpdateUser" responses: - '200': + "200": description: successful operation content: application/json: schema: - $ref: '#/components/schemas/UserFull' - '404': + $ref: "#/components/schemas/UserFull" + "404": description: User not found /user/loggedin: get: @@ -105,13 +105,13 @@ paths: description: Returns the details of the logged in user, the details are extracted from the jwt token cookie. operationId: getUserById responses: - '200': + "200": description: Returns the details of the logged in user content: application/json: schema: - $ref: '#/components/schemas/UserFull' - '404': + $ref: "#/components/schemas/UserFull" + "404": description: User not found /user/{id}: get: @@ -129,13 +129,13 @@ paths: type: integer format: int64 responses: - '200': + "200": description: successful operation content: application/json: schema: - $ref: '#/components/schemas/UserFull' - '404': + $ref: "#/components/schemas/UserFull" + "404": description: User not found delete: tags: @@ -152,11 +152,11 @@ paths: type: integer format: int64 responses: - '204': + "204": description: successful operation - '401': + "401": description: Access denied - '404': + "404": description: User not found /user/{id}/households: get: @@ -175,18 +175,18 @@ paths: type: integer format: int64 responses: - '200': - description: successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Household' - '401': - description: Access denied - '404': - description: User not found + "200": + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: "#/components/schemas/Household" + "401": + description: Access denied + "404": + description: User not found /user/login: post: tags: @@ -199,15 +199,15 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/LoginUser' + $ref: "#/components/schemas/LoginUser" responses: - '200': + "200": description: successful operation content: application/json: schema: - $ref: '#/components/schemas/UserFull' - '401': + $ref: "#/components/schemas/UserFull" + "401": description: User could not be logged in /user/logout: post: @@ -217,9 +217,9 @@ paths: description: Logs out a user operationId: logoutUser responses: - '200': + "200": description: successful operation - '401': + "401": description: User could not be logged out /household: post: @@ -233,14 +233,14 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateHousehold' + $ref: "#/components/schemas/CreateHousehold" responses: - '201': + "201": description: successful operation content: application/json: schema: - $ref: '#/components/schemas/Household' + $ref: "#/components/schemas/Household" /household/{id}/users: get: tags: @@ -257,7 +257,7 @@ paths: type: integer format: int64 responses: - '200': + "200": description: successful operation content: application/json: @@ -267,15 +267,15 @@ paths: type: object properties: id: - $ref: '#/components/schemas/HouseholdMemberKey' + $ref: "#/components/schemas/HouseholdMemberKey" user: - $ref: '#/components/schemas/UserFull' + $ref: "#/components/schemas/UserFull" userType: - $ref: '#/components/schemas/HouseholdUserType' - '401': + $ref: "#/components/schemas/HouseholdUserType" + "401": description: Access denied - '404': - description: Household not found + "404": + description: Household not found put: tags: - household @@ -297,18 +297,18 @@ paths: schema: $ref: "#/components/schemas/UpdateHouseholdUserType" responses: - '200': + "200": description: The updated household member content: application/json: schema: - $ref: '#/components/schemas/HouseholdMember' - '400': + $ref: "#/components/schemas/HouseholdMember" + "400": description: Illegal household member role/User does not belong to household - '401': + "401": description: Access denied - '404': - description: Household not found/user not found + "404": + description: Household not found/user not found post: tags: - household @@ -334,14 +334,14 @@ paths: type: integer format: int64 responses: - '201': + "201": description: successful operation - '409': + "409": description: User already exists in the household - '401': + "401": description: Access denied - '404': - description: Household not found + "404": + description: Household not found /household/{id}/users/{userId}: delete: tags: @@ -365,12 +365,55 @@ paths: type: integer format: int64 responses: - '204': + "204": description: successful operation - '404': + "404": description: User not found/Household not found/User does not belong to household - '401': + "401": description: Access denied + /household/{id}/waste: + get: + tags: + - household + summary: Returns a list of household waste + description: Returns a list of household waste sorted by either number of items wasted or percentage of items wasted. The list is sorted in descending order. + parameters: + - name: id + in: path + description: ID of household to get waste from + required: true + schema: + type: integer + format: int64 + - name: sort_by + in: query + description: Sort by either number of items wasted or percentage of items wasted + required: true + schema: + $ref: "#/components/schemas/ItemSortMethod" + - name: limit + in: query + description: The number of items to return (maximum 50) + schema: + type: integer + maximum: 50 + - name: start_date + in: query + description: Start date for the time interval (YYYY-MM-DD) + required: false + schema: + type: string + - name: end_date + in: query + description: End date for the time interval (YYYY-MM-DD) + required: false + schema: + type: string + responses: + "200": + description: successful operation + "404": + description: Household not found /household/{id}: delete: tags: @@ -387,11 +430,11 @@ paths: type: integer format: int64 responses: - '204': + "204": description: successful operation - '404': + "404": description: Household not found - '401': + "401": description: Access denied get: tags: @@ -408,17 +451,17 @@ paths: type: integer format: int64 responses: - '200': + "200": description: successful operation content: application/json: schema: - $ref: '#/components/schemas/Household' - '404': + $ref: "#/components/schemas/Household" + "404": description: Household not found put: tags: - - household + - household summary: Update household description: Updates the household's attributes. Can only be done by a superuser operationId: updateHousehold @@ -435,18 +478,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/Household' + $ref: "#/components/schemas/Household" responses: - '200': - description: successful operation - '404': - description: Household not found - '401': - description: Access denied + "200": + description: successful operation + "404": + description: Household not found + "401": + description: Access denied /household/{id}/shoppinglist: get: tags: - - shopping list + - shopping list summary: Get the shopping list of a household description: Gets a shopping list with item id from shopping list operationId: getShoppingList @@ -459,19 +502,19 @@ paths: type: integer format: int64 responses: - '200': + "200": description: household ShoppingList items content: application/json: schema: type: array items: - $ref: '#/components/schemas/ShoppingListEntry' - '401': + $ref: "#/components/schemas/ShoppingListEntry" + "401": description: Unauthorized - '404': + "404": description: Household not found - post: + post: tags: - shopping list summary: Add item to shopping list @@ -490,19 +533,19 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/CreateShoppingListEntry' + $ref: "#/components/schemas/CreateShoppingListEntry" responses: - '201': + "201": description: Successful operation content: application/json: schema: - $ref: '#/components/schemas/ShoppingListEntry' - '401': + $ref: "#/components/schemas/ShoppingListEntry" + "401": description: Unauthorized response - '409': + "409": description: Item already exists in shopping list - '404': + "404": description: Item type or household does not exist put: tags: @@ -522,16 +565,16 @@ paths: description: ItemType and count to change in shopping list content: application/json: - schema: - $ref: '#/components/schemas/UpdateShoppingListEntry' + schema: + $ref: "#/components/schemas/UpdateShoppingListEntry" responses: - '204': + "204": description: Successful operation - '400': + "400": description: Invalid operation. More items are removed than in shopping list. - '401': + "401": description: Unauthorized response, user is not validated or does not have access - '404': + "404": description: Shopping list entry not found /household/{id}/shoppinglist/{listEntryId}: delete: @@ -556,11 +599,11 @@ paths: type: integer format: int64 responses: - '204': + "204": description: Successful operation - '404': + "404": description: Shopping list or shopping list entry not found. - '401': + "401": description: Unauthorized response, user is not validated or does not have access /household/{id}/shoppinglist/buy: post: @@ -578,13 +621,13 @@ paths: type: integer format: int64 responses: - '200': + "200": description: Successful operation - '400': + "400": description: Invalid operation. More items are removed than in shopping list. - '401': + "401": description: Unauthorized response, user is not validated or does not have access - '404': + "404": description: Item not found in shopping list /household/{id}/inventory: post: @@ -617,19 +660,19 @@ paths: type: integer format: int64 responses: - '201': + "201": description: Returns a list of the newly added items. content: application/json: schema: - $ref: '#/components/schemas/InventoryItems' - '401': + $ref: "#/components/schemas/InventoryItems" + "401": description: Unauthorized response, user is not validated or does not have access - '404': + "404": description: Household not found/User not found/Item type not found get: tags: - - inventory + - inventory summary: Gets all items from inventory description: Gets all items of a specific inventory operationId: getInventoryItems @@ -642,17 +685,17 @@ paths: type: integer format: int64 responses: - '200': + "200": description: item found content: application/json: schema: type: array items: - $ref: '#/components/schemas/Item' - '401': + $ref: "#/components/schemas/Item" + "401": description: Unauthorized - '404': + "404": description: Household not found put: tags: @@ -675,13 +718,13 @@ paths: schema: $ref: "#/components/schemas/UpdateItem" responses: - '200': + "200": description: Successful operation - '400': + "400": description: The given item status is not a valid status for item/item does not belong to household - '401': + "401": description: Unauthorized response, user is not validated or does not have access - '404': + "404": description: Item not found/household not found /household/{id}/inventory/{itemId}: delete: @@ -693,7 +736,7 @@ paths: parameters: - name: id in: path - description: ID of household's inventory to delete the item from + description: ID of household's inventory to delete the item from required: true schema: type: integer @@ -706,11 +749,11 @@ paths: type: integer format: int64 responses: - '200': + "200": description: Successful operation - '401': + "401": description: Unauthorized response, user is not validated or does not have access - '404': + "404": description: Item not found/household not found /household/{id}/inventory/suggest: post: @@ -743,15 +786,15 @@ paths: type: integer format: int64 responses: - '201': + "201": description: Returns a list of the newly added suggestions. content: application/json: schema: - $ref: '#/components/schemas/InventoryItems' - '401': + $ref: "#/components/schemas/InventoryItems" + "401": description: Unauthorized response, user is not validated or does not have access - '404': + "404": description: Household not found/User not found/Item type not found /itemtype: get: @@ -774,7 +817,7 @@ paths: schema: type: array items: - $ref: '#/components/schemas/ItemType' + $ref: "#/components/schemas/ItemType" 404: description: No item types found components: @@ -882,19 +925,31 @@ components: format: int32 example: 1 type: - $ref: '#/components/schemas/ItemType' + $ref: "#/components/schemas/ItemType" suggested: type: boolean checked: example: false type: boolean addedBy: - $ref: '#/components/schemas/UserFull' + $ref: "#/components/schemas/UserFull" ItemState: type: string enum: - INVENTORY - USED + ItemSortMethod: + type: string + enum: + - COUNT + - PERCENTAGE + TimePeriod: + type: string + enum: + - WEEK + - MONTH + - YEAR + - ALL UpdateItem: type: object properties: @@ -916,7 +971,7 @@ components: type: integer example: 123 state: - $ref: '#/components/schemas/ItemState' + $ref: "#/components/schemas/ItemState" remaining: type: number format: double @@ -928,36 +983,36 @@ components: suggested: type: boolean type: - $ref: '#/components/schemas/ItemType' + $ref: "#/components/schemas/ItemType" addedBy: - $ref: '#/components/schemas/UserFull' + $ref: "#/components/schemas/UserFull" InventoryItems: type: array items: - properties: - id: - type: integer - example: 123 - state: - $ref: '#/components/schemas/ItemState' - remaining: - type: number - format: double - example: 1 - lastChanged: - type: string - format: date - example: "2020-01-01" - addedDate: - type: string - format: date - example: "2020-01-01" - suggested: - type: boolean - type: - $ref: '#/components/schemas/ItemType' - addedBy: - $ref: '#/components/schemas/UserFull' + properties: + id: + type: integer + example: 123 + state: + $ref: "#/components/schemas/ItemState" + remaining: + type: number + format: double + example: 1 + lastChanged: + type: string + format: date + example: "2020-01-01" + addedDate: + type: string + format: date + example: "2020-01-01" + suggested: + type: boolean + type: + $ref: "#/components/schemas/ItemType" + addedBy: + $ref: "#/components/schemas/UserFull" HouseholdUserType: type: string enum: @@ -970,7 +1025,7 @@ components: type: integer example: 123 type: - $ref: '#/components/schemas/HouseholdUserType' + $ref: "#/components/schemas/HouseholdUserType" HouseholdMemberKey: type: object properties: @@ -984,11 +1039,11 @@ components: type: object properties: id: - $ref: '#/components/schemas/HouseholdMemberKey' + $ref: "#/components/schemas/HouseholdMemberKey" user: - $ref: '#/components/schemas/UserFull' + $ref: "#/components/schemas/UserFull" type: - $ref: '#/components/schemas/HouseholdUserType' + $ref: "#/components/schemas/HouseholdUserType" Household: type: object properties: