From a92f1c6d8bc0457ec1bc672be6d233c4d111208b Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Fri, 9 Jan 2026 14:43:16 +0900 Subject: [PATCH 01/17] 2026.01.09 --- .gitignore | 1 + discodeit/build.gradle | 20 ++++++++++++++++++++ discodeit/settings.gradle | 1 + 3 files changed, 22 insertions(+) create mode 100644 .gitignore create mode 100644 discodeit/build.gradle create mode 100644 discodeit/settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..485dee64 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea diff --git a/discodeit/build.gradle b/discodeit/build.gradle new file mode 100644 index 00000000..602a4a8b --- /dev/null +++ b/discodeit/build.gradle @@ -0,0 +1,20 @@ +plugins { + id 'java' +} + +group = 'com.sprint.mission' +version = '1.0-SNAPSHOT' + +repositories { + mavenCentral() +} + +dependencies { + testImplementation platform('org.junit:junit-bom:5.10.0') + testImplementation 'org.junit.jupiter:junit-jupiter' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' +} + +test { + useJUnitPlatform() +} \ No newline at end of file diff --git a/discodeit/settings.gradle b/discodeit/settings.gradle new file mode 100644 index 00000000..345c89f6 --- /dev/null +++ b/discodeit/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'discodeit' \ No newline at end of file From 0a452054f226c63c4d54435d1a353c8280fc8f63 Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Fri, 9 Jan 2026 14:56:03 +0900 Subject: [PATCH 02/17] 26.01.09 --- .../.gradle/9.0.0/checksums/checksums.lock | Bin 0 -> 17 bytes .../executionHistory/executionHistory.bin | Bin 0 -> 19756 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .../.gradle/9.0.0/fileChanges/last-build.bin | Bin 0 -> 1 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 0 -> 18897 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes discodeit/.gradle/9.0.0/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .../buildOutputCleanup/cache.properties | 2 + .../buildOutputCleanup/outputFiles.bin | Bin 0 -> 18713 bytes discodeit/.gradle/file-system.probe | Bin 0 -> 8 bytes discodeit/.gradle/vcs-1/gc.properties | 0 discodeit/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes .../gradle/wrapper/gradle-wrapper.properties | 7 + discodeit/gradlew | 251 ++++++++++++++++++ discodeit/gradlew.bat | 94 +++++++ 16 files changed, 354 insertions(+) create mode 100644 discodeit/.gradle/9.0.0/checksums/checksums.lock create mode 100644 discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin create mode 100644 discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock create mode 100644 discodeit/.gradle/9.0.0/fileChanges/last-build.bin create mode 100644 discodeit/.gradle/9.0.0/fileHashes/fileHashes.bin create mode 100644 discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock create mode 100644 discodeit/.gradle/9.0.0/gc.properties create mode 100644 discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 discodeit/.gradle/buildOutputCleanup/cache.properties create mode 100644 discodeit/.gradle/buildOutputCleanup/outputFiles.bin create mode 100644 discodeit/.gradle/file-system.probe create mode 100644 discodeit/.gradle/vcs-1/gc.properties create mode 100644 discodeit/gradle/wrapper/gradle-wrapper.jar create mode 100644 discodeit/gradle/wrapper/gradle-wrapper.properties create mode 100644 discodeit/gradlew create mode 100644 discodeit/gradlew.bat diff --git a/discodeit/.gradle/9.0.0/checksums/checksums.lock b/discodeit/.gradle/9.0.0/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..f85bf5b4bd0827b0b52bc55d35655e159b9d1e2b GIT binary patch literal 17 ScmZQx%9$nbzo5OG0SW*s@B^6u literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin new file mode 100644 index 0000000000000000000000000000000000000000..9acb435a0cb6a3a2e6385241f3d94cf8bcf4f941 GIT binary patch literal 19756 zcmeI%OK1~87zgm#B!U#HE2szxf>x|zw#}wZTRpWVTE%x;9~g<#&1j}3*=1&v*di#R zB30B1iuhL4n-3H{hz~r7hYCJXR8X`QL3^_oLD5ap(25>}Dv10Sc6XTBo$s4pzS&EH zgp5_c^&O=D7~S7Q3jz>;00bZa0SG_<0uX=z1Rwwb2tWV=5P$##AOL~?MWD%9NKt+< zW2d{ajS(3_%7-}(rQ8^|!c~0sSbn&^w($Q!;qLTL&5z*<0SG_<0uX=z1Rwwb2tWV= z5P$##AOHafKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P-nHAmAs& z^VT_EWY5Dao=FC1B@ML2jLNlEtH0HsNb1rEB-Cy1sxRqJhJT%;GjaI)nMN(H*;KBVT1HUIVnSP?T6)B%(`Li(5BO+R!0_uVTA}NDRkg3G zdTo_a>N>#uV!td4icK+e63{^ICb-N7 z4LeIR%qZh_IG;>Lb0#Eeo4b4bc;)u-3F(T8b2W1E)9&l-*ZiNycy_c6AH;=;?LH*a+LhV*u2GwA4YdG=VsbT*>RnapMK>hERJ zABm{-!RenKta@;-*i)MM@Ot6HPq~D?D4v}%w@Guk+!*{1K-9}O-)t@|>ajvAC)QRx RUUQ{Ahkr2WQJk;a`|s4a5^4Yd literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock new file mode 100644 index 0000000000000000000000000000000000000000..e387a63b5941395ef79c6fa0015d0e7219cf057f GIT binary patch literal 17 UcmZR+Dlt6BR;ps$bBkrUJgx9M_=wT?(bViOV{1D{Ls;ESEqL&^ul(>Dlj12Xu>+q+ zemxiIusI2RBTTwg3=qHr05#GCLjV8( literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/9.0.0/gc.properties b/discodeit/.gradle/9.0.0/gc.properties new file mode 100644 index 00000000..e69de29b diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000000000000000000000000000000000000..dda9d1b28fc9fe1ed05ffd5a48196dd3d7220746 GIT binary patch literal 17 TcmZRMC~iIDui%);00H~}DS-n> literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/buildOutputCleanup/cache.properties b/discodeit/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 00000000..c41d3a2d --- /dev/null +++ b/discodeit/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Fri Jan 09 14:51:16 KST 2026 +gradle.version=9.0.0 diff --git a/discodeit/.gradle/buildOutputCleanup/outputFiles.bin b/discodeit/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000000000000000000000000000000000000..3452b1666b9f328b5a5d33f0434c75ba5a0939cf GIT binary patch literal 18713 zcmeI%%_{_99Ki8sUA%2eTU*OT6sJ9q%a+utJ&{d8+LM>&AJ`P>;PL4=hl7lQcXw916uT5?al)g_rGf&@{>FN1gCu&Tvxh%s}N1(c7g#ZEwAby1B`jx9@1YVW$APNnPvpWBCOwf7ab6I1Q)`||#(_K}Qt zWnw8lEPYP1$v$B>z(P5X?$NwCI41&w)(+d I-@p1SA1F|=?f?J) literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe new file mode 100644 index 0000000000000000000000000000000000000000..d639a7ec86f03b308328bd0a4f2cb2acc608c734 GIT binary patch literal 8 PcmZQzV4S_s-{>U(2h#$m literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/vcs-1/gc.properties b/discodeit/.gradle/vcs-1/gc.properties new file mode 100644 index 00000000..e69de29b diff --git a/discodeit/gradle/wrapper/gradle-wrapper.jar b/discodeit/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..8bdaf60c75ab801e22807dde59e12a8735a34077 GIT binary patch literal 45457 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 c82=K%QXLKFx%@O{wJjEi6Y56o#$)Bpeg literal 0 HcmV?d00001 diff --git a/discodeit/gradle/wrapper/gradle-wrapper.properties b/discodeit/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..2a84e188 --- /dev/null +++ b/discodeit/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/discodeit/gradlew b/discodeit/gradlew new file mode 100644 index 00000000..ef07e016 --- /dev/null +++ b/discodeit/gradlew @@ -0,0 +1,251 @@ +#!/bin/sh + +# +# Copyright © 2015 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/discodeit/gradlew.bat b/discodeit/gradlew.bat new file mode 100644 index 00000000..db3a6ac2 --- /dev/null +++ b/discodeit/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega From 5556b9b04af7f71965648b304b4cef136a036231 Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Fri, 9 Jan 2026 18:55:32 +0900 Subject: [PATCH 03/17] 26.01.09 --- discodeit/src/main/java/JavaApplication.java | 21 ++++++++ discodeit/src/main/java/entity/Channel.java | 10 ++++ discodeit/src/main/java/entity/Message.java | 21 ++++++++ discodeit/src/main/java/entity/User.java | 53 +++++++++++++++++++ .../main/java/service/JCFChannelService.java | 4 ++ .../main/java/service/JCFMessageSEevice.java | 4 ++ .../src/main/java/service/UserService.java | 24 +++++++++ .../main/java/service/jcf/JCFUserService.java | 46 ++++++++++++++++ 8 files changed, 183 insertions(+) create mode 100644 discodeit/src/main/java/JavaApplication.java create mode 100644 discodeit/src/main/java/entity/Channel.java create mode 100644 discodeit/src/main/java/entity/Message.java create mode 100644 discodeit/src/main/java/entity/User.java create mode 100644 discodeit/src/main/java/service/JCFChannelService.java create mode 100644 discodeit/src/main/java/service/JCFMessageSEevice.java create mode 100644 discodeit/src/main/java/service/UserService.java create mode 100644 discodeit/src/main/java/service/jcf/JCFUserService.java diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java new file mode 100644 index 00000000..17e96ee7 --- /dev/null +++ b/discodeit/src/main/java/JavaApplication.java @@ -0,0 +1,21 @@ +import entity.User; +import service.UserService; +import service.jcf.JCFUserService; + +import java.util.List; + +public class JavaApplication { + public static void main(String[] args){ + + User user = new User("육선우", "ryuk6238@gmail.com", "2019010282"); + UserService UserService = new JCFUserService(); + + boolean addFlag= userService.addUser(user); + if(addFlag) + System.out.println("추가 완료"); + else + System.out.println("추가 실패"); + + userService.getAllUser(); + } +} diff --git a/discodeit/src/main/java/entity/Channel.java b/discodeit/src/main/java/entity/Channel.java new file mode 100644 index 00000000..542b275d --- /dev/null +++ b/discodeit/src/main/java/entity/Channel.java @@ -0,0 +1,10 @@ +package entity; + +import java.util.UUID; + +public class Channel { + private UUID id; + private Long createdAt; + private Long updateAt; + +} diff --git a/discodeit/src/main/java/entity/Message.java b/discodeit/src/main/java/entity/Message.java new file mode 100644 index 00000000..7f508d43 --- /dev/null +++ b/discodeit/src/main/java/entity/Message.java @@ -0,0 +1,21 @@ +package entity; + +import java.util.UUID; + +public class Message { + private UUID id; + private String displayName; + private String email; + private String phoneNumber; + private Long createdAt; + private Long updateAt; + + public Message(String displayName, String email, String phoneNumber) { + this.id = UUID.randomUUID(); + this.displayName = displayName; + this.email = email; + this.phoneNumber = phoneNumber; + this.createdAt = System.currentTimeMillis(); + this.updateAt = System.currentTimeMillis(); + } +} diff --git a/discodeit/src/main/java/entity/User.java b/discodeit/src/main/java/entity/User.java new file mode 100644 index 00000000..1289940c --- /dev/null +++ b/discodeit/src/main/java/entity/User.java @@ -0,0 +1,53 @@ +package entity; + +import java.util.UUID; + +public class User { + private UUID id; + private String displayName; + private String email; + private String phoneNumber; + private Long createdAt; + private Long updateAt; + + public User(String displayName, String email, String phoneNumber) { + this.id = UUID.randomUUID(); + this.displayName = displayName; + this.email = email; + this.phoneNumber = phoneNumber; + long now = System.currentTimeMillis(); + this.createdAt = now; + this.updateAt = now; + } + + public UUID getId() { + return id; + } + + public String getDisplayName() { + return displayName; + } + + public String getEmail() { + return email; + } + + public String getPhoneNumber() { + return phoneNumber; + } + + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdateAt() { + return updateAt; + } + + public someThing update(someThing palamiter) + } + + + //오버라이딩 + //제네이이트 -> 'toString' +} diff --git a/discodeit/src/main/java/service/JCFChannelService.java b/discodeit/src/main/java/service/JCFChannelService.java new file mode 100644 index 00000000..9d7a593f --- /dev/null +++ b/discodeit/src/main/java/service/JCFChannelService.java @@ -0,0 +1,4 @@ +package service; + +public interface JCFChannelService { +} diff --git a/discodeit/src/main/java/service/JCFMessageSEevice.java b/discodeit/src/main/java/service/JCFMessageSEevice.java new file mode 100644 index 00000000..700101b9 --- /dev/null +++ b/discodeit/src/main/java/service/JCFMessageSEevice.java @@ -0,0 +1,4 @@ +package service; + +public interface JCFMessageService { +} diff --git a/discodeit/src/main/java/service/UserService.java b/discodeit/src/main/java/service/UserService.java new file mode 100644 index 00000000..646ccb09 --- /dev/null +++ b/discodeit/src/main/java/service/UserService.java @@ -0,0 +1,24 @@ +package service; + +import entity.User; + +import java.util.List; + +public interface UserService { + //생성 + User addUser(User user); + + //조회 + User getUser(String displayName); + + //전체 조회 + List getAllUser(); + + // 수정 + User updateUser(String name, String email, String phoneNumber); + + // 이름으로 전체 목록에서 검색 User 객체에서 가져오고 + // 가져온 User안에 필드인 id를 조회해서 리스트에서 검색한다음 삭제하도록 진행 + // 삭제 + boolean deleteUser(User displayName); +} diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java new file mode 100644 index 00000000..f440c942 --- /dev/null +++ b/discodeit/src/main/java/service/jcf/JCFUserService.java @@ -0,0 +1,46 @@ +package service.jcf; + +import entity.User; +import service.JCFMessageService; +import service.UserService; + +import java.util.ArrayList; +import java.util.List; + +public class JCFUserService implements UserService { + + private final List data; + public JCFUserService() { + this.data = new ArrayList<>(); + } + + @Override + public User addUser(User user) { + boolean flag = data.add(user); + if(flag){ + return user; + }else{ + throw new Exception; + } + } + + @Override + public User getUser(String displayName) { + return data; + } + + @Override + public List getAllUser() { + return List.of(); + } + + @Override + public User updateUser(String name, String email, String phoneNumber) { + return null; + } + + @Override + public boolean deleteUser(User displayName) { + return false; + } +} From bc743d3a1e1c47dd51905024959a6eaf996a5b59 Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Mon, 12 Jan 2026 19:39:28 +0900 Subject: [PATCH 04/17] 26.01.12 --- .../executionHistory/executionHistory.bin | Bin 19756 -> 44029 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 18897 -> 20397 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 0 -> 21115 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/outputFiles.bin | Bin 18713 -> 18983 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes .../classes/java/main/JavaApplication.class | Bin 0 -> 1303 bytes .../classes/java/main/entity/Channel.class | Bin 0 -> 1069 bytes .../classes/java/main/entity/Message.class | Bin 0 -> 607 bytes .../build/classes/java/main/entity/User.class | Bin 0 -> 1421 bytes .../java/main/service/ChannelService.class | Bin 0 -> 327 bytes .../java/main/service/MessageService.class | Bin 0 -> 117 bytes .../java/main/service/UserService.class | Bin 0 -> 402 bytes .../main/service/jcf/JCFChannelService.class | Bin 0 -> 945 bytes .../main/service/jcf/JCFUserService.class | Bin 0 -> 3890 bytes .../reports/problems/problems-report.html | 663 ++++++++++++++++++ .../stash-dir/JavaApplication.class.uniqueId0 | Bin 0 -> 1203 bytes .../compileJava/previous-compilation-data.bin | Bin 0 -> 568 bytes discodeit/src/main/java/JavaApplication.java | 25 +- discodeit/src/main/java/entity/Channel.java | 32 +- discodeit/src/main/java/entity/Message.java | 14 +- discodeit/src/main/java/entity/User.java | 17 +- .../src/main/java/service/ChannelService.java | 16 + .../main/java/service/JCFChannelService.java | 4 - .../main/java/service/JCFMessageSEevice.java | 4 - .../src/main/java/service/MessageService.java | 4 + .../src/main/java/service/UserService.java | 24 +- .../java/service/jcf/JCFChannelService.java | 33 + .../main/java/service/jcf/JCFUserService.java | 76 +- 31 files changed, 847 insertions(+), 65 deletions(-) create mode 100644 discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin create mode 100644 discodeit/build/classes/java/main/JavaApplication.class create mode 100644 discodeit/build/classes/java/main/entity/Channel.class create mode 100644 discodeit/build/classes/java/main/entity/Message.class create mode 100644 discodeit/build/classes/java/main/entity/User.class create mode 100644 discodeit/build/classes/java/main/service/ChannelService.class create mode 100644 discodeit/build/classes/java/main/service/MessageService.class create mode 100644 discodeit/build/classes/java/main/service/UserService.class create mode 100644 discodeit/build/classes/java/main/service/jcf/JCFChannelService.class create mode 100644 discodeit/build/classes/java/main/service/jcf/JCFUserService.class create mode 100644 discodeit/build/reports/problems/problems-report.html create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId0 create mode 100644 discodeit/build/tmp/compileJava/previous-compilation-data.bin create mode 100644 discodeit/src/main/java/service/ChannelService.java delete mode 100644 discodeit/src/main/java/service/JCFChannelService.java delete mode 100644 discodeit/src/main/java/service/JCFMessageSEevice.java create mode 100644 discodeit/src/main/java/service/MessageService.java create mode 100644 discodeit/src/main/java/service/jcf/JCFChannelService.java diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index 9acb435a0cb6a3a2e6385241f3d94cf8bcf4f941..34b18f5ccd9209a116d766203115e55fe9b45ab9 100644 GIT binary patch literal 44029 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 KrTr1a#Qs0Qyx}ka delta 49 zcmex+ooUT1#t9;<3_u{dF>#0Z!~&1Wk`mI4jFWvOlo>TaLK_QK0)^W*J9@lk0RWBU B5TO77 diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock index e387a63b5941395ef79c6fa0015d0e7219cf057f..1d37d74f96fed3a5453da6db0353b29ac097af3f 100644 GIT binary patch literal 17 UcmZR+Dltc05Q@8mjD0& literal 17 UcmZR+Dlth!WwA=OGKQmc1`6;&2Cc^Jb?Nu&6X}ExWo@~PJ zieu7B6OC45E;{&yFBSflWiT+8<(~+D;!@Ww2wXJt~-WQyR+-@_9cAuqogIX z_lUdkc#G$37?di?6<7JDHf0S-bT1r=pAWc ziy#kk@sETHJ=-n9>#KgnTv9@~Z)};%(AY~xn2S~s?x!%?npWY|$&T+N+~0Q9WzEFo zQ!MxY!ru?jY9Bhf33Fj6;XyAvuh$HDzX5Y;0^z}9bQd&M%$?5i0>anYjXJm^D%}cm zpN)iv$GlzG*5IJQK7R(`5ekoWPHo%vvHUjSa=ENBPTEk3xwwMxXrE&v69cT-=l8ZC zd}BbgR^iHX0z6(~O?dpx?_I(_^FLzl-AXw5O;P+K_}}0T1)u;FfC5ke3P1rU00p1` z6o3Ly017|>C;$bZ02F`%Pyh-*0Vn_kpa2wr0#E=7KmjNK1)u;FfC5ke3P1rU00p1` z6yO#ZkB~L`8Abo-$MBm>O?jmmBjnD`xvmjoD2kVM#K-9#_P&WmzwP=P@m1Mx?o?%j z{_!BaxagT9`c5@%IKII~elpka^04Wu^{=hgRkw<4c_O{d8eQ0+dbmbGapPtyowlE5 zE;M&{RtBD9SCxnjb7QVyX;rJ+oM|N4U+ERwJ4b<5!ArBh8;!qNuN^R-Yos&^igTXb z(h2eq{46)@@#|-VWzc5_RCX?^jZ%~@Uz4x`4XHj-<-t4G^ESuEG{Mdzk z4a%x0l55-?vwfby-mbi%nUqh@(Yff%3oq^Td8r7EM3-6>x~a@DRv!H4sBzO4C?$J( zJg1wXk;o`5WY1sl&?;4pk*7w)lD|Hwnb&re@C@o8_ zQBNXFjU92l7J3Vjlwo$rdZ!E>nX;2JIa>V_S>(w#D;+W()Bx(`p8 zRTaj~!G^jm*Kn7crPjx;&@$+_ePP1CF=!+ zyxaq?XECdayIH^pl*TTuQT%f2qL#sW(dFB_4(Ux_g3i>See6%rVh#H2ipm_nXL&Rq z>A6sSIo#Iux?9pw#z;+OPuJ)!XGaTD1W|=TTwg3}C=`7yvel1p5F0 literal 17 UcmZQRbX}kS>TTwg3=qHr05#GCLjV8( diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..90e6d4bbd5a9f86744876884626d0601941485b1 GIT binary patch literal 21115 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 Xj9VqMjd`WysP literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock index dda9d1b28fc9fe1ed05ffd5a48196dd3d7220746..ba7b84213e81179fda5a0cbf1841257406ac7485 100644 GIT binary patch literal 17 UcmZRMC~iIDui%);00xY104cfyfB*mh literal 17 TcmZRMC~iIDui%);00H~}DS-n> diff --git a/discodeit/.gradle/buildOutputCleanup/outputFiles.bin b/discodeit/.gradle/buildOutputCleanup/outputFiles.bin index 3452b1666b9f328b5a5d33f0434c75ba5a0939cf..66890175312031604ef2d2dcc7ef353cba040b5d 100644 GIT binary patch delta 403 zcmbO^iE;T9#tkMChSC#G9a*#VXuL857UEDho`)87k~=3PVSXZ5P0xn)#Rt?t&^dGiIbN~C}_O2ys~A> zx<^-_f|4+^UoQBw;MROjPN?|V$$No{zwwAIyvdQN1QpbVDdw15)qLZtYCJ^Ti+S=@ zpkkTLkqV2io^FFGo(@wiXV#YBV{I4-6<;~|twex>|K`S;*}To?pn|($ijyx)-#PVG zS29%G7A9Vh@i$iK-KColaWB!yrjiOO^=F+;i~ceHf-3$9Qw*aS7?@^mRQw^n(V#(e bvZKe1$?Tp&K+HQi!NY8_pGOoBgJ?|vg@>@` delta 68 zcmZ2Jg>mL2#tkMCj69Q5B@8C71>&y~5|dRWB_`(r@m3)IE9o)0S4x8CKNK)9FdA-D P{2{*4;Dy*^M~@o-gz_A+ diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe index d639a7ec86f03b308328bd0a4f2cb2acc608c734..cb82f78f5b5f5698a3e12a5dbb9b2f41e2a8d0f2 100644 GIT binary patch literal 8 PcmZQzV4S^?ZG{g22ZsVk literal 8 PcmZQzV4S_s-{>U(2h#$m diff --git a/discodeit/build/classes/java/main/JavaApplication.class b/discodeit/build/classes/java/main/JavaApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..161377d11ce8186602c508387a308b776b55bda6 GIT binary patch literal 1303 zcmaJ>Sx*yD7(KTXW?CxC6cBI&7i`%E%DxJ+C|C+ws3ATL!&nB|DVa`*ylLVCKS7NT z_{bYH27)BM`QlH3`WKAfoq3RivQ=e6 zkrRp$muHt&HPvD$8q^Kl8fGX61Y-h3hT61dZs@8euc~k5>9NTLvZId63xT&QW+=Bi zWh^}*M^(izG}D6{C=pQVLmA31Tov6+TUwIAr5g;DVY^aK$y3I9#)?{|rX&Zv@WRhQ zRxnftu1yKXL{u?&a$mpYK5pl}?24#nkj%}@T6d_UcO;%v^hB$gN{XmuC~j+S3x#_6 z+Pb@Xig6ov1l;xE9_kqUXZ-SrF$l`?GIuacoZfGbiSX%0e855Ue@`&18J2Es%Dl~h zi2DTg`0#x$yPezmB;p}M$(o)_=L2nUfVPJ^I=i}idPM}N=FjJy?GGXvX^txy zTGxfDW~Yi6+Ft>!)cW-9u@%0Igorkx)P9oPI@#Uvq6Hy7+zuN5HROUM6EC`a=td8N zXlU=Oux@A!6@lPY;(X72KJ;UNG?U7Zgw9twN5eW_=@5nmJn>sp(rHrX==yp>R~1W7kyzYgsb#`Z%Hc#Z$tBI4SC$gwk-{leNyHRW=k}@7ZLR2O zl4kf)9|GzoaZtaiz?-Xtf-#CKW}Hg>*Mw=<8Cq!6c>$a)S@!$L(+^$YN~_esX`lZt zC?u%PR%n}N8adq)1-)raG1ZlblC*i*W6BpAWkgdMQ`IJQ&b;ChxmI3)dW_Ob=N}gs zf9rIPktNeFqu;{D1F$_iJWeMM10GD!>2ne=iD$O&Ii|?Ni+{mQt$^qegvA4R!bk8f zX5l-4G}9ziN;jpNL)>!Xb(2&tJ&+!q8IPr))Z`dPXjzox1GGn)_tDw!&Z4)*y^q0j zC=CPyD27Nt{3t~o{e85cob)AO92J;GC0?P*hT7@CA>RwC5$OzLhQRtsViC*|_i^el UhnFaz91qn+i2}nsWxKHO4=`IlRsaA1 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/entity/Channel.class b/discodeit/build/classes/java/main/entity/Channel.class new file mode 100644 index 0000000000000000000000000000000000000000..398fdef17cd4f5b2190d8a6b83f67ae0c4a39951 GIT binary patch literal 1069 zcmZuv+iuf95Ivil8^^h)P$0B{wlr~}=6(wxRYgdRLi>;=?@qF$t{fY=c2UJofkZ^a z10TRgA!cniZGvBRW_Qn-nR9mk{QdPCz+1eQ5kp);LO~KKhQf({rfa5djkLr52_Lu& zsW*mYxbGO^^+r#|64DZ61sNy|IUnx1hN*SC`|lZKN4JLdIM|fxjrKgCnMMwI2?Yg3 zl!(tQ*Kp6Zy<^?7xXBPRhBQPJtD;~T*BCN`0DGX1IYTLc`U7`d$FN3C87sIU;iiIH zsLm+i)+bP#hQegf;+f-Aqqj= zk7NzSBxqEqv~JVxE8@ffHr1bC>J-uhS#^7Y@)Xy1)!G!dCs+^T)^`HNaG%yyNVH~% zD!yzM1!`YG9#zUVXn+TFTcgrc7(37?icAc|2v@{IJfcbrkBJ`)qETdoN~%AQ{YFX9 zDCHkk{DJ~1<_`)oJi${s5h|{d%ZucdNb)m0k07rvlB<#A7m?(xMRF~Y{L&Zq>K`3Q B!8!l{ literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/entity/Message.class b/discodeit/build/classes/java/main/entity/Message.class new file mode 100644 index 0000000000000000000000000000000000000000..baef9d48c77c0d5448592f243e783abe41f71dd7 GIT binary patch literal 607 zcmZ9J+fKqj5QhH+v{IK-RXmGl0S`O?YGO1dnyMFq7v3%Hifc-1N^8Pnc|kN@_y9hX zaaxfC(`066`_JyT|9pLad;&PazK#Tv8d4l%7-z^oi5F3Ggxjv&w4S6DFpM86R|Urm z$#UgR#{|+EbdE`IhHNYk1Lf43&5JVz-50Lyb$$z@Tro!l^)#}`X~=UFU{Jqw0~PdY zSF+m`ZOM>OHbMOF(lL!04MmPw%#A?a_PT-WFchrN_vx^P>c}hQII0`-Ug}uDqJ|}o zWvu-1#?Lc7x6Pov2q%;`4-8Y~%K`21cTBs=v4(YqwB<_?Nc)5=832w7H#xQ<;Y9ds zlQ7byPCc6*l{1wquftAD`VG-?XvZ);OE`DJS5ZCKOa+e-cHSH{rB1HidZBO0a~1XS zfmsKUwZxXC2?9wNk)^aUBHlO?4rN9k&6eUeRrjQ1lvk^7VAXeMePk$2y<@(Q(r~r$ nN}2?AC>E(3(2=5%)6g-43`%rsnRfZ_S*V~&6~ivY1onOax0HT# literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/entity/User.class b/discodeit/build/classes/java/main/entity/User.class new file mode 100644 index 0000000000000000000000000000000000000000..ec0c826529c496872e6faf83d67cd490f48f42cf GIT binary patch literal 1421 zcma)6>rN9<5dKbEy1kroD>p$wQL$YvD;GrsK?F=_DwuHjzqH4)WV=h2T@3Hz188Cc z@rMuKLmB6sZn>2GVVazoGoA0uH{VSA=kKrI0N!CMgBao(5*!^!GIXDq=cZwsPR-ao zIuRA0A-Q5XmcPmnFBA_mNFl8u!;uAN=v3)}Z`sDd!S*IY#xtF&TW?-^3&rx?gyl3k z(WRlAqX)eVS>gDWe_rN?0}QEv5_inHVCZe;DXM$EXE`uYIP*oFp{Ejf9f)1S z+t!&9pp?NgJl8P6@dAaG0E$G}b!rUSxoHPt_X|V5Pzu|>{#r5AIVLg1kgj;b^hI@@ zG!C1-n>fQ^$i!4|TBXEwU(RZlV-E8a^xbCH41Fz`Z)?G@RJgCu|3r$142cc5N*Z^S zt(Ic@=8>&bcPplSXnK~shrxt@Eal0SZ%uQVpKr#)z$vhCqtEpw-6#~k7D_{#x90|4MSQd*&9tmCBX^Gm+)1(lNjhog$cxEc zQkFJFS=tX}X)el=>||3Q=2)Qf72UoePHzBn`X!it1+9UcKG{HCpK4%GpKf6I3Xc{O z`at3ePa7z2|Ol38vrTy~>w( O*$y@$!5eBOoBsgJIqum2 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/service/ChannelService.class b/discodeit/build/classes/java/main/service/ChannelService.class new file mode 100644 index 0000000000000000000000000000000000000000..05ea73d63abf13e14c5e15d1f5ba2dadae37f481 GIT binary patch literal 327 zcmZWl!A`~qqH%q#kx4PTS*AL%$D9rT`^&LMVMXs&Q&t3KMEs! z@|}i9+a_NomGxy3T?#dE_Fh*xFRjy4lk=8Ohg@9(p{*|g+FH7UE)L}b+$!Evw1vLz McNplbF&bp_3#9{BdH?_b literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/service/MessageService.class b/discodeit/build/classes/java/main/service/MessageService.class new file mode 100644 index 0000000000000000000000000000000000000000..19f8a63410261dde6672b71572ce0619752df3e2 GIT binary patch literal 117 zcmX^0Z`VEs1_oOOc6J6PMh3Cs)S|M?^ss~_~Y{&r$NL|1x5{n4-CK*Mptbo!0DYFyBzKH3g-wGUR>^aIO%o^;V}=*H!xRzNUf|f{NJ56c%xI zq;qaeT`iM0QRuStil=`ReNP`rGOF3|SNET#LMU&pto5O@IPs2_jZHJNVNr~8Q`MT= zh7@jlg8P%aN0-=smYT^Yh9y}#T%!0y>=p|1kG3i3*;q-BoM+$Bo!ft;pl~K_0z;{6 fh!I?M0WP|8j8OPXVF$Pp{Cba1FcnPlI_BmN`9Er! literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/service/jcf/JCFChannelService.class b/discodeit/build/classes/java/main/service/jcf/JCFChannelService.class new file mode 100644 index 0000000000000000000000000000000000000000..557ab57cec19a6e4df40ec7f2d7f3fdf7d6c06da GIT binary patch literal 945 zcmZ`%O>fgc5PfT#nj}sWQW~I8`ayv>NcD|NN~9`M56CKqph|GtINNk1*Fny@QvVYN zIG`es_yPPV#O&Jrz$pihcW36kH#0lG|NQs`;0<0?VZnCcc({WlhUS!?@gU~OBzQNP zibydm?a4%{K7-xyk6hekSTRYNl5wz~ru;mVb5(^4yMh`#7j+NIXfUkLMS3P95lo}w z;O*dGaKe*B#KYXn;EcKAq#0iGX{ufg_t0{&;^9748J7PIGgz}@hE~Tf<6JyoXkUt! z)ha_dNw~^V!LVI|?u8;zQk@3{sMqgNd4t)QavPyc#9?+i66t$BipkRoXAzH&cq;Y1 za60Nl&KWksOZ{7$CfX_=j|&+ZWv8s{e`Ii@d{TNgrNS8M6QTCw_=;j@VGy@=Q_nup zxWx@vJ_GaCLzT*8((@P9YDFoB{M2-Qy&naJ8XC^BG!h3=&!)Zb&bu0dEm{o=6sNDH z*Mt5KX$37jfBFWI(Cl7-b$`PBaDmDNRWjF@~YC2*=3hD&b zyFx|BFcXLJd2Oc8C^!))sHsO3s)DsD)}cXQb3xBf8)-c;nI20V>p6Ow>j7^|psvW3 z)TGnCib1)PltDGAXvTWVO=yLQ9y_DE0i@(ni;7lkWMuj?Ma?V-v~+kD0&yo}BT{se zip}_fKyBKzEt=TS5nCxL1;40bE4I;{V-Gla!x~>M>+QOsZC7!>1gmb$ur$+nPLHA; z4=Q*_#h1__u&z2C3L1`{*Bm=9&{_(>g)imrC!>gChk~6dc44XAgZf&(fJ;_>S9nS!Hd>Dn$bfEEu#!%mzeRt}YQEt{;vA?ifV-kE!0>HN!Wcjm6$ z`Q+25Bj~{q1-&Yc;>i+usx_HgPTDc8WwrD{j}6IOQYwz&E374RNo5F96_lq>r;e~X z`*B=FKTgo(v}P9d6Jr7otwxUk4SX-n?1)n;zKQ{Xjah9<@3F14=A1Dc^3N(bn&psd zRmMv3t!7N%l#F^v#Tl1ajJh|g8D=xt=AMkGI4e)q@#N$L>Dgb*j_Ubl)ZkPdz9Dem z(zVZ)u3Ttax_G&5>C%f!uiUshd-3k<`@5yxZ^@3;1Re_}=f|@$oRvGVA<5dbii~Wf z8ZDEN>oFDMm=Flr#H|`&w=BA+JnS!8BP{3bASi z)ejismgW@m)ZFH2x*lb!-F<;pN*+uyUvCOE^ckg64QivN>(owb=8%>*PuU@7|F_$5=JcVe+DCA6S#$!h$qnmo^sIjBU zQ*4O9nOb%kpa7yPwPhwS^o9apSInyPSiSV+fKpBYq{gPGht^6 z4Qudj1Xu8$f?vof^UJD|8rHNur6;@w_6E;UEzM8HjKJj}_rtfAu6*h)eFZ$lZLNBs>%K6bU9<8vJ)c+Ss-N_$QCHdm^rgYV$GTygASy>BnUe`&9l z_8LFpO9;}4bO*Eqlxxe%yaD>kU6c+<>G+O$Y*?&QtY=c+!hQY^6>uwO*|`5WkMd0v-_P-?f04z}v|3B_Z$^?ClC~3g1NMj+=P& zZ4AtztNDqWILv>!{nRb=E#f3l+3H-xU~qkU5nl_ghZpg6cO5=(6>F~k=d~^GAS%s1 zO&cDrG3?9EUz$l1sCzM`|mRGUr>dD_&;I)1EDBUnx&S<=TR0wT4|L? z-NxSG9Xof;X* z05;LpOAw7AIRbsNPxxk4aLzYs5u5%C`DUmh literal 0 HcmV?d00001 diff --git a/discodeit/build/reports/problems/problems-report.html b/discodeit/build/reports/problems/problems-report.html new file mode 100644 index 00000000..f0b8d161 --- /dev/null +++ b/discodeit/build/reports/problems/problems-report.html @@ -0,0 +1,663 @@ + + + + + + + + + + + + + Gradle Configuration Cache + + + +

+ +
+ Loading... +
+ + + + + + diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId0 new file mode 100644 index 0000000000000000000000000000000000000000..e6ba50251c81ee39a373ea850432162ad540cbf6 GIT binary patch literal 1203 zcmaJ>+fEZv6kVqjW_pp!6cF(ScxyqJwm@4bDp){)a!IN+#HV2x%RoDArc)B$H1UB? zP~!tW@+36I21)z?KLzS9825DAP>`5OPP4CP?Y-9NuRlM20(gWKCv0foV0WVtO$@D@ z(zYa~B`qZ`uWc%_!O%3JYO3*=p~34*a^M-d^NPN$%8IxtzY*tSvoFa`SS}|xvz?2f ztx$1FjKw1vL?c(YN@D&=>HyHT+s~G*b&V( zQ67B+_T=boxwu!}{lMccL-UrJ$=3tDZvhPihet+3;Rp{e)%^are{%S(y!VbrKkad& zKy;m}dT3SAgq4rO5Vfw}9osO;Nb~U1NP*Mh?&-n46N3nv%N?fmUoxC8X>vE}MhIcj zLAF4$IHPHW7H~$>7{)n7-Iy@tvO<5{r))f7Pw3a515YNg|Iw|R@X;+N9(NthN`Ad(W6s?BN1s%XAW6Lf_wFH-}neZAHx#L3pCiJ=>-2De&*BYq6$Y7y=dgv9}&L%1qjJHmB4UJVGn!X4pW&3GXAgaOMq#^9>W^WZDT#|oiPVLcI`bY4kjNhOOYLkrL)0#3qa0*5`{ zcOTuqfN|}N5AI^Y;-Q?PYyvA6xjb9=XUCZXMY@(JttTv&aFk?d^-3&Dlw#;ED9Fi7 zPAtjH&lA}9vL))3Fn{IYj?c6B?c>%;2g`&q0kvOMQ<*aR%}M6mt)HvS8^kxrIt#N3 zyqa=FdghVulWopKKgqfB^O2mdu%LirncUP{wW%C}?=S8!`&|{p%D~9L$j%_d$iO5f z%^=OlD8VSkAPc0J7}y!afHVUGLjw@QK?9rxlwbsMxaIW}LKXEzSVWZ=TC;#o28uBX zDeI{OtNN?4Uf)5VnGY0CP}9X6^(4T$ mB%Jh|eH8`4Y&jP_*I+kiHCBiV7~J(df<2vWpj>v4Ul;%g+l~(a literal 0 HcmV?d00001 diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java index 17e96ee7..dd200a5c 100644 --- a/discodeit/src/main/java/JavaApplication.java +++ b/discodeit/src/main/java/JavaApplication.java @@ -1,21 +1,22 @@ +import entity.Channel; import entity.User; import service.UserService; import service.jcf.JCFUserService; -import java.util.List; +import java.util.Scanner; + public class JavaApplication { - public static void main(String[] args){ + public static void main(String[] args) { + UserService userService = new JCFUserService(); + Scanner sc = new Scanner(System.in); - User user = new User("육선우", "ryuk6238@gmail.com", "2019010282"); - UserService UserService = new JCFUserService(); - boolean addFlag= userService.addUser(user); - if(addFlag) - System.out.println("추가 완료"); - else - System.out.println("추가 실패"); + userService.addUser("육선우", "ryuk6238@gmail.com", "01022790657"); + userService.addUser("김철수", "kims@gmail.com", "01012345678"); + userService.addUser("황건적", "huangs@gmail.com", "01001010101"); + Channel channel = new Channel("1번방"); - userService.getAllUser(); - } -} + String searchName = sc.nextLine(); + System.out.println(searchName); + }} \ No newline at end of file diff --git a/discodeit/src/main/java/entity/Channel.java b/discodeit/src/main/java/entity/Channel.java index 542b275d..fdc42129 100644 --- a/discodeit/src/main/java/entity/Channel.java +++ b/discodeit/src/main/java/entity/Channel.java @@ -3,8 +3,32 @@ import java.util.UUID; public class Channel { - private UUID id; - private Long createdAt; - private Long updateAt; + private final UUID id; + private final String channelName; + private final Long createdAt; + private final Long updateAt; -} + public Channel(String channelName) { + this.id = UUID.randomUUID(); + this.channelName = channelName; + long now = System.currentTimeMillis(); + this.createdAt = now; + this.updateAt = now; + } + + public UUID getId() { + return id; + } + + public String getChannelName() { + return channelName; + } + + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdateAt() { + return updateAt; + } +} \ No newline at end of file diff --git a/discodeit/src/main/java/entity/Message.java b/discodeit/src/main/java/entity/Message.java index 7f508d43..1200b5d1 100644 --- a/discodeit/src/main/java/entity/Message.java +++ b/discodeit/src/main/java/entity/Message.java @@ -3,18 +3,12 @@ import java.util.UUID; public class Message { - private UUID id; - private String displayName; - private String email; - private String phoneNumber; - private Long createdAt; - private Long updateAt; + private final UUID id; + private final Long createdAt; + private final Long updateAt; - public Message(String displayName, String email, String phoneNumber) { + public Message() { this.id = UUID.randomUUID(); - this.displayName = displayName; - this.email = email; - this.phoneNumber = phoneNumber; this.createdAt = System.currentTimeMillis(); this.updateAt = System.currentTimeMillis(); } diff --git a/discodeit/src/main/java/entity/User.java b/discodeit/src/main/java/entity/User.java index 1289940c..df722124 100644 --- a/discodeit/src/main/java/entity/User.java +++ b/discodeit/src/main/java/entity/User.java @@ -4,15 +4,15 @@ public class User { private UUID id; - private String displayName; + private String userName; private String email; private String phoneNumber; private Long createdAt; private Long updateAt; - public User(String displayName, String email, String phoneNumber) { + public User(String userName, String email, String phoneNumber) { this.id = UUID.randomUUID(); - this.displayName = displayName; + this.userName = userName; this.email = email; this.phoneNumber = phoneNumber; long now = System.currentTimeMillis(); @@ -24,9 +24,7 @@ public UUID getId() { return id; } - public String getDisplayName() { - return displayName; - } + public String getUserName(){ return userName;} public String getEmail() { return email; @@ -44,10 +42,13 @@ public Long getUpdateAt() { return updateAt; } - public someThing update(someThing palamiter) + @Override + public String toString() { + return super.toString(); + } - //오버라이딩 +//오버라이딩 //제네이이트 -> 'toString' } diff --git a/discodeit/src/main/java/service/ChannelService.java b/discodeit/src/main/java/service/ChannelService.java new file mode 100644 index 00000000..d3c4d266 --- /dev/null +++ b/discodeit/src/main/java/service/ChannelService.java @@ -0,0 +1,16 @@ +package service; + +import entity.Channel; + +import java.util.List; + +public interface ChannelService { + + boolean addChannel(Channel channel); + + List getAllChannel(); + + Channel updateChannel(String channelName); + + +} diff --git a/discodeit/src/main/java/service/JCFChannelService.java b/discodeit/src/main/java/service/JCFChannelService.java deleted file mode 100644 index 9d7a593f..00000000 --- a/discodeit/src/main/java/service/JCFChannelService.java +++ /dev/null @@ -1,4 +0,0 @@ -package service; - -public interface JCFChannelService { -} diff --git a/discodeit/src/main/java/service/JCFMessageSEevice.java b/discodeit/src/main/java/service/JCFMessageSEevice.java deleted file mode 100644 index 700101b9..00000000 --- a/discodeit/src/main/java/service/JCFMessageSEevice.java +++ /dev/null @@ -1,4 +0,0 @@ -package service; - -public interface JCFMessageService { -} diff --git a/discodeit/src/main/java/service/MessageService.java b/discodeit/src/main/java/service/MessageService.java new file mode 100644 index 00000000..6150e794 --- /dev/null +++ b/discodeit/src/main/java/service/MessageService.java @@ -0,0 +1,4 @@ +package service; + +public interface MessageService { +} diff --git a/discodeit/src/main/java/service/UserService.java b/discodeit/src/main/java/service/UserService.java index 646ccb09..83c1f99e 100644 --- a/discodeit/src/main/java/service/UserService.java +++ b/discodeit/src/main/java/service/UserService.java @@ -1,24 +1,32 @@ package service; -import entity.User; +import entity.User; import java.util.List; -public interface UserService { - //생성 - User addUser(User user); +public interface UserService{ //조회 - User getUser(String displayName); + void getUser(String userName); + + + // 등록 + User addUser(String userName, String email, String phoneNumber); //전체 조회 + List getAllUser(); - // 수정 - User updateUser(String name, String email, String phoneNumber); + + // 수정 + User updateUser (String userName, String email, String phoneNumber); + // 이름으로 전체 목록에서 검색 User 객체에서 가져오고 // 가져온 User안에 필드인 id를 조회해서 리스트에서 검색한다음 삭제하도록 진행 // 삭제 - boolean deleteUser(User displayName); + void deleteUser (User userName); + + } + diff --git a/discodeit/src/main/java/service/jcf/JCFChannelService.java b/discodeit/src/main/java/service/jcf/JCFChannelService.java new file mode 100644 index 00000000..f7d100a7 --- /dev/null +++ b/discodeit/src/main/java/service/jcf/JCFChannelService.java @@ -0,0 +1,33 @@ +package service.jcf; + +import entity.Channel; +import entity.User; +import service.ChannelService; + + +import java.util.ArrayList; +import java.util.List; + +public class JCFChannelService implements ChannelService { + + private final List data; + public JCFChannelService() { this.data = new ArrayList<>(); + } + + + + @Override + public boolean addChannel(Channel channel) { + return false; + } + + @Override + public List getAllChannel() { + return List.of(); + } + + @Override + public Channel updateChannel(String channelName) { + return null; + } +} diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java index f440c942..86d7cf08 100644 --- a/discodeit/src/main/java/service/jcf/JCFUserService.java +++ b/discodeit/src/main/java/service/jcf/JCFUserService.java @@ -1,7 +1,7 @@ package service.jcf; + import entity.User; -import service.JCFMessageService; import service.UserService; import java.util.ArrayList; @@ -9,24 +9,69 @@ public class JCFUserService implements UserService { - private final List data; + private final List userList = new ArrayList<>(); + private String userName; + public JCFUserService() { - this.data = new ArrayList<>(); + super(); } @Override - public User addUser(User user) { - boolean flag = data.add(user); - if(flag){ - return user; - }else{ - throw new Exception; - } + public int hashCode() { + return super.hashCode(); + } + + @Override + public boolean equals(Object obj) { + return super.equals(obj); } @Override - public User getUser(String displayName) { - return data; + protected Object clone() throws CloneNotSupportedException { + return super.clone(); + } + + @Override + public String toString() { + return super.toString(); + } + + @Override + protected void finalize() throws Throwable { + super.finalize(); + } + + + @Override + public void getUser(String userName) { + boolean found = false; + for (User user : userList) { + if(user.getUserName().equals(userName)){ + System.out.println("\n[검색 결과]"); + System.out.println("ID: " + user.getId()); + System.out.println("이름: " + user.getUserName()); + System.out.println("메일: " + user.getEmail()); + System.out.println("번호: " + user.getPhoneNumber()); + found = true; + break; // 찾았으므로 반복 종료 + } + } + if (! found) { + System.out.println("찾을 수 없습니다."); + } + + } + + + + + public User addUser(String userName, String email, String phoneNumber) { + userList.add(new User(userName, email, phoneNumber)); + return null; + } + + public User addUser() { + return null; } @Override @@ -35,12 +80,13 @@ public List getAllUser() { } @Override - public User updateUser(String name, String email, String phoneNumber) { + public User updateUser(String displayName, String email, String phoneNumber) { return null; } @Override - public boolean deleteUser(User displayName) { - return false; + public void deleteUser(User displayName) { + userList.removeIf(user -> user.getUserName().equals(userName)); } } + From 5a40dfa7be0f5a7c49b52abe2f29ccaf2babe641 Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Tue, 13 Jan 2026 19:29:27 +0900 Subject: [PATCH 05/17] 26.01.13 --- .../executionHistory/executionHistory.bin | Bin 44029 -> 48578 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 20397 -> 20547 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 21115 -> 23801 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes .../classes/java/main/JavaApplication.class | Bin 1303 -> 5116 bytes .../classes/java/main/entity/Channel.class | Bin 1069 -> 2328 bytes .../classes/java/main/entity/Message.class | Bin 607 -> 1668 bytes .../build/classes/java/main/entity/User.class | Bin 1421 -> 2283 bytes .../java/main/service/ChannelService.class | Bin 327 -> 488 bytes .../java/main/service/MessageService.class | Bin 117 -> 379 bytes .../java/main/service/UserService.class | Bin 402 -> 488 bytes .../main/service/jcf/JCFChannelService.class | Bin 945 -> 1985 bytes .../main/service/jcf/JCFMessageService.class | Bin 0 -> 2037 bytes .../main/service/jcf/JCFUserService.class | Bin 3890 -> 3545 bytes .../reports/problems/problems-report.html | 2 +- .../JCFMessageService.class.uniqueId3 | Bin 0 -> 2031 bytes .../stash-dir/JavaApplication.class.uniqueId0 | Bin 1203 -> 0 bytes .../stash-dir/JavaApplication.class.uniqueId2 | Bin 0 -> 5116 bytes .../stash-dir/Message.class.uniqueId0 | Bin 0 -> 1658 bytes .../stash-dir/MessageService.class.uniqueId1 | Bin 0 -> 379 bytes .../compileJava/previous-compilation-data.bin | Bin 568 -> 658 bytes discodeit/src/main/java/JavaApplication.java | 84 +++++++++++++++-- discodeit/src/main/java/entity/Channel.java | 43 ++++++++- discodeit/src/main/java/entity/Message.java | 59 +++++++++++- discodeit/src/main/java/entity/User.java | 26 ++++-- .../src/main/java/service/ChannelService.java | 13 ++- .../src/main/java/service/MessageService.java | 15 ++++ .../src/main/java/service/UserService.java | 19 ++-- .../java/service/jcf/JCFChannelService.java | 47 ++++++++-- .../java/service/jcf/JCFMessageService.java | 55 ++++++++++++ .../main/java/service/jcf/JCFUserService.java | 85 +++++++++--------- 34 files changed, 362 insertions(+), 86 deletions(-) create mode 100644 discodeit/build/classes/java/main/service/jcf/JCFMessageService.class create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId3 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId0 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 create mode 100644 discodeit/src/main/java/service/jcf/JCFMessageService.java diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index 34b18f5ccd9209a116d766203115e55fe9b45ab9..d04c1b29d1d2da1440d2e44e26b63a44bb5edb9d 100644 GIT binary patch delta 1569 zcmex+o$1hTrU@d9Y!gN8c^McOX4Nw=2-X1^u^ST~i8HPKyV+I3qsg{3Di^0w`H z))jTYwCzS_8k5=bpveM@z6%8Y`%#|JH$8IK#D%L3m!A7LSvsXyApiY4kK@i_Omp{m z^yQTYaZjF?A~t!$;tYY4PJ2q@q;4Hxel3%?@1|PkWb4U20?fZxNOsKpd*IN6&DF0Q zdt@i`H%|}S&?K ziD_v90RmsXRN1ryz12IMtiMO!Z?a5e&EzT5Bqe5^|1Qe+qI$xa(A3WS*8+VHudiFV z+jxf1@VpiGLutbHoZ3SW)k}QSk~WBDZa2Ec=9!{Yi~*eUE8#N z?bPYgZ7ZiFp6xN*%EC99XNHTNpLgKFjStq$p2g$qc~??*;!&{r7tBEQg;wd;e_lPW zB<;+i-8#MJ4p6A4+WAYM=Y-@Btz5iYBG#&GUeJD-F54pP%#s z;yV@=Mg|6fm#^|mi*=Lpa|<$az+s}Bl30?cmz0^uAaE?`pz!&VzmK|E%4iG5Hq~rC za(MD?<2PW9f=ZLEIxQ#PTP^Qx3{0xYI?fl~|%4~Y7lSCq;KI|ho39C$wm>gy6n_66)n4SuY z$}C_aViqWEn5<#7DE1YTMb&I$)`{~N7XxD(6xI4!$!Yq)*oW$x{C;u;u8fc&Fg?uY zI%}$ZLfyyWwPCpqOD79VZNi>A(wc7qZsOckE|WIglPS#CRx-PXI;eq=x9TMN!l zI@mJQvdxEIKPsyCU&K9o#^GyHGW}qy{-_hoP_j5P)C^#dPUf2-7JWLgqPe5}@(%X? zf6D&vWz434&HhSGmg{wuj-QeJV~N>8=2w^Yo<9N1auV64n!n@!HZPEkc8oVoIpwi_ z0@(cDOpKGT~fnG1GWfOL^>$oMlsT?{s@Bd_jRK>|Nru-6^ zxl)2#FipD9`fbx=At_Gf$%$!c0<0A`4$SWOlDI|Iku{U2Ov{LN5;hY! z?D@X?=>7$aYiE3L-#q(w_ip1}Ze|97iDik71qC^o z$%!SI`FVQDIf=!^3-d#} zhq>fFo(`?^+_&&3(EN?;j8naw-9n2~i-J>&$}*EvVP>sd^CQwbGLr3Hg6E$ zFafM*5;IWG9`97Os&=2afWq+G6lE!zwB!wwb}Mg|6fm#-!}PIHc05Q@8mjD0& diff --git a/discodeit/.gradle/9.0.0/fileHashes/fileHashes.bin b/discodeit/.gradle/9.0.0/fileHashes/fileHashes.bin index 25ee65363893ab98432f0f807feab6554acda548..ff85455b2eb570bfcf1843d37d13a12352169856 100644 GIT binary patch delta 1171 zcmZ2GpYiYl#tkMCjGB{8B@6_*)0_5R6Kzpr00aNEn`0#|FbZf!&0TT*>D^MO=>5&A zQXPx}wb!mNZMt>(KSVS@aPm@VZN`@y6@Q3tG%yg^?C5cdslJEJy74Xl;we)mOyj-b z)9%2)z&LxW_NpF;9@ZZ~TF)3rXacb!2n*Qzv#x*NedOCTwjB}EPF}hR(y{GK9@K7@ zyO=t@C40vgFZd}q%l<#tnWP4wN}!H{CtHCk>w%bU2BsFCNy)byS&L>J+kf`Fz}3#R zU@fQiL<3a<0smznf#$6Gb}{~+?8o&cIe8x6Cs%hItRwA>AXozf$01A|dpB>pFqzXQ zp+0o#iMi+Ba(^Yb@pP=NHrFct@2k|Cbk(z;>L;ZwIObhd~RbmWWze3uO+Fi*PhA651R z#w%9e0Gq14`Xf{amf$JX{2l+dd4X)SW4vj~DUbDFJI>@!0O?=>a;hi0`e)P|19^yi zr?yY&K2wbQ)heq4EUsIbzJc^?DtN>OwIv5gqq$44@`kk|^L&l<6LRcWY&vqmwwx|7 mgy>+wk{nJaRy23CU*5sq|4-Rp{Jo4B)L~N~TG+pWECB!tjW+)P delta 987 zcmX@SfN|}7#tkMCjB1ljB@8y#N}OQa94pnpIQgrzGULLHia*3R8dQjEcJw&KRDV{r zBSdi0=XGKW82tY%4rXFtV4S^SyPp>W7%-g%QhLTfLKBD;L0CY&EMt$Nwq3+!pZ-5? z_Hsa#Kph8n82}}LfH4|Kpy^Q9u>V=O$^7=ELMdD14A#nlbZo3Fw*#uI2V#~`Of9R| z_8c<(6LI_%zmNWuThcGVTBg-M0ICE6rb9pi&5}$9_IHiS&sTl8ar5Qf_i0>U9aHWKN%i`or#4SF$Puebmo2BqTJxtpscBt<`~OW$MP%`fAD*>6u5q zPqsM|{Uqng&qp8~8+O$NL3FU_V(M@#lbd?0HkCv0{ly(-zpH>MfjUk-0I39p0aHAt z7AIjdfy18fyN~V%M(B(W?qFxto!tyn2?VUYKmsic_PuP0dL_(XdAQ^AEPngAwO}37 z8acok7+A$Ib*x+bCNlC z>*s3o2JsD0MFJ2-jFT|UJ#Ub-*IWJbqWq+G6lEemxCFGL5E1*VRYomXv&-?KMA zJ3aNL6^qOou#Q4MU}Av;P!*<@%PFoRUdOK-Jj^Bc@pNdNCqzrYK8PjE8!>el$L^K( zdiX+fv8VyZg_smzP=eDgC}4nq5t#bXgOoq7D7(J?#5&)s<;skbCRQzAEvN1s1M6U5 zu)@@GVxnM<%+hT}@*i~-|LxlT0ixr9IYb8|Fdoq@ac~JN`!M&s=hKHi5597ItbppU RgxbMaIyul+cyfe)C;)OF0rCI< diff --git a/discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock b/discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock index da488dc883970e7ad06a349d38c77d8c510eaa62..fc336ba6e8b181eefce005b3c3cdb86a9f0b5c55 100644 GIT binary patch literal 17 VcmZQRbX}kS>TTwg3}C=K9RN0C1knHh literal 17 VcmZQRbX}kS>TTwg3}C=`7yvel1p5F0 diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin index 90e6d4bbd5a9f86744876884626d0601941485b1..901a6d81eb6355fb39512ca7031ee2800a20907d 100644 GIT binary patch delta 4468 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 a#Ym$@D6Q<^;jj-A1IMz|uxSQ!#{U3qbn^57 delta 191 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 UhnFaz91qn+i2}nsWxKHO4=`IlRsaA1 diff --git a/discodeit/build/classes/java/main/entity/Channel.class b/discodeit/build/classes/java/main/entity/Channel.class index 398fdef17cd4f5b2190d8a6b83f67ae0c4a39951..763ddd36daeb22bd2e8b97ef68eb479560938e9e 100644 GIT binary patch literal 2328 zcmb7GZBrXn6n<_9SrV3)CZsRgA_yg63yor5Y*SDg#F7S315~X#b4hMt%Vw9^y}@DB z|KSht2k49$nSSsG_@f-p-QB<@tj;)@-TRXBoO_;go_mtN{(kc(fMtA_K>`CBk~#*F zVilZ( zO{Wzsvc>sYuR%GDQH*IA*Kq||!V6oP^0ZVr7?NvP{n>SIuA&?`W9P zF^zY-7WQ#oSMzrKtJcVa?h zc=Ugd?>gIKNLHLC$z!Z$+G4BS+86E)-?x0hI1O&?ao1Gqa5E_nl?KLZy>cv*ENtg{ z23Dn_90<8V;vA(hlxrZtiLT0{B4p5&-GvIy@4|%+NXuli8w!B5K&y3CdD0I}*Zh*x zfnMK%`Ix-S6X!G;c0ohZ39>;~vhK9qhFCWheLW2QuDX}R_^IPaPrCegQ^-T7>5ZlE zc?Msgu3<;%W0zs}q9vI2iE|`Mf#*On>%1Wy_mtu1XjGwL;Pe@_1WS0cHODz>A4l~O z7A&He9^lUDv4}B$8L^L%c<7?SEvs%yQ69nzhHA+B2eY}%7N#OSWVyf!w9&1U`nG!~ z)!e^|Y7*SQW%d&#af6zbTd}z32~We<47V@kD2}>@Zx|;3+m!BlkSDt0qtu&$6tb#W z(k!7mpg&TR@ki<*{zz@ZAE{Z;m;uQZkLdlFR=;3?d;m+vA7I8Av<^m$g${COxb`q< zTuq+gRtGcPNx`_&fnh9mu=tzrvrO+fr0G3^B*iq0F^tnEPf<-$Tm|H)ZB0;X%Hs)H z-J`SVH2QH_p;66Lbj+Wr_!Xxm)z&DkJZ|A5d`x~BR-uOxmuOV>gU0U|`IROKs321Q z=5_xNWl9F&Aq-DZp&dmx3eNR|Z^nYx@JS4KrXM^N3to=}7y7}ovEWZ*!#4WC#aQsO zSny&$cp(Bnk;^VVlMw VI_NWc_V6XG)OGm^FYzsI`~z5D>jeM+ delta 470 zcmZvX%Syvg5Qe{#7%SDNy?CKiiL|wNs@7}0fD50?MYis<@g)Qc4F&}tz_)PkGl+jq zE7Fj~nSYow-#;@?_2;GP=g->*aL4Vq`e>4OzmljPfP#q6<)r_TlI)b!BXVAE-j zeWwRb0}KIHaiHo0z8L7)SB%Z5q=a^m(#Y7lw^7DUN@u41u^K%N6?ds9E(={z3}er0+=Ha^{$!G|%#ljQVPva4IXqnGB|z45db0ft?V(D49-Lbj7AK%v;qk uGc=rYp^DCkHQ}Fb6zT0!`jXLTy0~8bnLj+AALq72Gy=--qbe-us5)yxuCQgYT z`~m(b<2hZou~HJ#r04ebJkLGndCvXw_t$R#8+bp62>KL6CHfH)7&2_vbT4!JM!l|A z3<0H7vt8O0NEFZY3q5D)b|rV{I;LI8Gk8E^kde{SneM8HLn^om&u-}7)3%sQeq6_bhww^a7`Q9G94JqQ1Ji{6+Dud#8gi~hnIENs0xgh8jeE^9+_2R-?S{V?$x%Z;t8e|Je7Ec z=k40O=8HAELc(0=R>L^>B#_MP`IU8kdzH;dWRMjYEIEem8s#l&-!HH?aaQ65Ck`|| zmnm_JWQ<^*blLudc|Jc*NnK8rA#Eo0u-0%&#s`zzmHy1m^AwSJ5t>DiLP86pjl`h;LpIT;wDadM6R3 zYZb>hJt<6K0yCsUj`=n;^{QL#Z-a78_K`gMk?6GWM~_!SPKECgW%~8#;80JJl&$ zdWLPf3h#b&J;>7YteB~b;=^e@TDb#CMDtCOMRV65#UNA?a-rysR97;ogmLnUN~Y)u up`biveM0*`+j@~1hh5Q{xWUJj$K*AtgtW2jN!Oq%f|z|0q2fT);qVtld?>yE diff --git a/discodeit/build/classes/java/main/entity/User.class b/discodeit/build/classes/java/main/entity/User.class index ec0c826529c496872e6faf83d67cd490f48f42cf..bc65d045cb1654d7960802abe8d45cbfdc46f480 100644 GIT binary patch literal 2283 zcmbVNZBrXn6n-uV*(5A4O`r&kEm#Ukc!|<#ttnNSmKK^oH9*zshb6hfmd$QvbA!WF z|A#-oAD}a4WctC6e(*;*o_lu_HtCKZI?V1pdpYOa=bY!cC;$BW<}Uyn_&$jtL^MQo z3?s%c@ya+e3YK9X7xs=`@tRX&5nvRUz8EKw4Hs5VGj<}n|b==S}r(+%;^i^Fw zZwcODxKeAoE}`2u8@ys#mf2Db*hyjmw=^v3SVFej00pA#*vAaonPIj0-VY4v?2cc4 z@81exUdJ+47!oy?8-mw2smFfN{f=uo3eqv&Zq~_hQzY>b)-~LgXW!{Zts20vm<@Er zBd{0*;WsKp+<&6uE>x}sX7LoHcFSY_b$jK@%|w`<8=Ex@(Ep4 z7`4-i(ey#bh2t?mm#*rx-5TFAWrYa|a7|u2QpiKc5iQ{w%?cMMPQ5iA!}BD*#8(=s zlK*{%h07an+GoxwFL-G^No*N4;kf4vzXaLv9lfMa>Bd{UwNQ4P({?k+?b{0J3*0|% z@(}lz0d<5(*iTV1EURh?UW|kIuE?TaoAnL0GS?ju8%u0yWloI&&kWpuZ=-hsRhZxM z4fZqfv~AnmEm=mZ#akM_VYu~Ho5HHs@RH&B|GN^WUaM&KjM4N3V)UkQNY;=Xb84j_ zrdAqVYNe5(R+x{tU(tMnhv|AEop$QXhI5mTGf>JaHl4*nqw z4^g5WS#B^mJs3O_8vH0UczQ566B_(DGKl9v3|4qMP~p6fAc8WT aGK30tX_W`<(Q|+o^pzy*YkZ6EF!LX1hT_`* delta 512 zcmaDY*vrjz>ff$?3=9mm46Ylw)-j4RF&OeN7%><#GH{gS2bUCO=A|<-h-ggiXWBM7 zhS_iOIcD+6t*qAE91M&MtPCbV(sc4^R%b@D$^2~E{N_NDOn~AHKqD*|EGK)isn%OD zSTnEy)!8ucfK&tJ^no-ZkY?4|!oa%$$Y5eH1CnfDK?w$sAt0qd1t3F!G$YV?#y}EX zvoN}5X-v)aKz(*tb&I3xmc!Hy)NGGcvlO~!C9Ikq7+4)a4xe1eE~bv~q#9PmP7DyW i>)6Fo5Nfrsss%<7Mu2Q*FhF;eK32`nz%XTEZ~*}0oiP~z diff --git a/discodeit/build/classes/java/main/service/ChannelService.class b/discodeit/build/classes/java/main/service/ChannelService.class index 05ea73d63abf13e14c5e15d1f5ba2dadae37f481..b47ae8cb645570dfdd89af5da3cb8e38e6d56a38 100644 GIT binary patch literal 488 zcmbVJ%TB{E5S%ToL(8iVi4Q;=+6(!B08$02s1%7qRPH8Of-B1)*Qvy>ao_{^D1@DY z5QGEbwCmmR%+BuX+w%*6GmIj%2!|`SYn5|+aW9Qwoo${G+Jyd6u4SyHDdX$gCFhPH za?8>&;cA?Ibu(v`DU-icCMg@I+|#FCLTKM9QxJ|m7%QiAyjaXHlV7l+V9h~))I{G9 zqChp(nlKzsHsjQEsaiR&)Xh|Bq^qnaIBoz=e~xzUzliFws145=g8#JJ%N{D5^GxYr x=M5D3?ZuwBP4dUf2vuE*_pR15pQe}KNv34^*ad-rldG$BO+OBHKQ0A zc+*o$9CLCYLKB~O3-Oi~q$HN4!nLVrOw3iC+{mb-&CJ5cz{XVKsL}gum~RjeJvm( diff --git a/discodeit/build/classes/java/main/service/MessageService.class b/discodeit/build/classes/java/main/service/MessageService.class index 19f8a63410261dde6672b71572ce0619752df3e2..366b5f9520704dc587d2b6f9d2c702f826f8979c 100644 GIT binary patch literal 379 zcmZvY%}N6?6ot>NZN}EWwt^2JF4~Rr09BzNLSc%Fq3+|%bw~+OGMR#}=E4W?p~NJu zNNZOi_k20`x zR^41xM!Lqv?YqFu?(RGPL^N+@Oe;#(9AcmU5AsCl<*$t`_(AD_Y&UToz9|TV1791^ j@x^o?5DH3g7|$+xUO)0`3&(zbve8d*=4Zahs0@ApDNSJW delta 33 ncmey(RLXVg->!WO3=Fmm>=U_6CW|oYa5FG4GOz-Lm>AdqtG))k diff --git a/discodeit/build/classes/java/main/service/UserService.class b/discodeit/build/classes/java/main/service/UserService.class index eca35f07083c83a1483e0658550411dd2260ee0f..c27f217346501eeac6dd9948932074d34fcfeecf 100644 GIT binary patch delta 175 zcmbQl{DPV5)W2Q(7#J9A8H6Wt8Je)9W#*+YGRSNAWF?j*>X(*e=IDopdb(I^`lRNS zWR_IwhZd(6Su--QB^RY8mZUN=xN1zSR+-qV#K8{I>X?%=ahJOkTWLWGST+>hpovwg pK*dsQDXBTBAnn5F3MOkZhKTYpFt9K(@G}SiUB<{D2qc*pgaEMNFtY#v delta 153 zcmaFCJc*g>)W2Q(7#J9A8H6Ts8S1g8rj#$>%u)s$3vcSr^pOouv|RQn7* zL7%|ex|YJiuDZPT##it;TrPE=naLlqH!c=4=X~dU``h2%XHI_m`{!Q(+{JbR5kz&w z3}}c8j2_5m(yU8o&wQ|RU{yVV__FQT-iknUHdE1YMqtd})b#ASS#VwXyl6MP1aw3P zFbG4(kbz;02&5a9`^>Id=0SDWyuZ4>x-T8as+WVPK&&P`$(qFuo`T8`;w+Ln#tfXp zd4b{HWq~ucXSvclbOpv|GhNvmVVnpTa8XCfz+0FQNOllfTLkod*(h1xvO_lZSY@OQ zT*f4MIez$D3%g5>ypCxyvK-I$o||Dq2~6Q_16OcWK-;stjT%d~l6{%Bwl>!C30%Xh zj*NjU=6c#v%M{xBx+&`of%CILPu+Dhk5!eNvS~r!PWO(o=i1I*zANXAkxWHtd)>gh zia}J?Y6|s+fty$)qlV>$EtTXG>lBd?G*eM2w++0nQU;i^W_i-C>sX>4Eyqt=Jy5py z9O*S(qRwUHJ|KQ?nAj#XCzrXtjc;ty0)5!!I-yi zQ@F`utNwqUIKswjR^9RlGZre?u_sdzh}g8Q`#k!_kq}70{{1 z1cu6#8 z8SXvB{>LeBrRQkB(ZP80DZg*Fw%(^&Ke7HuroXX7`LO9$t#weppTpe2b;Nv} zv-p5BBgnyrC~zi-vKrzoavo8!4uC2JT=WyigT*jWrLN&)J}D4B;Zsrij(cK!o7o?c zIKimE=KKl91zsS{!6kuTF;&VPVP@_K@4SGPd-?r8e~6b%i9#_>`stUD=3kb#Sq_ta z@hPsSF@$^A@Ov`bG|Z63eP$bo{)L2&3zL76h`^^PhQylGP2-MJy1dcCB7y4D!%Wq#UwAj3(-A@F)Prl` z8km#E{Jv~@&E{dtYq$N7Ay=*YZ4roDCmFeRLpHQh`rH=>VVDf1tJ~A*&Q;SB{)k$U z1D2CREti@&jpdHyr)J3)eXE-XS-=!Bl;_DB#{zV!$1qOOqRBoqs(@^*4_14JaneWX z8D>wR3lvRaL1|>LNY!MF#}byQV<@7OXzfsruv~kHA_`qf(IH?~QSp(owmMn+2929P AB>(^b diff --git a/discodeit/build/classes/java/main/service/jcf/JCFMessageService.class b/discodeit/build/classes/java/main/service/jcf/JCFMessageService.class new file mode 100644 index 0000000000000000000000000000000000000000..9ae9dde75932a3a5f98506ec814eebc89247f611 GIT binary patch literal 2037 zcmZ`(T~ixX7=BK^mTVVFLrJw72^4D*2vI3T2~9;RN=;}rC6!t~4#^=bh7E2uD1X2! z?;Xa`8!x!6j>2GP9IyQYUOD3r=r3>_@jbhnk0taXo3m%%^SsaVzR!98`0v->0NjAC z!Uw;CfQBGK41-&ImuG6+sAlf0Z;7(S5SrHw-O4fe6UmZ-K87JXsA=i7%z|n1y}aJA zR4DL=aSob-ehmXS&k$<}b5}2m%vO0Lb9-^AAQ}x`6-8&4AyDBKr=0l?o`lMt!v#bX z3~9KCVTJ+kXNErA5+=9mCPOrl>^i;d?i0c#Jfq-Q4VUp8L!^Vy3Sm$-d1FO8*;RTEkFT>ux*uw5AM^?coF%pKQTYDK-kcv32Xc)(f48f|fmMfI9b=WS`>gw{X ztcsVAP>|G+!h}bb{7i)wpEr4}!7!X~GxA^=o3EaH_qB@G@VbII4Oz^$I_!<7 zitWhLHRBXRg42y^Hd&H&$Z5EVHz=0su(-)7xwnjNu!=WjEf&3`Z6JyAmWCzCLuoiD za_=2!(Ro>g+Zx`LRq*plML~gF&@$R-hlPuJ)!@`ORYXl#1T*Bew&RLq ziDYg&H$&cqQ=}MtI@ziFj@V{m=r3Bl{8@qTxMY+K-KZ?oYNx$tUnz!hk0GC40Et4y z>gCzXEY#eg8%(OkyA9j2LvMVbY#Sod4Yd6#x_@Y4zyOdWxx9z$6>LiiV`Kibjn z(Nm5?`3ykA`?S)WcocDu-WXOdQovs3ArUPmqvl4BfL4^)B_&sDctEs1q+JdEf1xV4l=#Ok%0qla|5AL0BBc1BB=U$BK0B?fjZEHA z8+3u48h%XQKf$N;lpx=_s%Lvu$Ien6Og}m}`MV{S$+X>SM@Uhe)Q-|f977scFhgTh zQgPJwx7E(J)y|%!cEnN3vF;N6-X%KMOEm5wdV|`tu#dhp{ogt``Rl1%lf*SeTqlU< zBn{p)jm)Vou7ho^b8W73D5FA*Je?VHxQaH{hg1{U(dc8u*Cvkec0rORmdoUo$xf>V i?5JskagBU2)6PvN+Zm&7#xVM^K~9kuqe|F5Z2k{9F|_>v literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/service/jcf/JCFUserService.class b/discodeit/build/classes/java/main/service/jcf/JCFUserService.class index 04124c2cfdac1c0be3f8379f3c17ec713fc69fbd..83ad08cefc923e7151fcdc2297a5801ad3ee340d 100644 GIT binary patch literal 3545 zcma)8X>-$76g|(eqr?cZkq{GT2n~=8429AX11*FtU;?d^Q0S`IN}@!uj4THN-S^Uc z{T2Pt&a}w@Go60whfaS|r_=ME6kCo%h7Xpdr+d#m_uPA*-rxT{_yfQR{1it7bsC~N zVyG8ro--DWq;2G9l2@kY%&aF+f85Gj-bsPFzWzxK4FYY-sN`98@|5cuOKGd<#i60D z5u2cE*sNmMcw`I%G*_mM08lbf&ydo}FS z(I->bQk^+-G;%pm>lncqN+u}?bgv^>sQ#qUjdMEA%Lb?~6>?Nfw*08 zu=|K(+Z-M8PxVi>Lg0Wb>SY~cxWXoL%>`%C9Gw>E345(m7TLz#ctOXD$gquPOmCD_ zTdRap<&9$k?HVSldP=_0@Dk^h4Xoy{Y5*HE)=b{;N-lNlUNeNp)8X7trpQ{3>zJ`X z~*Wm65atDBdy9G`WaTRuyTlPA>? zI2&#uj@V;Qca>zUmbqY9Hg}Q2tmLC45oluV!qN&vES5C9395p!$+Dboj{-)e@&cRJ z_)Ua+NBPv2<#ATl^4Xm6jO_enqY#uzlk;)PW+v5rr}k>u!r@7mi?zK|pEGS!rqWi! zxt}fDWE%@pIiuIN>OCZ|tH!P>`TiS}BXE-Jdb#t(Gfv6Pn&&Lpb8Xchn**{rDDr8? z@wgWmh0CTl>*R_}^>{Ci_wj*-4|RNmj|FyD`pC*JI`d{St;o^Cm^QMW<1VqJ3*o1K z!VMER`2j8%`J8PQd()0HUn*?;ji_=QUn-bk^T&VbhuqjV{1FV0M-1D}So{z)V;fcZ zOm2|(bi9eX&G>@K^{vsLHeX4buXWtPT>*VGpEunR+b9-I4&-+NduoJSPZJG42t2W| zDM!H<5Iu|-;dXkB*H(GN;Qe)e{UW%*-^+M~_glEelMJt~^650{cn35OtUwGrgm!%e zjlU!QtMYnH+1K&ff+!K2(2m#nr29U20|uYi_-G68lKhu=G2%7<%$o=#hztjGhMZ$% zXC77p=V4k$r1iky3bwBG-l@Dhe2c(aB2OVp|EN64@SRL5OrrA_E`&+!UWY`EHc^6@ zyz-nAz#QhvYA!n}g2?j_u#cvF8$iv_)xsRFlF<}Fqx|m}_zm%g=)OKUw0{LX_t6`{ zHBq7HV-I30h7|UI?^VvWLlsey>cBk9DVcP@=AA5~g@qvA5dWoBB!unPAQ|EuDc67> z`oMF7m=d)|GQE#}fx!pZ58TJ02rthNcNwWa(On_!10PYqetCMzgnN*OqsSD>VwBi_ zF^1@>2r(R$;Sy0_kVLcszJ-~AXCWQK?4Ohha>REp2k9!S(p6TaD^Nve)82$j9R<%O z#URUje6A;M=fL1HP7TKrvA>`vVnh2A(Pf-X#AN(B)wzEBQ#{F>X7i7z_$Phea{SI9 zN!j6Y$fSOqiizajshC8G(4v^c;BmD9;$L|p=_aER7U?7V#xK`8E-j|&yAu{;`89{ SOWu9McX0;%7T@DXB>o5VKN4C1 literal 3890 zcmcImYj+dZ72Q{s8Cx3g18f4NU=k;_#6uLEgjj|Ij7da|f!dhbG;PPy*dBW{qevqM zr;ntCCL~VVyjn;a(pMUqHf@Om7@MrDe(vfo0rwBItB-wWM$*W3_|UcbL8H0%p65RM zoVkDf_u^*&4&ZhKA=D@ctEj~qfyPN~T1%LkHJ&&zI;p1}fi>NRWjF@~YC2*=3hD&b zyFx|BFcXLJd2Oc8C^!))sHsO3s)DsD)}cXQb3xBf8)-c;nI20V>p6Ow>j7^|psvW3 z)TGnCib1)PltDGAXvTWVO=yLQ9y_DE0i@(ni;7lkWMuj?Ma?V-v~+kD0&yo}BT{se zip}_fKyBKzEt=TS5nCxL1;40bE4I;{V-Gla!x~>M>+QOsZC7!>1gmb$ur$+nPLHA; z4=Q*_#h1__u&z2C3L1`{*Bm=9&{_(>g)imrC!>gChk~6dc44XAgZf&(fJ;_>S9nS!Hd>Dn$bfEEu#!%mzeRt}YQEt{;vA?ifV-kE!0>HN!Wcjm6$ z`Q+25Bj~{q1-&Yc;>i+usx_HgPTDc8WwrD{j}6IOQYwz&E374RNo5F96_lq>r;e~X z`*B=FKTgo(v}P9d6Jr7otwxUk4SX-n?1)n;zKQ{Xjah9<@3F14=A1Dc^3N(bn&psd zRmMv3t!7N%l#F^v#Tl1ajJh|g8D=xt=AMkGI4e)q@#N$L>Dgb*j_Ubl)ZkPdz9Dem z(zVZ)u3Ttax_G&5>C%f!uiUshd-3k<`@5yxZ^@3;1Re_}=f|@$oRvGVA<5dbii~Wf z8ZDEN>oFDMm=Flr#H|`&w=BA+JnS!8BP{3bASi z)ejismgW@m)ZFH2x*lb!-F<;pN*+uyUvCOE^ckg64QivN>(owb=8%>*PuU@7|F_$5=JcVe+DCA6S#$!h$qnmo^sIjBU zQ*4O9nOb%kpa7yPwPhwS^o9apSInyPSiSV+fKpBYq{gPGht^6 z4Qudj1Xu8$f?vof^UJD|8rHNur6;@w_6E;UEzM8HjKJj}_rtfAu6*h)eFZ$lZLNBs>%K6bU9<8vJ)c+Ss-N_$QCHdm^rgYV$GTygASy>BnUe`&9l z_8LFpO9;}4bO*Eqlxxe%yaD>kU6c+<>G+O$Y*?&QtY=c+!hQY^6>uwO*|`5WkMd0v-_P-?f04z}v|3B_Z$^?ClC~3g1NMj+=P& zZ4AtztNDqWILv>!{nRb=E#f3l+3H-xU~qkU5nl_ghZpg6cO5=(6>F~k=d~^GAS%s1 zO&cDrG3?9EUz$l1sCzM`|mRGUr>dD_&;I)1EDBUnx&S<=TR0wT4|L? z-NxSG9Xof;X* z05;LpOAw7AIRbsNPxxk4aLzYs5u5%C`DUmh diff --git a/discodeit/build/reports/problems/problems-report.html b/discodeit/build/reports/problems/problems-report.html index f0b8d161..201fcaf5 100644 --- a/discodeit/build/reports/problems/problems-report.html +++ b/discodeit/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId3 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId3 new file mode 100644 index 0000000000000000000000000000000000000000..133000b22f28c8fa54c925709590eda5045d3a78 GIT binary patch literal 2031 zcmZ`(T~ixX7=BI?vLRh44Gq;Q5-8Rr5Ta6w5=uoXN)5D{LT&5Uk{rTf*x+V^@&~-~ z-eDZQ@q*jxC>`vKC6fE6BI@amvoHcMS-rObe0NCSwHNSX?1n! zMkb7x5Z92pc8?@zic~^GhWxS%{RUMPK z($>7(Ud55ylvb`%V6=v3meaRw({gf-EsgC=2v>>pM*C{I^JL`>#(qCFnN0!z2Gq3RJB-WC+z|$l(%#&Djr&; zhNAZTssKwmZmI(KjY2^~mIkPM?4-H6b7s*poT@DaMp`_g95$P6Z(wFF!>%us3yeLR zH7&VP-CmdW9b>)3ok+HvH%e=UZK`)~GvI8RY}HVLx=y%9Be+UAjmam8lShgGY3CcKwt6^MDj7Tdymll3&KCT(YN_j zlTbYa(D5EudMzIBBgZ#^J6QFweqdyPd)JdcBYcED<{Ur5fWSU3bMd^u?})9W4ly!z zh|BxvRdJ~!jQeo+;P}sT`Dv`zYSmw zce!F>kCa+{fP18MpSwEz|01m6Li``MC=c)<|CRVOBb4|qMdTqDJ~yqZjY{5B+vNe* zYWNYqe~eG~R3P7as;4_u51yvFEA{Z;`0u({q0+Xh9ipNb)edtSjv$3gnBoLgRBCE_ z8fvE-YNttCdf5Ou4Cjm&Y7Fy zw47+++SlMZ)8IOTb>zvYturGvu7w8I2jr?c8hwly9r^aM;!Kk7&?@82PW8G$lL+Ao btufU|&4Z1EQ7>T#J&-htx)&RS_M!McshhL$ literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId0 deleted file mode 100644 index e6ba50251c81ee39a373ea850432162ad540cbf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1203 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 VYV@elE9AlArCymBAx2^R{{U}RyL#47QF zKfoVlymz{Nuq=sb(mOMI&YAl-^XKoc-vGAoVFV!zDF|zbASy6w+OFkZ=Jw5I)2NyP zO1WXXbSRK0of{WMu4dTP+@b4Ob~VrBVGSe9442OgS49k(f;$>U5f>QiGY(GA%`&M( zH!a(83j#x#?1_qTBorhyOkk2Om++Qr)pEzjyE_7^W7w5Oy|YPVvYiZi0D1qEhP${Y z5V9(Cp&y~*0Uj!Nq+uE}*AhCsY`SJ$V7%ON94he0s+;>(t!6c4ZhI=8U{=9X4bSkr zo0}}Y)Ud16mY~`x*Dz-p^SeMwnwSS!x9{X!nVa6p zp3qf{=wFo_gmIVi42lt`f0xRX?hWc;qve#%j~17!d7fQl7t!!SBvaUr>IFp4gxE*<0vRb^zRT~CF~{rN9ExtUeQ|X0I-TR`JKi^Cw{WxC&vTG zP&h8NA-?sJoQ6W{B*OHpVwj{~ z3Nx6(9Cac`z33;uLcfn~DYid0B-P+r&AOKe28*;~8|(n|Za yR!M8^7A-b2YZZgFbidX*X>Hu1#SenD-Urt>V6{$-TclOEMT;LDYi&z=?)(FsQuw<7 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..366b5f9520704dc587d2b6f9d2c702f826f8979c GIT binary patch literal 379 zcmZvY%}N6?6ot>NZN}EWwt^2JF4~Rr09BzNLSc%Fq3+|%bw~+OGMR#}=E4W?p~NJu zNNZOi_k20`x zR^41xM!Lqv?YqFu?(RGPL^N+@Oe;#(9AcmU5AsCl<*$t`_(AD_Y&UToz9|TV1791^ j@x^o?5DH3g7|$+xUO)0`3&(zbve8d*=4Zahs0@ApDNSJW literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/previous-compilation-data.bin b/discodeit/build/tmp/compileJava/previous-compilation-data.bin index 838fe129ced1e3021b3f78ff9cae1e7b662cc8b4..740c34cafb7297686372180419f1c9ac544fa4de 100644 GIT binary patch delta 565 zcmdnNGKrOuYa*js{ndx(Lxg$Kh5x9sFEC!Q`UZP2hcl-emov8)j~=fcGao}sR&p8( z5U{cdENaSMeq-Op)t+MK%O@;dS;rqN;L9Y)(4JacoS2@*pPKaN~nDvuE-6 zdft`Poha)p%qlSR{C82l7u6Hagr;`pzZU3|^A#2pkTsTa`16ZtbG)NUm;cKPO7g)9 zzMO(=0;dxznmgJr?_lr$r|kb;#*CAJk%5U_f`K1MNysw@F)~UpiK$65NCWv|5)85+ zJ_9?09Ej$ZXJ7}?3=CpmQhu^Kqly=gqMlN)vagDps((Za5&N{4MDOpcFFNWsK z6fnojThAxhH&g|xPRviw-&aQvEF~A97Z@DmY|IKVf+1K~FC;kBSp~{xX9U{A004yb Bhlv0H delta 506 zcmbQlx`Tz0b0VW!{fUW!IWkMP8OeXtRs6SW`v>-54rfj`E@y5p9z9+?W)j6zVAM|e*xp#8B!nI#e&5{IYrq7RxWaR zw(!r6GY5)vEl*lcSUmB7c>TVYEm5z8`6~~1e4fQ`AGcOISSFMSsP?Lw%9Pn}PBQ0i z{akI{AihD?S(sJe)s!pJGmm_qY;z|1NzRp@kK}xX1qB?-OYN8OXw3eQ>vmz^4N>)ctm!UZ` z1J@9 foundUsers = userService.findAll(); + System.out.println("유저 조회(다건): " + foundUsers.size()); + + // 수정 + User updatedUser = userService.update(user.getId(), null, null, "woody5678"); + System.out.println("유저 수정: " + String.join("/", updatedUser.getUserName(), updatedUser.getEmail(), updatedUser.getPhoneNumber())); + + // 삭제 + userService.delete(user.getId()); + List foundUsersAfterDelete = userService.findAll(); + System.out.println("유저 삭제: " + foundUsersAfterDelete.size()); + } + static void channelCRUDTest(ChannelService channelService) { + // 생성 + Channel channel = channelService.create("PUBLIC", "공지", "공지 채널입니다."); + System.out.println("채널 생성: " + channel.getId()); + // 조회 + Channel foundChannel = channelService.find(channel.getId()); + System.out.println("채널 조회(단건): " + foundChannel.getId()); + List foundChannels = channelService.findAll(); + System.out.println("채널 조회(다건): " + foundChannels.size()); + // 수정 + Channel updatedChannel = channelService.update(channel.getId(), "공지사항", ""); + System.out.println("채널 수정: " + String.join("/", updatedChannel.getChannelName(), updatedChannel.getDetail())); + // 삭제 + channelService.delete(channel.getId()); + List foundChannelsAfterDelete = channelService.findAll(); + System.out.println("채널 삭제: " + foundChannelsAfterDelete.size()); + } + + static void messageCRUDTest(MessageService messageService) { + // 생성 + UUID channelId = UUID.randomUUID(); + UUID authorId = UUID.randomUUID(); + Message message = messageService.create("안녕하세요"); + System.out.println("메시지 생성: " + message.getId()); + // 조회 + Message foundMessage = messageService.find(message.getId()); + System.out.println("메시지 조회(단건): " + foundMessage.getId()); + List foundMessages = messageService.findAll(); + System.out.println("메시지 조회(다건): " + foundMessages.size()); + // 수정 + Message updatedMessage = messageService.update("반갑습니다."); + System.out.println("메시지 수정: " + updatedMessage.getContent()); + // 삭재 + messageService.delete(message.getId()); + List foundMessagesAfterDelete = messageService.findAll(); + System.out.println("메시지 삭제: " + foundMessagesAfterDelete.size()); + } public static void main(String[] args) { + // 서비스 초기화 UserService userService = new JCFUserService(); - Scanner sc = new Scanner(System.in); - + ChannelService ChannelService = new JCFChannelService(); + MessageService messageService = new JCFMessageService(); - userService.addUser("육선우", "ryuk6238@gmail.com", "01022790657"); - userService.addUser("김철수", "kims@gmail.com", "01012345678"); - userService.addUser("황건적", "huangs@gmail.com", "01001010101"); - Channel channel = new Channel("1번방"); + // 테스트 + userCRUDTest(userService); + channelCRUDTest(ChannelService); + messageCRUDTest(messageService); + } - String searchName = sc.nextLine(); - System.out.println(searchName); - }} \ No newline at end of file +} \ No newline at end of file diff --git a/discodeit/src/main/java/entity/Channel.java b/discodeit/src/main/java/entity/Channel.java index fdc42129..7214768f 100644 --- a/discodeit/src/main/java/entity/Channel.java +++ b/discodeit/src/main/java/entity/Channel.java @@ -4,16 +4,20 @@ public class Channel { private final UUID id; - private final String channelName; - private final Long createdAt; - private final Long updateAt; + private String channelName; + private Long createdAt; + private Long updateAt; + private String frame; + private String detail; - public Channel(String channelName) { + public Channel(String frame, String channelName, String detail) { this.id = UUID.randomUUID(); this.channelName = channelName; long now = System.currentTimeMillis(); this.createdAt = now; this.updateAt = now; + this.frame = frame; + this.detail = detail; } public UUID getId() { @@ -31,4 +35,35 @@ public Long getCreatedAt() { public Long getUpdateAt() { return updateAt; } + + public String getFrame() { + return frame; + } + + public String getDetail() { + return detail; + } + + + public void setChannelName(String channelName) { + this.channelName = channelName; + } + + public void setDetail(String detail) { + this.detail = detail; + } + + @Override + public String toString() { + return "Channel{" + + "id=" + id + + ", channelName='" + channelName + '\'' + + ", createdAt=" + createdAt + + ", updateAt=" + updateAt + + ", frame=" + frame + + ", detail=" + detail + + '}'; + } + + } \ No newline at end of file diff --git a/discodeit/src/main/java/entity/Message.java b/discodeit/src/main/java/entity/Message.java index 1200b5d1..e6440c78 100644 --- a/discodeit/src/main/java/entity/Message.java +++ b/discodeit/src/main/java/entity/Message.java @@ -4,12 +4,65 @@ public class Message { private final UUID id; - private final Long createdAt; - private final Long updateAt; + private String content; + private String chat; + private Long createdAt; + private Long updateAt; - public Message() { + + + private String content() {return content;} + private String chat() {return chat; + } + + + public Message(String chat) { this.id = UUID.randomUUID(); this.createdAt = System.currentTimeMillis(); this.updateAt = System.currentTimeMillis(); + this.chat = chat(); + this.content = content(); + } + + + + public UUID getId() { + return id; + } + + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdateAt() { + return updateAt; + } + + public String getChat() { + return chat; + } + + public String getContent() {return content; + } + + public void setChat(String chat) { + this.chat = chat; + } + + public void setCreatedAt(Long createdAt) { + this.createdAt = createdAt; + } + + public void setUpdateAt(Long updateAt) { + this.updateAt = updateAt; + } + + public void setContent(String content) { + this.content = content; } } + + + + + diff --git a/discodeit/src/main/java/entity/User.java b/discodeit/src/main/java/entity/User.java index df722124..9118c859 100644 --- a/discodeit/src/main/java/entity/User.java +++ b/discodeit/src/main/java/entity/User.java @@ -20,9 +20,7 @@ public User(String userName, String email, String phoneNumber) { this.updateAt = now; } - public UUID getId() { - return id; - } + public UUID getId() { return id; } public String getUserName(){ return userName;} @@ -38,17 +36,29 @@ public Long getCreatedAt() { return createdAt; } - public Long getUpdateAt() { - return updateAt; + public Long getUpdateAt() {return updateAt;} + + + // 선택적 업데이트를 위한 수정용 Setter + public void update(String userName, String email, String phoneNumber) { + if (userName != null) this.userName = userName; + if (userName != null) this.email = email; + if (userName != null) this.phoneNumber = phoneNumber; } @Override public String toString() { - return super.toString(); - + return "User{" + + "id=" + id + + ", userName='" + userName + '\'' + + ", email='" + email + '\'' + + ", phoneNumber='" + phoneNumber + '\'' + + ", createdAt=" + createdAt + + ", updateAt=" + updateAt + + '}'; } -//오버라이딩 + //오버라이딩 //제네이이트 -> 'toString' } diff --git a/discodeit/src/main/java/service/ChannelService.java b/discodeit/src/main/java/service/ChannelService.java index d3c4d266..0dd60b85 100644 --- a/discodeit/src/main/java/service/ChannelService.java +++ b/discodeit/src/main/java/service/ChannelService.java @@ -3,14 +3,21 @@ import entity.Channel; import java.util.List; +import java.util.UUID; public interface ChannelService { - boolean addChannel(Channel channel); + //boolean addChannel(Channel channel); - List getAllChannel(); + Channel create(String frame, String channelName, String detail); - Channel updateChannel(String channelName); + Channel find(UUID id); + void delete (UUID id); + + + List findAll(); + + Channel update(UUID id, String channelName, String detail); } diff --git a/discodeit/src/main/java/service/MessageService.java b/discodeit/src/main/java/service/MessageService.java index 6150e794..f650e175 100644 --- a/discodeit/src/main/java/service/MessageService.java +++ b/discodeit/src/main/java/service/MessageService.java @@ -1,4 +1,19 @@ package service; +import entity.Message; + +import java.util.List; +import java.util.UUID; + public interface MessageService { + + Message create(String chat); + + Message find(UUID id); + + List findAll(); + + Message update(String chat); + + void delete(UUID id); } diff --git a/discodeit/src/main/java/service/UserService.java b/discodeit/src/main/java/service/UserService.java index 83c1f99e..9c8db2a5 100644 --- a/discodeit/src/main/java/service/UserService.java +++ b/discodeit/src/main/java/service/UserService.java @@ -3,30 +3,27 @@ import entity.User; import java.util.List; +import java.util.UUID; public interface UserService{ //조회 - void getUser(String userName); - + User find(UUID id); // 등록 - User addUser(String userName, String email, String phoneNumber); - - //전체 조회 + User create(String userName, String email, String phoneNumber); - List getAllUser(); + //전체 조회 + List findAll(); - // 수정 - User updateUser (String userName, String email, String phoneNumber); - + // 수정 + User update(UUID id, String userName, String email, String phoneNumber); // 이름으로 전체 목록에서 검색 User 객체에서 가져오고 // 가져온 User안에 필드인 id를 조회해서 리스트에서 검색한다음 삭제하도록 진행 // 삭제 - void deleteUser (User userName); - + void delete (UUID id); } diff --git a/discodeit/src/main/java/service/jcf/JCFChannelService.java b/discodeit/src/main/java/service/jcf/JCFChannelService.java index f7d100a7..13b72494 100644 --- a/discodeit/src/main/java/service/jcf/JCFChannelService.java +++ b/discodeit/src/main/java/service/jcf/JCFChannelService.java @@ -7,27 +7,60 @@ import java.util.ArrayList; import java.util.List; +import java.util.UUID; public class JCFChannelService implements ChannelService { - private final List data; - public JCFChannelService() { this.data = new ArrayList<>(); + private final List data = new ArrayList<>(); + + public JCFChannelService() { super(); } + /*public JCFUserService() { + this.users = new ArrayList<>();*/ + + @Override + public void delete(UUID id) { + } + @Override + public Channel find(UUID id) { + for (Channel channel : data) { + if (channel.getId().equals(id)) return channel; + } + return null; + } @Override - public boolean addChannel(Channel channel) { - return false; + public Channel create(String frame, String channelName, String detail) { + // 기존의 생성자를 이용해서 객체 생성 + Channel newChannel = new Channel(frame, channelName, detail); + // 리스트에 저장 + data.add(newChannel); + // 생성된 객체 반환 -> null 금지 오류남 + return newChannel; } @Override - public List getAllChannel() { - return List.of(); + public List findAll() { + return data; + //return List.of(); // 무조건 빈 리스트만 반환함 } @Override - public Channel updateChannel(String channelName) { + public Channel update(UUID id, String channelName, String detail) { + for (Channel channel : data) { + if (channel.getId().equals(id)) { + channel.setChannelName(channelName); + channel.setDetail(detail); + + return channel; + } + } return null; } + } + + + diff --git a/discodeit/src/main/java/service/jcf/JCFMessageService.java b/discodeit/src/main/java/service/jcf/JCFMessageService.java new file mode 100644 index 00000000..c70b0811 --- /dev/null +++ b/discodeit/src/main/java/service/jcf/JCFMessageService.java @@ -0,0 +1,55 @@ +package service.jcf; + +import entity.Message; +import service.MessageService; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class JCFMessageService implements MessageService { + + private final List data = new ArrayList<>(); + + @Override + public void delete(UUID id) { + for (Message message : data) { + if(message.getId().equals(id)) + data.remove(message); + } + System.out.println("없음"); + } + + + @Override + public List findAll() { + return data; + } + + @Override + public Message find(UUID id) { + for(Message message : data) { + if(message.getId().equals(id)) + return message; + } + System.out.println("없음"); + return null; + } + + @Override + public Message update(String chat) { + for(Message message : data) { + if(message.getChat().equals(chat)) + message.setChat(chat); + } + System.out.println("없음"); + return null; + } + + @Override + public Message create(String chat) { + Message newMessage = new Message(chat); + data.add(newMessage); + return newMessage; + } +} diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java index 86d7cf08..d7d89b7e 100644 --- a/discodeit/src/main/java/service/jcf/JCFUserService.java +++ b/discodeit/src/main/java/service/jcf/JCFUserService.java @@ -6,16 +6,19 @@ import java.util.ArrayList; import java.util.List; +import java.util.UUID; +import java.util.stream.Stream; public class JCFUserService implements UserService { - private final List userList = new ArrayList<>(); + private final List users; private String userName; public JCFUserService() { - super(); - } + this.users = new ArrayList<>(); + // 기본적으로 모든 클래스는 Object의 상속을 받는다(Object + } @Override public int hashCode() { return super.hashCode(); @@ -31,62 +34,64 @@ protected Object clone() throws CloneNotSupportedException { return super.clone(); } - @Override - public String toString() { - return super.toString(); - } - @Override protected void finalize() throws Throwable { super.finalize(); } - - @Override - public void getUser(String userName) { - boolean found = false; - for (User user : userList) { - if(user.getUserName().equals(userName)){ - System.out.println("\n[검색 결과]"); - System.out.println("ID: " + user.getId()); - System.out.println("이름: " + user.getUserName()); - System.out.println("메일: " + user.getEmail()); - System.out.println("번호: " + user.getPhoneNumber()); - found = true; - break; // 찾았으므로 반복 종료 - } - } - if (! found) { - System.out.println("찾을 수 없습니다."); - } - - } - - - - public User addUser(String userName, String email, String phoneNumber) { - userList.add(new User(userName, email, phoneNumber)); + users.add(new User(userName, email, phoneNumber)); return null; } - public User addUser() { return null; } @Override - public List getAllUser() { - return List.of(); + public User find(UUID id) { + return users.stream().filter(user -> user.getId().equals(id)).findFirst().orElse(null); } @Override - public User updateUser(String displayName, String email, String phoneNumber) { - return null; + public User create(String userName, String email, String phoneNumber) { + User user = new User(userName, email, phoneNumber); + users.add(user); + return user; } + @Override - public void deleteUser(User displayName) { - userList.removeIf(user -> user.getUserName().equals(userName)); + public User update(UUID id, String userName, String email, String phoneNumber) { + User user = find(id); + if (user != null) user.update(userName, email, phoneNumber); + return user; } + + @Override + public List findAll() { return new ArrayList<>(users); } + + @Override + public void delete(UUID id) { + users.removeIf(user -> user.getId().equals(id)); + } // -> removeIf ?(AI) user(매개변수?) } +/* stream 다시 + + return users.stream() /<- 시작 + 람다 -> .filter(user -> user.getId().equals(id)) /<- 필터 : filter 말고 다른 용어?변수? + + .findFirst() /<- 첫번째 값 채용?획득? 다른 + .orElse(null); /<-예외 + + toString => 코드값으로 변환된 데이터를 문자열로 출력? + + + + + */ + + + + + From 58aa25dbb95b001b3ed24f500d367d45a104b501 Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Wed, 14 Jan 2026 19:03:27 +0900 Subject: [PATCH 06/17] 26.01.14 --- .../executionHistory/executionHistory.bin | Bin 48578 -> 48578 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 20547 -> 20547 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 23801 -> 28935 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes .../classes/java/main/JavaApplication.class | Bin 5116 -> 6174 bytes .../classes/java/main/entity/Channel.class | Bin 2328 -> 2416 bytes .../classes/java/main/entity/Message.class | Bin 1668 -> 1494 bytes .../build/classes/java/main/entity/User.class | Bin 2283 -> 2578 bytes .../java/main/service/ChannelService.class | Bin 488 -> 506 bytes .../java/main/service/MessageService.class | Bin 379 -> 466 bytes .../main/service/jcf/JCFChannelService.class | Bin 1985 -> 2212 bytes .../main/service/jcf/JCFMessageService.class | Bin 2037 -> 2785 bytes .../main/service/jcf/JCFUserService.class | Bin 3545 -> 2793 bytes .../reports/problems/problems-report.html | 2 +- .../JCFMessageService.class.uniqueId3 | Bin 2031 -> 2785 bytes .../stash-dir/JavaApplication.class.uniqueId2 | Bin 5116 -> 6174 bytes .../stash-dir/Message.class.uniqueId0 | Bin 1658 -> 1507 bytes .../stash-dir/MessageService.class.uniqueId1 | Bin 379 -> 466 bytes .../compileJava/previous-compilation-data.bin | Bin 658 -> 658 bytes discodeit/src/main/java/JavaApplication.java | 119 +++++++++++++----- discodeit/src/main/java/entity/Channel.java | 8 +- discodeit/src/main/java/entity/Message.java | 36 ++---- discodeit/src/main/java/entity/User.java | 31 +++-- .../src/main/java/service/ChannelService.java | 14 ++- .../src/main/java/service/MessageService.java | 4 +- .../src/main/java/service/UserService.java | 1 - .../java/service/jcf/JCFChannelService.java | 33 +++-- .../java/service/jcf/JCFMessageService.java | 29 +++-- .../main/java/service/jcf/JCFUserService.java | 59 ++++----- 32 files changed, 210 insertions(+), 126 deletions(-) diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index d04c1b29d1d2da1440d2e44e26b63a44bb5edb9d..d843100df86b938e4ab0536c744485ac11798cfa 100644 GIT binary patch delta 786 zcmX@~o9WPRrVX5H9Jb8P$|_CEDa|!YO-rgMNlDMnH%m`0N;EId&J-7%~&>oI9>g{?Je=5PJ9F zw+5c8H$={VxuTxXY&3aha*@E}pC{6$&d8pib0AByOjajgvUEzZK=q+*RxCNs_eMSF z{A{Wd!7+JWirC~0i!%gD${z7QQW37T&zhTlYkr&LWb4U20vDSV%BvrC`W9?!UA1h2 zk@#f(W|heilcOdd*d{8#{PbLac5rtgyI?@+kPK>|}wdO#)Ff&T7qa`LUNHN@!M#fu!E# z#I!VlL@TZd-P^)a7j<tKJ;H*ZDF`D}J7AslCU#J?(dP z8-EaD?DI`6E>28O)l1GvEG}jcSXQ^KwNUVK)FlbSb!7~JosGAS-QR6|jhnGMv^cd0 zrs|yN^O_J{@!eA9J&~txdABXReDv0C<4GdS3<47xA65zHKkv*?Uc2_vZ}IDl)4USP zbP^p43UV@&6H7Al^I(S5->PTOl>5H;wA3l#3y~p)2f$X%GngDPT~T7r*Y0Qce@&4! zZb^xHc_jAuez1doF;AX2T|xHXifp|t0z7ddk1P(_ZqQwG1T48kka32Wv)g3<-D1(9 zVY{q<1W#raJ9uZ^B*o~qOJK7fiZV_GssQ;UIJKxOGa2sfvSs(Al8^5a$(wYM`+%w3 z#DicDy%Ys{h6?uL-3^xA~ z^W@sys(PEjnqM#jHP1hDs4?5Dl(jTcHedGsM1P=AqE9+^oNdjia)p5V9C^`fn-{cS jW|VvN^reYQqndq-Q;_~n!McBUzy?lYWnpAs5IhI~`@3fF delta 494 zcmX@~o9WPRrVX5H>^ILYOf@P^&8$o-%t|pTO3W@T$uQ2%G0!qh$`#mpu~?`yjA!MG zSDl&e>)4I#F+?VRsC3=@zH$QFWVy|WlNPlKoMKpbAR(#!$&c3s%he*Glxkx?J^O`ew`wt2&13&zP2lcOdd+$Jhe+AvweYEkSfCX1@s z#;gz9=Yq&=Ay@Zpu^{skA# zwwtP^N>7%FteHGzn&jkJ%QYorjins^{9@W1@2Jw{|MG%T`~8jEb{n_wPQJZd)6sh7 zv9sKE8oRA`ul>k=%(s?tnpa|3qGLfpPG)jqNoIbYUUE)iaWR9yvdxEIKPsyCU&K9o z#^GyHGW}pv{-{rmn65ZEZABo<3@>N5$pO2?#7`$yGYxk(r3kB9UoWy2TB3~OFxi6)3M=wp-GSN)Xpp4wVOJ)SIq(I z@M|&ys;mcMj&e*bkuznTrzEQeUP--OseI&yDp`=Yhd8`hpA)l=4}@ybNVFIYxH|EeNYKltmIenn5(z+H%RL) zf&PaOtxOG=T4gJ%-Wzc zXv%$Gd|K+1@P)__L#VM1U?mI^azGj_oXVEnlS)3mOC)d7MeYNpaucDZ9)#%NdO5k- zH-cq%VCLq@_kE=#UOjzj;?k&Q-{KUczf-Ud7>dA9{kS$}vY?+-{nuRuj|IaWj@{ze z^VnMShc8&NcE)OmQS3J{EkC#-TW^a1Pn^gji-Wcsbk~4&G~RQ8=-^m_siUw)!(2pm zNx)k7&yyCOSkDTzVDYEAuM{W=1T1%f1e%U-$=>nB3w{dDvj5L@CaD3a z5~!o#$yT7sdLU+-fvJUOQt~ZF)}mR*_Mbg3aJ6$SSj(wB(Lj|zz<(J?pjlGiF2?_p z{kYyFC(q;ix!1Z!a6IE1NV@8)e6CUg2E)Q3(zG57pi?oZ}-JMW#oD)YE_q3pp`?8BY7WVy`cRbVYejhi8saJpF5>+h%(Usw=48EVNjh!)C~aYQGdvB`Xj!Zl7%ECG1)5GqFHm%GM1oyQ(Di=>t(^b diff --git a/discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock b/discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock index fc336ba6e8b181eefce005b3c3cdb86a9f0b5c55..cd4257aa5b06d7c8d0b44c9613e3b83549b3e628 100644 GIT binary patch literal 17 VcmZQRbX}kS>TTwg3}C?i6aY541tS0e literal 17 VcmZQRbX}kS>TTwg3}C=K9RN0C1knHh diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin index 901a6d81eb6355fb39512ca7031ee2800a20907d..94362298dea79153d546c829e76c2e92011c5d3a 100644 GIT binary patch delta 8514 zcmZvhc|26zAIB}(Qf6#r3B!a@(ju}`sH_nx%D&9l6-t(dv?wI5P?0@L6v>h$N+MAY zvX`unJwzhP&phYe>6gpvHUGTtdp_shd(Qoy?;VTJX|MOw=1KFAX{7^m+`i#%R=Lvr z_vdW50{;cR8o1zgdQJ*(n^}YheTtFlv!U^Z{bGa%i+x~JR7DQ%X2mlA%S&#$QLyX^DXVJX^xYJcCuedzD{JRSe50HrPkaG+75BlyL z0bE}Z;Ws2bnMA93P7g}BqDa{65~XK2Ep^KFmIyr5k}uC{y3IB;D93r z%H@?)ON;RyKck_-4WN?{VyC5Vtuj-0odVpV72)Ya8RvGS=<)+@#RPrk#St>SeRp#A zHD&|opoz$t?-G^rPRu_8+?*f!&TEMA9X#r6gd?4=3MNdYfKSiv2$eStP1i$0kAQC_f$*~S zvHB!_+%Vuoc1V*Scj`r(lWmxOJPtqyA|h8x|JLavKe`0CMFEwkd5*DsRaFPvje0Uw zrscuI&*-}WHy?(~`Ei75_G#|VQ&)Zi=(>o6)U4q1^WQ4Ki_gvx^5!?h+>amJERkad zT=z(*f?rOp;j*RjaOr`E0FtgF0gZzxg&wTLP{5tuBK$qyCY^7(y?pS1yP!$_I6}*r zp5JtPg0%p2<45F{w{eO8ye#bm+~x@suuTrzdFUzwtzX`I0PS+2+--7d-8@PWdS0L2 z0_aX%w%yy_+|^wcF#_C@`tWx@jw7ZN5N`tRHVl2lVr9qX#cP^?5$_^yUtURuo(I=fIO8Sc zDqw)^@56U@?^YiN(1RB$6u=P%8CmV`O&2u+==dB-7<_~YC=^y?0NgDIY81d>hklcp z%M^L60JNirh6LmYBd^WRJeU=Pt0U0_Nf;H(--`+O3{Rd*EyOK|BaH2B>x*OIgln~9 zHzJQGxM~HSeRKjO+a^G}1cfmh>wTIzh^2s$CLvA1IP5n=)+)(O!^Z)1-wCw};!b^6 zI2h@t+HMY@!y_bhJ_$%*_`z~vEALU)OyIj&BK{B4zDV&98@P&))S*d1 z9CqRCMPCJva(JR`{U8P*LyQcm_HIq-I}qT!8PXHNVOO-W{kyKkRRd^V1KA4+V^nw6 z5@mP$0Y;RD0)*sF(X!i|v)@+(*JV3VWOzDdvyvovn;k%QphftG=Cg4}#p@yfC%r>B z1NpIG3F$MuB1ra7u8JqEer z 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 EKV+mU5C8xG delta 321 zcmW;Hze@sf7zS`JkZ7nOqI&++6>%Yo-A%EXSwgd|J3(ki#8@= zfX+@Ay^zE_L^udnaThk>a~?+s_Yo7pD4`aW_~3M7gkh|TWz0lpcK|ys(PQ(tfUY$$ z(FB&-5gG}?h|Llbc9PIb3OpvS;HC&~%un%tT}59Pc-2kR(h?8p5`NMI-B95g5<})2 zgu@J>pK%b$5?bs!dkQ_*#Wd$&JFlXVCj<)wo3#pjXTgD6l$bET*u}^ccsHA9Ns09m m|4`zNbGBC<*UPI4&MkqdrQ*xdRyI5@zEC~cUK>}O=dC{~2y_$x diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 7b275f2c87b049bbc06502c7d71eef2ef01831b0..96a775e39ee50204696bf31ab69ce27534199f02 100644 GIT binary patch literal 17 UcmZRMC~iIDui%);00wMH04d-Dp#T5? literal 17 UcmZRMC~iIDui%);00zt!04cBobN~PV diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe index df7204e6825eb14f8b0f40d3d5a420ef6dab983a..d49a598b467b7e572a4fd11e60a31ffd4e752602 100644 GIT binary patch literal 8 PcmZQzV4S`C;@?F83lIay literal 8 PcmZQzV4S^W`_6{|3S9%D diff --git a/discodeit/build/classes/java/main/JavaApplication.class b/discodeit/build/classes/java/main/JavaApplication.class index d2afbc8c44dada9dfc0a5d3193ba28346e1efe7c..2bfdc473dedbe0347191e6fd00d8216f56a29781 100644 GIT binary patch literal 6174 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 literal 5116 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 a0BH`OTp$pKGeiP;TtHS7LkvS4gCqd1GBIBO delta 244 zcmew$G((8%)W2Q(7#J9A8R9l_En-&ZD^4wO&PdG5OU?01%uQuv5Y_O>N-Rs%&q>Tn z*AFf!%FIi*)(o3`kJ*zikc%ORA()*ZgonYLA#}1S%Mq4vMh36Re_8A&+p@~AL@_d` zPEKS|Wn*WEVPud4GUX;OV|8KV+WeaJ0wbfwpL=I0Qbyq808aubIPr#^!i10xXnO#aN_WNpP@19UPEkk7!N2z0s~kY;A^1(Hk* dehmIVngb{o0K{Po5kMXnkQK=g%@E5V2>^m9Z43%m&|>!=9ei1)cgK!KaMYWBLjTy0~8bnLj+AALq72Gy=--qbe-us5)yxuCQgYT z`~m(b<2hZou~HJ#r04ebJkLGndCvXw_t$R#8+bp62>KL6CHfH)7&2_vbT4!JM!l|A z3<0H7vt8O0NEFZY3q5D)b|rV{I;LI8Gk8E^kde{SneM8HLn^om&u-}7)3%sQeq6_bhww^a7`Q9G94JqQ1Ji{6+Dud#8gi~hnIENs0xgh8jeE^9+_2R-?S{V?$x%Z;t8e|Je7Ec z=k40O=8HAELc(0=R>L^>B#_MP`IU8kdzH;dWRMjYEIEem8s#l&-!HH?aaQ65Ck`|| zmnm_JWQ<^*blLudc|Jc*NnK8rA#Eo0u-0%&#s`zzmHy1m^AwSJ5t>DiLP86pjl`h;LpIT;wDadM6R3 zYZb>hJt<6K0yCsUj`=n;^{QL#Z-a78_K`gMk?6GWM~_!SPKECgW%~8R1fCRIdHq7geyMMd+V6jwgRM@)S6;S`57lB5z7H!l1P z&G`_z4bn{)f*>xsX!m}FZu|t|=`=wIa=G{Z&$<8mo-N{+;k=`gV@tO9N zX%V3BiYfebt!xb$kkN?_bn)s&5CKHcgF*CSjH5V0H0M1KFX@jOq)Ts9L|k>xYQR;K zYE%rl>QIf+Z#6{coQZL!?`#nQ^E`z#JiGvJY~lxc8mv4>@Tt4m*HB<0$#Lkvi>H?6 zi2Ynah#3M)c$U@I&U(wNsTS+ZMLfa6P1y4Dut+;>hGDZUSR1Rq$y&i&v&mB~US?PS z#4R+p(YiMLA^{&00^HIoq{-CchQ%HQl26n4<0_T4_hNw>T5xoYA3Rvc2H*eQGQ4-N N$C1wJ13qCN;YZnJVqyRQ delta 310 zcmW-cyGjFL5QWd5e=pf}cQu+-;ythu3pFf3EZj{YSZESW)J?n=LV^S%30^9F3I|)k z2e7cUu(Gnw3)rg9Adbs0bG|bS1Lr>doiaauU*7m zvPe*0%?pDRt&z2%z`+0pF~sE}g>ejH1|yh98a`aQ)0$$8KD9t(c)C>3b7C^49@A`0 z&rDuSUwV%E`l#3-%LwfS7+BW1%Zay}K(NG2grq6cGbwSa(^7JDGe;ft&i ZWu6ICu*Ld+yUiV;!Ompb$03f9`2$syJP-f? diff --git a/discodeit/build/classes/java/main/service/ChannelService.class b/discodeit/build/classes/java/main/service/ChannelService.class index b47ae8cb645570dfdd89af5da3cb8e38e6d56a38..8905ccd8173f9c135f18e21e4a5d027ac438536a 100644 GIT binary patch delta 61 zcmaFC{EKf@OpN5<3d) delta 62 zcmeyx{DOJHzR4ww@)P$(GrCQdVlF3nK$J0}lfu11|#u0}}%ukk8K` M0Aw>V2!cg~0RO5AX8-^I diff --git a/discodeit/build/classes/java/main/service/MessageService.class b/discodeit/build/classes/java/main/service/MessageService.class index 366b5f9520704dc587d2b6f9d2c702f826f8979c..d1a9a742fbe9bbb570b4dd68d9f4bbe07f17c9a7 100644 GIT binary patch delta 108 zcmey(bcvbk)W2Q(7#J9A8H6Wt*{Zl`_+%xPCF%nhBZDB2WMU8k0K$A8?*IS* delta 54 zcmcb_{F{mE)W2Q(7#J9A8H6Ts*)pkUOjc)9o!Hkt*@v-El#PLbg^_`efgh-VkwE}R IGBF4O0Hm=B$^ZZW diff --git a/discodeit/build/classes/java/main/service/jcf/JCFChannelService.class b/discodeit/build/classes/java/main/service/jcf/JCFChannelService.class index bdb070b00efd97dfe65742af31d1ed4c20a03638..3a87a2f6a05a5771976f69f7747000e8ef1fffcb 100644 GIT binary patch delta 1073 zcmYjPOHUI~6#i~!I)!1NMHC!swO~N#gQ~m>6r_j+0Ux{-9|JV8T8hEKwrf`|W<}!C zgv1pj+FD77xH2wX_zV0M#)#+4)Ji6~_sspyJ>PfFcaGd|Yt?UmJ{TQiUH^G&ph9JQTwd9U3|rm5jAD6)to$)FYs`PChfXjmTCum5#(W z(&^-CHnoxIZ=2@=eHxq&t#=8>rDw&6hyF@|dhjz2XrnPhsJlKAGZ zhU*Mf5;U638mY7kadY1B#axzrEsoThfae7B+}!vmWmnH+jn(H<#*0~FC7m?erFQd` z^iwRF8M({+C^egTIh-4Tz$w(gP5US{!GRl4D0W)w7@fo*(Ldk`6d(cza4i*3`2p&_ zm3@;|m2Lr5kWq~UMVg(DaZJ#kz%5MD%C+85rc8Tp;62nLJR*mwP!aV4JGe~2d4bRH zPlxkp3g*$W12-pziwHTeu)ll!gGnVY={XVza>_^YTTzD&oF-H1(Sx&=2tVcd(10mS zQ$&;{IUL=_9TIexPQ4nW-%wp>X!}Ll1nyy`r1iDA;~dB_RXueBxIpFnMAd`NL1!W>v9p-962oL@*d$1>(MpV zQ-ajtFg-J3Dd@ECmwCOI#{yNSnpmWWz42m+B8l#~ai1C@6aE0pgt05#gmAvb<}!By zT_w&O9rHMVdi&p6twd%I%tOK-;W4dT>^l{8(VqBcF``c0S@O7(BirPtqAO*abzKSN z(W@)u{D7|LavnpvvbTGj`zlz8ZFv(aDDFoi2I&1UvU~`A7^ZIoahl#Snq3wdBgu{A t6I;(ik|_5kQSyY(xJ%rdgw-V;k%ZMH*%}PXu_~7b4L!DHPbk3w<1eYHpM?Mb delta 865 zcmYLHO-~bH5PshMXv4a+rG(l|`6wo8Y`YYtrBXnseE0?U0g6q$tgwm1T1~76Pd#|_ z_@20vnCJx(ZG)&$k6w%ie}ET%gfZ&O?pm_h*?HfY=b4#jcBki4)cEq}?FRtUsO}jr zg<&8K+k}o0`Ay7bMopYXRzP(&H#szBqJW}6n9%?DhQ0^O?(XXE~|^JvYv zTXW@i^`}^r@3f*!YP~X{+sz3G#1TQ1zLV6sf+>W^*F8H;H|L?!8Hi=t5Sasnt8H|> zfwAXhpCcQg42nbZczQ5HC)3AZ78N=PVwoe$d_{T{zGH%t0%qWfK+;1d{Ahq=>^v68 z3M}FRS>|{y?}VnBjEqxNpdSPDWH1ODLmo?-dKy4CF5;5cUB1JY5BM$<&V>3KMi@tj zeo<9{D_9CDJRt>i%19j`UCrj~HgaVx^BRVw?IW*X-O`%76!-i06*x|OCuxdPUIzsq z->I9zGFFJ4IB}Ic)*yvzBRXu*F7xei#3Agq0V|x#oyo> zp>E<9S!Q`pY$5tqm}MU^fwIO!Bm}l$v)3>15$UpS=`9?~ws2w_aZAs&aK_T@7RD`o z_r>3@f;&*Xbqyj+{=))>X`432F@_Q*=$WE_Xof6z#`6!;guDS(veHqa5^R9){wq-l Tl;~{b2yJE5-^x0n72N&@7MpY% diff --git a/discodeit/build/classes/java/main/service/jcf/JCFMessageService.class b/discodeit/build/classes/java/main/service/jcf/JCFMessageService.class index 9ae9dde75932a3a5f98506ec814eebc89247f611..347c650db9cd32070912d0d55864272d7a048383 100644 GIT binary patch literal 2785 zcmbVOOH&+G7(JI6XlBw0ganizkOzq~17yfMVIqcr(KS*aKcvJhAW;w8f~STp}LpGuYM zAhg{&ISU+>u%2G^E*zv^~>X%Z6+wk;0&kAq)#N zFGz2)#FCrA{)~LOlE`92!!aGlaiWF~waqEZJ5|G~2y}*QMC+z!6F7y_8qVlAi*q$H zDXdjIS!N$jmECj(Q!yQm!nD1D=SriTYekL~o_zJilW)FEQgve*Ue+;=3!7T1^(Q?m zD%!H^;4qzOFXYlQs_6+GmsAF=BE5-4g9=RHvXb$u0;i%)gi#T__>9!Qr)SidCv{v^ z1jUR}Nkg7P-V|}YdJ_e6!8W|AD+LZlk|_zF&({tqH%0>D6HbY~ZF$p{)7A2vbZ;1Q z7A+llr)XF+hHI+#&=~g?O^%~Kzgd6VL!@{uNlSW6vnQ(K;Ec=&G?^4c^oaR8q;1}` zOBXDwUM>C!6d0(H(7*SjvatWg()A3mVmUbf3Qiq80y_(yQCyxfR>JmMsw@0Du&a{| zsROQkeQpY(F<-n$NhoUl(-(CnV@0Y`<-YWPWYSnG!CJO0Ep_x-jjFfkxN6yE8RfZ> zF%ZmWU_{_hV=r|?q-O<^1*hs36SMgk9WlFMQsnXU0I|&CX z8t&+DLGc`X+PrD6I?FPf_aQODm^X_2h^-0iC`aFZjZzW@1qH4ccFB^JfxP1^S66b4 z#6~PNfj8DxWYqn?Zw4iw9UFdv{RxMeCk)Ff@H3rj#|g5sn&h?gfsRF(?O?+^C)=>D zPjZCrgk@AJvZCQ*fx`{#ZAXNLPX+p(?Mlf7tlvbz}zDar7RV zhwp#;_wNsIvSV}|=Y=X8^ULmIVPHRcNpgx;Zw3Px#$jGuM|>#z>DP;$cn9xt#e!SC zoe6t;k5(PAKateX-~R`J3A_&@1p0vQ&GZ=G0y;e$0zJY-0CY6o9p8egcgKg;aj`p2 z#J_EWxQ`}48+OpV1~PViq4XbbNmNt)Q5612;TzG zcy5_y7O^ literal 2037 zcmZ`(T~ixX7=BK^mTVVFLrJw72^4D*2vI3T2~9;RN=;}rC6!t~4#^=bh7E2uD1X2! z?;Xa`8!x!6j>2GP9IyQYUOD3r=r3>_@jbhnk0taXo3m%%^SsaVzR!98`0v->0NjAC z!Uw;CfQBGK41-&ImuG6+sAlf0Z;7(S5SrHw-O4fe6UmZ-K87JXsA=i7%z|n1y}aJA zR4DL=aSob-ehmXS&k$<}b5}2m%vO0Lb9-^AAQ}x`6-8&4AyDBKr=0l?o`lMt!v#bX z3~9KCVTJ+kXNErA5+=9mCPOrl>^i;d?i0c#Jfq-Q4VUp8L!^Vy3Sm$-d1FO8*;RTEkFT>ux*uw5AM^?coF%pKQTYDK-kcv32Xc)(f48f|fmMfI9b=WS`>gw{X ztcsVAP>|G+!h}bb{7i)wpEr4}!7!X~GxA^=o3EaH_qB@G@VbII4Oz^$I_!<7 zitWhLHRBXRg42y^Hd&H&$Z5EVHz=0su(-)7xwnjNu!=WjEf&3`Z6JyAmWCzCLuoiD za_=2!(Ro>g+Zx`LRq*plML~gF&@$R-hlPuJ)!@`ORYXl#1T*Bew&RLq ziDYg&H$&cqQ=}MtI@ziFj@V{m=r3Bl{8@qTxMY+K-KZ?oYNx$tUnz!hk0GC40Et4y z>gCzXEY#eg8%(OkyA9j2LvMVbY#Sod4Yd6#x_@Y4zyOdWxx9z$6>LiiV`Kibjn z(Nm5?`3ykA`?S)WcocDu-WXOdQovs3ArUPmqvl4BfL4^)B_&sDctEs1q+JdEf1xV4l=#Ok%0qla|5AL0BBc1BB=U$BK0B?fjZEHA z8+3u48h%XQKf$N;lpx=_s%Lvu$Ien6Og}m}`MV{S$+X>SM@Uhe)Q-|f977scFhgTh zQgPJwx7E(J)y|%!cEnN3vF;N6-X%KMOEm5wdV|`tu#dhp{ogt``Rl1%lf*SeTqlU< zBn{p)jm)Vou7ho^b8W73D5FA*Je?VHxQaH{hg1{U(dc8u*Cvkec0rORmdoUo$xf>V i?5JskagBU2)6PvN+Zm&7#xVM^K~9kuqe|F5Z2k{9F|_>v diff --git a/discodeit/build/classes/java/main/service/jcf/JCFUserService.class b/discodeit/build/classes/java/main/service/jcf/JCFUserService.class index 83ad08cefc923e7151fcdc2297a5801ad3ee340d..83ca8fffe1fb5a6b8c64410a4faeacee148240fa 100644 GIT binary patch literal 2793 zcma)8ZBr9h6n-uVSqLjcR5U8`Qfvt?##XD92vwt$*nqZ?Sn2DMEU>WIjhhXXw*R4@ z{RMvM2RqZkpfjC*>~#96zo5UP(`ozM-Gyw3Iu1i}_uO-ybIx;~dpE!T`|KA0)A%lq zHbfLeRkR}}kXY9?wX~^OtLZz->w3u*h+Q=-!<`X`jHZeTIs}e*PIcEX)7KqG+sYd? zHx31nPIN(4a7aZrdIV0^bZ65j>FM>-O8Rzoc9G8o-z3mp=TnUt^9?i!lqI z^s6|70fDIHnUC&ahsek%7!v5xE!S|j(z2a62Jwc95u9a5tGb&jGv8jM$I#+p?q(*A zw=k+8rD6=@O+CqNa;!hBYbMz^HtIJNPMTVhStjL#&Iw!zdlX#9uvRmnn3q~oMM>;= z6>rN5B3ijDQ7@>thGUwywc1>W1L>S6cS-}FWBWMBFesh&x5vG9+vo7che>cpumJ zcFXc_7B{^fW;pvH5-UlJ$x8OSnF~miHrbc#X3pzNDqs$>uV{nfE>e8ir}#^JMQ^F6 zOYB_op-L&q9(QoH!KqZ8L~3YA4YK>{)VRNlQovP?n6ie$5@-Awd%-TU98*J_@&_b1 zt^^?^XrCXj-_l{fr9@nw$pCgbfbFCLhsUVG9~kJ*+^;Vmg6i}D=zva-G5&bLis!$I ZHGa#JV9-{@L%7(aB~HuN*uu9+{tw8YmDvCQ literal 3545 zcma)8X>-$76g|(eqr?cZkq{GT2n~=8429AX11*FtU;?d^Q0S`IN}@!uj4THN-S^Uc z{T2Pt&a}w@Go60whfaS|r_=ME6kCo%h7Xpdr+d#m_uPA*-rxT{_yfQR{1it7bsC~N zVyG8ro--DWq;2G9l2@kY%&aF+f85Gj-bsPFzWzxK4FYY-sN`98@|5cuOKGd<#i60D z5u2cE*sNmMcw`I%G*_mM08lbf&ydo}FS z(I->bQk^+-G;%pm>lncqN+u}?bgv^>sQ#qUjdMEA%Lb?~6>?Nfw*08 zu=|K(+Z-M8PxVi>Lg0Wb>SY~cxWXoL%>`%C9Gw>E345(m7TLz#ctOXD$gquPOmCD_ zTdRap<&9$k?HVSldP=_0@Dk^h4Xoy{Y5*HE)=b{;N-lNlUNeNp)8X7trpQ{3>zJ`X z~*Wm65atDBdy9G`WaTRuyTlPA>? zI2&#uj@V;Qca>zUmbqY9Hg}Q2tmLC45oluV!qN&vES5C9395p!$+Dboj{-)e@&cRJ z_)Ua+NBPv2<#ATl^4Xm6jO_enqY#uzlk;)PW+v5rr}k>u!r@7mi?zK|pEGS!rqWi! zxt}fDWE%@pIiuIN>OCZ|tH!P>`TiS}BXE-Jdb#t(Gfv6Pn&&Lpb8Xchn**{rDDr8? z@wgWmh0CTl>*R_}^>{Ci_wj*-4|RNmj|FyD`pC*JI`d{St;o^Cm^QMW<1VqJ3*o1K z!VMER`2j8%`J8PQd()0HUn*?;ji_=QUn-bk^T&VbhuqjV{1FV0M-1D}So{z)V;fcZ zOm2|(bi9eX&G>@K^{vsLHeX4buXWtPT>*VGpEunR+b9-I4&-+NduoJSPZJG42t2W| zDM!H<5Iu|-;dXkB*H(GN;Qe)e{UW%*-^+M~_glEelMJt~^650{cn35OtUwGrgm!%e zjlU!QtMYnH+1K&ff+!K2(2m#nr29U20|uYi_-G68lKhu=G2%7<%$o=#hztjGhMZ$% zXC77p=V4k$r1iky3bwBG-l@Dhe2c(aB2OVp|EN64@SRL5OrrA_E`&+!UWY`EHc^6@ zyz-nAz#QhvYA!n}g2?j_u#cvF8$iv_)xsRFlF<}Fqx|m}_zm%g=)OKUw0{LX_t6`{ zHBq7HV-I30h7|UI?^VvWLlsey>cBk9DVcP@=AA5~g@qvA5dWoBB!unPAQ|EuDc67> z`oMF7m=d)|GQE#}fx!pZ58TJ02rthNcNwWa(On_!10PYqetCMzgnN*OqsSD>VwBi_ zF^1@>2r(R$;Sy0_kVLcszJ-~AXCWQK?4Ohha>REp2k9!S(p6TaD^Nve)82$j9R<%O z#URUje6A;M=fL1HP7TKrvA>`vVnh2A(Pf-X#AN(B)wzEBQ#{F>X7i7z_$Phea{SI9 zN!j6Y$fSOqiizajshC8G(4v^c;BmD9;$L|p=_aER7U?7V#xK`8E-j|&yAu{;`89{ SOWu9McX0;%7T@DXB>o5VKN4C1 diff --git a/discodeit/build/reports/problems/problems-report.html b/discodeit/build/reports/problems/problems-report.html index 201fcaf5..1b17f487 100644 --- a/discodeit/build/reports/problems/problems-report.html +++ b/discodeit/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId3 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId3 index 133000b22f28c8fa54c925709590eda5045d3a78..347c650db9cd32070912d0d55864272d7a048383 100644 GIT binary patch literal 2785 zcmbVOOH&+G7(JI6XlBw0ganizkOzq~17yfMVIqcr(KS*aKcvJhAW;w8f~STp}LpGuYM zAhg{&ISU+>u%2G^E*zv^~>X%Z6+wk;0&kAq)#N zFGz2)#FCrA{)~LOlE`92!!aGlaiWF~waqEZJ5|G~2y}*QMC+z!6F7y_8qVlAi*q$H zDXdjIS!N$jmECj(Q!yQm!nD1D=SriTYekL~o_zJilW)FEQgve*Ue+;=3!7T1^(Q?m zD%!H^;4qzOFXYlQs_6+GmsAF=BE5-4g9=RHvXb$u0;i%)gi#T__>9!Qr)SidCv{v^ z1jUR}Nkg7P-V|}YdJ_e6!8W|AD+LZlk|_zF&({tqH%0>D6HbY~ZF$p{)7A2vbZ;1Q z7A+llr)XF+hHI+#&=~g?O^%~Kzgd6VL!@{uNlSW6vnQ(K;Ec=&G?^4c^oaR8q;1}` zOBXDwUM>C!6d0(H(7*SjvatWg()A3mVmUbf3Qiq80y_(yQCyxfR>JmMsw@0Du&a{| zsROQkeQpY(F<-n$NhoUl(-(CnV@0Y`<-YWPWYSnG!CJO0Ep_x-jjFfkxN6yE8RfZ> zF%ZmWU_{_hV=r|?q-O<^1*hs36SMgk9WlFMQsnXU0I|&CX z8t&+DLGc`X+PrD6I?FPf_aQODm^X_2h^-0iC`aFZjZzW@1qH4ccFB^JfxP1^S66b4 z#6~PNfj8DxWYqn?Zw4iw9UFdv{RxMeCk)Ff@H3rj#|g5sn&h?gfsRF(?O?+^C)=>D zPjZCrgk@AJvZCQ*fx`{#ZAXNLPX+p(?Mlf7tlvbz}zDar7RV zhwp#;_wNsIvSV}|=Y=X8^ULmIVPHRcNpgx;Zw3Px#$jGuM|>#z>DP;$cn9xt#e!SC zoe6t;k5(PAKateX-~R`J3A_&@1p0vQ&GZ=G0y;e$0zJY-0CY6o9p8egcgKg;aj`p2 z#J_EWxQ`}48+OpV1~PViq4XbbNmNt)Q5612;TzG zcy5_y7O^ literal 2031 zcmZ`(T~ixX7=BI?vLRh44Gq;Q5-8Rr5Ta6w5=uoXN)5D{LT&5Uk{rTf*x+V^@&~-~ z-eDZQ@q*jxC>`vKC6fE6BI@amvoHcMS-rObe0NCSwHNSX?1n! zMkb7x5Z92pc8?@zic~^GhWxS%{RUMPK z($>7(Ud55ylvb`%V6=v3meaRw({gf-EsgC=2v>>pM*C{I^JL`>#(qCFnN0!z2Gq3RJB-WC+z|$l(%#&Djr&; zhNAZTssKwmZmI(KjY2^~mIkPM?4-H6b7s*poT@DaMp`_g95$P6Z(wFF!>%us3yeLR zH7&VP-CmdW9b>)3ok+HvH%e=UZK`)~GvI8RY}HVLx=y%9Be+UAjmam8lShgGY3CcKwt6^MDj7Tdymll3&KCT(YN_j zlTbYa(D5EudMzIBBgZ#^J6QFweqdyPd)JdcBYcED<{Ur5fWSU3bMd^u?})9W4ly!z zh|BxvRdJ~!jQeo+;P}sT`Dv`zYSmw zce!F>kCa+{fP18MpSwEz|01m6Li``MC=c)<|CRVOBb4|qMdTqDJ~yqZjY{5B+vNe* zYWNYqe~eG~R3P7as;4_u51yvFEA{Z;`0u({q0+Xh9ipNb)edtSjv$3gnBoLgRBCE_ z8fvE-YNttCdf5Ou4Cjm&Y7Fy zw47+++SlMZ)8IOTb>zvYturGvu7w8I2jr?c8hwly9r^aM;!Kk7&?@82PW8G$lL+Ao btufU|&4Z1EQ7>T#J&-htx)&RS_M!McshhL$ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 index d2afbc8c44dada9dfc0a5d3193ba28346e1efe7c..2bfdc473dedbe0347191e6fd00d8216f56a29781 100644 GIT binary patch literal 6174 zcmbVQ33yc175;CwnM_^)9}qzV0)i%C37dih5KKgZ0hJKkmq+qQ1|~Did)&u1ht#CR$J|AwTs>C#!OnR-51;czISKl%}n6qE8oY>yZ4@Z*8iM) z?!5BB;0pkjin$)-AlHRF4f!Y#7`54GH!6LGzq#_tjhoHJut32QuiqP9CXicJzQGN* zK;F9R8m@4|BcKO6B3mw+H-FLc=2pY&o81^_bwd*Ro^#QK3yUxUBV8D! z;VkF^qeEt}-P>qZHt?g~{-%(|plO6nfy>J3QYzGkgI<4g)tRi6*O~sXH{4;dtt!MA zjCG+z!`T>@W>tMhC~UUUm_UTKjkQ^O1C>`%Qke2gqqWM7a|F&_%73NtzW#Xs*3#JS zL$QbUmC7X#&c#F*CTW?rbn2PgUn5JPm&ZoN^x(nnt zo8j6fI=8IcRxc9v`YIb5YHO-IC_}jm6&hw>X1ZOLt0=kM@I}lkHwm2YlxzpHN-?zJ ztDLJ72eUO)Vh(L?HMW@50e_s4viPAub|b zHhKNDXR=Z#Wlnm~+*m{+r`zNGJ+UK4%VOP+pFDK5T)BTL7Hg=&61t6!iV#I>jaDLO zOu}91)(Om(-o8Y`a(TwhGp59BwPLbb}7RsTC`7#*pCpTuhj+xg`-XPxbYrK0 zX2&bO?Wv)jr`@=pc^>cVi#^&~N(97@_m#$bx?bQDS0J%OVd zj!D?L2)o7>BdkNSg%Whp)39>lu2|ykIo_qQgS{sY?uy@gELjmA#tRZsUldqy29O%Y zcV8A5pJ|R&0Og`|4w3R=wtpR9ap7y+PZXogjhiZ0SFdz*P9D4@+qZ8BOw1rspjB}2 z;AKho&1|}K*m&?Nay@t*-*(|U8orC~5rC`N6Rv1$^Lg19cmr%|GB_2;Z)x}ue$11tHnN93nXW!h@*1rU zH1R4KS?5jMfkwl(!3cWgTrK8>TfD5qXVqm`S;fm!nyDNpd&S|5q&P_> zP@E{c(gi$RxG50vH^~W8I{8gWqZ~ybsH<{u_@{mo5E(WM%|4i>FRg1B}|x{ z!Es5ND$A(M2<80xM87>QX-tOenM{gSYMOrekdbETrq0l4=ajaMP=+K4#-$OYnKSiN zTC2lVmf|Y*!zi8+d3szaE_-LEldaB~ou3g2w*-Q6*QK~ROjO*GCaQVDL^XAom?W@G zOc0!ziHh1XF^}CSbE>552HPRd_SJ&35p1U1(Zg)h;mTP_|9I*Hkzk{_(klT!CIi#6 zWyeXQFAW63p>WV>TVv8CO`(wm!s8J|LUV~?Hl1RGz%)r}KLox0_P`di(r$L_*TG7o zF&qeX2=qEH8AWI_UBz3>XNIQL1p-?lZKr?3r5#*PU=Ks?G=G@ajABu3_c>JBJ?F6Fb~B)H`79 z@ljcv*z4-GmiT7W?5?s@$vanawi|_^J)N=suK0tt$VpNW)j^~bk*`U|CA;lteD48^ z^HeEJkt<=-Sl?2#N*=ojYq7ge-qLEZOmVdr*(xQtR!|Aa!rowGPFXaemPI;P?K46l zGvpGp1g2*pVYmRhL?wHp)047Mx6yzpyclx$@C4ggK6u$?3jBn#O8ymcwc=TbL;T3W zPdUnMU?kq=sM!Sg8Gg>0TV7FI;o+R=79)ri6}n3=)Qh4h&O_Z{jMm2=#{~YJaU4?y zaKRvE0rtvq%&m~CQOwW58cDj)-k6z1%9V=;u{3d#(`AEL;h0`Jh|3aF$v29X0&6AD z)i%#rQPc?xVx5ypO4l3oYxL`)xFH{l^W=eB>;vQTvb2y(PBrA*sfV0rDqV}b zyo@1dAn^)QM4+^1a1G&cVP=Mw`Bw^9L4PlG9R`{iHHnRuG~3@t%;MI z-aSZV74|sYK8UWw)P~F_6lCtTc_tvU!$~D|((lthrSFPjcLFk>R`F!~GqjM9aH=8a zPCev2QxPd5ie3vcRLO?S14={!GESv3AyY-jEFol;5&)MFGAkI^O9`23LZ*h0xr~rm zNyw}sWL7hnR}eCFgv?q(=4ys?9U)Us$gF2*8wi;Vgv_;s%ngLhjSS{Zgv`x^%q@h> zt!a>nV~D|*kog1ts37w$zii07mxRopxMoA<{Vd45hd(RGyw5KQ88)IeWW-ziWyVbj z?+xIyb^O1kLhqk3Gm6jW*~$KxirjG=uz>TFGjy}K8pYE&D$ft5f@TvRP7uqW92q21 z9EB>1XA_|q$Oy%tlTHfJPek#2E*2NaT>p}yF39F-EA$mB(2~1L(tlOayHstkxu-(B zkre>^;U*7Fbj2pthGy1*7KV8<=A)GX_v3N|a6N;(86l4CxE;4K6K==-xC6bo6Z>%& zo*@8Uz}0_$u?<1hFtXL$_l-v|YEa?J97@GFOs-^M@j zFIIs|a2WsQR~}__;6GMK_Y+nhaIJuxC*Z$ab0sT-Ma5es-`?Yw3xz_696QX^B!|3! z=_l~gb^m%fY)XY;QO-%@Mh|!nnX50H&xt$QMiwe+R5^` z3#BxC8g^S|RoIM0u8;!UES<8<@ixX-kxwIYc&gYkI+rM9Aw-UF5&ysjj9>v2Vx%>m xWsRe)ajZ3-ZH?otae_5Yw8qKSIK>*zv&QMxc!4#Riy7qYA>Wx|wwQzQ{{!BT5K{mE literal 5116 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 literal 1658 zcma)5YflqF6g^YgE^Jo{Efk-isHI(m0tyO+Y6VRoMLzKOzO-vu(r(RmOTxd>#47QF zKfoVlymz{Nuq=sb(mOMI&YAl-^XKoc-vGAoVFV!zDF|zbASy6w+OFkZ=Jw5I)2NyP zO1WXXbSRK0of{WMu4dTP+@b4Ob~VrBVGSe9442OgS49k(f;$>U5f>QiGY(GA%`&M( zH!a(83j#x#?1_qTBorhyOkk2Om++Qr)pEzjyE_7^W7w5Oy|YPVvYiZi0D1qEhP${Y z5V9(Cp&y~*0Uj!Nq+uE}*AhCsY`SJ$V7%ON94he0s+;>(t!6c4ZhI=8U{=9X4bSkr zo0}}Y)Ud16mY~`x*Dz-p^SeMwnwSS!x9{X!nVa6p zp3qf{=wFo_gmIVi42lt`f0xRX?hWc;qve#%j~17!d7fQl7t!!SBvaUr>IFp4gxE*<0vRb^zRT~CF~{rN9ExtUeQ|X0I-TR`JKi^Cw{WxC&vTG zP&h8NA-?sJoQ6W{B*OHpVwj{~ z3Nx6(9Cac`z33;uLcfn~DYid0B-P+r&AOKe28*;~8|(n|Za yR!M8^7A-b2YZZgFbidX*X>Hu1#SenD-Urt>V6{$-TclOEMT;LDYi&z=?)(FsQuw<7 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 index 366b5f9520704dc587d2b6f9d2c702f826f8979c..d1a9a742fbe9bbb570b4dd68d9f4bbe07f17c9a7 100644 GIT binary patch delta 108 zcmey(bcvbk)W2Q(7#J9A8H6Wt*{Zl`_+%xPCF%nhBZDB2WMU8k0K$A8?*IS* delta 54 zcmcb_{F{mE)W2Q(7#J9A8H6Ts*)pkUOjc)9o!Hkt*@v-El#PLbg^_`efgh-VkwE}R IGBF4O0Hm=B$^ZZW diff --git a/discodeit/build/tmp/compileJava/previous-compilation-data.bin b/discodeit/build/tmp/compileJava/previous-compilation-data.bin index 740c34cafb7297686372180419f1c9ac544fa4de..1e66991b23c45e6a0193e114fdf6f9d5c601a278 100644 GIT binary patch delta 251 zcmV@r66##^DWpWVC73X|ZEf>2QH;h@!+8RrS7E>2h2^9tqcBbAM zW5>D_Zj#Xpz%?F`k-!%af7*WlDIWKu%NoiP&{?#f9eH}}$KHwQRw`ef9d$oQ z9!(Pw5T<^%g>eznTGALXu66)Xi62uSO$iYO5LH&XJNQ$R1s1{Fu96{JhOktJnuq2tx@*3PTG@3@!~W0}cR$YGY;u z1Ox;H1`wixZ>QM4v8zcI&v%feseTVr5KRIR0EcCBb75y?1`u^A`(OQopdDL5Uo~XP zNUsuA6D|}0hh=VbX>@r66##^DWpWT$eH}O>ND6aI3t^2h2^9tq>oiLO z68+;HPeCGIad1?#fna}qX4(NN3%vEKHZ|e|_ z9!(Pw5FIlbK>YdwvtL0Zicjg#A|F#AO$iYO5X)hBgNTRIxCf8^BTw%fHnTwiQ2{{1 BTl@e3 diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java index 70d30aa4..9d26d9fa 100644 --- a/discodeit/src/main/java/JavaApplication.java +++ b/discodeit/src/main/java/JavaApplication.java @@ -9,69 +9,130 @@ import service.jcf.JCFUserService; import java.util.List; -import java.util.Scanner; import java.util.UUID; public class JavaApplication { static void userCRUDTest(UserService userService) { // 생성 - User user = userService.create("YUK", "ryuk6238@gmail.com", "01022790657"); - //User user2 = userService.create("KIM", "KIM1234@gmail.com", "01012341234"); - //User user3 = userService.create("HUANG", "HUANG4321@gmail.com", "01043214321"); - System.out.println("유저 생성: " + user.getId()); + User user = userService.create("RYUK", "ryuk6238@gmail.com", "01022790657"); + System.out.println("==== 유저 등록 ===="); + System.out.println("유저 ID: " + user.getId()); + System.out.println(); // 조회 User foundUser = userService.find(user.getId()); - System.out.println("유저 조회(단건): " + foundUser.getId()); + System.out.println("==== 유저 정보(단건) ===="); + System.out.println("유저 ID: " + foundUser.getId()); + System.out.println("유저 이름: " + foundUser.getuserName()); + System.out.println("유저 이메일: " + foundUser.getemail()); + System.out.println("유저 전화번호: " + foundUser.getphoneNumber()); + + System.out.println(); + // 전체 조회 List foundUsers = userService.findAll(); - System.out.println("유저 조회(다건): " + foundUsers.size()); + System.out.println("==== 유저 정보(다건) ===="); + System.out.println("유저 수: " + foundUsers.size()); + System.out.println(); // 수정 - User updatedUser = userService.update(user.getId(), null, null, "woody5678"); - System.out.println("유저 수정: " + String.join("/", updatedUser.getUserName(), updatedUser.getEmail(), updatedUser.getPhoneNumber())); + User updatedUser = userService.update(user.getId(), "YUK", "ryuk6238@naver.com", "01012341234"); - // 삭제 + System.out.println("==== 유저 정보 수정 ===="); + System.out.println("유저 ID: " + updatedUser.getId()); + System.out.println("유저 이름: " + updatedUser.getuserName()); + System.out.println("유저 이메일: " + updatedUser.getemail()); + System.out.println("유저 전화번호: " + updatedUser.getphoneNumber()); + + System.out.println(); + + // 삭제 일부분만 삭제 가능하도록 userService.delete(user.getId()); List foundUsersAfterDelete = userService.findAll(); - System.out.println("유저 삭제: " + foundUsersAfterDelete.size()); + System.out.println("==== 유저 삭제 ===="); + System.out.println("유저 수: " + foundUsersAfterDelete.size()); + + System.out.println(); } static void channelCRUDTest(ChannelService channelService) { // 생성 - Channel channel = channelService.create("PUBLIC", "공지", "공지 채널입니다."); - System.out.println("채널 생성: " + channel.getId()); + Channel channel = channelService.create("공지", "공지합니다", "이곳은 공지 채널입니다."); + System.out.println("==== 채널 등록 ===="); + System.out.println("채널 ID: " + channel.getId()); + + System.out.println(); // 조회 Channel foundChannel = channelService.find(channel.getId()); - System.out.println("채널 조회(단건): " + foundChannel.getId()); + System.out.println("==== 채널 정보(단건) ===="); + System.out.println("채널 ID: " + foundChannel.getId()); + System.out.println("채널 프레임: " + foundChannel.getFrame()); + System.out.println("채널 이름: " + foundChannel.getChannelName()); + System.out.println("메세지 내용: " + foundChannel.getDetail()); + + System.out.println(); + //전체 조회 List foundChannels = channelService.findAll(); - System.out.println("채널 조회(다건): " + foundChannels.size()); + System.out.println("==== 채널 정보(다건) ===="); + System.out.println("채널 수: " + foundChannels.size()); + + System.out.println(); + // 수정 - Channel updatedChannel = channelService.update(channel.getId(), "공지사항", ""); - System.out.println("채널 수정: " + String.join("/", updatedChannel.getChannelName(), updatedChannel.getDetail())); - // 삭제 + Channel updatedChannel = channelService.update(channel.getId(),"게시판", "공지사항", "서류 제출 안내"); + System.out.println("==== 채널 정보 수정 ===="); + System.out.println("채널 ID: " + updatedChannel.getId()); + System.out.println("채널 프레임: " + updatedChannel.getFrame()); + System.out.println("채널 이름: " + updatedChannel.getChannelName()); + System.out.println("메세지 내용: " + updatedChannel.getDetail()); + + System.out.println(); + + // 삭제 channelService.delete(channel.getId()); List foundChannelsAfterDelete = channelService.findAll(); - System.out.println("채널 삭제: " + foundChannelsAfterDelete.size()); + System.out.println("==== 채널 삭제 ===="); + System.out.println("채널 수: " + foundChannelsAfterDelete.size()); + System.out.println(); } - static void messageCRUDTest(MessageService messageService) { // 생성 UUID channelId = UUID.randomUUID(); UUID authorId = UUID.randomUUID(); - Message message = messageService.create("안녕하세요"); - System.out.println("메시지 생성: " + message.getId()); - // 조회 + + Message message = messageService.create("안녕하세요", channelId, authorId); + System.out.println("==== 메세지 등록 ===="); + System.out.println("메세지 ID: " + message.getId()); + + System.out.println(); + + // 조회 Message foundMessage = messageService.find(message.getId()); - System.out.println("메시지 조회(단건): " + foundMessage.getId()); + System.out.println("==== 메세지 조회(단건) ===="); + System.out.println("메시지 ID: " + foundMessage.getId()); + System.out.println("메시지 내용: " + foundMessage.getchat()); + + + System.out.println(); + + // 전체 조회 List foundMessages = messageService.findAll(); - System.out.println("메시지 조회(다건): " + foundMessages.size()); + System.out.println("==== 메세지 조회(다건) ===="); + System.out.println("메시지 수: " + foundMessages.size()); + + System.out.println(); + // 수정 - Message updatedMessage = messageService.update("반갑습니다."); - System.out.println("메시지 수정: " + updatedMessage.getContent()); - // 삭재 + Message updatedMessage = messageService.update(message.getId(), "반갑습니다."); + System.out.println("==== 메세지 수정===="); + System.out.println("메시지 내용: " + updatedMessage.getchat()); + + System.out.println(); + // 삭제 messageService.delete(message.getId()); List foundMessagesAfterDelete = messageService.findAll(); - System.out.println("메시지 삭제: " + foundMessagesAfterDelete.size()); + System.out.println("==== 메세지 삭제 ===="); + System.out.println("메시지 수: " + foundMessagesAfterDelete.size()); + } public static void main(String[] args) { // 서비스 초기화 diff --git a/discodeit/src/main/java/entity/Channel.java b/discodeit/src/main/java/entity/Channel.java index 7214768f..02f4274a 100644 --- a/discodeit/src/main/java/entity/Channel.java +++ b/discodeit/src/main/java/entity/Channel.java @@ -16,7 +16,7 @@ public Channel(String frame, String channelName, String detail) { long now = System.currentTimeMillis(); this.createdAt = now; this.updateAt = now; - this.frame = frame; + this.frame = frame; //좀 더 적절한 이름으로 변경 this.detail = detail; } @@ -36,6 +36,7 @@ public Long getUpdateAt() { return updateAt; } + // update에 빠져있음 수정 public String getFrame() { return frame; } @@ -44,6 +45,9 @@ public String getDetail() { return detail; } + public void setFrame(String frame) { + this.frame = frame; + } public void setChannelName(String channelName) { this.channelName = channelName; @@ -60,7 +64,7 @@ public String toString() { ", channelName='" + channelName + '\'' + ", createdAt=" + createdAt + ", updateAt=" + updateAt + - ", frame=" + frame + + ", frame=" + frame + '\'' + ", detail=" + detail + '}'; } diff --git a/discodeit/src/main/java/entity/Message.java b/discodeit/src/main/java/entity/Message.java index e6440c78..3efa0307 100644 --- a/discodeit/src/main/java/entity/Message.java +++ b/discodeit/src/main/java/entity/Message.java @@ -4,32 +4,31 @@ public class Message { private final UUID id; - private String content; private String chat; private Long createdAt; private Long updateAt; + //private UUID channelId = UUID.randomUUID(); + //private UUID authorId = UUID.randomUUID(); - - - private String content() {return content;} - private String chat() {return chat; + private String chat() { + return chat; } - public Message(String chat) { + public Message(String chat, UUID channelId, UUID authorId) { this.id = UUID.randomUUID(); this.createdAt = System.currentTimeMillis(); this.updateAt = System.currentTimeMillis(); - this.chat = chat(); - this.content = content(); + this.chat = chat; } - - - public UUID getId() { return id; } + + public String getchat() { + return chat; + } public Long getCreatedAt() { return createdAt; } @@ -38,15 +37,11 @@ public Long getUpdateAt() { return updateAt; } - public String getChat() { - return chat; - } - public String getContent() {return content; - } - public void setChat(String chat) { + public void setChat(String chat) { this.chat = chat; + this.updateAt = System.currentTimeMillis(); } public void setCreatedAt(Long createdAt) { @@ -57,12 +52,5 @@ public void setUpdateAt(Long updateAt) { this.updateAt = updateAt; } - public void setContent(String content) { - this.content = content; - } } - - - - diff --git a/discodeit/src/main/java/entity/User.java b/discodeit/src/main/java/entity/User.java index 9118c859..977fb8cc 100644 --- a/discodeit/src/main/java/entity/User.java +++ b/discodeit/src/main/java/entity/User.java @@ -3,12 +3,13 @@ import java.util.UUID; public class User { - private UUID id; + private final UUID id; private String userName; private String email; private String phoneNumber; private Long createdAt; private Long updateAt; + //Long now = System.currentTimeMillis(); public User(String userName, String email, String phoneNumber) { this.id = UUID.randomUUID(); @@ -22,22 +23,36 @@ public User(String userName, String email, String phoneNumber) { public UUID getId() { return id; } - public String getUserName(){ return userName;} + public String getuserName(){ return userName;} - public String getEmail() { + public String getemail() { return email; } - public String getPhoneNumber() { + public String getphoneNumber() { return phoneNumber; } + // 생성 시간이 필요한가? + public Long getCreatedAt() { return createdAt; } public Long getUpdateAt() {return updateAt;} + //용어 정리가 안됨 대소문자 구분 + public void setuserName(String userName) { + this.userName = userName; + } + + public void setemail(String email) { + this.email = email; + } + + public void setphoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } // 선택적 업데이트를 위한 수정용 Setter public void update(String userName, String email, String phoneNumber) { @@ -46,17 +61,17 @@ public void update(String userName, String email, String phoneNumber) { if (userName != null) this.phoneNumber = phoneNumber; } + + // toString 다시 공부 @Override public String toString() { return "User{" + - "id=" + id + - ", userName='" + userName + '\'' + - ", email='" + email + '\'' + + "id=" + id + '\'' + ", userName='" + userName + '\'' + ", email='" + email + '\'' + ", phoneNumber='" + phoneNumber + '\'' + ", createdAt=" + createdAt + ", updateAt=" + updateAt + '}'; - } + } //호출한거에 값을 각 객체에 반환하도록 //오버라이딩 diff --git a/discodeit/src/main/java/service/ChannelService.java b/discodeit/src/main/java/service/ChannelService.java index 0dd60b85..37c3f8dd 100644 --- a/discodeit/src/main/java/service/ChannelService.java +++ b/discodeit/src/main/java/service/ChannelService.java @@ -7,17 +7,19 @@ public interface ChannelService { - //boolean addChannel(Channel channel); + //생성 Channel create(String frame, String channelName, String detail); - + // 검색 Channel find(UUID id); - void delete (UUID id); - - + // 전체 출력 List findAll(); - Channel update(UUID id, String channelName, String detail); + // 수정 + Channel update(UUID id,String frame, String channelName, String detail); + + // 삭제 + void delete (UUID id); } diff --git a/discodeit/src/main/java/service/MessageService.java b/discodeit/src/main/java/service/MessageService.java index f650e175..827e94f9 100644 --- a/discodeit/src/main/java/service/MessageService.java +++ b/discodeit/src/main/java/service/MessageService.java @@ -7,13 +7,13 @@ public interface MessageService { - Message create(String chat); + Message create(String chat, UUID channelId, UUID authorID); Message find(UUID id); List findAll(); - Message update(String chat); + Message update(UUID id, String chat); void delete(UUID id); } diff --git a/discodeit/src/main/java/service/UserService.java b/discodeit/src/main/java/service/UserService.java index 9c8db2a5..8fbfe4ee 100644 --- a/discodeit/src/main/java/service/UserService.java +++ b/discodeit/src/main/java/service/UserService.java @@ -13,7 +13,6 @@ public interface UserService{ // 등록 User create(String userName, String email, String phoneNumber); - //전체 조회 List findAll(); diff --git a/discodeit/src/main/java/service/jcf/JCFChannelService.java b/discodeit/src/main/java/service/jcf/JCFChannelService.java index 13b72494..7960a385 100644 --- a/discodeit/src/main/java/service/jcf/JCFChannelService.java +++ b/discodeit/src/main/java/service/jcf/JCFChannelService.java @@ -1,7 +1,6 @@ package service.jcf; import entity.Channel; -import entity.User; import service.ChannelService; @@ -13,21 +12,28 @@ public class JCFChannelService implements ChannelService { private final List data = new ArrayList<>(); - public JCFChannelService() { super(); - } - /*public JCFUserService() { - this.users = new ArrayList<>();*/ - @Override public void delete(UUID id) { - + for (Channel channel : data) { + if(channel.getId().equals(id)) { + data.remove(channel); // for문에서 remove쓰면 안되나? + return; // ? 반환 + } + } + // data.removeIf(message -> message.getId().equals(id)); } + @Override public Channel find(UUID id) { + // for문 : data에서 for (Channel channel : data) { - if (channel.getId().equals(id)) return channel; + // if channel에 있는 getId의 값이 id값과 같으면 + if (channel.getId().equals(id)) + // 그 값을 channel에 반환해라 + return channel; } + return null; } @@ -37,20 +43,23 @@ public Channel create(String frame, String channelName, String detail) { Channel newChannel = new Channel(frame, channelName, detail); // 리스트에 저장 data.add(newChannel); - // 생성된 객체 반환 -> null 금지 오류남 + // 생성된 객체 반환 -> null 금지 오류 남 return newChannel; } @Override public List findAll() { - return data; - //return List.of(); // 무조건 빈 리스트만 반환함 + return new ArrayList<>(data); + // return new ArrayList<>(data.value()); + // return data; } @Override - public Channel update(UUID id, String channelName, String detail) { + public Channel update(UUID id, String frame, String channelName, String detail) { for (Channel channel : data) { if (channel.getId().equals(id)) { + + channel.setFrame(frame); channel.setChannelName(channelName); channel.setDetail(detail); diff --git a/discodeit/src/main/java/service/jcf/JCFMessageService.java b/discodeit/src/main/java/service/jcf/JCFMessageService.java index c70b0811..738149ec 100644 --- a/discodeit/src/main/java/service/jcf/JCFMessageService.java +++ b/discodeit/src/main/java/service/jcf/JCFMessageService.java @@ -13,11 +13,12 @@ public class JCFMessageService implements MessageService { @Override public void delete(UUID id) { - for (Message message : data) { + /*for (Message message : data) { if(message.getId().equals(id)) data.remove(message); } - System.out.println("없음"); + System.out.println("없음");*/ + data.removeIf(message -> message.getId().equals(id)); } @@ -29,27 +30,31 @@ public List findAll() { @Override public Message find(UUID id) { for(Message message : data) { - if(message.getId().equals(id)) - return message; + if(message.getId().equals(id)) { + return message; + } } System.out.println("없음"); return null; } @Override - public Message update(String chat) { - for(Message message : data) { - if(message.getChat().equals(chat)) - message.setChat(chat); + public Message update(UUID id, String chat) { + for(Message message : data) { + if(message.getId().equals(id)) { + message.setChat(chat); + return message; + } } System.out.println("없음"); return null; + } @Override - public Message create(String chat) { - Message newMessage = new Message(chat); - data.add(newMessage); - return newMessage; + public Message create(String chat, UUID channelId, UUID authorId) { + Message message = new Message(chat, channelId, authorId); + data.add(message); + return message; } } diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java index d7d89b7e..40f3819c 100644 --- a/discodeit/src/main/java/service/jcf/JCFUserService.java +++ b/discodeit/src/main/java/service/jcf/JCFUserService.java @@ -3,53 +3,41 @@ import entity.User; import service.UserService; - import java.util.ArrayList; import java.util.List; import java.util.UUID; -import java.util.stream.Stream; + public class JCFUserService implements UserService { private final List users; - private String userName; + public JCFUserService() { this.users = new ArrayList<>(); // 기본적으로 모든 클래스는 Object의 상속을 받는다(Object } - @Override - public int hashCode() { - return super.hashCode(); - } - - @Override - public boolean equals(Object obj) { - return super.equals(obj); - } - - @Override - protected Object clone() throws CloneNotSupportedException { - return super.clone(); - } - @Override - protected void finalize() throws Throwable { - super.finalize(); - } - - public User addUser(String userName, String email, String phoneNumber) { + /* public User addUser(String userName, String email, String phoneNumber) { users.add(new User(userName, email, phoneNumber)); return null; } public User addUser() { return null; - } + }*/ @Override public User find(UUID id) { - return users.stream().filter(user -> user.getId().equals(id)).findFirst().orElse(null); + for (User user : users) { + if(user.getId().equals(id)){ + return user; + } + } + return null; + // 람다? return users.stream().filter(user -> user.getId().equals(id)) + // .findFirst() 첫번째 검색 결과를 반환 + // .orElse(null); 아니면 null } @Override @@ -62,10 +50,23 @@ public User create(String userName, String email, String phoneNumber) { @Override public User update(UUID id, String userName, String email, String phoneNumber) { - User user = find(id); + + /*{ User user = find(id); if (user != null) user.update(userName, email, phoneNumber); - return user; - } + return user;*/ + + for(User user : users) { + if (user.getId().equals(id)) { + + user.setuserName(userName); + user.setemail(email); + user.setphoneNumber(phoneNumber); + + return user; + } + } + return null; + } // 다시 공부 @Override public List findAll() { return new ArrayList<>(users); } @@ -73,7 +74,7 @@ public User update(UUID id, String userName, String email, String phoneNumber) { @Override public void delete(UUID id) { users.removeIf(user -> user.getId().equals(id)); - } // -> removeIf ?(AI) user(매개변수?) + } } /* stream 다시 From 2826ef1c1b610db5e4befe0411090011f1321504 Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Thu, 15 Jan 2026 10:48:13 +0900 Subject: [PATCH 07/17] 26.01.15 --- .../executionHistory/executionHistory.bin | Bin 48578 -> 48578 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 20547 -> 20547 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 28935 -> 29037 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes .../classes/java/main/JavaApplication.class | Bin 6174 -> 6175 bytes .../build/classes/java/main/entity/User.class | Bin 2578 -> 2416 bytes .../reports/problems/problems-report.html | 2 +- .../JCFMessageService.class.uniqueId3 | Bin 2785 -> 0 bytes .../stash-dir/JavaApplication.class.uniqueId2 | Bin 6174 -> 0 bytes .../stash-dir/Message.class.uniqueId0 | Bin 1507 -> 0 bytes .../stash-dir/MessageService.class.uniqueId1 | Bin 466 -> 0 bytes .../compileJava/previous-compilation-data.bin | Bin 658 -> 658 bytes discodeit/settings.gradle | 3 ++- .../src/main/9-Sprint-mission/build.gradle | 20 ++++++++++++++++++ discodeit/src/main/java/JavaApplication.java | 7 +++--- discodeit/src/main/java/entity/User.java | 4 ++-- 19 files changed, 29 insertions(+), 7 deletions(-) delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId3 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 create mode 100644 discodeit/src/main/9-Sprint-mission/build.gradle diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index d843100df86b938e4ab0536c744485ac11798cfa..9321d8870784268f19cc4806e04cc0104a255918 100644 GIT binary patch delta 359 zcmX@~o9WPRrVZR{?2OCON(ziBs!Gz*3JQ|)OY-uJ@+%6&f#{#3pZ8oUwWO)&^#Q?=OyhGZnT7iQ${^BwI*x&t#d%n#oh9 zNlxCg(?8~NIiKf}ayirQ-EYhp{;kZocJR)R-Nqk;m>C58H&?D~n0)$`a)~qhLWv#i zjMKal%Mu+63UV@&6H7Al^YoH)5{ru&1k^THoYp^ADLX;$`_j(H&*vr_0+})2U~0^=}Ygzqzi5EwCnG t-*Fw&fXx?oUuKk3U)2%+YnGe!q`)c6-SZBtYxeG)4RBLjorK>!k~t_J`B delta 359 zcmX@~o9WPRrVZR{?6R^-({f64%~I2nDoRq)v-8c;lZz6~i?cHY7Sswf>^T^DE6u}d z_5Jy0XS`&@5Ssj<(slFu$_Z?ngrfLhizZlWSPjC$y26D zPTsTAKjxh1^O_J{@!eA9J&~txdABXReDv0C<4GdS3<47xA65zHKkv*?Uc2_vZ}IDl z)4USP5*-T)ax#+>OEUBG^pbNDi;Ecq>TlIEXv%$Gd|K+1@P)__!vnXD-QR6I&tP)I zbj8UXyH>Lt1R6Toe0PrCX0Yimn1QCxKXa%t+pLteG*UKS_WneFpirVuI(M9H&8c#Q tfcqSI(QKP9?!L?@_v-0O6PHFc`xd7l{hfk!|L%ZIpTx?-$iN_Y5CA7tqpkn| diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock index 54e8bee1add4e50e3b645617993ec00e1767f1ed..1ff588e0d25d8b340abb5a6120e23ef568d6a3d2 100644 GIT binary patch literal 17 VcmZR+DltNSfOVhVVrXptVZF-dWagywVMxm+c5@RF6Z-HQZ8ruz59(h!@rdo5R(+HK~!-T z0BJpAAfXAwiXbeYwz=Z8{<%uo33}g`c1C_a2hpJ@0F(p*3Hix^zG^J{#T7FrSNkS_ l7{Zh9`$|cuuj+{ZHOtL0sv#;MuY$W delta 232 zcmX@SfbsAG#tr%2K^xu|n)Db??Y#0`yQzbF)f@%}#@W05n#>r$fTJ8p=@|nFO(0eT zVS&h*vd&YIRRgc2-mX+WazhoYKCX3u=#Y?`9O$dYvO6&I;N)uG m1Q28MTTwg3}C>)4gfXX1V#V= literal 17 VcmZQRbX}kS>TTwg3}C?i6aY541tS0e diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin index 94362298dea79153d546c829e76c2e92011c5d3a..d13af25f718bbb77f53c996f14fbdee7bcc30a66 100644 GIT binary patch delta 195 zcmZpF#Q63R;|3E6MzhVP5&`T2N5pN;td%Q_X8?mj_RY2OlHC0D6OUA15j2DfdQa}v z+906*b$9BDyX-+wLCwvk+Lt()WED3meh}L1=y6OV%@`;p3B-aRERe8ygHqp)V?U1u zZuS%3`296dP!3hatmKWSri_@% diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 96a775e39ee50204696bf31ab69ce27534199f02..d9924066dac5953d61342236c1435999051f770f 100644 GIT binary patch literal 17 UcmZRMC~iIDui%);00wLg04e?hzW@LL literal 17 UcmZRMC~iIDui%);00wMH04d-Dp#T5? diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe index d49a598b467b7e572a4fd11e60a31ffd4e752602..63504af526bc387c85ce72954563db2eabb67c8c 100644 GIT binary patch literal 8 PcmZQzV4S`0(>{3s3Vs7B literal 8 PcmZQzV4S`C;@?F83lIay diff --git a/discodeit/build/classes/java/main/JavaApplication.class b/discodeit/build/classes/java/main/JavaApplication.class index 2bfdc473dedbe0347191e6fd00d8216f56a29781..2727e46733a6f1df1898f2c82ddb0f80b6e7b3b1 100644 GIT binary patch delta 30 ocmV+(0O9|hFrP56tOpSg?3IY?g_Z4z7%EMsJ5H{JH)yWH4<+xOQ^7FGx3)mTAC(mO|W#rz>!p6xwc^YT9svpoSCI)|o03gl5z{n5? U#NiB)Kpq#66~z$45XT@108d>RN&o-= delta 283 zcmXBNJ5K^Z5Ww;O-tNKO1ugJFP(pVNXk%jpp|bS}D!$M~sj#5H%EIs9eg}JEuCcH( z7Jdv%ZA>iejKf*%%x`8VGhg}p+34-}=^1EX$I-hkWNwC6cGOo)wMO=GuxW>F+q>?& z4_%vXN9=QuaS*kw=hq}!5r#EDdq=#(xO6#oDLYcB-= diff --git a/discodeit/build/reports/problems/problems-report.html b/discodeit/build/reports/problems/problems-report.html index 1b17f487..9bb0f7fc 100644 --- a/discodeit/build/reports/problems/problems-report.html +++ b/discodeit/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId3 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId3 deleted file mode 100644 index 347c650db9cd32070912d0d55864272d7a048383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2785 zcmbVOOH&+G7(JI6XlBw0ganizkOzq~17yfMVIqcr(KS*aKcvJhAW;w8f~STp}LpGuYM zAhg{&ISU+>u%2G^E*zv^~>X%Z6+wk;0&kAq)#N zFGz2)#FCrA{)~LOlE`92!!aGlaiWF~waqEZJ5|G~2y}*QMC+z!6F7y_8qVlAi*q$H zDXdjIS!N$jmECj(Q!yQm!nD1D=SriTYekL~o_zJilW)FEQgve*Ue+;=3!7T1^(Q?m zD%!H^;4qzOFXYlQs_6+GmsAF=BE5-4g9=RHvXb$u0;i%)gi#T__>9!Qr)SidCv{v^ z1jUR}Nkg7P-V|}YdJ_e6!8W|AD+LZlk|_zF&({tqH%0>D6HbY~ZF$p{)7A2vbZ;1Q z7A+llr)XF+hHI+#&=~g?O^%~Kzgd6VL!@{uNlSW6vnQ(K;Ec=&G?^4c^oaR8q;1}` zOBXDwUM>C!6d0(H(7*SjvatWg()A3mVmUbf3Qiq80y_(yQCyxfR>JmMsw@0Du&a{| zsROQkeQpY(F<-n$NhoUl(-(CnV@0Y`<-YWPWYSnG!CJO0Ep_x-jjFfkxN6yE8RfZ> zF%ZmWU_{_hV=r|?q-O<^1*hs36SMgk9WlFMQsnXU0I|&CX z8t&+DLGc`X+PrD6I?FPf_aQODm^X_2h^-0iC`aFZjZzW@1qH4ccFB^JfxP1^S66b4 z#6~PNfj8DxWYqn?Zw4iw9UFdv{RxMeCk)Ff@H3rj#|g5sn&h?gfsRF(?O?+^C)=>D zPjZCrgk@AJvZCQ*fx`{#ZAXNLPX+p(?Mlf7tlvbz}zDar7RV zhwp#;_wNsIvSV}|=Y=X8^ULmIVPHRcNpgx;Zw3Px#$jGuM|>#z>DP;$cn9xt#e!SC zoe6t;k5(PAKateX-~R`J3A_&@1p0vQ&GZ=G0y;e$0zJY-0CY6o9p8egcgKg;aj`p2 z#J_EWxQ`}48+OpV1~PViq4XbbNmNt)Q5612;TzG zcy5_y7O^ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 deleted file mode 100644 index 2bfdc473dedbe0347191e6fd00d8216f56a29781..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6174 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 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 deleted file mode 100644 index a070886ea02873992d623788e0327ebcaeae19f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1507 zcma)6+fvg|6kR911VSvO1rbyb5t|03Ucg%sWpJEc}C_P~fg_`zN(+-tSv& z&X8?(ET5s&II@ndnq#@`+OF@}Zo95w2*WBg9V5^giZNj4@Q61lDZgsFw!g-ZF{%d| z3K&&U)G>w<6_W74x1HMl{^mOd&9mHAuNz)UMl~!r0Mv!haUB!5&Y;*WDwsrQxPd7Z z(>iYA)+Ir^Cw-rH8OEA{=TV1yc9(D4j$`+wwk-`am{oB{#~kjSYm>b;dTyIRJ+_>H z?|ft^8(WdG!Ov3JJsk_U&oJEdxaITKI<+4OybLsSR0VJ-_|zicy01}Ri^BZ}4CCi* zU-X$~u+eMLC`KE$%RdC&L+FK4 z#EIg%K*XHoi!d>rx&Vz3C??f*dx6*F?``3c95?n^9NM( z4A)LkrZ9Pi+ozZxoGPaI9p)+6SHda~{L@leiL%SYH%^i#FiWy4n3OfmkTV4je8<4l}IM=QDJ3jd%rfUNFzceB!SS o%FNM5#9a9SS6+NGh=XA*ovV`MS|+ZQe{hMl6PB0m!QRKmY&$ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 deleted file mode 100644 index d1a9a742fbe9bbb570b4dd68d9f4bbe07f17c9a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmZuuO-sW-5PehIjjdm`1%H5eXfEdBty&O@AVfTbdS8<YzqE05B>mul(?HJ zRnyZl@4cBf^Y-KO?H#}s#t}M%lZx$1<(%AcRmqaGbs3>c7%t^XCR&;@xqn=8?g%2c zEFBZ(lXSyo&MH$**GTP@P8N&Xd8>|7Hcq+MAFnB)`=m@kIQ^cs>D{7@g7#W#!e|oz z@=8_Z{HT7WN+Vru{dQ+9!R3GNnQsyGOVM0&(eiI!w`C(yu;!4)xYZv&5C++EZF9a+ yI!OKod>+yh1j3I04WQ@q?m-~r9$~k6`xtnB&$Auud;9>04Ss~7#|Xy_Gx`F3D1Ooa diff --git a/discodeit/build/tmp/compileJava/previous-compilation-data.bin b/discodeit/build/tmp/compileJava/previous-compilation-data.bin index 1e66991b23c45e6a0193e114fdf6f9d5c601a278..03ac2d80bc368399cc4bb8603f2d3e3fa82315a1 100644 GIT binary patch delta 47 zcmV+~0MP%E1(F4jm=M!<4oReU9yRxi>^A`Zsc4a?FAyfPc*`%&c^!~0_oazh^Uks7 Fs{!(N7Lot} delta 47 zcmV+~0MP%E1(F4jm=Mkt=X_Kx7rPoaj9JUtONNoCFA#s)e*h^S_oK@i$`jC8R57vV Fs{z_K6p;V` diff --git a/discodeit/settings.gradle b/discodeit/settings.gradle index 345c89f6..4af3dfb4 100644 --- a/discodeit/settings.gradle +++ b/discodeit/settings.gradle @@ -1 +1,2 @@ -rootProject.name = 'discodeit' \ No newline at end of file +rootProject.name = 'discodeit' +include 'src:main:9-Sprint-mission-SC' \ No newline at end of file diff --git a/discodeit/src/main/9-Sprint-mission/build.gradle b/discodeit/src/main/9-Sprint-mission/build.gradle new file mode 100644 index 00000000..602a4a8b --- /dev/null +++ b/discodeit/src/main/9-Sprint-mission/build.gradle @@ -0,0 +1,20 @@ +plugins { + id 'java' +} + +group = 'com.sprint.mission' +version = '1.0-SNAPSHOT' + +repositories { + mavenCentral() +} + +dependencies { + testImplementation platform('org.junit:junit-bom:5.10.0') + testImplementation 'org.junit.jupiter:junit-jupiter' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' +} + +test { + useJUnitPlatform() +} \ No newline at end of file diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java index 9d26d9fa..1e50e6f1 100644 --- a/discodeit/src/main/java/JavaApplication.java +++ b/discodeit/src/main/java/JavaApplication.java @@ -99,7 +99,7 @@ static void messageCRUDTest(MessageService messageService) { UUID channelId = UUID.randomUUID(); UUID authorId = UUID.randomUUID(); - Message message = messageService.create("안녕하세요", channelId, authorId); + Message message = messageService.create("안녕하세요.", channelId, authorId); System.out.println("==== 메세지 등록 ===="); System.out.println("메세지 ID: " + message.getId()); @@ -141,9 +141,10 @@ public static void main(String[] args) { MessageService messageService = new JCFMessageService(); // 테스트 - userCRUDTest(userService); + // userCRUDTest(userService); channelCRUDTest(ChannelService); messageCRUDTest(messageService); } -} \ No newline at end of file +} + diff --git a/discodeit/src/main/java/entity/User.java b/discodeit/src/main/java/entity/User.java index 977fb8cc..06756c66 100644 --- a/discodeit/src/main/java/entity/User.java +++ b/discodeit/src/main/java/entity/User.java @@ -55,11 +55,11 @@ public void setphoneNumber(String phoneNumber) { } // 선택적 업데이트를 위한 수정용 Setter - public void update(String userName, String email, String phoneNumber) { + /*public void update(String userName, String email, String phoneNumber) { if (userName != null) this.userName = userName; if (userName != null) this.email = email; if (userName != null) this.phoneNumber = phoneNumber; - } + }*/ // toString 다시 공부 From a666cfc8071126283b3f6d857ae61a674a49c758 Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Thu, 15 Jan 2026 18:59:01 +0900 Subject: [PATCH 08/17] 26.01.05 ver2 --- .../executionHistory/executionHistory.bin | Bin 48578 -> 48578 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 20547 -> 20547 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 29037 -> 29139 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../classes/java/main/JavaApplication.class | Bin 6175 -> 8900 bytes .../java/main/service/UserService.class | Bin 488 -> 572 bytes .../main/service/jcf/JCFUserService.class | Bin 2793 -> 3977 bytes .../reports/problems/problems-report.html | 2 +- .../stash-dir/JCFUserService.class.uniqueId1 | Bin 0 -> 2793 bytes .../stash-dir/JavaApplication.class.uniqueId2 | Bin 0 -> 6175 bytes .../stash-dir/UserService.class.uniqueId0 | Bin 0 -> 488 bytes .../compileJava/previous-compilation-data.bin | Bin 658 -> 658 bytes discodeit/settings.gradle | 2 - discodeit/src/main/java/JavaApplication.java | 329 ++++++++++++------ .../src/main/java/service/UserService.java | 5 +- .../main/java/service/jcf/JCFUserService.java | 73 ++-- 18 files changed, 270 insertions(+), 141 deletions(-) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserService.class.uniqueId1 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId0 delete mode 100644 discodeit/settings.gradle diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index 9321d8870784268f19cc4806e04cc0104a255918..0c97fb31a3347d6a89b0e73cce3c556954cdaaee 100644 GIT binary patch delta 375 zcmX@~o9WPRrVZR{>@v-Z^V2hobInatlJb&Li>u5^GR#U#63r3?awQ({thz6ALxS3dqd09qJ3WObP_UD@uC71ulC6i}j@yE#qsfv?lOv#wczhjbstU_GfxdTgN#2HG%PChtz zcyeM|nn3B*XQx-c|F*+Yf_+oP_5Zw+Wg=@PPnjk;dC$(t66;=Vu=@4HI+>Nd^T{t} zbC-|jHg)VVKH@q#V!Gnwj$O00b?!e`5y_m+I-hmb$4lq<#aEpNDd?1EW)PTN?A4jO zeb3~7N3QrUpK!2cvfpl3yA97*N1nO0=gL3bl;El!|D?}g1NX21)#p4~+OP5N)wElB zX>+wZ9y|aFO`IMYc=chQ%D-E8WI{z}*>AqM`!b_k-P5ATt4zF&CfiJGH13$K-vYLC M5-STM1B2i}09TQ+kpKVy delta 363 zcmX@~o9WPRrVZR{?2OCON(ziBs!Gz*3JQ|)OY-uJ@+%6EluG2i(}tRg)Ks2_+~uG7Sh}^Sthb(@|0_*C63Lr%k^6wD+{Bk)1usRJ83ec|-&60j z-+I|w%3))8?}6i!{dT)fwp}TpHyNzv1v601{4<9dv&~9bOCx3TW$#b)2MYCX5MRH! zu7@qKCSl)k9n*l#7k6J~lv7{T5&vtJoAso?Da_sT4y(%P^m diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock index 1ff588e0d25d8b340abb5a6120e23ef568d6a3d2..9fa43b3478b9e48b053b364f370ffec6fd28a00c 100644 GIT binary patch literal 17 VcmZR+Dltp;lem${HW@Ybu@{8Hr1+0i?c_BoR(h(qyX1C7$=PDwZ(^==U zuKIZC9KSeJ$0~>p{?5tGzAj!Hp0AEPb8F9)f4V8bRXzSmP({U1yKOLyt$SJ&d6kK` W(PW#6jm90b^-vvKHVgV0F#!NOAY4QM delta 300 zcmX@SfbsAG#tjR-gXZvVj%6%e>AA5&&pyI9=Pm;S;%2d1uX;CeZ^+1JI(&pYto#s_O=&*Jg*yep{-QzQ&g#P|Z!SoKvM a@xNxdSx*X_!rVRYz)GmGZJP!CjFTTwg3}C<^3IH|h1XKV3 literal 17 VcmZQRbX}kS>TTwg3}C>)4gfXX1V#V= diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin index d13af25f718bbb77f53c996f14fbdee7bcc30a66..8a6ad0b62054f041f8d068b838bc3a63255ebc0a 100644 GIT binary patch delta 183 zcmaF+i1G4c#tkMCjFy{CC4MsUCqMUMHr~330SpRrH>*lr}LYo~ubTk2Cy$;I& diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock index d9924066dac5953d61342236c1435999051f770f..e6ea47178b5c561afed804cb5ed1644440adbd7f 100644 GIT binary patch literal 17 UcmZRMC~iIDui%);00wMr04f9n#Q*>R literal 17 UcmZRMC~iIDui%);00wLg04e?hzW@LL diff --git a/discodeit/build/classes/java/main/JavaApplication.class b/discodeit/build/classes/java/main/JavaApplication.class index 2727e46733a6f1df1898f2c82ddb0f80b6e7b3b1..6be9b1cbec29d0c99fc15793fdc37106eb9a52f2 100644 GIT binary patch literal 8900 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 diff --git a/discodeit/build/classes/java/main/service/UserService.class b/discodeit/build/classes/java/main/service/UserService.class index c27f217346501eeac6dd9948932074d34fcfeecf..139f6a13948913b8cf0c017a05a85e3c8258a26a 100644 GIT binary patch delta 121 zcmaFCyoZJB)W2Q(7#J9A8N?=XMe%c`W#*+gRr)37rZO@pYD{)!RGyeRpOYgwBQ-hO zF(+p-6XR+|_Q~rQ#jP1w7#X-3co-NNc!Bzv82EsEel)%SgCGM)oe+aCPz@u42w0^k E0Qln+1^@s6 delta 85 zcmdnP@`9P`)W2Q(7#J9A8H6WtMNOQ#V6p?_N^4dYMg~>}HUdWu+vkj zx^_M}QZAb-8N1>}p`p1IZO}Dr)3F`x0(&b~dD+fd$y?d^QeOtuLw>s(c?2Clb0emCD86I)eVpO8>I3{UNY{pI#M_%5V2jWY`RWa zprbpXu#^tusWuGbF%1`VjNqbxQOnYXih#CgRwk{dSw}3Nn{vnFI-bB7!zg;YWEA62*+PI$PHb{xfOm9Xf8{CM{J|OLesn7)s1a{dehjx73eN->X|G ze6No8N#S-1ON&m?nyeP)tg`H)Ia$3~fp}0|Ubv%9KF@Bnonp$bPD{r;78qj1En8+m zU|(H&d})$E_%LO#*KHlQu*7tlrBZ%HpsP-QzFPFGC&z*X$t|F$!O>B|Q_NJ2+)<}c zGK0!!We@U(oh5Km1>9&*EuoqT`l-OxP}Q-F_Y3T)`KgORM(UJZi-j<#`cW*Y4(j%L zK2~&m0MF2j>&P*)wVu4uV?f|TIzEhNS)Q&XwFXpYUeT#;Hlv&>TRA&xx)yzP;-fk~ zhUZ9m*(x~8R(f9GkZR{1+Y&c5e1fBurRj~#x>?yeZ7&o}w_0Y&b}5}GL7&SgqcSy| zlJmjIQL#N^Z0S7j2H=&di4A#$hdO&f7(%zDtcF$cE~k zin6&l_UcdxG}+v(j(Tr1^`>1jyEI{z0yI(S=i-Xrof|n*=XYX@;Yh8SjmFtdy0h#6 zm%%>~Kv#`5ZfKNjb=czdFxy{gTe_*1a-N%+h72{Dd=SZ2x0+1MNIowsNv*(pmp~-D zXl0i?^>EJ0bMUaV8jvM8;@b0OVJ>GL@wJZdrE;)AuP)^YPOa#)Q!Qt$F_W3NVY!P=uF@XH&!hMSeyQOV9lye_1rB???h#@amz^amneo7IhdFO% z`Rd`EYAdLBe^XfuHu(<5&0;QZRgPpFXQ^7c|9ie}DOZZIS5OFkduzsBXJLJKT-=E|Q zsR_@cm1~|m`S}7RfALnpb3JPiJ$IqqSVQaUi1xgO=v~Ba7>2RS=vc!;>)6+XCpX21 zjJFvNH;NxI5=L*MxZg+`gN@?j#!2J!rubD4;HUU`7!iK%LUg zgg6KNUVNGwI)fl|d$p8ES~Kqy)To_m)683X3D)1&^ll`l> z)Vqo+FQKLX_RIhIhq%ox&5#f}m?L06{|=y=C(<6~w4cDF+k@2Ek8OAnU*L*P0swOL zMSO`6zD%i(=6@loVYus`9v5H1SN~sdQv`SYEx|oP5Z(Ms5L_?8_5Dw9U&Ghm0^B#4 z7{4H@3|xl3PqN?J*H3!RhGZ7wA-@FTA(^EnFH76K_y-y55UDxt0XX4r-^|HA_-<(u z-z0!0X&m3;s+s%Ry)1_4{M-0W0O9Y{(Wo`PN#5C(cuPRv3Ayt5I~$INHyMn_!+ooG zG9D(W?~I4zp;f#m9ww`QR#^25>rrxfh6zg%@j0%};{qPTC{NU5xah?&%&s^@wk5-1 ziDWaH@ql3|lX1yt#=W>?C5(G^|KG(k)RsMWijm90)n&WM7}sFdaw#@b~!q``fcK91MQ@6uUT`Vf+ zV_^0?b>yyAR{EtLw&E+i@oUS^!;E68)iXc^&M?Ugf8XFIp8ikqGQXw6pHcQ3yo%p? VtJm;4Q*npSqSU^NKjKe_{}=Km&$$2q literal 2793 zcma)8ZBr9h6n-uVSqLjcR5U8`Qfvt?##XD92vwt$*nqZ?Sn2DMEU>WIjhhXXw*R4@ z{RMvM2RqZkpfjC*>~#96zo5UP(`ozM-Gyw3Iu1i}_uO-ybIx;~dpE!T`|KA0)A%lq zHbfLeRkR}}kXY9?wX~^OtLZz->w3u*h+Q=-!<`X`jHZeTIs}e*PIcEX)7KqG+sYd? zHx31nPIN(4a7aZrdIV0^bZ65j>FM>-O8Rzoc9G8o-z3mp=TnUt^9?i!lqI z^s6|70fDIHnUC&ahsek%7!v5xE!S|j(z2a62Jwc95u9a5tGb&jGv8jM$I#+p?q(*A zw=k+8rD6=@O+CqNa;!hBYbMz^HtIJNPMTVhStjL#&Iw!zdlX#9uvRmnn3q~oMM>;= z6>rN5B3ijDQ7@>thGUwywc1>W1L>S6cS-}FWBWMBFesh&x5vG9+vo7che>cpumJ zcFXc_7B{^fW;pvH5-UlJ$x8OSnF~miHrbc#X3pzNDqs$>uV{nfE>e8ir}#^JMQ^F6 zOYB_op-L&q9(QoH!KqZ8L~3YA4YK>{)VRNlQovP?n6ie$5@-Awd%-TU98*J_@&_b1 zt^^?^XrCXj-_l{fr9@nw$pCgbfbFCLhsUVG9~kJ*+^;Vmg6i}D=zva-G5&bLis!$I ZHGa#JV9-{@L%7(aB~HuN*uu9+{tw8YmDvCQ diff --git a/discodeit/build/reports/problems/problems-report.html b/discodeit/build/reports/problems/problems-report.html index 9bb0f7fc..16ce2eae 100644 --- a/discodeit/build/reports/problems/problems-report.html +++ b/discodeit/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserService.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserService.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..83ca8fffe1fb5a6b8c64410a4faeacee148240fa GIT binary patch literal 2793 zcma)8ZBr9h6n-uVSqLjcR5U8`Qfvt?##XD92vwt$*nqZ?Sn2DMEU>WIjhhXXw*R4@ z{RMvM2RqZkpfjC*>~#96zo5UP(`ozM-Gyw3Iu1i}_uO-ybIx;~dpE!T`|KA0)A%lq zHbfLeRkR}}kXY9?wX~^OtLZz->w3u*h+Q=-!<`X`jHZeTIs}e*PIcEX)7KqG+sYd? zHx31nPIN(4a7aZrdIV0^bZ65j>FM>-O8Rzoc9G8o-z3mp=TnUt^9?i!lqI z^s6|70fDIHnUC&ahsek%7!v5xE!S|j(z2a62Jwc95u9a5tGb&jGv8jM$I#+p?q(*A zw=k+8rD6=@O+CqNa;!hBYbMz^HtIJNPMTVhStjL#&Iw!zdlX#9uvRmnn3q~oMM>;= z6>rN5B3ijDQ7@>thGUwywc1>W1L>S6cS-}FWBWMBFesh&x5vG9+vo7che>cpumJ zcFXc_7B{^fW;pvH5-UlJ$x8OSnF~miHrbc#X3pzNDqs$>uV{nfE>e8ir}#^JMQ^F6 zOYB_op-L&q9(QoH!KqZ8L~3YA4YK>{)VRNlQovP?n6ie$5@-Awd%-TU98*J_@&_b1 zt^^?^XrCXj-_l{fr9@nw$pCgbfbFCLhsUVG9~kJ*+^;Vmg6i}D=zva-G5&bLis!$I ZHGa#JV9-{@L%7(aB~HuN*uu9+{tw8YmDvCQ literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 new file mode 100644 index 0000000000000000000000000000000000000000..2727e46733a6f1df1898f2c82ddb0f80b6e7b3b1 GIT binary patch literal 6175 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId0 new file mode 100644 index 0000000000000000000000000000000000000000..c27f217346501eeac6dd9948932074d34fcfeecf GIT binary patch literal 488 zcma)3O-sW-5PehI#MZCa`~dORT+9!M3PKeMfgVDy%E*axu@6TpFj`n{Sd4g33zaB;o!?>f02~D$``!&wnHP4a3g)PHVz+mh8Ca zYVFu>T&Ttf*IKr`>=1N6Zdz%=igTJ${CWF~YfLrr(T@hl~IK literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/previous-compilation-data.bin b/discodeit/build/tmp/compileJava/previous-compilation-data.bin index 03ac2d80bc368399cc4bb8603f2d3e3fa82315a1..3d670a9ec74ee27c7fe2fe5f8cb399fc92c5f285 100644 GIT binary patch delta 71 zcmV-N0J#5>1(F4jun;WY=Oh$qmj#~%s`1j!4;PWZ7bvdkusZtWJ7Wb0iRAhNH$)p# d9904p1`x34t69w2ywv_JWK(*KPhzqElL1#}AM5}C delta 71 zcmV-N0J#5>1(F4jun=~p-Wp@ax)g4b(F?#e9+8p27bqsPc*`%&c^!~0_oazh^UfPn d9904p1`tk5QNgj`tect)O-bDuEs?SRlL1=I9|`~f diff --git a/discodeit/settings.gradle b/discodeit/settings.gradle deleted file mode 100644 index 4af3dfb4..00000000 --- a/discodeit/settings.gradle +++ /dev/null @@ -1,2 +0,0 @@ -rootProject.name = 'discodeit' -include 'src:main:9-Sprint-mission-SC' \ No newline at end of file diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java index 1e50e6f1..6560885b 100644 --- a/discodeit/src/main/java/JavaApplication.java +++ b/discodeit/src/main/java/JavaApplication.java @@ -9,142 +9,277 @@ import service.jcf.JCFUserService; import java.util.List; +import java.util.Scanner; import java.util.UUID; public class JavaApplication { static void userCRUDTest(UserService userService) { // 생성 - User user = userService.create("RYUK", "ryuk6238@gmail.com", "01022790657"); - System.out.println("==== 유저 등록 ===="); - System.out.println("유저 ID: " + user.getId()); - - System.out.println(); - // 조회 - User foundUser = userService.find(user.getId()); - System.out.println("==== 유저 정보(단건) ===="); - System.out.println("유저 ID: " + foundUser.getId()); - System.out.println("유저 이름: " + foundUser.getuserName()); - System.out.println("유저 이메일: " + foundUser.getemail()); - System.out.println("유저 전화번호: " + foundUser.getphoneNumber()); - - System.out.println(); - // 전체 조회 - List foundUsers = userService.findAll(); - System.out.println("==== 유저 정보(다건) ===="); - System.out.println("유저 수: " + foundUsers.size()); - System.out.println(); - - // 수정 - User updatedUser = userService.update(user.getId(), "YUK", "ryuk6238@naver.com", "01012341234"); - - System.out.println("==== 유저 정보 수정 ===="); - System.out.println("유저 ID: " + updatedUser.getId()); - System.out.println("유저 이름: " + updatedUser.getuserName()); - System.out.println("유저 이메일: " + updatedUser.getemail()); - System.out.println("유저 전화번호: " + updatedUser.getphoneNumber()); - System.out.println(); + Scanner sc = new Scanner(System.in); + boolean run = true; + while (run) { + System.out.println("\n==== 유저 관리 ===="); + System.out.println("1. 유저 등록"); + System.out.println("2. 유저 정보 조회"); + //정보 조회안에 단건,다건으로 분화 + System.out.println("3. 유저 정보 수정"); + System.out.println("4. 유저 삭제"); + System.out.println("5. 종료"); + System.out.println("선택: "); + int menu = sc.nextInt(); + sc.nextLine(); - // 삭제 일부분만 삭제 가능하도록 - userService.delete(user.getId()); - List foundUsersAfterDelete = userService.findAll(); - System.out.println("==== 유저 삭제 ===="); - System.out.println("유저 수: " + foundUsersAfterDelete.size()); - System.out.println(); - } - static void channelCRUDTest(ChannelService channelService) { - // 생성 - Channel channel = channelService.create("공지", "공지합니다", "이곳은 공지 채널입니다."); - System.out.println("==== 채널 등록 ===="); - System.out.println("채널 ID: " + channel.getId()); + switch (menu) { + case 1: + System.out.println("\n==== 유저 등록 ===="); + System.out.println("이름 입력: "); + String userName = sc.nextLine(); + System.out.println("이메일: "); + String email = sc.nextLine(); + System.out.println("전화번호: "); + String phoneNumber = sc.nextLine(); + System.out.println(); + + User user = userService.create(userName, email, phoneNumber); + System.out.println("----[등록 성공]----"); + System.out.println("유저 ID: " + user.getId()); + System.out.println("이름: " + user.getuserName()); + System.out.println("이메일: " + user.getemail()); + System.out.println("전화번호: " + user.getphoneNumber()); + System.out.println(); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + break; + + case 2: + System.out.println("\n==== 유저 정보 조회 ===="); + System.out.println("1. 단건"); + System.out.println("2. 다건"); + System.out.println("선택"); + int submenu = sc.nextInt(); + sc.nextLine(); // nextInt로 끝나고 입력된 'Enter'를 읽어 버림 => " " 빈값을 읽고 오류 + //switch 내부에서 다시 switch를 들어갈려면 시작전에 submenu를 추가로 초기화해야함 + switch (submenu) { + + case 1: + System.out.println("\n==== 유저 정보 단건 조회 ===="); + System.out.println("유저 이름을 입력해주세요: "); + String foundName = sc.nextLine(); + User foundUser = userService.findByName(foundName); + + if (foundUser == null) { + System.out.println("유저 정보 없음"); + System.out.println(); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + + break; + } else { + System.out.println("유저 ID: " + foundUser.getId()); + System.out.println("이름: " + foundUser.getuserName()); + System.out.println("이메일: " + foundUser.getemail()); + System.out.println("전화번호: " + foundUser.getphoneNumber()); + System.out.println(); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + + break; + } + + case 2: + System.out.println("\n==== 유저 정보 다건 조회 ===="); + List founders = userService.findAll(); + // 이름을 정렬해주고 싶다 -> 리스트에서 하나씩 꺼내어 정렬 + System.out.println("유저 수: " + founders.size()); + System.out.println("유저 목록: "); + for (User u : founders) { + System.out.println("- " + u.getuserName()); + } + System.out.println(); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + break; + } + break; + + case 3:// + System.out.println("\n==== 유저 정보 수정 ===="); + System.out.println("ID 입력: "); + // UUID를 바로 대입 할 수 없어서 String값으로 변환 + // try - catch 문을 사용해서 실패할 부분을 안전하게 만듦 + + UUID updateId; + + try { + updateId = UUID.fromString(sc.nextLine()); + } catch (IllegalArgumentException e) { + System.out.println("잘못된 ID 형식입니다."); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + break; + } + User targetUser = userService.find(updateId); + if (targetUser == null) { + System.out.println("없는 유저입니다"); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + break; + } else { + System.out.println("이름: "); + String userName2 = sc.nextLine(); + System.out.println("이메일: "); + String email2 = sc.nextLine(); + System.out.println("전화번호: "); + String phoneNumber2 = sc.nextLine(); + System.out.println(); + + User updateUser = userService.update(updateId, userName2, email2, phoneNumber2); + System.out.println("----[수정 완료]----"); + System.out.println("이름: " + updateUser.getuserName()); + System.out.println("이메일: " + updateUser.getemail()); + System.out.println("전화번호: " + updateUser.getphoneNumber()); + System.out.println(); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + + + break; + } + case 4: + System.out.println("\n==== 유저 정보 삭제 ===="); + System.out.println("ID 입력: "); + // UUID를 바로 대입 할 수 없어서 String값으로 변환 + // try - catch 문을 사용해서 실패할 부분을 안전하게 만듦 - System.out.println(); - // 조회 - Channel foundChannel = channelService.find(channel.getId()); + UUID deleteId; + + try { + deleteId = UUID.fromString(sc.nextLine()); + } catch (IllegalArgumentException e) { + System.out.println("잘못된 ID 형식입니다."); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + break; + } + User targetUser2 = userService.find(deleteId); + if (targetUser2 == null) { + System.out.println("없는 유저입니다"); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + break; + } + userService.delete(deleteId); + System.out.println(); + System.out.println("----[삭제 완료]----"); + + System.out.println(); + System.out.println("[Enter] 입력시 메뉴로 이동"); + sc.nextLine(); + + break; + + case 5: + run = false; + System.out.println("[프로그램 종료]"); + + break; + } + } + } + static void channelCRUDTest (ChannelService channelService){ + // 생성 + Channel channel = channelService.create("공지", "공지합니다", "이곳은 공지 채널입니다."); + System.out.println("==== 채널 등록 ===="); + System.out.println("채널 ID: " + channel.getId()); + + System.out.println(); + // 조회 + Channel foundChannel = channelService.find(channel.getId()); System.out.println("==== 채널 정보(단건) ===="); - System.out.println("채널 ID: " + foundChannel.getId()); - System.out.println("채널 프레임: " + foundChannel.getFrame()); - System.out.println("채널 이름: " + foundChannel.getChannelName()); - System.out.println("메세지 내용: " + foundChannel.getDetail()); - - System.out.println(); - //전체 조회 - List foundChannels = channelService.findAll(); - System.out.println("==== 채널 정보(다건) ===="); + System.out.println("채널 ID: " + foundChannel.getId()); + System.out.println("채널 프레임: " + foundChannel.getFrame()); + System.out.println("채널 이름: " + foundChannel.getChannelName()); + System.out.println("메세지 내용: " + foundChannel.getDetail()); + + System.out.println(); + //전체 조회 + List foundChannels = channelService.findAll(); + System.out.println("==== 채널 정보(다건) ===="); System.out.println("채널 수: " + foundChannels.size()); System.out.println(); - // 수정 - Channel updatedChannel = channelService.update(channel.getId(),"게시판", "공지사항", "서류 제출 안내"); + // 수정 + Channel updatedChannel = channelService.update(channel.getId(), "게시판", "공지사항", "서류 제출 안내"); System.out.println("==== 채널 정보 수정 ===="); - System.out.println("채널 ID: " + updatedChannel.getId()); - System.out.println("채널 프레임: " + updatedChannel.getFrame()); - System.out.println("채널 이름: " + updatedChannel.getChannelName()); - System.out.println("메세지 내용: " + updatedChannel.getDetail()); + System.out.println("채널 ID: " + updatedChannel.getId()); + System.out.println("채널 프레임: " + updatedChannel.getFrame()); + System.out.println("채널 이름: " + updatedChannel.getChannelName()); + System.out.println("메세지 내용: " + updatedChannel.getDetail()); System.out.println(); // 삭제 - channelService.delete(channel.getId()); - List foundChannelsAfterDelete = channelService.findAll(); + channelService.delete(channel.getId()); + List foundChannelsAfterDelete = channelService.findAll(); System.out.println("==== 채널 삭제 ===="); - System.out.println("채널 수: " + foundChannelsAfterDelete.size()); + System.out.println("채널 수: " + foundChannelsAfterDelete.size()); System.out.println(); - } - static void messageCRUDTest(MessageService messageService) { - // 생성 - UUID channelId = UUID.randomUUID(); - UUID authorId = UUID.randomUUID(); + } + static void messageCRUDTest (MessageService messageService){ + // 생성 + UUID channelId = UUID.randomUUID(); + UUID authorId = UUID.randomUUID(); - Message message = messageService.create("안녕하세요.", channelId, authorId); + Message message = messageService.create("안녕하세요.", channelId, authorId); System.out.println("==== 메세지 등록 ===="); - System.out.println("메세지 ID: " + message.getId()); + System.out.println("메세지 ID: " + message.getId()); - System.out.println(); + System.out.println(); - // 조회 - Message foundMessage = messageService.find(message.getId()); + // 조회 + Message foundMessage = messageService.find(message.getId()); System.out.println("==== 메세지 조회(단건) ===="); - System.out.println("메시지 ID: " + foundMessage.getId()); - System.out.println("메시지 내용: " + foundMessage.getchat()); + System.out.println("메시지 ID: " + foundMessage.getId()); + System.out.println("메시지 내용: " + foundMessage.getchat()); - System.out.println(); + System.out.println(); - // 전체 조회 - List foundMessages = messageService.findAll(); + // 전체 조회 + List foundMessages = messageService.findAll(); System.out.println("==== 메세지 조회(다건) ===="); - System.out.println("메시지 수: " + foundMessages.size()); + System.out.println("메시지 수: " + foundMessages.size()); System.out.println(); - // 수정 - Message updatedMessage = messageService.update(message.getId(), "반갑습니다."); + // 수정 + Message updatedMessage = messageService.update(message.getId(), "반갑습니다."); System.out.println("==== 메세지 수정===="); - System.out.println("메시지 내용: " + updatedMessage.getchat()); + System.out.println("메시지 내용: " + updatedMessage.getchat()); System.out.println(); - // 삭제 - messageService.delete(message.getId()); - List foundMessagesAfterDelete = messageService.findAll(); + // 삭제 + messageService.delete(message.getId()); + List foundMessagesAfterDelete = messageService.findAll(); System.out.println("==== 메세지 삭제 ===="); - System.out.println("메시지 수: " + foundMessagesAfterDelete.size()); - - } - public static void main(String[] args) { - // 서비스 초기화 - UserService userService = new JCFUserService(); - ChannelService ChannelService = new JCFChannelService(); - MessageService messageService = new JCFMessageService(); + System.out.println("메시지 수: " + foundMessagesAfterDelete.size()); - // 테스트 - // userCRUDTest(userService); - channelCRUDTest(ChannelService); - messageCRUDTest(messageService); - } + } + public static void main (String[]args){ + // 서비스 초기화 + UserService userService = new JCFUserService(); + ChannelService ChannelService = new JCFChannelService(); + MessageService messageService = new JCFMessageService(); + // 테스트 + userCRUDTest(userService); + channelCRUDTest(ChannelService); + messageCRUDTest(messageService); + } } + diff --git a/discodeit/src/main/java/service/UserService.java b/discodeit/src/main/java/service/UserService.java index 8fbfe4ee..fe57d84d 100644 --- a/discodeit/src/main/java/service/UserService.java +++ b/discodeit/src/main/java/service/UserService.java @@ -5,17 +5,20 @@ import java.util.List; import java.util.UUID; - public interface UserService{ //조회 User find(UUID id); + User findByName(String userName); + // 등록 User create(String userName, String email, String phoneNumber); //전체 조회 List findAll(); + List checkAll(); + // 수정 User update(UUID id, String userName, String email, String phoneNumber); diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java index 40f3819c..913b757a 100644 --- a/discodeit/src/main/java/service/jcf/JCFUserService.java +++ b/discodeit/src/main/java/service/jcf/JCFUserService.java @@ -3,41 +3,45 @@ import entity.User; import service.UserService; + import java.util.ArrayList; +import java.util.Comparator; import java.util.List; import java.util.UUID; public class JCFUserService implements UserService { - private final List users; + public final List users; + //private final Set ids; public JCFUserService() { - this.users = new ArrayList<>(); - - // 기본적으로 모든 클래스는 Object의 상속을 받는다(Object + this.users = new ArrayList<>(); + users.add(new User("YUK","YUK@email.com","01022790657")); + users.add(new User("KIM","KIM@email.com","01011112222")); + users.add(new User("PARK","PARK@email.com","01022223333")); + users.add(new User("CHOI","CHOI@email.com","01033334444")); + users.add(new User("HUANG","HUANG@email.com","01044445555")); } - - /* public User addUser(String userName, String email, String phoneNumber) { - users.add(new User(userName, email, phoneNumber)); + @Override + public User find(UUID id) { + for (User user : users) { + if(user.getId().equals(id)){ + return user; + } + } return null; } - public User addUser() { - return null; - }*/ @Override - public User find(UUID id) { + public User findByName(String userName) { for (User user : users) { - if(user.getId().equals(id)){ + if (user.getuserName().equals(userName)) { return user; } } return null; - // 람다? return users.stream().filter(user -> user.getId().equals(id)) - // .findFirst() 첫번째 검색 결과를 반환 - // .orElse(null); 아니면 null } @Override @@ -47,15 +51,9 @@ public User create(String userName, String email, String phoneNumber) { return user; } - @Override public User update(UUID id, String userName, String email, String phoneNumber) { - - /*{ User user = find(id); - if (user != null) user.update(userName, email, phoneNumber); - return user;*/ - - for(User user : users) { + for(User user : users) { if (user.getId().equals(id)) { user.setuserName(userName); @@ -64,35 +62,30 @@ public User update(UUID id, String userName, String email, String phoneNumber) { return user; } - } - return null; + } + return null; } // 다시 공부 @Override public List findAll() { return new ArrayList<>(users); } + @Override + public List checkAll() { + return users.stream() // -> 스트림 시작 + .sorted(Comparator.comparing(User :: getuserName)) + // sorted = ...기준으로 정렬 -> 정렬 기준 필요 -> Comparator.comparing(User :: getuserName + // compare = 두 객체를 비교하는 규칙 + // comparing = 기준을 정해서 규칙을 만들어줌 + //(User :: getuserName) --> 같음 / user -> user.geruserName(): + .toList(); + } + @Override public void delete(UUID id) { users.removeIf(user -> user.getId().equals(id)); } } -/* stream 다시 - - return users.stream() /<- 시작 - 람다 -> .filter(user -> user.getId().equals(id)) /<- 필터 : filter 말고 다른 용어?변수? - - .findFirst() /<- 첫번째 값 채용?획득? 다른 - .orElse(null); /<-예외 - - toString => 코드값으로 변환된 데이터를 문자열로 출력? - - - - - */ - - From 9b6033629f0177d045bd4b94a5ea9df11f2e04ee Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Fri, 16 Jan 2026 19:06:37 +0900 Subject: [PATCH 09/17] 26.01.16 --- .../executionHistory/executionHistory.bin | Bin 48578 -> 48578 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 20547 -> 20547 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 29139 -> 29785 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes .../classes/java/main/JavaApplication.class | Bin 8900 -> 6126 bytes .../classes/java/main/entity/Channel.class | Bin 2416 -> 2286 bytes .../classes/java/main/entity/Message.class | Bin 1494 -> 1508 bytes .../build/classes/java/main/entity/User.class | Bin 2416 -> 2284 bytes .../main/service/jcf/JCFChannelService.class | Bin 2212 -> 2110 bytes .../main/service/jcf/JCFMessageService.class | Bin 2785 -> 2775 bytes .../main/service/jcf/JCFUserService.class | Bin 3977 -> 3873 bytes .../reports/problems/problems-report.html | 2 +- .../stash-dir/Channel.class.uniqueId2 | Bin 0 -> 2286 bytes .../stash-dir/ChannelService.class.uniqueId3 | Bin 0 -> 506 bytes .../JCFChannelService.class.uniqueId6 | Bin 0 -> 2110 bytes .../JCFMessageService.class.uniqueId5 | Bin 0 -> 2785 bytes .../stash-dir/JCFUserService.class.uniqueId1 | Bin 2793 -> 0 bytes ...queId2 => JavaApplication.class.uniqueId4} | Bin 6175 -> 6126 bytes .../stash-dir/Message.class.uniqueId0 | Bin 0 -> 1494 bytes .../stash-dir/MessageService.class.uniqueId1 | Bin 0 -> 466 bytes .../stash-dir/UserService.class.uniqueId0 | Bin 488 -> 0 bytes .../compileJava/previous-compilation-data.bin | Bin 658 -> 658 bytes .../src/main/9-Sprint-mission/build.gradle | 20 -- discodeit/src/main/java/JavaApplication.java | 208 +++--------------- discodeit/src/main/java/entity/Channel.java | 14 +- discodeit/src/main/java/entity/Message.java | 7 +- discodeit/src/main/java/entity/User.java | 13 +- .../java/service/jcf/JCFChannelService.java | 4 +- .../java/service/jcf/JCFMessageService.java | 4 +- .../main/java/service/jcf/JCFUserService.java | 22 +- 33 files changed, 69 insertions(+), 225 deletions(-) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId2 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelService.class.uniqueId3 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelService.class.uniqueId6 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId5 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserService.class.uniqueId1 rename discodeit/build/tmp/compileJava/compileTransaction/stash-dir/{JavaApplication.class.uniqueId2 => JavaApplication.class.uniqueId4} (52%) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId0 delete mode 100644 discodeit/src/main/9-Sprint-mission/build.gradle diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index 0c97fb31a3347d6a89b0e73cce3c556954cdaaee..e9ac1ffa4ce745f67c79d3e227f159081245e620 100644 GIT binary patch delta 699 zcmX@~o9WPRrVZR{>`cw7lJd;bvy;;jP0Z7ivWrr3Dl^K{i_0;rmXXaq?YubH_`$bG|dIe@vE6DHc$3%(1)ZVX&KBOnFYL z#B06D^HRhnZ&;i$dHU8l0?Fyk^84N?^+&zO?2nSTcdqd<0F zl*{hN2Lc}SnKm}(nrTj!iL9ACWtwC?&*r@n8SEeSNHpm$n#0mNdBwGZYxfwx6J+f3 zO)V}?Oi$HI&PgmTW)N6=i_!D6c!|1{eC7xCG@don4aYe0rbom^_P5P4~rYlbF*d@Sm0W9!~dGf^R3bI%4^FEN8 zeRzfE1Ad+-ya9J^fhG3|FwXFDcAFfqTP(U|gIY4D+TAo3d-X@fM*Y*Cf>m4>Wt<9B z0djqCYEfBcGTf^YeSxtr6@NbW?A$!lOFVblJFq7f$^ktgVY!;qD_glrLgPcJJX3_- zWWU`StQSG%O|IUpp?3+aat{ko<%&;_u8ZYy3ag*iklKDp=oL_CW2Z>M0M-jVr sE&6#XYxBk3ml@^aHeF8MQ)MEltsf~{6ZXC2J=k@VSXmeu7z7Uj00kd8Z2$lO delta 698 zcmX@~o9WPRrVZR{>@v-Z^V2hobInatlJb&Li>u5^GR#U#63r3?awQ({thz6ALxSvUj4Asw_scAs$~<5#3%DNt4xlV95wmiHcslX$>f<>{Bg2Ds^a7sQ!+O5@8Dn*D82gZ z^y>HDc34WVZ>qTdpLeoMWXPt{A#Nh~gA5Li~Xt+i0_a?~XW!*yj0ft`)Fj@{pFe2ts2JG3~p2&U?CIiKf} zayirQ-EYhp{;kZocJR&*ka5fm0{)vTS2j#O{YtsSnSG(ej&{arUWsKoiH-#YIho0c zC7JnoFhkb8+FJQa>R7S$sM}{IQD}b`HOk-#OVsM z2Ule4Z4uy!6M1BD&~}6Fnj>JzC4!7Iyqw)82kaJ$4h`F7{UdlXtJuLi>n15iw_O4| z{h=u1RGw{B^$}*GTUe&q(Tty^vI_rGaRUa>%;}>6b9%O%~JkS%fi@iE?x9^$! z@5mMZF5SZdRGIT=X}`w5SJQ6krOnmuc<=xyG;w-p z;MIqHD*tZXkqH%@Wxx62?#qmFbx(^TuQKsAnrt(%(YRx_ehb*PNvtf43=Dz?0g}E# A9RL6T diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock index 9fa43b3478b9e48b053b364f370ffec6fd28a00c..292b8bf0794abb25f6e4960c2a0f22dd5f88c67d 100644 GIT binary patch literal 17 VcmZR+Dlte#z^+l9%TJ|!$iXBYHLZuF6==h?hhB7^`TR;&pkUg&-4<{od&fe52Aw~6p?7bca1BDW%5j4Czhj2-GV0H_mz@}+jKd3PnC(J zwtl2+P1yGmsIB>v1^uLg&Rsf?67Tf#NXq5+n-z0b0sRR|HVYXc7O;0=T5$C~?*pmX zhgWz$;OBY58*m3|TognHhu!2_zb+P_uL34>`|E)ifs<|hH-?H&Wf7T`{7c*4;@e@* s8#^JoG6NyHSkGbF)3QM=nN#g<8jHR9qhh0eh}Sn{r$TgaT?gp^0Fg}2XaE2J delta 767 zcmX@SfbsAG#tq!w^Yxk(r3kB9UoWy2TB3~OFxi6(-D8`&5E!-ja8C6Za!mORS^u* zv0q&7Fi>SZ5OY*xYI%7p$uq;@Q>pO3ujQKQg2zBw4zf$80968kSr3pvvqZRf?t-Vh z%UZgv+J5@=8%u+Auzs5d*1*7d0#nD{&D$Me ziMP>Yn~9Ca9kcaNGqy|?^pgtux~t%^V7SAvTO4~HTZ{hi1xW&v&1#4R>^CtjIJhEP zZ;Jp=oX8`KgSH!V*MN02-UE6D1UQyVuJ!9;+1+^0eloYe9?R~JYn>)QLz7NU#w3Xn!i2ccoRtbYVgW)(YlXWb;l=r*v9k86VTTwg3}C=95db!41keBg literal 17 VcmZQRbX}kS>TTwg3}C<^3IH|h1XKV3 diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin index 8a6ad0b62054f041f8d068b838bc3a63255ebc0a..0371e7c0acaf18174051a0f55cc2e51ad87bd69d 100644 GIT binary patch delta 1022 zcmcconDOQd#tkMCj6R!9C1x-ROnkCG*E~Lml>rQjY9}9+R1lc7PPtY#jrA#1@bTok zl8XF&Z|?D4OrHo5E4;kySeobBT%rkSGA%exMllMvo2rT{mJhV|Eu@)-mxtUc) zfRTT#xyOgEtt?Cs(UQ$PvP`V}d8Yo-3$_VDRj!}Rs-z%r`@4VJLdDA~A%aEGn`MOkpNeRD5!+YJ;;kXDyti*itS$#(q{*L6?;xlJ8Lj;Q~H?x`uFbY&D z=Pviy^i>C{U41gIX(qpD!rPLMN2Q=D=TFWx)nbx2+^G0KV6&sgB+bc3WBG$!L)~JZ zzTejNY}?wfzULQ!YUPZ9gd`Ay0!>gLg6aQ>S#NH!-M=z*rdnzvND@tjnq!XLMGu4B z>|)AuS|wiVP2LzITz~XL(pH`OPhZ`A(iVEKbsMIxS7x5Rs~_m^<7sVO{m>xfA*PDS zi+4{@o1r{G_T$Q>(VgdBV5%@We1@ZGqt}Kp&|z6{7d3OQWA~N=enL* za>VLlKLYOLy<+#I)&7Ym0eaCC}NzqA^&oFhFncZRe-1+fB#EcDQzYiVTfT<#U-{~_>zRPazcqwSyUeNc=M-^tKfK&hg?`@; zA{VpeB47iPT_$+5?I!sFv;HW^0h8V;z_Ye1mjsh#Fp!fCF)_1NF*pRXrZoovlf^b+ TlRh^g0v&0wA*d3wK}eD*;tea7 diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock index e6ea47178b5c561afed804cb5ed1644440adbd7f..c8200d5ea9ccb5d4e0b0dc46397285cadb28211d 100644 GIT binary patch literal 17 UcmZRMC~iIDui%);00wOT04jV0Jpcdz literal 17 UcmZRMC~iIDui%);00wMr04f9n#Q*>R diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe index 63504af526bc387c85ce72954563db2eabb67c8c..8abb98ccf4cebab1f63504d77cf65e72bd78cef4 100644 GIT binary patch literal 8 PcmZQzV4Qu_WyTHw2;Bnq literal 8 PcmZQzV4S`0(>{3s3Vs7B diff --git a/discodeit/build/classes/java/main/JavaApplication.class b/discodeit/build/classes/java/main/JavaApplication.class index 6be9b1cbec29d0c99fc15793fdc37106eb9a52f2..6017add7e3293619dc1a99670c859026dedcf151 100644 GIT binary patch literal 6126 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 literal 8900 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 g9utEj#$G0HVqh6f z22KWT23;Uu45E@jk3k>E1Ie>8urV+)SOMA042+yWrZt1jWGhxxR%4))$>a^J;@qkX dYCv&Dpet=Aw*h6$fif0A8F_X)pf)B3djMu~BtZZG delta 189 zcmaFDeT|#z)W2Q(7#J9A8SFQ5l`<)?7pImuXC#&|GKgyUWF?j*>gOcprRxWm6lLb6 zTWf}GUdQCY6zs#m%)kWHC7`9fm4Q)f2ZQ(y2HC9)>KlP#Obj|ek`JhYfkB&r70Baf z&;>#U1~G^p20aFSAP=Y;D9gsc2!vJ)){{M0Rap&yB8HRqv5Ir6GN^%NY=AOTfHEdP Q8B?H)Ji9GWCliAm0FTQdWB>pF diff --git a/discodeit/build/classes/java/main/entity/User.class b/discodeit/build/classes/java/main/entity/User.class index d5ae98463fe6de44dbaa33158cdecadfabf3c0a5..2c0e871e0b000b44b8d24a906caaa07a99560a1b 100644 GIT binary patch delta 283 zcmXBNJ5K^Z5Ww;O-tNKOMNPygK?&V8JQ^D#ugXfr7pVA54x!S50xJtY#C`!Pdt$D! zurd~Y6tyt1urtnKu`|D!oy>e?KIenC-=}Aw!NnvP>ulNU0t`LVJGU{ z4D7qE&g}*4bC9Mz!x|mCYF^Zl{V_drq6qD!2~%m#6a`_yKDZmofBbMm=YAbURc_qj zU?k^DuXx2$%tARqIVM|4P>ETd$iJp0F*BX5;ZqkkSfMF`;{OimG^LVlEV3jQ66HkB pRC$qRQ|$U^-}7W*%YJ*^a9er~Ep{X)-CcQy97`35x}0)O?hgwSF696K delta 403 zcmaDO_(6#4)W2Q(7#J9A8R9o`Ens%wE>0~eElw@+OUzAWWDwQx$x19s)Xz!GOVCVK8S1 zo6N~_gfU|BIhG{G=*fnxT8y!iV^~uexi=qTRb{I8Vqj#j0y@Bsfe8p17}&J5w=xKC z1hSYItbrsKSX7UJl|i4u2FMqKr~*3J4#)$lXAlL7F#@4C16H%d(akafnq>?#D+O!> z!Z1mwVLsRmlR`Jl3}~1+%rG>wWT0mGPR{3uQ1t`KGBNlw1ORCcpmPI(IGiC8$m0UC Lq8MTr;us_WNN+qD diff --git a/discodeit/build/classes/java/main/service/jcf/JCFChannelService.class b/discodeit/build/classes/java/main/service/jcf/JCFChannelService.class index 3a87a2f6a05a5771976f69f7747000e8ef1fffcb..2b94557cd43fccea7f3d8b4768242652ee8f49d4 100644 GIT binary patch delta 638 zcmZuuyGjE=6g|7y%;K7diV)W*J_^B@5QHExiJLXP-*1!H30m1$DA?KBZoO8?Vk8Q^D*Zm`a3G7vkoa!G{AWn}D_D>FVWUk9< zKy@Cpi=#9YbRd8r&k4d+SP;y;Zp^Y`!NWVy7P*BId4OKLMavD0s*AQ64R!&o(BQ`; zGhZE#9Hw|vFpU|;taIgEP;BSj+czmu{p9UM2(y@D1|%DJnayK?9g8lP=M#pG(C`PR zC|JU>%T*9Ixk@7Zhs)pOiZ{99|8e!zxmK|1a=nRY-sY@;`;QU+KZY*ET`dVZ0fd`; zVXR@DU9z^pOezm!lbMHoL2OZt#`kUP@Ga|{>Ah*280jgH_~VbS!C7~Gm+vX$8Kvh> zM-(ilL7 zVl0fYI?jO^u0)zImpnj`(tL@ungXqcVX`Krsx*SB)GD`RxmvZ~-L!HyvAUlHzN;wy E0BSi+g#Z8m delta 781 zcmZuvO-~b16g@MY4;+S}_|ZBxN{ca}Kr;)gpoLOfsDmPYph!{FF-{Ou8-vv?dv~TQ zmnJ4|F`61QVQpOcbBs~Xoi>$)ndH4Q@7#OOedoTt_`4zN`|mG%0A}#;gH={n3kv$4 zht29%@HA9#WOVUK@G|h~L1V*PZf)3^o2m;k1-z@!f{p~#UY%=VdRm(B#uV;X~f7SaRp06 zz*M)ApsTpXTGx4MBlZiHiDdRC^%dN}a-^aerFBtBuutFwE2XJ2f-#yX1h4D=Md zo`Uy3h2f6EP27qU-Wn6zqToc`jkA*+JNKf>`A9X@tCzwGZZiu=VU{8u5G;y;j|-)FSl73+*>odNf7pQ{x6!8DV* zFNJmyS8!f;^<5+syg|P8+DvY{t})TZlxyVLn05_UYh%_mcHaN_rig4Tk{v-GaRC`j z^Rh*bY!>HG;#Wq6kE6<`A)_y{!3@oo(aDhgo)Lc6SUD3*#0a03WW@=A;)(Wevi+Rw MWXJah(3)W2Q(7#J9A8R|E39b#fo`K@i3$_WC$=+O#aQL&Qi_DpgK8_U5-n|CqF;Cw1AzVcC#P* z9Y$sshJ?wwoQq`>8Il;77~+9;@h~v|Vc=qCkk|MH6k%jYW=NU*mNQBdq=FGBFU^q3 z5Dt_9vC@DnW}ps!hFFF;1{MJ>ke!nYxI8p7f$~fYSq#}=6B!wDfa;1FN*Kx+DuE(g NK$EH%Y8dJmBmsCwFrxqf delta 234 zcmcaE`cRbX)W2Q(7#J9A85%Zn9b)2OFHS9S&PXiTe3|JSBO6<3K?;yPk42x6FOQ2M zpP_)Ap^%56h@p7%ZB`COzA`QbZiaFmh75*G0fx%SAKBCyYbHywYq8WZGRRGqVVB#S z%D$VCIe{T@vNGpl*(8Q!1}27hpmjV9%zqfT*cs$CegQ=o8B!QhCqL$l(gdks1je8do8?QErVpr7oMX zR9;;*)l|0O2M?bgHJ|cX6I14o)Kce$;t`WiE%tXW-B>E^7#&G6W7c^q+YX{=rh!IT zD`GyzVNwz&aOHo*81IZaYC8O7nPYOQWe<*VoVR3Eyv;iyYS@2LP*?rTI*WRUIE$Ij z3C1LXd<}1-lbn(pr)5_Yzl)b7X!}#LD&FP28duJ&)DISp3Z_MLz%pU$kZ(CzI_V-O z3jROK`+V>pSw7^WFv~@q6UD#j2P&59u`o}jt}{c#02z#M#RQY#j6`wK-55G^gr|>> zEt{O)#*ra`AbSI^%4$V-BAuwxqnIFTqxDKaP2FzVonb@g3{Owcn09lOuCz15=Cph5 z(!Jl+HKB-OtuK-Wz!S8yS}b?7iZv4Tu$CaSAINz-3qvUu8PvrGwIbU+Yr~2ULL0Uj zL1@FNx1fSAJ?M&haF(*bt)EpQ!}ePLM6%C%nq`X>7YoJN*??z4A<<0eTKZ^)&dK?B zovT-FS$u0$n}TAFez?V8l^vBBRbEs4O};=%3B59un`8i4=l&>xXI zPe~%{w%I1?oMRN>-Wy}{lx#-Iy%12KiLD`NOC`EduU>Ohy(Z5-pBitEU@UJ++O{Dp zt(&a#MU^N-ToEWF5P-ZR`vR0y^79b?1z*bABB=AScZn-}$N7a4PV&9@zb=QKz^A#% GEb05fF2`{I delta 1250 zcmaiz>2Fk37{-5R?wva`cP>NgQn?vyp)sMfgAGE01*cX?w6>-(nnGNv4ltHtTWS|v zs*Z{ab=QLnqE_5+soFX?I-_Dg8b1>M1OEX(8>7DG+(}DfjJe4@Z{G8~&+~5QRP$Vm z|I1&svp}BZC4YxgxJ{9sDo)Q#6(CP@#4VD*uLVVPl9~`arWy$XMvVV{ z0f)F(FF3jM7~=^J2TX9E{>>RmPcfZfCg2G7>wfpvhl?&Cs+vhf-lRLCtal$^|n-}D(n5J z_Dsbm&9?y`@L>a0eKK{K`av(J+TF8?W<8(0ME{=jblShLbNZaWDf_J42I7OGJje5LDqi44i&{$ObWi%Cp*it3Ni19{Uo&mA(9TA- z(29xQfFu4jyu{05L1&%GSg-J^aB1-dIDg_N=x+H#@=+Y;wYo~rc?z3^sZGAkqR=4< zx&Kvooj3kN;Z06hg@GVfGBspuc3UNrD_F-i%e>vzm0ig=OT-6R-V)}R#AP`tmLqX% zZH=z5zRf#^TW-$@CLw2U`x*QyU5cIYFkU6EM1H%mb}LHDH0<<3ufp{m75YyQhF-41 z-q71p;r7rA-3oVx-s0)Me^!e^=3o+TB`N1id~ZORbu7o;c9ks4cBq4Euve- zx>3+(0G>%@rJUaS0J@CRRA%bwwUwDk_1enZ)%m1lK0BiMyvwYhkLmd}O{Id#DQ0sr z3xp`IE>2KaixzEO?%#_-1$VPV8T|UFIR_Lq4#IbgR+)@Z>a=;m#L(qTqutS{_`&nSQ#MF65y diff --git a/discodeit/build/reports/problems/problems-report.html b/discodeit/build/reports/problems/problems-report.html index 16ce2eae..ecccf046 100644 --- a/discodeit/build/reports/problems/problems-report.html +++ b/discodeit/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId2 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId2 new file mode 100644 index 0000000000000000000000000000000000000000..bc15cc302036ee4703aed0c2156d4c58ae6f1bb1 GIT binary patch literal 2286 zcmb7FZBrXn6n<_JvLP%l4bT@&5rh(0pi!*WnueB!Vu1i^fU4CGmt+fDHoKY44GvTN zAN~M;fX>Ls^g}=T!5`)H+`F5w2|La>nVWO&%{k|ubDrm({PXXdw*ZRxF^w4F8WKAC zkYpHn#ZP(O=FU-m_wbcj6%5ITmSc$(hWOn4K^iIaYe?%DfX*+VVWQdC#hw+m>xxO;y}x8WZ?H z!=#QWeAq5dg)Y0!5rcNh?UuRwl3{diGbpX|vnp*y#~sWv^jAHT3$wOL{R^t;Hk{Kj zFAY1}%jzw8w-%F2*lP7m|r}aTZi!>knu0rmdh&BPSl}57fAvJRsSvX0-Cy+x zP9jodc<_I(ZwEVINR-?f(POx5Ip$8QerS4o{Lof}ajV=u;GQM-!C^uiOAd^byXjaU zS~%`c3~ZA?IWoltk#mS-Kv$oFV{Mj)Nywl}yGs^y-ohmhh|6TN9}s}JK)ZE`Jn@Ir zH3d0g?^A?fup)T%WScjFtW(1EE2d{xaa&&1T(@M2dXU~-`Sz%)C$1}+!sCr?Qyjas z=5P{UrSUbs(NK{b*khQveD;=e>YkW+KeA7YbzT*&cgFB*7?Hrx5BiLry=^vU%C39T zYJ@oufD&Rwm*d`9!;CP05weeRu zukCjyb@kke(!_seMfMAIaf2q3SF(AtX*M-{$8hILlcH+Z@Pc9DzfB2Lzfts#hiCu; zNo3?iBrPV#oRTz2l%zqSB+UjTX(Ev92XPV)==%%W{f0Qj0G5rvz>EuM=NL2=&oO#| z8}}2&^~42kpJTeMp+$CM`Xmo+WR*+qGc<2D}QF~wzAg&t&_Cn@dwj6X5>J1H^9 zB$Ddzrn*F$l0k3@!xNO~M3x(N9_@9`Mmn$IX@v81uk&Q2^LnInuGe`c()r8Cw2fZp z`AFwyk z_%S-DXFI586>BBx*#PxT1zo&9m7=z9b*k735T25-U*IDWqqL@JmKe6NLsDL}OKTs`X_qGLTYQfnaO)jVg5@Lt literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelService.class.uniqueId3 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelService.class.uniqueId3 new file mode 100644 index 0000000000000000000000000000000000000000..8905ccd8173f9c135f18e21e4a5d027ac438536a GIT binary patch literal 506 zcma)3%TB{E5S%ToL(8kQ5+8s#G#By#0VD)MAVuO36>&Am5?omZxlSd1jRPORMGb9@U7?K{?YY*3(Ij5_ z1%0OG&bR94sxs2m)=zlU5}f?^KJ#Bh{ZfXF?pyxr?9XE BjyeDU literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelService.class.uniqueId6 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelService.class.uniqueId6 new file mode 100644 index 0000000000000000000000000000000000000000..2b94557cd43fccea7f3d8b4768242652ee8f49d4 GIT binary patch literal 2110 zcmbVMO>@&$6g|(DCE_R_Bw#S9n-8GaPK?@;0Or@VW-$iqEwNoBB$k7 zbj?inY+E-XJ^-FNP}=N{kR{(1Q;fLnMJM+8v? zl8P8)fze&#z|d^N+1BoD?wU1EKwh*Q%hLs-=}c9@DS>f6sp(m^w(PpblajUX#i1ZN zfI+AVhExn=L?E?qx(8Ox)OKrI+TG$xamR2R)2;+j0jX|y2GuNe@EEEvh|?HTFs|YZ z&I%0oz7{xTd8TW44ObwM&UD>g4daAx4(AmlRb0S?z*q;Nl_H?*82e@O2kMX-d&Dx_CsAQ__iT@)L(O_s14P9am}+6yZ3Tw88Frcs&- z7HJ}_p}#%tfr_>57+%vg1!lU2#v@-W^(tD>3p9peqfWUaCCf3(&Am<2y>D#V6d5Zu zYKC1kT#J8)LCM>(NV~~WtNw|mBUrg^+NMV^pu z6q3U;EL$M%nBRvpBNe!TWt+miM)v=o0+)K+{muzK?Cbx(II=${)8Apd(rCIhbH!pq zB>I-iRqh+pw2vYXD9~q&cM^TyqP-V^4w=rh^62>~MRY{z1dL{nAhNHZY#d?W7sOxq z*-P}~MG3-_Fob0~sX;zILy>+7+{Wi2)=!ivQS4^+XT*;&DzG+pjD)~bT%p5z0F8 zajoDBI#I=t4WI5{mH6DHsEX*{h$}dk`O8=1OO!&UKZZ=Tex|9Dn8tF?pS}50JSWhA zV1gtBEzJ}ygEVGnv0X$Cm%GRfwaIC1a@tAcCIfP7D2L>lgw5y^uQ0VSJC{3xmY0}l zQaZ-Rq*YR4A`xGyVZZ-b>NQ8&Xg-1Y;Cj341n%K00w+j(O(&k`1iqnDlz2SV74Z)?4@JXj8dj~X+WzGol!dijHsuauP0X-S(HDN3Ct+%z#$C9zo z7g;_9#>mS_xnqr_JeNyKhq#%PN&4Trqz}ANAdfFn&pL5k!UEM_BtJ4EcK9@D!QNmO l>1`eKP=1cFBCLb%E5aVqeMO{>a|X#dxnMXC>3swn{{rS@$MOIG literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId5 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId5 new file mode 100644 index 0000000000000000000000000000000000000000..347c650db9cd32070912d0d55864272d7a048383 GIT binary patch literal 2785 zcmbVOOH&+G7(JI6XlBw0ganizkOzq~17yfMVIqcr(KS*aKcvJhAW;w8f~STp}LpGuYM zAhg{&ISU+>u%2G^E*zv^~>X%Z6+wk;0&kAq)#N zFGz2)#FCrA{)~LOlE`92!!aGlaiWF~waqEZJ5|G~2y}*QMC+z!6F7y_8qVlAi*q$H zDXdjIS!N$jmECj(Q!yQm!nD1D=SriTYekL~o_zJilW)FEQgve*Ue+;=3!7T1^(Q?m zD%!H^;4qzOFXYlQs_6+GmsAF=BE5-4g9=RHvXb$u0;i%)gi#T__>9!Qr)SidCv{v^ z1jUR}Nkg7P-V|}YdJ_e6!8W|AD+LZlk|_zF&({tqH%0>D6HbY~ZF$p{)7A2vbZ;1Q z7A+llr)XF+hHI+#&=~g?O^%~Kzgd6VL!@{uNlSW6vnQ(K;Ec=&G?^4c^oaR8q;1}` zOBXDwUM>C!6d0(H(7*SjvatWg()A3mVmUbf3Qiq80y_(yQCyxfR>JmMsw@0Du&a{| zsROQkeQpY(F<-n$NhoUl(-(CnV@0Y`<-YWPWYSnG!CJO0Ep_x-jjFfkxN6yE8RfZ> zF%ZmWU_{_hV=r|?q-O<^1*hs36SMgk9WlFMQsnXU0I|&CX z8t&+DLGc`X+PrD6I?FPf_aQODm^X_2h^-0iC`aFZjZzW@1qH4ccFB^JfxP1^S66b4 z#6~PNfj8DxWYqn?Zw4iw9UFdv{RxMeCk)Ff@H3rj#|g5sn&h?gfsRF(?O?+^C)=>D zPjZCrgk@AJvZCQ*fx`{#ZAXNLPX+p(?Mlf7tlvbz}zDar7RV zhwp#;_wNsIvSV}|=Y=X8^ULmIVPHRcNpgx;Zw3Px#$jGuM|>#z>DP;$cn9xt#e!SC zoe6t;k5(PAKateX-~R`J3A_&@1p0vQ&GZ=G0y;e$0zJY-0CY6o9p8egcgKg;aj`p2 z#J_EWxQ`}48+OpV1~PViq4XbbNmNt)Q5612;TzG zcy5_y7O^ literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserService.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserService.class.uniqueId1 deleted file mode 100644 index 83ca8fffe1fb5a6b8c64410a4faeacee148240fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2793 zcma)8ZBr9h6n-uVSqLjcR5U8`Qfvt?##XD92vwt$*nqZ?Sn2DMEU>WIjhhXXw*R4@ z{RMvM2RqZkpfjC*>~#96zo5UP(`ozM-Gyw3Iu1i}_uO-ybIx;~dpE!T`|KA0)A%lq zHbfLeRkR}}kXY9?wX~^OtLZz->w3u*h+Q=-!<`X`jHZeTIs}e*PIcEX)7KqG+sYd? zHx31nPIN(4a7aZrdIV0^bZ65j>FM>-O8Rzoc9G8o-z3mp=TnUt^9?i!lqI z^s6|70fDIHnUC&ahsek%7!v5xE!S|j(z2a62Jwc95u9a5tGb&jGv8jM$I#+p?q(*A zw=k+8rD6=@O+CqNa;!hBYbMz^HtIJNPMTVhStjL#&Iw!zdlX#9uvRmnn3q~oMM>;= z6>rN5B3ijDQ7@>thGUwywc1>W1L>S6cS-}FWBWMBFesh&x5vG9+vo7che>cpumJ zcFXc_7B{^fW;pvH5-UlJ$x8OSnF~miHrbc#X3pzNDqs$>uV{nfE>e8ir}#^JMQ^F6 zOYB_op-L&q9(QoH!KqZ8L~3YA4YK>{)VRNlQovP?n6ie$5@-Awd%-TU98*J_@&_b1 zt^^?^XrCXj-_l{fr9@nw$pCgbfbFCLhsUVG9~kJ*+^;Vmg6i}D=zva-G5&bLis!$I ZHGa#JV9-{@L%7(aB~HuN*uu9+{tw8YmDvCQ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId4 similarity index 52% rename from discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId2 rename to discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId4 index 2727e46733a6f1df1898f2c82ddb0f80b6e7b3b1..6017add7e3293619dc1a99670c859026dedcf151 100644 GIT binary patch delta 577 zcmX|;T}YE*7>2K>x%kAUtLD^xr$y^eomwUA#ey;ny8TwW^c+ja;)v4~q zqOM?DYqP^{!=sN#SG=P;R?*oLcW5{ALRFz^)zse1q|2RGmOC+We>^=94wz#;W5(3- z_VC2W!@nKBQIM%BNSb+554;O=^KmmBtRnTs`!toEd9**lTwpdHd=%;lQbai=)G>#M z{n&wD5|Z zvfRZlTFs%&@)dnCdn~|STT0Zz?6U~_GtYg!7Ck@?oj4p)h=&zemu$PKA;x;*GD^@+ z4@Wp5>yw>@KIQ_?xX4Qe6jPG#TuP1lvn7|Meg&__E#{i8 QV^G&{UGWd4`ijzj0Krp!{{R30 delta 635 zcmYk(TS${(9LMqR(_Czbx#pVM0cRO@(45+ra=TztRSMiDet1o=t`*U=n5~p?AL+t;(d7E=kWjkKF|B3>b7?%YV-MmE4{Tf z!H35pmWtgijW${h&iI+0qqRPNC>(3=Js4ln(cNXE&5-M@_E!7+f!|MN%3{q8I;WGtUJ0zyyYn zvGY-HGt}lWpZJVL4f<7hf*h49<*VkbeA6lS|6P+F<*(S?&wQ81Shb%kQvPG6%vb4&wN0z+`5Rqk{Ec<0S zFx^6y?~r-mike6VIYhB>NY{E;S9nB0I`Pw`NHMn1O`BqLa#CY2r#VHR#v7dFCg(_V xp8JY8$^~9>k=OFSQQUDZF~ybS3HNC6RaGCv!8QG?A^o81cyzvuWU`?!{R^9fkz)V= diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 new file mode 100644 index 0000000000000000000000000000000000000000..99e1bffe791d49ba3a7484988731cbf232703c53 GIT binary patch literal 1494 zcma)6+fEZv6kTU}8JLcxv{VEYM5weyDJXa=ml%u*q{su8_n|$uL#9(Rogv}TKhnfT z;)5UHM;Z4y9cEw{6JKVZbGr80Yp=c2-+zAo0m9Z43%m&|>!=9ei1)cgK!KaMYWBLjYzqE05B>mul(?HJ zRnyZl@4cBf^Y-KO?H#}s#t}M%lZx$1<(%AcRmqaGbs3>c7%t^XCR&;@xqn=8?g%2c zEFBZ(lXSyo&MH$**GTP@P8N&Xd8>|7Hcq+MAFnB)`=m@kIQ^cs>D{7@g7#W#!e|oz z@=8_Z{HT7WN+Vru{dQ+9!R3GNnQsyGOVM0&(eiI!w`C(yu;!4)xYZv&5C++EZF9a+ yI!OKod>+yh1j3I04WQ@q?m-~r9$~k6`xtnB&$Auud;9>04Ss~7#|Xy_Gx`F3D1Ooa literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId0 deleted file mode 100644 index c27f217346501eeac6dd9948932074d34fcfeecf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 488 zcma)3O-sW-5PehI#MZCa`~dORT+9!M3PKeMfgVDy%E*axu@6TpFj`n{Sd4g33zaB;o!?>f02~D$``!&wnHP4a3g)PHVz+mh8Ca zYVFu>T&Ttf*IKr`>=1N6Zdz%=igTJ${CWF~YfLrr(T@hl~IK diff --git a/discodeit/build/tmp/compileJava/previous-compilation-data.bin b/discodeit/build/tmp/compileJava/previous-compilation-data.bin index 3d670a9ec74ee27c7fe2fe5f8cb399fc92c5f285..42e164b568dbe5ade9d7f02b448ea0989e591116 100644 GIT binary patch delta 157 zcmV;O0Al}=1(F4jQxMhP4d5D^!>CE%4-DiDP~4GYH7F<+#mM1)N delta 157 zcmV;O0Al}=1(F4jQxL(ZYc8}93|^A`Zsc05c z7gY%r1`sUY=Oh$qmj#~%s`1j!4;PWZ7Z9%MusZtWJ7Wb0iRAhNH$;)=9X%a+dhEyE ziRo4<+#vx7d) diff --git a/discodeit/src/main/9-Sprint-mission/build.gradle b/discodeit/src/main/9-Sprint-mission/build.gradle deleted file mode 100644 index 602a4a8b..00000000 --- a/discodeit/src/main/9-Sprint-mission/build.gradle +++ /dev/null @@ -1,20 +0,0 @@ -plugins { - id 'java' -} - -group = 'com.sprint.mission' -version = '1.0-SNAPSHOT' - -repositories { - mavenCentral() -} - -dependencies { - testImplementation platform('org.junit:junit-bom:5.10.0') - testImplementation 'org.junit.jupiter:junit-jupiter' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' -} - -test { - useJUnitPlatform() -} \ No newline at end of file diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java index 6560885b..e59c3b65 100644 --- a/discodeit/src/main/java/JavaApplication.java +++ b/discodeit/src/main/java/JavaApplication.java @@ -16,178 +16,42 @@ public class JavaApplication { static void userCRUDTest(UserService userService) { // 생성 - - Scanner sc = new Scanner(System.in); - boolean run = true; - while (run) { - System.out.println("\n==== 유저 관리 ===="); - System.out.println("1. 유저 등록"); - System.out.println("2. 유저 정보 조회"); - //정보 조회안에 단건,다건으로 분화 - System.out.println("3. 유저 정보 수정"); - System.out.println("4. 유저 삭제"); - System.out.println("5. 종료"); - System.out.println("선택: "); - int menu = sc.nextInt(); - sc.nextLine(); - - - switch (menu) { - case 1: - System.out.println("\n==== 유저 등록 ===="); - System.out.println("이름 입력: "); - String userName = sc.nextLine(); - System.out.println("이메일: "); - String email = sc.nextLine(); - System.out.println("전화번호: "); - String phoneNumber = sc.nextLine(); - System.out.println(); - - User user = userService.create(userName, email, phoneNumber); - System.out.println("----[등록 성공]----"); - System.out.println("유저 ID: " + user.getId()); - System.out.println("이름: " + user.getuserName()); - System.out.println("이메일: " + user.getemail()); - System.out.println("전화번호: " + user.getphoneNumber()); - System.out.println(); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - break; - - case 2: - System.out.println("\n==== 유저 정보 조회 ===="); - System.out.println("1. 단건"); - System.out.println("2. 다건"); - System.out.println("선택"); - int submenu = sc.nextInt(); - sc.nextLine(); // nextInt로 끝나고 입력된 'Enter'를 읽어 버림 => " " 빈값을 읽고 오류 - //switch 내부에서 다시 switch를 들어갈려면 시작전에 submenu를 추가로 초기화해야함 - switch (submenu) { - - case 1: - System.out.println("\n==== 유저 정보 단건 조회 ===="); - System.out.println("유저 이름을 입력해주세요: "); - String foundName = sc.nextLine(); - User foundUser = userService.findByName(foundName); - - if (foundUser == null) { - System.out.println("유저 정보 없음"); - System.out.println(); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - - break; - } else { - System.out.println("유저 ID: " + foundUser.getId()); - System.out.println("이름: " + foundUser.getuserName()); - System.out.println("이메일: " + foundUser.getemail()); - System.out.println("전화번호: " + foundUser.getphoneNumber()); - System.out.println(); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - - break; - } - - case 2: - System.out.println("\n==== 유저 정보 다건 조회 ===="); - List founders = userService.findAll(); - // 이름을 정렬해주고 싶다 -> 리스트에서 하나씩 꺼내어 정렬 - System.out.println("유저 수: " + founders.size()); - System.out.println("유저 목록: "); - for (User u : founders) { - System.out.println("- " + u.getuserName()); - } - System.out.println(); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - break; - } - break; - - case 3:// - System.out.println("\n==== 유저 정보 수정 ===="); - System.out.println("ID 입력: "); - // UUID를 바로 대입 할 수 없어서 String값으로 변환 - // try - catch 문을 사용해서 실패할 부분을 안전하게 만듦 - - UUID updateId; - - try { - updateId = UUID.fromString(sc.nextLine()); - } catch (IllegalArgumentException e) { - System.out.println("잘못된 ID 형식입니다."); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - break; - } - User targetUser = userService.find(updateId); - if (targetUser == null) { - System.out.println("없는 유저입니다"); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - break; - } else { - System.out.println("이름: "); - String userName2 = sc.nextLine(); - System.out.println("이메일: "); - String email2 = sc.nextLine(); - System.out.println("전화번호: "); - String phoneNumber2 = sc.nextLine(); - System.out.println(); - - User updateUser = userService.update(updateId, userName2, email2, phoneNumber2); - System.out.println("----[수정 완료]----"); - System.out.println("이름: " + updateUser.getuserName()); - System.out.println("이메일: " + updateUser.getemail()); - System.out.println("전화번호: " + updateUser.getphoneNumber()); - System.out.println(); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - - - break; - } - case 4: - System.out.println("\n==== 유저 정보 삭제 ===="); - System.out.println("ID 입력: "); - // UUID를 바로 대입 할 수 없어서 String값으로 변환 - // try - catch 문을 사용해서 실패할 부분을 안전하게 만듦 - - UUID deleteId; - - try { - deleteId = UUID.fromString(sc.nextLine()); - } catch (IllegalArgumentException e) { - System.out.println("잘못된 ID 형식입니다."); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - break; - } - User targetUser2 = userService.find(deleteId); - if (targetUser2 == null) { - System.out.println("없는 유저입니다"); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - break; - } - userService.delete(deleteId); - System.out.println(); - System.out.println("----[삭제 완료]----"); - - System.out.println(); - System.out.println("[Enter] 입력시 메뉴로 이동"); - sc.nextLine(); - - break; - - case 5: - run = false; - System.out.println("[프로그램 종료]"); - - break; - } - } + User user =userService.create("RYUK", "ryuk6238@gmail.com", "01066668888"); + System.out.println("==== 유저 등록 ===="); + System.out.println("유저 ID: " + user.getId()); + + System.out.println(); + // 조회 + User foundUser = userService.find(user.getId()); + System.out.println("==== 유저 정보(단건) ===="); + System.out.println("유저 ID: " + foundUser.getId()); + System.out.println("이름: " + foundUser.getuserName()); + System.out.println("이메일: " + foundUser.getemail()); + System.out.println("전화번호: " + foundUser.getphoneNumber()); + + System.out.println(); + //전체 조회 + List foundUsers = userService.findAll(); + System.out.println("==== 유저 정보(다건) ===="); + System.out.println("유저 수: " + foundUsers.size()); + + System.out.println(); + + // 수정 + User updatedUser = userService.update(user.getId(), "WUK", "WUK@gmail.com", "01022228888"); + System.out.println("==== 유저 정보 수정 ===="); + System.out.println("이름: " + updatedUser.getuserName()); + System.out.println("이메일: " + updatedUser.getemail()); + System.out.println("전화번호: " + updatedUser.getphoneNumber()); + + System.out.println(); + + // 삭제 + userService.delete(user.getId()); + List foundUsersAfterDelete = userService.findAll(); + System.out.println("==== 유저 삭제 ===="); + System.out.println("유저 수: " + foundUsersAfterDelete.size()); + System.out.println(); } static void channelCRUDTest (ChannelService channelService){ // 생성 diff --git a/discodeit/src/main/java/entity/Channel.java b/discodeit/src/main/java/entity/Channel.java index 02f4274a..66a9d035 100644 --- a/discodeit/src/main/java/entity/Channel.java +++ b/discodeit/src/main/java/entity/Channel.java @@ -45,16 +45,10 @@ public String getDetail() { return detail; } - public void setFrame(String frame) { - this.frame = frame; - } - - public void setChannelName(String channelName) { - this.channelName = channelName; - } - - public void setDetail(String detail) { - this.detail = detail; + public void update(String frame, String channelName,String detail) { + if (frame != null) this.frame = frame; + if (frame != null) this.channelName = channelName; + if (frame != null) this.detail = detail; } @Override diff --git a/discodeit/src/main/java/entity/Message.java b/discodeit/src/main/java/entity/Message.java index 3efa0307..e17ce36c 100644 --- a/discodeit/src/main/java/entity/Message.java +++ b/discodeit/src/main/java/entity/Message.java @@ -37,13 +37,12 @@ public Long getUpdateAt() { return updateAt; } + public void update(String chat) { + if(chat != null) this.chat = chat; - - public void setChat(String chat) { - this.chat = chat; - this.updateAt = System.currentTimeMillis(); } + public void setCreatedAt(Long createdAt) { this.createdAt = createdAt; } diff --git a/discodeit/src/main/java/entity/User.java b/discodeit/src/main/java/entity/User.java index 06756c66..4043acc5 100644 --- a/discodeit/src/main/java/entity/User.java +++ b/discodeit/src/main/java/entity/User.java @@ -42,7 +42,7 @@ public Long getCreatedAt() { public Long getUpdateAt() {return updateAt;} //용어 정리가 안됨 대소문자 구분 - public void setuserName(String userName) { + /*public void setuserName(String userName) { this.userName = userName; } @@ -53,13 +53,13 @@ public void setemail(String email) { public void setphoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } - +*/ // 선택적 업데이트를 위한 수정용 Setter - /*public void update(String userName, String email, String phoneNumber) { + public void update(String userName, String email, String phoneNumber) { if (userName != null) this.userName = userName; - if (userName != null) this.email = email; - if (userName != null) this.phoneNumber = phoneNumber; - }*/ + if (email != null) this.email = email; + if (phoneNumber != null) this.phoneNumber = phoneNumber; + } // toString 다시 공부 @@ -74,6 +74,7 @@ public String toString() { } //호출한거에 값을 각 객체에 반환하도록 + //오버라이딩 //제네이이트 -> 'toString' } diff --git a/discodeit/src/main/java/service/jcf/JCFChannelService.java b/discodeit/src/main/java/service/jcf/JCFChannelService.java index 7960a385..01a2063f 100644 --- a/discodeit/src/main/java/service/jcf/JCFChannelService.java +++ b/discodeit/src/main/java/service/jcf/JCFChannelService.java @@ -59,9 +59,7 @@ public Channel update(UUID id, String frame, String channelName, String detail) for (Channel channel : data) { if (channel.getId().equals(id)) { - channel.setFrame(frame); - channel.setChannelName(channelName); - channel.setDetail(detail); + channel.update(frame, channelName, detail); return channel; } diff --git a/discodeit/src/main/java/service/jcf/JCFMessageService.java b/discodeit/src/main/java/service/jcf/JCFMessageService.java index 738149ec..830c6db6 100644 --- a/discodeit/src/main/java/service/jcf/JCFMessageService.java +++ b/discodeit/src/main/java/service/jcf/JCFMessageService.java @@ -42,8 +42,8 @@ public Message find(UUID id) { public Message update(UUID id, String chat) { for(Message message : data) { if(message.getId().equals(id)) { - message.setChat(chat); - return message; + message.update(chat); + return message; } } System.out.println("없음"); diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java index 913b757a..7eb291db 100644 --- a/discodeit/src/main/java/service/jcf/JCFUserService.java +++ b/discodeit/src/main/java/service/jcf/JCFUserService.java @@ -53,18 +53,26 @@ public User create(String userName, String email, String phoneNumber) { @Override public User update(UUID id, String userName, String email, String phoneNumber) { - for(User user : users) { + for (User user : users) { if (user.getId().equals(id)) { - - user.setuserName(userName); - user.setemail(email); - user.setphoneNumber(phoneNumber); - + user.update(userName, email, phoneNumber); return user; } } return null; - } // 다시 공부 + } + /*public User update(String userName, String email, String phoneNumber) { + User user = find(id); + if (users == null){ + return null; + } + User update(userName, email, phoneNumber){ + return user; + } + }*/ + + + @Override public List findAll() { return new ArrayList<>(users); } From 1737d27449843f1d95170574f6b4c2fc6310cc41 Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Tue, 20 Jan 2026 18:58:47 +0900 Subject: [PATCH 10/17] 26.01.20 --- .../executionHistory/executionHistory.bin | Bin 48578 -> 63572 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 20547 -> 21947 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 29785 -> 31145 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes discodeit/build.gradle | 7 + .../classes/java/main/JavaApplication.class | Bin 6126 -> 6126 bytes .../classes/java/main/JavaApplication2.class | Bin 0 -> 5893 bytes .../classes/java/main/entity/Channel.class | Bin 2286 -> 2374 bytes .../classes/java/main/entity/Message.class | Bin 1508 -> 1708 bytes .../build/classes/java/main/entity/User.class | Bin 2284 -> 2492 bytes .../main/repository/ChannelRepository.class | Bin 0 -> 126 bytes .../main/repository/MessageRepository.class | Bin 0 -> 126 bytes .../java/main/repository/UserRepository.class | Bin 0 -> 120 bytes .../file/FileChannelRepository.class | Bin 0 -> 320 bytes .../file/FileMessageRepository.class | Bin 0 -> 320 bytes .../repository/file/FileUserRepository.class | Bin 0 -> 311 bytes .../repository/jcf/JCFChannelRepository.class | Bin 0 -> 315 bytes .../repository/jcf/JCFMessageRepository.class | Bin 0 -> 315 bytes .../repository/jcf/JCFUserRepository.class | Bin 0 -> 306 bytes .../service/file/FileChannelService.class | Bin 0 -> 7901 bytes .../service/file/FileMessageService.class | Bin 0 -> 7982 bytes .../main/service/file/FileUserService.class | Bin 0 -> 7931 bytes .../main/service/jcf/JCFUserService.class | Bin 3873 -> 3873 bytes .../reports/problems/problems-report.html | 2 +- .../stash-dir/Channel.class.uniqueId2 | Bin 2286 -> 0 bytes .../stash-dir/ChannelService.class.uniqueId3 | Bin 506 -> 0 bytes .../FileMessageService.class.uniqueId1 | Bin 0 -> 7978 bytes .../JCFChannelService.class.uniqueId6 | Bin 2110 -> 0 bytes .../JCFMessageService.class.uniqueId5 | Bin 2785 -> 0 bytes .../stash-dir/JavaApplication.class.uniqueId4 | Bin 6126 -> 0 bytes .../JavaApplication2.class.uniqueId0 | Bin 0 -> 5893 bytes .../stash-dir/Message.class.uniqueId0 | Bin 1494 -> 0 bytes .../stash-dir/MessageService.class.uniqueId1 | Bin 466 -> 0 bytes .../compileJava/previous-compilation-data.bin | Bin 658 -> 1391 bytes .../src 2/main/java/JavaApplication.java | 149 ++++++++++++++++++ .../src 2/main/java/entity/Channel.java | 67 ++++++++ .../src 2/main/java/entity/Message.java | 55 +++++++ .../src 2/main/java/entity/User.java | 80 ++++++++++ .../main/java/service/ChannelService.java | 25 +++ .../main/java/service/MessageService.java | 19 +++ .../src 2/main/java/service/UserService.java | 31 ++++ .../java/service/jcf/JCFChannelService.java | 73 +++++++++ .../java/service/jcf/JCFMessageService.java | 60 +++++++ .../main/java/service/jcf/JCFUserService.java | 99 ++++++++++++ discodeit/src/main/java/JavaApplication.java | 1 - discodeit/src/main/java/JavaApplication2.java | 115 ++++++++++++++ discodeit/src/main/java/entity/Channel.java | 5 +- discodeit/src/main/java/entity/Message.java | 7 +- discodeit/src/main/java/entity/User.java | 10 +- .../java/repository/ChannelRepository.java | 16 ++ .../java/repository/MessageRepository.java | 16 ++ .../main/java/repository/UserRepository.java | 14 ++ .../file/FileChannelRepository.java | 4 + .../file/FileMessageRepository.java | 4 + .../repository/file/FileUserRepository.java | 4 + .../repository/jcf/JCFChannelRepository.java | 4 + .../repository/jcf/JCFMessageRepository.java | 4 + .../repository/jcf/JCFUserRepository.java | 46 ++++++ .../java/service/file/FileChannelService.java | 136 ++++++++++++++++ .../java/service/file/FileMessageService.java | 128 +++++++++++++++ .../java/service/file/FileUserService.java | 137 ++++++++++++++++ .../main/java/service/jcf/JCFUserService.java | 3 - .../1da4e1df-849f-4a48-a8cf-0cb2203fa924.ser | Bin 0 -> 380 bytes .../24393970-a1bc-4de6-bf6c-fffd8fd1df4f.ser | Bin 0 -> 380 bytes .../2df5ecee-173b-486e-8d2d-d12019d514ad.ser | Bin 0 -> 380 bytes .../4719a95c-47f9-4182-8b43-12023c21b5da.ser | Bin 0 -> 380 bytes .../6a51a61d-7938-4f3d-823d-57d267c1e958.ser | Bin 0 -> 380 bytes .../d2cb0e57-d07e-40b6-9528-350d65e3eaf4.ser | Bin 0 -> 380 bytes .../0febb237-0b5c-4afc-8ee8-47e2ea358526.ser | Bin 0 -> 340 bytes .../544a203e-caa7-4340-8e6d-f0562ae1f6a8.ser | Bin 0 -> 340 bytes .../354b9ef6-a09f-44ca-9e3b-a73b26b07ac7.ser | Bin 0 -> 393 bytes .../8bc71012-b50a-4920-8f20-6300fa87c162.ser | Bin 0 -> 393 bytes .../a85d966f-1f89-491e-bcbc-6b29ef9003d6.ser | Bin 0 -> 393 bytes .../c837be68-a1dd-4d70-86c4-1604e4d4a5ec.ser | Bin 0 -> 393 bytes .../ccaa962d-efdc-419b-8832-ec559dc3c7c3.ser | Bin 0 -> 393 bytes .../fc327820-618e-4da3-a3b7-cc0a7ebb7ef0.ser | Bin 0 -> 393 bytes .../5509a31c-15cf-4df0-9048-6f9be846f822.ser | Bin 0 -> 340 bytes .../877dfcf1-aade-42f8-9a65-a7441499cfc5.ser | Bin 0 -> 340 bytes .../ac6198b2-fc89-4fdb-84fc-9a947e52a655.ser | Bin 0 -> 340 bytes 82 files changed, 1313 insertions(+), 8 deletions(-) create mode 100644 discodeit/build/classes/java/main/JavaApplication2.class create mode 100644 discodeit/build/classes/java/main/repository/ChannelRepository.class create mode 100644 discodeit/build/classes/java/main/repository/MessageRepository.class create mode 100644 discodeit/build/classes/java/main/repository/UserRepository.class create mode 100644 discodeit/build/classes/java/main/repository/file/FileChannelRepository.class create mode 100644 discodeit/build/classes/java/main/repository/file/FileMessageRepository.class create mode 100644 discodeit/build/classes/java/main/repository/file/FileUserRepository.class create mode 100644 discodeit/build/classes/java/main/repository/jcf/JCFChannelRepository.class create mode 100644 discodeit/build/classes/java/main/repository/jcf/JCFMessageRepository.class create mode 100644 discodeit/build/classes/java/main/repository/jcf/JCFUserRepository.class create mode 100644 discodeit/build/classes/java/main/service/file/FileChannelService.class create mode 100644 discodeit/build/classes/java/main/service/file/FileMessageService.class create mode 100644 discodeit/build/classes/java/main/service/file/FileUserService.class delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId2 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelService.class.uniqueId3 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageService.class.uniqueId1 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelService.class.uniqueId6 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId5 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId4 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication2.class.uniqueId0 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId1 create mode 100644 discodeit/src/backup_src2/src 2/main/java/JavaApplication.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/entity/Channel.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/entity/Message.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/entity/User.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/service/ChannelService.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/service/MessageService.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/service/UserService.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFChannelService.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFMessageService.java create mode 100644 discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFUserService.java create mode 100644 discodeit/src/main/java/JavaApplication2.java create mode 100644 discodeit/src/main/java/repository/ChannelRepository.java create mode 100644 discodeit/src/main/java/repository/MessageRepository.java create mode 100644 discodeit/src/main/java/repository/UserRepository.java create mode 100644 discodeit/src/main/java/repository/file/FileChannelRepository.java create mode 100644 discodeit/src/main/java/repository/file/FileMessageRepository.java create mode 100644 discodeit/src/main/java/repository/file/FileUserRepository.java create mode 100644 discodeit/src/main/java/repository/jcf/JCFChannelRepository.java create mode 100644 discodeit/src/main/java/repository/jcf/JCFMessageRepository.java create mode 100644 discodeit/src/main/java/repository/jcf/JCFUserRepository.java create mode 100644 discodeit/src/main/java/service/file/FileChannelService.java create mode 100644 discodeit/src/main/java/service/file/FileMessageService.java create mode 100644 discodeit/src/main/java/service/file/FileUserService.java create mode 100644 file-data-map/Channel/1da4e1df-849f-4a48-a8cf-0cb2203fa924.ser create mode 100644 file-data-map/Channel/24393970-a1bc-4de6-bf6c-fffd8fd1df4f.ser create mode 100644 file-data-map/Channel/2df5ecee-173b-486e-8d2d-d12019d514ad.ser create mode 100644 file-data-map/Channel/4719a95c-47f9-4182-8b43-12023c21b5da.ser create mode 100644 file-data-map/Channel/6a51a61d-7938-4f3d-823d-57d267c1e958.ser create mode 100644 file-data-map/Channel/d2cb0e57-d07e-40b6-9528-350d65e3eaf4.ser create mode 100644 file-data-map/Message/0febb237-0b5c-4afc-8ee8-47e2ea358526.ser create mode 100644 file-data-map/Message/544a203e-caa7-4340-8e6d-f0562ae1f6a8.ser create mode 100644 file-data-map/User/354b9ef6-a09f-44ca-9e3b-a73b26b07ac7.ser create mode 100644 file-data-map/User/8bc71012-b50a-4920-8f20-6300fa87c162.ser create mode 100644 file-data-map/User/a85d966f-1f89-491e-bcbc-6b29ef9003d6.ser create mode 100644 file-data-map/User/c837be68-a1dd-4d70-86c4-1604e4d4a5ec.ser create mode 100644 file-data-map/User/ccaa962d-efdc-419b-8832-ec559dc3c7c3.ser create mode 100644 file-data-map/User/fc327820-618e-4da3-a3b7-cc0a7ebb7ef0.ser create mode 100644 file-data/Message/5509a31c-15cf-4df0-9048-6f9be846f822.ser create mode 100644 file-data/Message/877dfcf1-aade-42f8-9a65-a7441499cfc5.ser create mode 100644 file-data/Message/ac6198b2-fc89-4fdb-84fc-9a947e52a655.ser diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index e9ac1ffa4ce745f67c79d3e227f159081245e620..2bf8f40919190d9bb3f0e995f2cb88cbb4cc37e4 100644 GIT binary patch delta 5297 zcmeH~do)z*8^>oGlpM7+uD{etXmuM!p$T*@@%4NG&KPo3g z7a9~}LKkvPr;@vTXV+>nKDpt%Ud1wE?h2B?fFeJLxD_2Fx0Q-Ub-a-vmVSL(Ayh zpp?4J&TJ1bQmLu-o^=Rbvi zEyfS3LN{f6xz4P0bn)?b!>{%9bvfwk;O@4@%h#Rg z?&aX40n$!t%e?Qt=31?+Qn^nRO322}8v5K7KpYAQ*$dI=;aqzIrn&J+8Q34Y8iIWu zxDcN~gqAo_A%T23pb7dt#1!&(TBN3~;zsl(V!`7*r-Uu+fh!IC;tYC-UMi4a3Xkh~ zdwY-_i3iAD`=$e5B0_5l$=i!cKHxfGwN z-ONZ-D$#{BYf5&}+2`fut<8c9(vI+YFJ8pmjk~%JnVTc0I?mjzs3giPtJ~!(3r0v3 z8PA==)iMngwm>FF%9$7!X+Ppa;sg`i9GwZK2F7!BP^-$(Si<&%kNrpDSjM6h9pDm2 zs|ssX=hUK3PMm1A6ZiRJ!QCxEw!#;GHa+%NN@z~+urfC%?pg>qwh;oY7TV7?V6yZquZd56 zv9xE2pcrfOEi}Y?>wVq)# zW4IdT1n1!aNwaqzOKz-h{KpdMM&=HlMhRV$-y15Xo>VgN!I*HQtpM#T_oIs?X54$_ z6`QhNVO39MM)l-;Y85IjkpMK^fh&RKL;Ej+tAOJ`M!1l7e8*NX{*&kW!U*F%F< z`IX|aU3WC?MIMya+K_+k)qIF%WALCVPT@4x3x-`pVGrZX=FvD3uFgl0FIg98Xul?EJvTK0)@pAiw^l7|$mnNk3oaif2^fuN%lPGLk*{wB?!_JZ z2+SJ#3a`MbEZ)U&DVy#|6&m+i*74gwZ$o^*@r6+Y&u+VS6VCFWf9ZZpghjdX7U<_~ zw*zd>1KMl6eM}u56hkRaVq5?$q09I^Hhz6(Uw!|7`=(k(egK%o*G%~Xz}SZ(!t6f) z>^lNjT+ZS1y1OrQx5>tk<-tHh?)z)q7B=lh51A? zZ1V;WWSxF4#ZCK70MkK3ZDx5vpv#<%*Uyh6c1g9e+Cy9uJS)ojy4UK|IBj#N0g&|3(Ikk=)0pF?ORxm zeQL2#ab3kSIY3z+djIzvMuBH7qXxZ6ncvK-U0yxoFQ|D*zT|#IY$AxHfLTP z`7Ww@R6;>AvNOLM_VL|EwjUJ8P?*VmD~I-s?6K23q)Fm`T``(!3v*vbr5d*Ix7DT1 zY2*oI%UD;G`!p#!H{L2e%ZpMn>&lRY${r4(O?kuOK9`!x1(FupIETVO$xBhu@Z)Kl H{>9>N4668U delta 304 zcmccef%(vHrU@d9Y!gMj8Dlp#&JdqCL1D6_gcj54znfhpj!m{RHLFU>GfU4-PD?Z~ zPfyA&O3A6rC{Hg=&lF&_OXQi{^{_dSZGFI!`?(Ug88L(=f2efb{JwGm+hn=T&jeTk ztgh(%jmWYv*j0IO>)CaaXC@bIZrd`EMIgH`%4PTC0|5{EOdFeX%`_*=MAl5ce%VQ6 z?JY*n)8ZxSQu3J}*wc8{th;t_?c|?3bp^QQd`c9WlsB=a@#P&W&)(ycv#w}zoCC`4 zF@C2%`QtUK$&;qbPd>2Ane{11aB{;}>B-8wgIO+u45-@eF0ipvBw=!TcgCZLUAq?j pJe9Ti;_l0ga&en3C-12;k<`|Yl&uN-Uh*Dn;v`lUMg|7Kg8;njjIsa# diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock index 292b8bf0794abb25f6e4960c2a0f22dd5f88c67d..28229faa9931668b478e9749c1796ec68cf3a0b3 100644 GIT binary patch literal 17 VcmZR+Dlt9G?cApm#eak{K&EU}L-pMan2}^~9*%6F4;n1GE)7#kJW*kq5wZPki!+KF9o$0$I zX(JMS<;t`zI`WSE%ycHwedd5fXzuMh%Zpv-+kr$svC=&7#cDvTo%Imu!U%8yn)SxC zT+HLev5 z0c+axl*Ib!pLQbAXQa|>$GvfU=G6BOkS|?H>1!nvAU%8(qMxsCg+L;{ZpsKveP2DmhBraAa z7>ejI@>B1Os3N@pNp4fvjX?=iC8#b)0V6ngotvGkv zBbOYf7}tY)^}emr+J_Tn`A^_W7+3}};mH=p%oum^H-{txbxu_RT*1@~1+VE1bc$fn ziBUx^YdkEfif)s-YlQK0+e_1Nr0jV(bi!bKhZU(?o%6Lql5RL^zx~`gs3QyN#0kLy ztj{oX7r}}|$cjqpfsR+KMz!a|^&rWMDcW&|_A1AD$BxXkA#B&$v_gDnbkP?)1x3eQ zHHXQE*{ff!iNl8BHWct3f~4$v6} zi%x|ql6T4BPUzAP<@;=3)cktaZBI0Ubq9v=FyE-LxVIoavVO(RYmc_;bel`@M!?*= zAi+CSL&0kf0Il9k^G!~rJ=QOa4_kY;NiBgKZZP=m<8}K`Ud1ElCj1yG<@qru2U&=V@*gE@J1N#-TEq=#)5VoCIvSTi(66FKVdU1w^VY%D7=%W+(uQ8&rNBtCPgW^mgL~z0S zT4&{!%wt!JkAEF^JV(9+M?SII34}*NAfc^YmLPUr7p;3s-;#fln}7%joOnEjAp%k~ zW9we-3g`TkH<+@%oLiHq7obI)%_MFdmFa?G z*D{HcXWx_mIi!9#t;mBLhZ8;PiNkC-BBg=VJWrzYpfR&1Z0qU+_%c!yteS~+3#*)9 zA&sOZYrot55!Gdnm+$(>P2OmYHPWQ-*!gf8a{)#uo*l)u6^t?P5FryCCs;#e@AKE?=nDom z=UKsH9Nz(dVSf1Oj5SpecNh0;Q;SBKP_2>S%ui~-8*vcL#}F9UwL$7u`R%Tlm`;?+=dHOc1bpSWul|MI!WqI)hJ%Bn=}!MSU=Cn=5aRA14sp9`H@MBVB3A$7 z!M+3Pbz=zvJN95u9brXk8qtg}4Bqd#S( zL7f|iu~z|i5S(BKkx+@K5*9gE+$t8uADy)fgl%6q=&;(*d5EeKo@Tqm-sRONg=}cnJ?`pV!b!^Ct0ZIY^ z%Ud9Urb8j_jjo_ozsLD=%u28CswjbVEOm(ms;mcM4xpvzTJA75MM~Lxda|gdcBVY{ z#!|2r_vfBKl|UdV3M9}hxvTd2sncJ-GR9PcpASbK}n^R#%0x|Dq8 z2lh0cHBcRT5FM;fFm-4!a(c{XW_WjZ^5Ks`>?^v#I+nVb0aYdfF~=KBEq|O{JfE<% zJeR#E#uc^h5io9makL@Z52z9d#IZO_qAxJ^rQ*-$o}HU#dWq*wgIba|x!N~@<>*qk zpvm`rr4-^eT~6LpWg@AqA1PZC_PqpZZa&0Zrb&|}{nS{Fu3pGE+1XEz1!!Z`pKAsm^r( diff --git a/discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock b/discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock index 2fd2189ae68d35e8988d593b4a42c9b0dcc81008..cd1b6144eff25e7738b31948998c64faaf4a3cb9 100644 GIT binary patch literal 17 VcmZQRbX}kS>TTwg3}C>y8~`?d1m^$% literal 17 VcmZQRbX}kS>TTwg3}C=95db!41keBg diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin index 0371e7c0acaf18174051a0f55cc2e51ad87bd69d..1e3b28a4e029e1ea8b0dd245f4bbb4e02140d01b 100644 GIT binary patch delta 2169 zcmZvc3p7+|9Kh!yud??}lgtz`UQ?EkM{G$FrMyZWVOSOIm{WO;YnF^vUR#PT6)loH z)|8#;ie!bOv`b!lqGFL(g%oQ_j@OR8cbYv-_ndq0Ilu4s{r}(h{r~sAcmw=84e(6K zKm=+=W&j|u=b?336qoSd6>%8Jq{Kmpp6QP#pO^|T7}<|1ts?@UhlOVk>z+Oi*@*Ib zOVGG@ovag_fX~iB?AB9354skmyDk-D@NtB`{!cJDJP>56C*iCGRZ|TGKyt;&>Zh?m z7-a216VytipaylNff93yHAdM~R7YbI0Nz>>Tyl?1#9)*OVn_W6lz+x97;ekL8I06W zEp~RvP$G|)9rME=3@qVSm!oZHfl}H-Tz3D=7nh#4Ciul+oOKSFpz=Z234S=2h`W&_ zG*k010Cp&~b)IBVFp-^vjA#vj?u)OtMQ88BgA&mi?VSKLnKyXs?U@n{oGu|Bba>Fm z!d1>Lo=_DABWjTxT}u%5cObamp2k?D8PcMw0nLn9cTA1N%U}?;Lq>F6q1g$C9W5KT z1Gsq&F`!YwBJOA^L;n%RSkkB+%?p6!k`re_J2>4KW!n~HZj^%7v;^)Cu2SdYY8#TO z#|KyW^bbd?+{GBoMa{kymROMeF*BJt@{NUA{`WK!9o zpFh7+8;3gRip@fGmsMQ$Xv&V~cz|BS-H-upn3Ohbd)gW8rm_lW^dL|U)W(LtR-qD(VIZfoZ?e8lu(g%A$Bww1(~cHI~+7L*B<%r~=8`x?0jmP^`TelTNSS)unvu<>L#d zBn{I(1;xbHvl;UCNq1&RI!v*_5v57>DsnioU=_Z&=|1<8SsN@?M8?mrFAxv<1Gl?m zRjScAn>YA%Dh-n|A3VrzK;MQd~91j$i%j zsHu|egUH1>0Ze1=b#s)UWO1@}T`c(wUYe?*~{I5|z)VDdU?iOKh*4{Y8hlfk&zOm05Y z=C=xpjFZ)rDkg7J(x0rWymIq9Cd?NsMZh0$yaq&Zl0#g!MJ&wo}Tx0d985+ z<7QV=4#vr;W(Jejnn_N+XQsbd)x48w^D#@H=rb#Ep8rt5z#wn9QSpJmW=9VR9RO;B BPaOaN diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock index c8200d5ea9ccb5d4e0b0dc46397285cadb28211d..8059a76674be5de11ff5aacb83c5193915625fea 100644 GIT binary patch literal 17 UcmZRMC~iIDui%);00ta604eSRtpET3 literal 17 UcmZRMC~iIDui%);00wOT04jV0Jpcdz diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe index 8abb98ccf4cebab1f63504d77cf65e72bd78cef4..7eaa0b8a6091d00b52a27d50e7757c60e8aa8f3c 100644 GIT binary patch literal 8 PcmZQzV4Qu^SbPEi2hajg literal 8 PcmZQzV4Qu_WyTHw2;Bnq diff --git a/discodeit/build.gradle b/discodeit/build.gradle index 602a4a8b..74ce7996 100644 --- a/discodeit/build.gradle +++ b/discodeit/build.gradle @@ -15,6 +15,13 @@ dependencies { testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } +sourceSets { + main { + java { + srcDirs = ['src/main/java', 'src2/main/java'] + } + } +} test { useJUnitPlatform() } \ No newline at end of file diff --git a/discodeit/build/classes/java/main/JavaApplication.class b/discodeit/build/classes/java/main/JavaApplication.class index 6017add7e3293619dc1a99670c859026dedcf151..d6a4131a9291e572b456f682585cd86b0a22b537 100644 GIT binary patch delta 386 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/entity/Channel.class b/discodeit/build/classes/java/main/entity/Channel.class index 06bcb2581e740ec7c51a681f32d9cb61cdebad83..6fc14f8f6a4b836d81e13ab72155a50ef9686de1 100644 GIT binary patch delta 784 zcmZvZ$xa(V5QhIA&v@)%w_yUrfFc%07RcZL78p>#ECI|O%x0D`^1;FKL>Ll@3p@jT z;w?bRDF;p{he&Wi;xTvxM0I1y7MhW!Yw7xaRaZUN{qq_BU;f?#7{%d@aiuKk7-p#d zVg0hgSv$OzInG+S?3tC$Wf*D;GE8QU3t2nAK0C?4<`}BtcD`_8$Dfof{>61)oiwn4O&wd6h+>;pt9LBLAJu(zpP`dmTC35KuPP4FSV%lmEv*!pv7Yol<_OPW-T`hegU_X8yCa=&q=RL&goBRof@9yI_i#(MBfa=W^Bdg^mLA#b zSi6L`4L$2UDN*aA8H?F_F+lzx%{3~ykjw{)lLZ2_D^tE8K)W+(oFW${&xK|3HMqPU s4;8EwoB8dDOqH66l{NFJDC)v0feO~}ovdKj>EFRFMFx3$I6xXruW`s+@&Et; delta 671 zcmZvZ%TB^j5QhKL_LNcqp`ejSh^Rm$5+jOYMXqDXz7o?!g&DoYJ^>=RpX)w%)lwK?pXmSc(I{nZP zKo`0Zq^k!Z#9<+gFh&uD?GbMv-Tp;eVt= zfn1{7#Xft8Y^4S{gd)Q-igY^RuoI4T!WH6HP;#M%ob*5^O<1`Ji(5}`y(M$lwYTCb zGviz|;tH?2!r3->kmLYaS9%Ri%gRPJEoEBt(?OOJsG0s|#F1d=7N)Da7r8y*IJ_zt zV&xO=GNcNp{G8_uZdP+e*VfHyUPT9z3RDf9&=`7~2?xigqD)1J72VX`HHK(9Q&Q25 z9tFJ``jDbVUV7ctjoi`E_9laBbF*UA{7WjG@f$W0@{;I)hCvK5MDz+ZY|l_Jf>8xy z8t&k33!&nLgcsI zL+taKP%zIh;EAMLxuURjZs?!*u|b~nI^MM;Y)7|DPd&E7(6wQij>}EAB-zHvU-@AK zbFJo0`^ef2t3qf!1>F?;_1dwp4}JVp!76j3#HlCs3m(SY6De13p>;#@42$X8%hB#l z`#n>VTAgsy6vj50*}?1XiDk=UyeeE76^j1yX>{6X>e^V2rm_s3lyekFN>b3R*wB(T z(N~*cFodh*(p7YM`Qsix3#QeamX`fD%j8bvWl<+3HG8T>t8SOYmM$&Qf){9BI!Id; zp_hf>F%lR<4o~R(l)Q=H8B%hky)(UlUZh3xBJGJ6X*DRSlpV(cRW8ykN0CvCXTO1c z@zS2tcfxy^!V5ZUegc-TOgCbSm-H=*KO>45#hL7PDA_A?U80}D@D;`{G1WNDX6G)! zzEWZY5`4_#F+`=q1U5pvM=?Q9r|Er@4YNLI(2(HeUy4U!26>t>B3ojGPEmTgN|WE7 zrN4ca@z7b;{!fU>(BfBk9nyKKz4J_H@p@?SYBO8(gxrKKD@LB+zkf2jd=Y7xxDqXw* inrMI~S6opTc&Oj#W!fJyGN~uwrs#W{zPpiI(3*SRrxN$qL;lhG$6#4)@hf5bO z+zH~DnUItc2_$zi=R5b_^SJmCsrTR4DS#0!C+g1ApWe6r^6vwnq91~K6vBr<3J)zk z4Qji4)JmR!CG7LPU~7Q`w0ZIn;m~S-g8r@1u2T&xqk<~$Rk7BenYaP$e)-Cq9Da4zld-TvR>C~9- zR4;`G4%Sy`d!X`19 vwqDSfY{7KP%s7i;DbE* zZgQUd4kosVCZ;jI=#vk=nfM|48H{sINsDARnVmUv<~L`~nb|w~HLU;qyZa5m4Ayt_ z4{X$jAWT0d5oOTZ^^KPeyKHUPI;L>OgR_2QaE^ax1$W+$XvpGdPzm2s-v(E7Jiw|4YodsU+~@ki9`j$W8hgS`&0scP)yxRP zMR<|GC0qtWf$}T3!ry7;h$8MsYn}WWX6av~)izYPNl)`Xn%OmsPsn{nZbx!g>2FXx z5QYoGID!a~up&e-X~oG>q?IB|B|eD~ z)#;-BdHBH;6!{x>v?~sFOX!45N?YX7dPx};ut*+JewMV{qr$`6qiy#Js%JoFKReI|ByUI+bW zCe2cB2xsL{(aHX`KA&<0|3 RnBDz5<=SIK=rbb>egUQ~OhW(w literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/repository/file/FileMessageRepository.class b/discodeit/build/classes/java/main/repository/file/FileMessageRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..32b96e6b479241d62365248f3ef7a5425b03919c GIT binary patch literal 320 zcma)%O-=$q5QSgO4}&8LVad*g5na#+@MmMKf-%>%Uh(X=MTqY0BNMursd%#8-A6A#&&{$(El)`xcz=p(X0|^TK>^ka@b%)F@Bs>f~LlN!} zLSw;9^39xclY4Uh_CLP>M(D)w;714=2vH++mU1ISE{hK_O_wUG2(_UuboE5=?;jQs zt_ZhQtxTyaW4Gd6=Sn;?=B2W;vrh=d=1mdWi7wP+{go>FD$|^uZelW-FQnB@pUj~8 z)Ft6Axx9Knh+oXwX3E79ZvLk~x)$gm;&Sc~U#`czW+jdq2>ail9UC5ErW*r3>deOR NAM)E|MQAZSv=8}RNbCRr literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/repository/jcf/JCFChannelRepository.class b/discodeit/build/classes/java/main/repository/jcf/JCFChannelRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..df06b8beb982f83edc9476867f720efe4b0517dc GIT binary patch literal 315 zcma)1%Sr=55Uk!u)~wNl+;R*dpdOqL@NrqlAuI_blKbptG_$NTGT8`zmZyLRKfsTY z^aSzb!EUJTs)DBL>-*yqz#V!i0)z>o4q~(jy-L1HQA_hA=0&B-hS0jzMmP6_@Zxfn z;Dj)8>cwt#W8Ism%11HHCfPxP3!Nmv-k$HPQay;I9X+eG&|ja6n(g%@G;f%*2rc@zoym&O(5c(c3_X SQ^wA5k9nRkBb+k^=pF#*`$=5@ literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/repository/jcf/JCFMessageRepository.class b/discodeit/build/classes/java/main/repository/jcf/JCFMessageRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..fd1ed54b980bbd43e0878d89f652be2e1165622a GIT binary patch literal 315 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/service/file/FileMessageService.class b/discodeit/build/classes/java/main/service/file/FileMessageService.class new file mode 100644 index 0000000000000000000000000000000000000000..ebb236f668cb13c71d0b652a6c773a6f2fda884c GIT binary patch literal 7982 zcmcIpd3+S-d49gt?#^m8AR!KUffx|tkdP2yaAGZBV5-75?wkshhjIP`hHnc3aZE^Yp3e(1OJ z&3y0o-tY6iGraP(8=nGjK<$kqgeC)F6A?re+Rj=Rtp2Q(o9Q1vbJk8d3eo+UT*f)5 z(6qgKGKQE!cxTBjHY1J}1Ez^(Sgx>vk1k|VcK>uHYxf`F&!}B0Su^&8`&^-U=*=gG z#wLcx#}wK}s&XcrVkS3}jG;{-RwkRB=}a+>cC0k8%EW4{38*#kSjn;H6k29%=Xfz+ zu#3)P3R}0=bL_5vWZ;eSbcL=!N7Wj<#x`=IFI#vmc(%au~Cht1#xaG`} zQxiEUBpVp@P`y!}kN}UQgr~>E4)oIVhlfuL4W1l7F-4u+^Fd+*I~DE-YBG|^of|JW znS3seUD$14kBPgmw@zaTH8pO|<(;8RnUcfx9#8L}5Kr^U!>WK}_h|!nD{KjBU^$G= znX==i(;@#()Omx6doZA|B2~04$3C1XGF9`%jA(M=>ymyO=E;W6G_c>dn}Hf0AG(yX zwQCHpF4k5P;Y67kGiO)!<2Zo(q_hsvzqQdkIa|zMw9aJhWcOqo9T+rm7()ui1uI*& z$ETNMv|Ee5a=JXdvT0`-A2soSR7uC2b7@`EPc4CZf(r>Cp6U-nhnhMF39$j@)aPcnAA>=eolt+TB; zanBrS-c1~Wl2@<{<-hpHsr(ub;XP9=LwfRSK$*+BoLFlQns$Q?;#^CjCr!Ov8kC6zpjBafnq zl4RmCE1jMw7YcM`$xe%5b5c|nOk9)#kJ`G94G>p5bgp=I4(BR9i{lb315eNzpTgBD zKyw*y6Pw>&O@4B!q0lB@#yd@X6W*l|XEf5j#X<1&OpfES=z0lr2CgVC4u&~j9Lkn#9Vdm|wVdh?ddXeWp2=$$ zK5XJ6_$d2wmiSv$r-HOnD?WB;l}bAA``z@XDIt8PiSNR9lZ9goi$mK-{*Qhh;8)S~ zc+pO02tRhR1>cMBGw}T;egHq{=TW_IW*hsiV;2?fX=r-OC8m|Re8u(+v zdIK&Bp$t1uTMb0%Udv#+qmja4FW9wH!&364_uV7G(U;~o<@0pZ`idW2a11ms5={%y z+6s~M(j_Eex{(Oe?0HjKe#|O6v-#riVU8hl?puSHRHs6?Kp->l_kr3Ga~a3!Opcs7 zYin3LqM;=c@^uv@T}x`)k{BX1i3*Jv5~OJLH1&Ijfqx5h-b$g;C{gZEmc6EVA~Tb- zoN|#V*%d%2fq?x>O+HA!$5OL)>YP3uEf@HH!lQfZ%ybp44RHg*y&}+574;}$WgR;y zvev9McP4Fhxk9_{Y9zK66dS`7*|&L&JTG+ZsSdYG0BEWG^=EhA7Q9Zgo@xYj?P6!2 z$d`*LTVls!atUJ5PC;PGxIdqF*b=S6sLeb~ms+FBh^v@tHdLIWwQ6Cos*^@0cOiey zmgdRVR(IMyV#(VFyUs^zYt18cnLc3U(tJ_s8p-F+l?&c1TpO>N2nG(Ge5_zMAb+Ta zJ~*dnrXGtyE1R9*7@3TzW$cYgUfgM2Yh1Od6^3dz)k?LBWm9L}h>kr~x2ApDTIOo+ zKJ$&Y^nZ0jVAFMOt(OAZ+J&{V(^BuW;a&7f2j4T)9i|H5wKlbOX@TA*z1tK&6a-qY zAC1$k5p}1q++ZpwI-GxOss1aA4wFw?A57}gC5N||_!@4t;T9ikmj~S@zKYjkY6lyT zw3Ce&*@-u1(i_!AzJhO@miafP`Ur4dvNs}7Fo)S`i+XCdONL^#xNqOJ+0!U<4aM@k zvo2o(q-;KJnqw2++(Mj`e~G{C@-c#MtL^f^h|hk7>k#+_iR%bn;qR~V$!9r&gn1qB zxenFSZoGizp7z!StcbjXj;W^h#Kcs%ece1>H?e@tFQB{U6X~#{2mSZeXiFabc;;*T`g|l4-EVf zlmUK{3CTOGXXsJhg-E+nbl$Om`)}X~@FIpo923PeqGVLF-k_BrQz5U2UP)j53HKHL z6rXdMs?XAsaZ+8miFH#udTILjK)5Fnp2vxKOb$eD;`CG^@**BqxQ@3DL~kNBm55%4 zJzyjZA)8GY^T=LBVj$+N%z@@aEYUoV^NHAEB03L8b`5W33SA;5yT;;Gv7(YG`zKP3IiSTtiIS@%i=JAe~i43xMO5zyxR;EN$B7Qy*W#H!VZrP1^ zD^uts;^z|)MmaJN?p?q$J8s~cfq8r@IbNf8`*1f7(!TpxD-ZD6$qzdZ^ZKZK``~pY zii}&*yFTsJ;X$<0jy?4MU9@N~ckkxO*OS{lTn&)pKJpnLr+qx1B!>ZhrZ|9ia_0)K zQlAI4^lkVe{)v(5#BuyH{zb#cGnIHh)XkmDco1@y(f1t$lJ&%+O}rOhY{r`^0J7ObF*)Ds`9=_n zKy!vkhX3F?g#RS}FIP0&$vdGBFW{$^Ler$?ED+9pk6)F?f8kZ`(8{J!T1jA1Q8lLX zbs(GwS2DIJ8Jh@KQkF2ql#NKrMkVVcWyfTpQ&vL{R{`jeG}bAr6Pl|)LJKgFDS?Sh z?_FfGkmUV@pS&I}`U=$HB6KSr7O9|&Fb&hg#l$@cw93^Hbr$9+L#x}2-a9(G?p4KWL?-v${+BfUQqE5Ei?n>fx>b7!$fN&8jm=>MHzpZ#1 zDV|`veUc#kb{%jTiF!ORk&$SxA3mdyBqj>^VWG>`T6@xFJl26LNrH^P6T6<2p~9+K`BBJ}~? z-4yp_BK?Z?-6`#A=uY+sj9V1R>62qgO#|cq@>U-C$wx|lLUJE_ea@(!bki;(G>SCx z^QE>BZ=@ke^SX};N%Jyyyoi_ieVqfu&wY&dwbSd6Ho~1=%}SP-T4B`|SA5;_xP9G; zaIiiR&_pbvU=>!90{dYQJ(M!la_+2FYg9t7)~VO2je507ZB|>o-EG_z>K^^ut9Ft@ NocH}|x4H|7{{cTk>;nJ* literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/service/file/FileUserService.class b/discodeit/build/classes/java/main/service/file/FileUserService.class new file mode 100644 index 0000000000000000000000000000000000000000..06a2607b9eacb26a7147b869f8f9f07cef133a72 GIT binary patch literal 7931 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 delta 169 zcmWNKI}QN>7=%9w1$GzlCc8r6ErLY6^$L+CArVTA!W~4Sq55lu8@Pqi0bE4s&oq;7 zGBZ!->Ab!HJBpVWA>tHCFeb^06i3pW$;dBoh}hUTl*v&gPlJM-g11OXX<1cKT2oqA znwN&L_O~!->qbZJ#v|U-PG9o@U54t$jF`yOyn5#HHn*mW#ZsR)WO1cwEqpt|?B!z3 JJUjVV?jI{y9n$~+ diff --git a/discodeit/build/reports/problems/problems-report.html b/discodeit/build/reports/problems/problems-report.html index ecccf046..86b3c611 100644 --- a/discodeit/build/reports/problems/problems-report.html +++ b/discodeit/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId2 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId2 deleted file mode 100644 index bc15cc302036ee4703aed0c2156d4c58ae6f1bb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2286 zcmb7FZBrXn6n<_JvLP%l4bT@&5rh(0pi!*WnueB!Vu1i^fU4CGmt+fDHoKY44GvTN zAN~M;fX>Ls^g}=T!5`)H+`F5w2|La>nVWO&%{k|ubDrm({PXXdw*ZRxF^w4F8WKAC zkYpHn#ZP(O=FU-m_wbcj6%5ITmSc$(hWOn4K^iIaYe?%DfX*+VVWQdC#hw+m>xxO;y}x8WZ?H z!=#QWeAq5dg)Y0!5rcNh?UuRwl3{diGbpX|vnp*y#~sWv^jAHT3$wOL{R^t;Hk{Kj zFAY1}%jzw8w-%F2*lP7m|r}aTZi!>knu0rmdh&BPSl}57fAvJRsSvX0-Cy+x zP9jodc<_I(ZwEVINR-?f(POx5Ip$8QerS4o{Lof}ajV=u;GQM-!C^uiOAd^byXjaU zS~%`c3~ZA?IWoltk#mS-Kv$oFV{Mj)Nywl}yGs^y-ohmhh|6TN9}s}JK)ZE`Jn@Ir zH3d0g?^A?fup)T%WScjFtW(1EE2d{xaa&&1T(@M2dXU~-`Sz%)C$1}+!sCr?Qyjas z=5P{UrSUbs(NK{b*khQveD;=e>YkW+KeA7YbzT*&cgFB*7?Hrx5BiLry=^vU%C39T zYJ@oufD&Rwm*d`9!;CP05weeRu zukCjyb@kke(!_seMfMAIaf2q3SF(AtX*M-{$8hILlcH+Z@Pc9DzfB2Lzfts#hiCu; zNo3?iBrPV#oRTz2l%zqSB+UjTX(Ev92XPV)==%%W{f0Qj0G5rvz>EuM=NL2=&oO#| z8}}2&^~42kpJTeMp+$CM`Xmo+WR*+qGc<2D}QF~wzAg&t&_Cn@dwj6X5>J1H^9 zB$Ddzrn*F$l0k3@!xNO~M3x(N9_@9`Mmn$IX@v81uk&Q2^LnInuGe`c()r8Cw2fZp z`AFwyk z_%S-DXFI586>BBx*#PxT1zo&9m7=z9b*k735T25-U*IDWqqL@JmKe6NLsDL}OKTs`X_qGLTYQfnaO)jVg5@Lt diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelService.class.uniqueId3 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelService.class.uniqueId3 deleted file mode 100644 index 8905ccd8173f9c135f18e21e4a5d027ac438536a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 506 zcma)3%TB{E5S%ToL(8kQ5+8s#G#By#0VD)MAVuO36>&Am5?omZxlSd1jRPORMGb9@U7?K{?YY*3(Ij5_ z1%0OG&bR94sxs2m)=zlU5}f?^KJ#Bh{ZfXF?pyxr?9XE BjyeDU diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageService.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageService.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..3c0a05e53dbc95c48b0f54f68242ee994ae868c1 GIT binary patch literal 7978 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelService.class.uniqueId6 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelService.class.uniqueId6 deleted file mode 100644 index 2b94557cd43fccea7f3d8b4768242652ee8f49d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2110 zcmbVMO>@&$6g|(DCE_R_Bw#S9n-8GaPK?@;0Or@VW-$iqEwNoBB$k7 zbj?inY+E-XJ^-FNP}=N{kR{(1Q;fLnMJM+8v? zl8P8)fze&#z|d^N+1BoD?wU1EKwh*Q%hLs-=}c9@DS>f6sp(m^w(PpblajUX#i1ZN zfI+AVhExn=L?E?qx(8Ox)OKrI+TG$xamR2R)2;+j0jX|y2GuNe@EEEvh|?HTFs|YZ z&I%0oz7{xTd8TW44ObwM&UD>g4daAx4(AmlRb0S?z*q;Nl_H?*82e@O2kMX-d&Dx_CsAQ__iT@)L(O_s14P9am}+6yZ3Tw88Frcs&- z7HJ}_p}#%tfr_>57+%vg1!lU2#v@-W^(tD>3p9peqfWUaCCf3(&Am<2y>D#V6d5Zu zYKC1kT#J8)LCM>(NV~~WtNw|mBUrg^+NMV^pu z6q3U;EL$M%nBRvpBNe!TWt+miM)v=o0+)K+{muzK?Cbx(II=${)8Apd(rCIhbH!pq zB>I-iRqh+pw2vYXD9~q&cM^TyqP-V^4w=rh^62>~MRY{z1dL{nAhNHZY#d?W7sOxq z*-P}~MG3-_Fob0~sX;zILy>+7+{Wi2)=!ivQS4^+XT*;&DzG+pjD)~bT%p5z0F8 zajoDBI#I=t4WI5{mH6DHsEX*{h$}dk`O8=1OO!&UKZZ=Tex|9Dn8tF?pS}50JSWhA zV1gtBEzJ}ygEVGnv0X$Cm%GRfwaIC1a@tAcCIfP7D2L>lgw5y^uQ0VSJC{3xmY0}l zQaZ-Rq*YR4A`xGyVZZ-b>NQ8&Xg-1Y;Cj341n%K00w+j(O(&k`1iqnDlz2SV74Z)?4@JXj8dj~X+WzGol!dijHsuauP0X-S(HDN3Ct+%z#$C9zo z7g;_9#>mS_xnqr_JeNyKhq#%PN&4Trqz}ANAdfFn&pL5k!UEM_BtJ4EcK9@D!QNmO l>1`eKP=1cFBCLb%E5aVqeMO{>a|X#dxnMXC>3swn{{rS@$MOIG diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId5 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageService.class.uniqueId5 deleted file mode 100644 index 347c650db9cd32070912d0d55864272d7a048383..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2785 zcmbVOOH&+G7(JI6XlBw0ganizkOzq~17yfMVIqcr(KS*aKcvJhAW;w8f~STp}LpGuYM zAhg{&ISU+>u%2G^E*zv^~>X%Z6+wk;0&kAq)#N zFGz2)#FCrA{)~LOlE`92!!aGlaiWF~waqEZJ5|G~2y}*QMC+z!6F7y_8qVlAi*q$H zDXdjIS!N$jmECj(Q!yQm!nD1D=SriTYekL~o_zJilW)FEQgve*Ue+;=3!7T1^(Q?m zD%!H^;4qzOFXYlQs_6+GmsAF=BE5-4g9=RHvXb$u0;i%)gi#T__>9!Qr)SidCv{v^ z1jUR}Nkg7P-V|}YdJ_e6!8W|AD+LZlk|_zF&({tqH%0>D6HbY~ZF$p{)7A2vbZ;1Q z7A+llr)XF+hHI+#&=~g?O^%~Kzgd6VL!@{uNlSW6vnQ(K;Ec=&G?^4c^oaR8q;1}` zOBXDwUM>C!6d0(H(7*SjvatWg()A3mVmUbf3Qiq80y_(yQCyxfR>JmMsw@0Du&a{| zsROQkeQpY(F<-n$NhoUl(-(CnV@0Y`<-YWPWYSnG!CJO0Ep_x-jjFfkxN6yE8RfZ> zF%ZmWU_{_hV=r|?q-O<^1*hs36SMgk9WlFMQsnXU0I|&CX z8t&+DLGc`X+PrD6I?FPf_aQODm^X_2h^-0iC`aFZjZzW@1qH4ccFB^JfxP1^S66b4 z#6~PNfj8DxWYqn?Zw4iw9UFdv{RxMeCk)Ff@H3rj#|g5sn&h?gfsRF(?O?+^C)=>D zPjZCrgk@AJvZCQ*fx`{#ZAXNLPX+p(?Mlf7tlvbz}zDar7RV zhwp#;_wNsIvSV}|=Y=X8^ULmIVPHRcNpgx;Zw3Px#$jGuM|>#z>DP;$cn9xt#e!SC zoe6t;k5(PAKateX-~R`J3A_&@1p0vQ&GZ=G0y;e$0zJY-0CY6o9p8egcgKg;aj`p2 z#J_EWxQ`}48+OpV1~PViq4XbbNmNt)Q5612;TzG zcy5_y7O^ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId4 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId4 deleted file mode 100644 index 6017add7e3293619dc1a99670c859026dedcf151..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6126 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 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication2.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication2.class.uniqueId0 new file mode 100644 index 0000000000000000000000000000000000000000..512ac2e7b62215bc168b647137e8bcf57b0b27c0 GIT binary patch literal 5893 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId0 deleted file mode 100644 index 99e1bffe791d49ba3a7484988731cbf232703c53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1494 zcma)6+fEZv6kTU}8JLcxv{VEYM5weyDJXa=ml%u*q{su8_n|$uL#9(Rogv}TKhnfT z;)5UHM;Z4y9cEw{6JKVZbGr80Yp=c2-+zAo0m9Z43%m&|>!=9ei1)cgK!KaMYWBLjYzqE05B>mul(?HJ zRnyZl@4cBf^Y-KO?H#}s#t}M%lZx$1<(%AcRmqaGbs3>c7%t^XCR&;@xqn=8?g%2c zEFBZ(lXSyo&MH$**GTP@P8N&Xd8>|7Hcq+MAFnB)`=m@kIQ^cs>D{7@g7#W#!e|oz z@=8_Z{HT7WN+Vru{dQ+9!R3GNnQsyGOVM0&(eiI!w`C(yu;!4)xYZv&5C++EZF9a+ yI!OKod>+yh1j3I04WQ@q?m-~r9$~k6`xtnB&$Auud;9>04Ss~7#|Xy_Gx`F3D1Ooa diff --git a/discodeit/build/tmp/compileJava/previous-compilation-data.bin b/discodeit/build/tmp/compileJava/previous-compilation-data.bin index 42e164b568dbe5ade9d7f02b448ea0989e591116..074bdcf23a71e4f57650cb66e0c0e9246bb5bfec 100644 GIT binary patch literal 1391 zcmYjQeNYr-7=NGp!aE_BIKCuJQt=RcS3x^K6qXkjxLiGVT@@Aa;0`??AnqbiG|eMO zC<75g%rp&DGBMG~fUy}r8^xTa9CS>@RI=12o5qjQ+S|Lz_mAhD=l6TQ_P5U)f&?H6 ztVDGVTX}^&-=;!q)u?v4rKH4GtUNnR~G6Ep-PRW7CwiUaAzCWz zUedC`v`uDpcT;Xn-gR4yFpc~(}Th@bSTj060_)yoyn?@!c)tD?5 zmITyLR#t4!w>a&kC9%}4Er!33-03WC_cK3o?1@^HC`=<*n)Umue%D5{9owCC&ENNi zpZRi<7-FFEPVPEN8E5bV%8kJd`Ahzs&d(r$k{WC(yDL0mpifW?gr;P!y^t)Vh}fW^ z2D8~;)m-~OrK{bWaEz!U;g2~UEFc*u$JZ?U_fMlB%(u?SSmtc-NCT20t z;g^tHb}4P4J=-Yb5qUUYw9=s}gX|{RaDlLlENAVc&{RY#<;B*>RI%_XDPc=VnMvW^ zcFk+JoOci>t(P`m4w(Krt`Oc3E7@6;!IMI&@CsoiSETj0KGk@Yuv#qgvgvPP>GRgv zt#bAnSPS?q5Y_>yRD0s1T!3qUvufpl=(hpaf=~yf$jhU50Ivt39>{zzlGp(FUEtpX z&Z+eb6|e#D`yey|SLvNX*96!oS2S(}+zk9C;BvjuSuKD!1OEYtt-x*p(gvojKz|6d zUVcypPtC|}fEjlM1@jS*?U1ztW_}E*J3-t9=1*WO<5o>N?SMOg-wmV{yb^`&0lXLZ zPT*R>+j8osfcF8hs^yV_KLflUgf0;0dsRw40Qhs@4}zHMZ6DVS_z>`iL3DbN4EL6x Fe*l;sic|mq delta 564 zcmaFQHHnpxYa*kizB8vAmov8)j~=fcGao}sR&p8(5U{cdT)ofxKx+2k6`l|Hd7khF z+~E%v@MRL5Xe(7O6e_GI!qA?YSCUy$$s)?oQk+^Opux!LF`t>?-QCHDKL)X{=oSkW z59JhP6OiZ&jD4y2^SNi|=9ymNxzi*ZB^g@163Y^$7`h7zax#+>OEUBG1pYX?cs^li zc`kcTj4Nv0qs!94GNDXB?Hiu2jy!W~&y|0=DZy1e{z=F$8KuSWML5Pu2f=Nu8K^n*vlVFeqaT(Yd^9 zJ&&TEQn0eGikqslnwPr1hCVYNDBJ|uG#Og6fWBj3U|^Kj($fyr(HCJ6)dX>cboKOt z^_>me44sXdvlF4R82K}7 foundUsers = userService.findAll(); + System.out.println("==== 유저 정보(다건) ===="); + System.out.println("유저 수: " + foundUsers.size()); + + System.out.println(); + + // 수정 + User updatedUser = userService.update(user.getId(), "WUK", "WUK@gmail.com", "01022228888"); + System.out.println("==== 유저 정보 수정 ===="); + System.out.println("이름: " + updatedUser.getuserName()); + System.out.println("이메일: " + updatedUser.getemail()); + System.out.println("전화번호: " + updatedUser.getphoneNumber()); + + System.out.println(); + + // 삭제 + userService.delete(user.getId()); + List foundUsersAfterDelete = userService.findAll(); + System.out.println("==== 유저 삭제 ===="); + System.out.println("유저 수: " + foundUsersAfterDelete.size()); + System.out.println(); + } + static void channelCRUDTest (ChannelService channelService){ + // 생성 + Channel channel = channelService.create("공지", "공지합니다", "이곳은 공지 채널입니다."); + System.out.println("==== 채널 등록 ===="); + System.out.println("채널 ID: " + channel.getId()); + + System.out.println(); + // 조회 + Channel foundChannel = channelService.find(channel.getId()); + System.out.println("==== 채널 정보(단건) ===="); + System.out.println("채널 ID: " + foundChannel.getId()); + System.out.println("채널 프레임: " + foundChannel.getFrame()); + System.out.println("채널 이름: " + foundChannel.getChannelName()); + System.out.println("메세지 내용: " + foundChannel.getDetail()); + + System.out.println(); + //전체 조회 + List foundChannels = channelService.findAll(); + System.out.println("==== 채널 정보(다건) ===="); + System.out.println("채널 수: " + foundChannels.size()); + + System.out.println(); + + // 수정 + Channel updatedChannel = channelService.update(channel.getId(), "게시판", "공지사항", "서류 제출 안내"); + System.out.println("==== 채널 정보 수정 ===="); + System.out.println("채널 ID: " + updatedChannel.getId()); + System.out.println("채널 프레임: " + updatedChannel.getFrame()); + System.out.println("채널 이름: " + updatedChannel.getChannelName()); + System.out.println("메세지 내용: " + updatedChannel.getDetail()); + + System.out.println(); + + // 삭제 + channelService.delete(channel.getId()); + List foundChannelsAfterDelete = channelService.findAll(); + System.out.println("==== 채널 삭제 ===="); + System.out.println("채널 수: " + foundChannelsAfterDelete.size()); + System.out.println(); + } + static void messageCRUDTest (MessageService messageService){ + // 생성 + UUID channelId = UUID.randomUUID(); + UUID authorId = UUID.randomUUID(); + + Message message = messageService.create("안녕하세요.", channelId, authorId); + System.out.println("==== 메세지 등록 ===="); + System.out.println("메세지 ID: " + message.getId()); + + System.out.println(); + + // 조회 + Message foundMessage = messageService.find(message.getId()); + System.out.println("==== 메세지 조회(단건) ===="); + System.out.println("메시지 ID: " + foundMessage.getId()); + System.out.println("메시지 내용: " + foundMessage.getchat()); + + + System.out.println(); + + // 전체 조회 + List foundMessages = messageService.findAll(); + System.out.println("==== 메세지 조회(다건) ===="); + System.out.println("메시지 수: " + foundMessages.size()); + + System.out.println(); + + // 수정 + Message updatedMessage = messageService.update(message.getId(), "반갑습니다."); + System.out.println("==== 메세지 수정===="); + System.out.println("메시지 내용: " + updatedMessage.getchat()); + + System.out.println(); + // 삭제 + messageService.delete(message.getId()); + List foundMessagesAfterDelete = messageService.findAll(); + System.out.println("==== 메세지 삭제 ===="); + System.out.println("메시지 수: " + foundMessagesAfterDelete.size()); + + } + public static void main (String[]args){ + // 서비스 초기화 + UserService userService = new JCFUserService(); + ChannelService ChannelService = new JCFChannelService(); + MessageService messageService = new JCFMessageService(); + + // 테스트 + userCRUDTest(userService); + channelCRUDTest(ChannelService); + messageCRUDTest(messageService); + } +} + + diff --git a/discodeit/src/backup_src2/src 2/main/java/entity/Channel.java b/discodeit/src/backup_src2/src 2/main/java/entity/Channel.java new file mode 100644 index 00000000..66a9d035 --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/entity/Channel.java @@ -0,0 +1,67 @@ +package entity; + +import java.util.UUID; + +public class Channel { + private final UUID id; + private String channelName; + private Long createdAt; + private Long updateAt; + private String frame; + private String detail; + + public Channel(String frame, String channelName, String detail) { + this.id = UUID.randomUUID(); + this.channelName = channelName; + long now = System.currentTimeMillis(); + this.createdAt = now; + this.updateAt = now; + this.frame = frame; //좀 더 적절한 이름으로 변경 + this.detail = detail; + } + + public UUID getId() { + return id; + } + + public String getChannelName() { + return channelName; + } + + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdateAt() { + return updateAt; + } + + // update에 빠져있음 수정 + public String getFrame() { + return frame; + } + + public String getDetail() { + return detail; + } + + public void update(String frame, String channelName,String detail) { + if (frame != null) this.frame = frame; + if (frame != null) this.channelName = channelName; + if (frame != null) this.detail = detail; + } + + @Override + public String toString() { + return "Channel{" + + "id=" + id + + ", channelName='" + channelName + '\'' + + ", createdAt=" + createdAt + + ", updateAt=" + updateAt + + ", frame=" + frame + '\'' + + ", detail=" + detail + + '}'; + } + + +} \ No newline at end of file diff --git a/discodeit/src/backup_src2/src 2/main/java/entity/Message.java b/discodeit/src/backup_src2/src 2/main/java/entity/Message.java new file mode 100644 index 00000000..e17ce36c --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/entity/Message.java @@ -0,0 +1,55 @@ +package entity; + +import java.util.UUID; + +public class Message { + private final UUID id; + private String chat; + private Long createdAt; + private Long updateAt; + //private UUID channelId = UUID.randomUUID(); + //private UUID authorId = UUID.randomUUID(); + + private String chat() { + return chat; + } + + + public Message(String chat, UUID channelId, UUID authorId) { + this.id = UUID.randomUUID(); + this.createdAt = System.currentTimeMillis(); + this.updateAt = System.currentTimeMillis(); + this.chat = chat; + } + public UUID getId() { + return id; + } + + + public String getchat() { + return chat; + } + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdateAt() { + return updateAt; + } + + public void update(String chat) { + if(chat != null) this.chat = chat; + + } + + + public void setCreatedAt(Long createdAt) { + this.createdAt = createdAt; + } + + public void setUpdateAt(Long updateAt) { + this.updateAt = updateAt; + } + +} + diff --git a/discodeit/src/backup_src2/src 2/main/java/entity/User.java b/discodeit/src/backup_src2/src 2/main/java/entity/User.java new file mode 100644 index 00000000..4043acc5 --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/entity/User.java @@ -0,0 +1,80 @@ +package entity; + +import java.util.UUID; + +public class User { + private final UUID id; + private String userName; + private String email; + private String phoneNumber; + private Long createdAt; + private Long updateAt; + //Long now = System.currentTimeMillis(); + + public User(String userName, String email, String phoneNumber) { + this.id = UUID.randomUUID(); + this.userName = userName; + this.email = email; + this.phoneNumber = phoneNumber; + long now = System.currentTimeMillis(); + this.createdAt = now; + this.updateAt = now; + } + + public UUID getId() { return id; } + + public String getuserName(){ return userName;} + + public String getemail() { + return email; + } + + public String getphoneNumber() { + return phoneNumber; + } + + // 생성 시간이 필요한가? + + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdateAt() {return updateAt;} + + //용어 정리가 안됨 대소문자 구분 + /*public void setuserName(String userName) { + this.userName = userName; + } + + public void setemail(String email) { + this.email = email; + } + + public void setphoneNumber(String phoneNumber) { + this.phoneNumber = phoneNumber; + } +*/ + // 선택적 업데이트를 위한 수정용 Setter + public void update(String userName, String email, String phoneNumber) { + if (userName != null) this.userName = userName; + if (email != null) this.email = email; + if (phoneNumber != null) this.phoneNumber = phoneNumber; + } + + + // toString 다시 공부 + @Override + public String toString() { + return "User{" + + "id=" + id + '\'' + ", userName='" + userName + '\'' + ", email='" + email + '\'' + + ", phoneNumber='" + phoneNumber + '\'' + + ", createdAt=" + createdAt + + ", updateAt=" + updateAt + + '}'; + } //호출한거에 값을 각 객체에 반환하도록 + + + + //오버라이딩 + //제네이이트 -> 'toString' +} diff --git a/discodeit/src/backup_src2/src 2/main/java/service/ChannelService.java b/discodeit/src/backup_src2/src 2/main/java/service/ChannelService.java new file mode 100644 index 00000000..37c3f8dd --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/service/ChannelService.java @@ -0,0 +1,25 @@ +package service; + +import entity.Channel; + +import java.util.List; +import java.util.UUID; + +public interface ChannelService { + + + //생성 + Channel create(String frame, String channelName, String detail); + + // 검색 + Channel find(UUID id); + + // 전체 출력 + List findAll(); + + // 수정 + Channel update(UUID id,String frame, String channelName, String detail); + + // 삭제 + void delete (UUID id); +} diff --git a/discodeit/src/backup_src2/src 2/main/java/service/MessageService.java b/discodeit/src/backup_src2/src 2/main/java/service/MessageService.java new file mode 100644 index 00000000..827e94f9 --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/service/MessageService.java @@ -0,0 +1,19 @@ +package service; + +import entity.Message; + +import java.util.List; +import java.util.UUID; + +public interface MessageService { + + Message create(String chat, UUID channelId, UUID authorID); + + Message find(UUID id); + + List findAll(); + + Message update(UUID id, String chat); + + void delete(UUID id); +} diff --git a/discodeit/src/backup_src2/src 2/main/java/service/UserService.java b/discodeit/src/backup_src2/src 2/main/java/service/UserService.java new file mode 100644 index 00000000..fe57d84d --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/service/UserService.java @@ -0,0 +1,31 @@ +package service; + + +import entity.User; +import java.util.List; +import java.util.UUID; + +public interface UserService{ + //조회 + User find(UUID id); + + User findByName(String userName); + + // 등록 + User create(String userName, String email, String phoneNumber); + + //전체 조회 + List findAll(); + + List checkAll(); + + // 수정 + User update(UUID id, String userName, String email, String phoneNumber); + + // 이름으로 전체 목록에서 검색 User 객체에서 가져오고 + // 가져온 User안에 필드인 id를 조회해서 리스트에서 검색한다음 삭제하도록 진행 + // 삭제 + void delete (UUID id); + +} + diff --git a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFChannelService.java b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFChannelService.java new file mode 100644 index 00000000..01a2063f --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFChannelService.java @@ -0,0 +1,73 @@ +package service.jcf; + +import entity.Channel; +import service.ChannelService; + + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class JCFChannelService implements ChannelService { + + private final List data = new ArrayList<>(); + + @Override + public void delete(UUID id) { + for (Channel channel : data) { + if(channel.getId().equals(id)) { + data.remove(channel); // for문에서 remove쓰면 안되나? + return; // ? 반환 + } + } + // data.removeIf(message -> message.getId().equals(id)); + } + + + @Override + public Channel find(UUID id) { + // for문 : data에서 + for (Channel channel : data) { + // if channel에 있는 getId의 값이 id값과 같으면 + if (channel.getId().equals(id)) + // 그 값을 channel에 반환해라 + return channel; + } + + return null; + } + + @Override + public Channel create(String frame, String channelName, String detail) { + // 기존의 생성자를 이용해서 객체 생성 + Channel newChannel = new Channel(frame, channelName, detail); + // 리스트에 저장 + data.add(newChannel); + // 생성된 객체 반환 -> null 금지 오류 남 + return newChannel; + } + + @Override + public List findAll() { + return new ArrayList<>(data); + // return new ArrayList<>(data.value()); + // return data; + } + + @Override + public Channel update(UUID id, String frame, String channelName, String detail) { + for (Channel channel : data) { + if (channel.getId().equals(id)) { + + channel.update(frame, channelName, detail); + + return channel; + } + } + return null; + } + +} + + + diff --git a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFMessageService.java b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFMessageService.java new file mode 100644 index 00000000..830c6db6 --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFMessageService.java @@ -0,0 +1,60 @@ +package service.jcf; + +import entity.Message; +import service.MessageService; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class JCFMessageService implements MessageService { + + private final List data = new ArrayList<>(); + + @Override + public void delete(UUID id) { + /*for (Message message : data) { + if(message.getId().equals(id)) + data.remove(message); + } + System.out.println("없음");*/ + data.removeIf(message -> message.getId().equals(id)); + } + + + @Override + public List findAll() { + return data; + } + + @Override + public Message find(UUID id) { + for(Message message : data) { + if(message.getId().equals(id)) { + return message; + } + } + System.out.println("없음"); + return null; + } + + @Override + public Message update(UUID id, String chat) { + for(Message message : data) { + if(message.getId().equals(id)) { + message.update(chat); + return message; + } + } + System.out.println("없음"); + return null; + + } + + @Override + public Message create(String chat, UUID channelId, UUID authorId) { + Message message = new Message(chat, channelId, authorId); + data.add(message); + return message; + } +} diff --git a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFUserService.java b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFUserService.java new file mode 100644 index 00000000..7eb291db --- /dev/null +++ b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFUserService.java @@ -0,0 +1,99 @@ +package service.jcf; + + +import entity.User; +import service.UserService; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.UUID; + + +public class JCFUserService implements UserService { + + public final List users; + //private final Set ids; + + + public JCFUserService() { + this.users = new ArrayList<>(); + users.add(new User("YUK","YUK@email.com","01022790657")); + users.add(new User("KIM","KIM@email.com","01011112222")); + users.add(new User("PARK","PARK@email.com","01022223333")); + users.add(new User("CHOI","CHOI@email.com","01033334444")); + users.add(new User("HUANG","HUANG@email.com","01044445555")); + } + @Override + public User find(UUID id) { + for (User user : users) { + if(user.getId().equals(id)){ + return user; + } + } + return null; + } + + @Override + public User findByName(String userName) { + for (User user : users) { + if (user.getuserName().equals(userName)) { + return user; + } + } + return null; + } + + @Override + public User create(String userName, String email, String phoneNumber) { + User user = new User(userName, email, phoneNumber); + users.add(user); + return user; + } + + @Override + public User update(UUID id, String userName, String email, String phoneNumber) { + for (User user : users) { + if (user.getId().equals(id)) { + user.update(userName, email, phoneNumber); + return user; + } + } + return null; + } + /*public User update(String userName, String email, String phoneNumber) { + User user = find(id); + if (users == null){ + return null; + } + User update(userName, email, phoneNumber){ + return user; + } + }*/ + + + + + @Override + public List findAll() { return new ArrayList<>(users); } + + @Override + public List checkAll() { + return users.stream() // -> 스트림 시작 + .sorted(Comparator.comparing(User :: getuserName)) + // sorted = ...기준으로 정렬 -> 정렬 기준 필요 -> Comparator.comparing(User :: getuserName + // compare = 두 객체를 비교하는 규칙 + // comparing = 기준을 정해서 규칙을 만들어줌 + //(User :: getuserName) --> 같음 / user -> user.geruserName(): + .toList(); + } + + @Override + public void delete(UUID id) { + users.removeIf(user -> user.getId().equals(id)); + } +} + + + + diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java index e59c3b65..f4706206 100644 --- a/discodeit/src/main/java/JavaApplication.java +++ b/discodeit/src/main/java/JavaApplication.java @@ -9,7 +9,6 @@ import service.jcf.JCFUserService; import java.util.List; -import java.util.Scanner; import java.util.UUID; diff --git a/discodeit/src/main/java/JavaApplication2.java b/discodeit/src/main/java/JavaApplication2.java new file mode 100644 index 00000000..7d30ff03 --- /dev/null +++ b/discodeit/src/main/java/JavaApplication2.java @@ -0,0 +1,115 @@ +import entity.Channel; +import entity.Message; +import entity.User; +import service.ChannelService; +import service.MessageService; +import service.UserService; +import service.file.FileChannelService; +import service.file.FileMessageService; +import service.file.FileUserService; + +import java.util.List; +import java.util.UUID; + +public class JavaApplication2 { + static void userCRUDTest(UserService userService) { + // 생성 + User user = userService.create("woody", "woody@codeit.com", "woody1234"); + System.out.println("유저 생성: " + user.getId()); + // 조회 + User foundUser = userService.find(user.getId()); + System.out.println("유저 조회(단건): " + foundUser.getId()); + List foundUsers = userService.findAll(); + System.out.println("유저 조회(다건): " + foundUsers.size()); + // 수정 + User updatedUser = userService.update(user.getId(), null, null, "woody5678"); + System.out.println("유저 수정: " + String.join("/", updatedUser.getuserName(), updatedUser.getemail(), updatedUser.getphoneNumber())); + // 삭제 + userService.delete(user.getId()); + List foundUsersAfterDelete = userService.findAll(); + System.out.println("유저 삭제: " + foundUsersAfterDelete.size()); + } + + static void channelCRUDTest(ChannelService channelService) { + // 생성 + Channel channel = channelService.create("공비", "공지방", "공지 채널입니다."); + System.out.println("채널 생성: " + channel.getId()); + // 조회 + Channel foundChannel = channelService.find(channel.getId()); + System.out.println("채널 조회(단건): " + foundChannel.getId()); + List foundChannels = channelService.findAll(); + System.out.println("채널 조회(다건): " + foundChannels.size()); + // 수정 + Channel updatedChannel = channelService.update(channel.getId(), "공지" ,"공지사항", "공지사항입니다"); + System.out.println("채널 수정: " + String.join(updatedChannel.getFrame(), updatedChannel.getDetail())); + // 삭제 + channelService.delete(channel.getId()); + List foundChannelsAfterDelete = channelService.findAll(); + System.out.println("채널 삭제: " + foundChannelsAfterDelete.size()); + } + + static void messageCRUDTest(MessageService messageService) { + // 생성 + UUID channelId = UUID.randomUUID(); + UUID authorId = UUID.randomUUID(); + Message message = messageService.create("안녕하세요.", channelId, authorId); + System.out.println("메시지 생성: " + message.getId()); + // 조회 + Message foundMessage = messageService.find(message.getId()); + System.out.println("메시지 조회(단건): " + foundMessage.getId()); + List foundMessages = messageService.findAll(); + System.out.println("메시지 조회(다건): " + foundMessages.size()); + // 수정 + Message updatedMessage = messageService.update(message.getId(), "반갑습니다."); + System.out.println("메시지 수정: " + updatedMessage.getchat()); + // 삭재 + messageService.delete(message.getId()); + List foundMessagesAfterDelete = messageService.findAll(); + System.out.println("메시지 삭제: " + foundMessagesAfterDelete.size()); + } + + static User setupUser(UserService userService) { + User user = userService.create("woody", "woody@codeit.com", "woody1234"); + return user; + } + + static Channel setupChannel(ChannelService channelService) { + Channel channel = channelService.create("속성", "공지", "공지 채널입니다."); + return channel; + } + + static void messageCreateTest(MessageService messageService, Channel channel, User author) { + Message message = messageService.create("안녕하세요.", channel.getId(), author.getId()); + System.out.println("메시지 생성: " + message.getId()); + } + + + public static void main(String[] args) { + // 서비스 초기화 + UserService userService = new FileUserService(); + ChannelService channelService = new FileChannelService(); + MessageService messageService = new FileMessageService(channelService, userService); + + // 테스트 + userCRUDTest(userService); + channelCRUDTest(channelService); + messageCRUDTest(messageService); + + // 셋업 + User user = setupUser(userService); + Channel channel = setupChannel(channelService); + // 테스트 + messageCreateTest(messageService, channel, user); + + /* UserRepository userRepository = new FileUserRepository(); + ChannelRepository channelRepository = new FileChannelRepository(); + MessageRepository messageRepository = new FileMessageRepository(); + + // 서비스 초기화 + UserService userService = new BasicUserService(userRepository); + ChannelService channelService = new BasicChannelService(channelRepository); + MessageService messageService = new BasicMessageService(messageRepository, channelRepository, userRepository);*/ + } + + +} diff --git a/discodeit/src/main/java/entity/Channel.java b/discodeit/src/main/java/entity/Channel.java index 66a9d035..8a7b33fc 100644 --- a/discodeit/src/main/java/entity/Channel.java +++ b/discodeit/src/main/java/entity/Channel.java @@ -1,8 +1,11 @@ package entity; +import java.io.Serializable; import java.util.UUID; -public class Channel { +public class Channel implements Serializable { + private static final long serialVersionUID = 1L; + private final UUID id; private String channelName; private Long createdAt; diff --git a/discodeit/src/main/java/entity/Message.java b/discodeit/src/main/java/entity/Message.java index e17ce36c..7cd21ea4 100644 --- a/discodeit/src/main/java/entity/Message.java +++ b/discodeit/src/main/java/entity/Message.java @@ -1,12 +1,16 @@ package entity; +import java.io.Serializable; import java.util.UUID; -public class Message { +public class Message implements Serializable { + private static final long serialVersionUID = 1L; + private final UUID id; private String chat; private Long createdAt; private Long updateAt; + private String simpleName; //private UUID channelId = UUID.randomUUID(); //private UUID authorId = UUID.randomUUID(); @@ -36,6 +40,7 @@ public Long getCreatedAt() { public Long getUpdateAt() { return updateAt; } + public String getSimpleName() {return simpleName;} public void update(String chat) { if(chat != null) this.chat = chat; diff --git a/discodeit/src/main/java/entity/User.java b/discodeit/src/main/java/entity/User.java index 4043acc5..3ac6db3c 100644 --- a/discodeit/src/main/java/entity/User.java +++ b/discodeit/src/main/java/entity/User.java @@ -1,14 +1,19 @@ package entity; +import java.io.Serializable; import java.util.UUID; -public class User { +public class User implements Serializable { + private static final long serialVersionUID = 1L; + + private final UUID id; private String userName; private String email; private String phoneNumber; private Long createdAt; private Long updateAt; + private String simpleName; //Long now = System.currentTimeMillis(); public User(String userName, String email, String phoneNumber) { @@ -19,6 +24,7 @@ public User(String userName, String email, String phoneNumber) { long now = System.currentTimeMillis(); this.createdAt = now; this.updateAt = now; + this.simpleName = simpleName; } public UUID getId() { return id; } @@ -33,6 +39,8 @@ public String getphoneNumber() { return phoneNumber; } + public String getSimpleName() {return simpleName; } + // 생성 시간이 필요한가? public Long getCreatedAt() { diff --git a/discodeit/src/main/java/repository/ChannelRepository.java b/discodeit/src/main/java/repository/ChannelRepository.java new file mode 100644 index 00000000..c32c8588 --- /dev/null +++ b/discodeit/src/main/java/repository/ChannelRepository.java @@ -0,0 +1,16 @@ +package repository; + +import entity.Channel; +import entity.User; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface ChannelRepository { + Channel save(Channel channel); + Optional findById(UUID id); + List findAll(); + boolean existsById(UUID id); + void deleteById(UUID id); +} \ No newline at end of file diff --git a/discodeit/src/main/java/repository/MessageRepository.java b/discodeit/src/main/java/repository/MessageRepository.java new file mode 100644 index 00000000..0aa056a3 --- /dev/null +++ b/discodeit/src/main/java/repository/MessageRepository.java @@ -0,0 +1,16 @@ +package repository; + +import entity.Message; +import entity.User; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface MessageRepository { + Message save(Message message); + Optional findById(UUID id); + List findAll(); + boolean existsById(UUID id); + void deleteById(UUID id); +} \ No newline at end of file diff --git a/discodeit/src/main/java/repository/UserRepository.java b/discodeit/src/main/java/repository/UserRepository.java new file mode 100644 index 00000000..43bf7c73 --- /dev/null +++ b/discodeit/src/main/java/repository/UserRepository.java @@ -0,0 +1,14 @@ +package repository; + +import entity.User; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; +public interface UserRepository { + User save(User user); + Optional findById(UUID id); + List findAll(); + boolean existsById(UUID id); + void deleteById(UUID id); +} \ No newline at end of file diff --git a/discodeit/src/main/java/repository/file/FileChannelRepository.java b/discodeit/src/main/java/repository/file/FileChannelRepository.java new file mode 100644 index 00000000..962b83cb --- /dev/null +++ b/discodeit/src/main/java/repository/file/FileChannelRepository.java @@ -0,0 +1,4 @@ +package repository.file; + +public class FileChannelRepository { +} diff --git a/discodeit/src/main/java/repository/file/FileMessageRepository.java b/discodeit/src/main/java/repository/file/FileMessageRepository.java new file mode 100644 index 00000000..1cfd0b9e --- /dev/null +++ b/discodeit/src/main/java/repository/file/FileMessageRepository.java @@ -0,0 +1,4 @@ +package repository.file; + +public class FileMessageRepository { +} diff --git a/discodeit/src/main/java/repository/file/FileUserRepository.java b/discodeit/src/main/java/repository/file/FileUserRepository.java new file mode 100644 index 00000000..fb7421db --- /dev/null +++ b/discodeit/src/main/java/repository/file/FileUserRepository.java @@ -0,0 +1,4 @@ +package repository.file; + +public class FileUserRepository { +} diff --git a/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java b/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java new file mode 100644 index 00000000..4a3469c7 --- /dev/null +++ b/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java @@ -0,0 +1,4 @@ +package repository.jcf; + +public class JCFChannelRepository { +} diff --git a/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java b/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java new file mode 100644 index 00000000..008c0a5d --- /dev/null +++ b/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java @@ -0,0 +1,4 @@ +package repository.jcf; + +public class JCFMessageRepository { +} diff --git a/discodeit/src/main/java/repository/jcf/JCFUserRepository.java b/discodeit/src/main/java/repository/jcf/JCFUserRepository.java new file mode 100644 index 00000000..a4ef4711 --- /dev/null +++ b/discodeit/src/main/java/repository/jcf/JCFUserRepository.java @@ -0,0 +1,46 @@ +package repository.jcf; + + +import entity.User; +import repository.UserRepository; + +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.UUID; + + +public class JCFUserRepository implements UserRepository { + + public Map data; + + UserRepository userRepository = new JCFUserRepository(); + + + + + public void deleteById(UUID id) { + + + } + + @Override + public boolean existsById(UUID id) { + return false; + } + + @Override + public List findAll() { + return List.of(); + } + + @Override + public Optional findById(UUID id) { + return Optional.empty(); + } + + @Override + public User save(User user) { + return null; + } +} diff --git a/discodeit/src/main/java/service/file/FileChannelService.java b/discodeit/src/main/java/service/file/FileChannelService.java new file mode 100644 index 00000000..a620c0bc --- /dev/null +++ b/discodeit/src/main/java/service/file/FileChannelService.java @@ -0,0 +1,136 @@ +package service.file; + +import entity.Channel; +import service.ChannelService; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.UUID; + +public class FileChannelService implements ChannelService { + private final Path DIRECTORY; + private final String EXTENSION = ".ser"; + + public FileChannelService() { + this.DIRECTORY = Paths.get(System.getProperty("user.dir"), "file-data-map", Channel.class.getSimpleName()); + if (Files.notExists(DIRECTORY)) { + try { + Files.createDirectories(DIRECTORY); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + } + + private Path resolvePath(UUID id) { + return DIRECTORY.resolve(id + EXTENSION);} + + @Override + public Channel create(String frame, String channelName, String detail) { + Channel channel = new Channel(frame, channelName, detail); + Path path = resolvePath(channel.getId()); + try ( + FileOutputStream fos = new FileOutputStream(path.toFile()); + ObjectOutputStream oos = new ObjectOutputStream(fos); + ) { + oos.writeObject(channel); + } catch (IOException e) { + throw new RuntimeException(e); + } + return channel; + } + + @Override + public Channel find(UUID id) { + Channel channelNullable = null; + Path path = resolvePath(id); + if (Files.exists(path)) { + try( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ) { + channelNullable = (Channel) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + return Optional.ofNullable(channelNullable) + .orElseThrow(() -> new NoSuchElementException("Channel with id " + id + " bot found")); + + } + + @Override + public List findAll() { + try { + return Files.list(DIRECTORY) + .filter(path -> path.toString().endsWith(EXTENSION)) + .map(path -> { + try ( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ){ + return (Channel) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + }) + .toList(); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + + public List checkAll() { + return List.of(); + } + + @Override + public Channel update(UUID id, String frame, String channelName, String detail) { + Channel channelNullable = null; + Path path = resolvePath(id); + if(Files.exists(path)) { + try( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ){ + channelNullable = (Channel) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + }Channel channel = Optional.ofNullable(channelNullable) + .orElseThrow(() -> new NoSuchElementException("Channel with id " + id + " not found")); + + try( + FileOutputStream fos = new FileOutputStream(path.toFile()); + ObjectOutputStream oos = new ObjectOutputStream(fos) + ){ + oos.writeObject(channel); + }catch (IOException e) { + throw new RuntimeException(e); + } + return channel; + } + + @Override + public void delete(UUID id) { + Path path = resolvePath(id); + if (Files.notExists(path)) { + throw new NoSuchElementException("Channel with id " + id + " not found"); + } + try { + Files.delete(path); + }catch (IOException e) { + throw new RuntimeException(e); + } + + } +} + + + + diff --git a/discodeit/src/main/java/service/file/FileMessageService.java b/discodeit/src/main/java/service/file/FileMessageService.java new file mode 100644 index 00000000..f449e9ca --- /dev/null +++ b/discodeit/src/main/java/service/file/FileMessageService.java @@ -0,0 +1,128 @@ +package service.file; + +import entity.Message; +import service.ChannelService; +import service.MessageService; +import service.UserService; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.UUID; + +public class FileMessageService implements MessageService{ + private final Path DIRECTORY; + private final String EXTENSION = ".ser"; + + public FileMessageService(ChannelService channelService, UserService userService) { + this.DIRECTORY = Paths.get(System.getProperty("user.dir"), "file-data-map", Message.class.getSimpleName()); + if (Files.notExists(DIRECTORY)) { + try { + Files.createDirectories(DIRECTORY); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + } + private Path resolvePath(UUID id) { return DIRECTORY.resolve(id + EXTENSION);} + + @Override + public Message create(String chat, UUID channelId, UUID authorID) { + Message message = new Message(chat, channelId, authorID); + Path path = resolvePath(message.getId()); + try( + FileOutputStream fos = new FileOutputStream(path.toFile()); + ObjectOutputStream oos = new ObjectOutputStream(fos); + ){ + oos.writeObject(message); + }catch (IOException e) { + throw new RuntimeException(e); + } + return message; + } + + @Override + public Message find(UUID id) { + Message messageNullable = null; + Path path = resolvePath(id); + if (Files.exists(path)) { + try( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ){ + messageNullable = (Message) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + } + } + return Optional.ofNullable(messageNullable) + .orElseThrow(() -> new NoSuchElementException("Message with id " + id + " not found")); + } + + @Override + public List findAll() { + try { + return Files.list(DIRECTORY) + .filter(path -> path.toString().endsWith(EXTENSION)) + .map(path -> { + try ( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ){ + return (Message) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + }).toList(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + public List checkAll() { + return List.of(); + } + + @Override + public Message update(UUID id, String chat) { + Message messageNullable = null; + Path path = resolvePath(id); + if(Files.exists(path)) { + try( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ){ + messageNullable = (Message) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + }Message message = Optional.ofNullable(messageNullable) + .orElseThrow(() -> new NoSuchElementException("Message with id " + id + " not found")); + + try( + FileOutputStream fos = new FileOutputStream(path.toFile()); + ObjectOutputStream oos = new ObjectOutputStream(fos) + ){ + oos.writeObject(message); + }catch (IOException e) { + throw new RuntimeException(e); + } + return message; + } + + @Override + public void delete(UUID id) { + Path path = resolvePath(id); + if (Files.notExists(path)) { + throw new NoSuchElementException("User with id " + id + " not found"); + } + try { + Files.delete(path); + }catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/discodeit/src/main/java/service/file/FileUserService.java b/discodeit/src/main/java/service/file/FileUserService.java new file mode 100644 index 00000000..85560e77 --- /dev/null +++ b/discodeit/src/main/java/service/file/FileUserService.java @@ -0,0 +1,137 @@ +package service.file; + +import entity.User; +import service.UserService; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.UUID; + +public class FileUserService implements UserService { + private final Path DIRECTORY; + private final String EXTENSION = ".ser"; + + public FileUserService() { + this.DIRECTORY = Paths.get(System.getProperty("user.dir"), "file-data-map", User.class.getSimpleName()); + if (Files.notExists(DIRECTORY)) { + try { + Files.createDirectories(DIRECTORY); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + } + private Path resolvePath(UUID id) {return DIRECTORY.resolve(id + EXTENSION);} + + @Override + public User create(String userName, String email, String phoneNumber) { + User user = new User(userName, email, phoneNumber); + Path path = resolvePath(user.getId()); + try( + FileOutputStream fos = new FileOutputStream(path.toFile()); + ObjectOutputStream oos = new ObjectOutputStream(fos); + ) { + oos.writeObject(user); + }catch (IOException e) { + throw new RuntimeException(e); + } + return user; + } + + @Override + public User find(UUID id) { + User userNullable = null; + Path path = resolvePath(id); + if (Files.exists(path)) { + try( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ) { + userNullable = (User) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + return Optional.ofNullable(userNullable) + .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); + + } + + @Override + public User findByName(String userName) { + return null; + } + + @Override + public List findAll() { + try { + return Files.list(DIRECTORY) + .filter(path -> path.toString().endsWith(EXTENSION)) + .map(path -> { + try ( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ){ + return (User) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + }) + .toList(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public List checkAll() { + return List.of(); + } + + @Override + public User update(UUID id, String userName, String email, String phoneNumber) { + User userNullable = null; + Path path = resolvePath(id); + if(Files.exists(path)) { + try( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ){ + userNullable = (User) ois.readObject(); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } //user.update(userName, email, phoneNumber); + User user = Optional.ofNullable(userNullable) + .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); + + + try( //ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path.toFile())) + FileOutputStream fos = new FileOutputStream(path.toFile()); + ObjectOutputStream oos = new ObjectOutputStream(fos) + ){ + oos.writeObject(user); + }catch (IOException e) { + throw new RuntimeException(e); + } + return user; + } + + @Override + public void delete(UUID id) { + Path path = resolvePath(id); + if (Files.notExists(path)) { + throw new NoSuchElementException("User with id " + id + " not found"); + } + try { + Files.delete(path); + }catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java index 7eb291db..5aa29a95 100644 --- a/discodeit/src/main/java/service/jcf/JCFUserService.java +++ b/discodeit/src/main/java/service/jcf/JCFUserService.java @@ -13,7 +13,6 @@ public class JCFUserService implements UserService { public final List users; - //private final Set ids; public JCFUserService() { @@ -72,8 +71,6 @@ User update(userName, email, phoneNumber){ }*/ - - @Override public List findAll() { return new ArrayList<>(users); } diff --git a/file-data-map/Channel/1da4e1df-849f-4a48-a8cf-0cb2203fa924.ser b/file-data-map/Channel/1da4e1df-849f-4a48-a8cf-0cb2203fa924.ser new file mode 100644 index 0000000000000000000000000000000000000000..613b8c3663aee61e63c2f1f2deb0784d9b1b9dd0 GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxku;M(=CI$PIDzZx+-fx-jDE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxkus`Sj-~NmD{Z%Y23l{G2eO3(e4I9jI0BL84W&i*H literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/2df5ecee-173b-486e-8d2d-d12019d514ad.ser b/file-data-map/Channel/2df5ecee-173b-486e-8d2d-d12019d514ad.ser new file mode 100644 index 0000000000000000000000000000000000000000..b1adea657c18206d4c16cb78285f24078e1470cf GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$zg5*_^wYp#5yc4(f$SVfDE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxk(CsY5WTUwCmb>K2826u!O~oMJu)!<`0Qw_@+W-In literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/6a51a61d-7938-4f3d-823d-57d267c1e958.ser b/file-data-map/Channel/6a51a61d-7938-4f3d-823d-57d267c1e958.ser new file mode 100644 index 0000000000000000000000000000000000000000..cc0e02e5b864bc5fa570eb9e92dde8a7ffb64af1 GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxk&}18aDgEHfh^)Y6vXvJ8w#6Xdu)!<`08vGTkpKVy literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/d2cb0e57-d07e-40b6-9528-350d65e3eaf4.ser b/file-data-map/Channel/d2cb0e57-d07e-40b6-9528-350d65e3eaf4.ser new file mode 100644 index 0000000000000000000000000000000000000000..f9fb4dda04c21bf5e3217def21e4ad20b920e6db GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XX*2Q* UAzli0rY&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-jHCD!%< z-C3TWpHk_NoS%}KS)!Mmp9{AD z)y>7pMR0e~!PQxCGD#)%w!80r@B6v=7wBmM28)s7*z!`Az@jt)t1dMCgi&Nc7ZFVN zgpQ~k(KxhS8Hf8W=uA)^A+-NV159`&5+2m140&XGUhk+d8R}TZte=S?OHSb&hzqTh z3l*_G73^=)$W%}Scd_g>7aCcCR_nPcpf^e!tHiM?oXO|xWxDlFKyyGJ(I{hi0_JjQ zk$5@3*)*;{CIlc?0NVXqzW!Qpo=F*u4}2Lgj+QS)9Z;fMCHmvt%J;3fun7S;K6Hro%aUI(FBo!{Qs-BW4#k-kjUE9n<0Gk;A0 literal 0 HcmV?d00001 diff --git a/file-data-map/User/a85d966f-1f89-491e-bcbc-6b29ef9003d6.ser b/file-data-map/User/a85d966f-1f89-491e-bcbc-6b29ef9003d6.ser new file mode 100644 index 0000000000000000000000000000000000000000..1d0c39eeab5e6edc3219322628f6a21ef1be1c27 GIT binary patch literal 393 zcmZ4UmVvdnh=DsbuOzdiQZKYPwTJ-%7?~K@eHb{Ci&7IyQd1mDN*DxuvJ%S@^>Y&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-jH2{v8< zy0bh#Kc&(kIX@*evqUdBKNoHR$mx0@r|+4`{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA x7Xx>0KAcxkuxC%U=KBfE*H*+%%a`x;lq+H21RHN?WNcDU4Dt~x!e&;m6aZ*afSdpT literal 0 HcmV?d00001 diff --git a/file-data-map/User/c837be68-a1dd-4d70-86c4-1604e4d4a5ec.ser b/file-data-map/User/c837be68-a1dd-4d70-86c4-1604e4d4a5ec.ser new file mode 100644 index 0000000000000000000000000000000000000000..dc09ea42daa32cdc6990337aac40bc3b91630098 GIT binary patch literal 393 zcmZ4UmVvdnh=DsbuOzdiQZKYPwTJ-%7?~K@eHb{Ci&7IyQd1mDN*DxuvJ%S@^>Y&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-jHC71O8 z-C3TWpHk_NoS%}KS)!Mmp9{ADYC_F@)!y^B2#P6HJPDFqaOKoJ)} zIRae@nw$V3K|u+kq{ViS!*nx${`@z?FVK@13>G2Bp6MnmhDm7zW*w+|F{8+Q8xb1L zA?;Etq)}iwG72^w(3zk-L|FPKbui|oNVs2_QsklKy1P5M$xsI}V(nDyvG@p1fH*Lh zaG^rhrh@%VYN_(`U>l2GbD);yXqBF+9D1R^F$)~C#OZ%rjW1W;2xu+PyEIH$7DHpY zG)X)k-Ygr}?|lN0DFAKoa=N&ma~@0S_qIIgGmfSwMHNt>n+5vQ{mjpuII{?l7R-l? wCfMP@Hpip|hLBa4sf*^P`!ISQjUR7UzhCVELcKh{)?D9EN%4_BP1Z~47losO1ONa4 literal 0 HcmV?d00001 diff --git a/file-data-map/User/fc327820-618e-4da3-a3b7-cc0a7ebb7ef0.ser b/file-data-map/User/fc327820-618e-4da3-a3b7-cc0a7ebb7ef0.ser new file mode 100644 index 0000000000000000000000000000000000000000..2310b1436c808b06f1237cb608942474f8debc2d GIT binary patch literal 393 zcmYk1u}i~H5XLW0f^8#G+y%is!RqE>i;E$4DcyZ0kN6}n@0na`x@6O(&^jn6j$OMu z=%3KPz(ogF!Og|NB$d?L?!No(``zpl^f&^8g~)Me_G1>oqBH`l4%FRH`d^!FXmnV>vC*!U;)Fyf_1xL27H zPyy>w!Tu(-M0t5|8;f3ZpqAulm7b~`dcD9g3mmh=8GYQ$C);lXG#m5*4HA|{&|EGp z60c`>o5tWnRIf_ODVnKfh#@6(R8J#0t$4qK!15y`Mwud76D?zTEJ+G uJ??in#x@v2R$Z#5PxD6hoPGVY(k(hZo+8xC^E<8GJrx%p>C0rjlzstph=DNx literal 0 HcmV?d00001 diff --git a/file-data/Message/5509a31c-15cf-4df0-9048-6f9be846f822.ser b/file-data/Message/5509a31c-15cf-4df0-9048-6f9be846f822.ser new file mode 100644 index 0000000000000000000000000000000000000000..7fa0f29cb863034801613b7b1b23edb0d374b715 GIT binary patch literal 340 zcmZ4UmVvdnh=DIPuOzdiQqMQFxHvIAl>q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXt|uEq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXt|uE)uUC^@7 UHHkAe{ps|-T~G{iH5<%m09*TaE&u=k literal 0 HcmV?d00001 From 8e2e08314aaeefaee8828d26c76bcc386b16d89f Mon Sep 17 00:00:00 2001 From: yuk seon woo Date: Wed, 21 Jan 2026 19:02:06 +0900 Subject: [PATCH 11/17] 26.01.21 --- .../executionHistory/executionHistory.bin | Bin 63572 -> 71748 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 21947 -> 22247 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 31145 -> 32437 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes .../classes/java/main/JavaApplication.class | Bin 6126 -> 6137 bytes .../classes/java/main/JavaApplication2.class | Bin 5893 -> 6346 bytes .../main/repository/ChannelRepository.class | Bin 126 -> 489 bytes .../main/repository/MessageRepository.class | Bin 126 -> 489 bytes .../java/main/repository/UserRepository.class | Bin 120 -> 471 bytes .../file/FileChannelRepository.class | Bin 320 -> 5013 bytes .../file/FileMessageRepository.class | Bin 320 -> 5013 bytes .../repository/file/FileUserRepository.class | Bin 311 -> 4977 bytes .../repository/jcf/JCFChannelRepository.class | Bin 315 -> 1751 bytes .../repository/jcf/JCFMessageRepository.class | Bin 315 -> 1751 bytes .../repository/jcf/JCFUserRepository.class | Bin 306 -> 1715 bytes .../java/main/service/UserService.class | Bin 572 -> 576 bytes .../service/basic/BasicChannelService.class | Bin 0 -> 2994 bytes .../service/basic/BasicMessageService.class | Bin 0 -> 3154 bytes .../main/service/basic/BasicUserService.class | Bin 0 -> 3320 bytes .../main/service/file/FileUserService.class | Bin 7931 -> 7939 bytes .../main/service/jcf/JCFUserService.class | Bin 3873 -> 3877 bytes .../reports/problems/problems-report.html | 2 +- .../FileMessageService.class.uniqueId1 | Bin 7978 -> 0 bytes .../JavaApplication2.class.uniqueId0 | Bin 5893 -> 6346 bytes .../compileJava/previous-compilation-data.bin | Bin 1391 -> 1628 bytes discodeit/src/main/java/JavaApplication.java | 2 +- discodeit/src/main/java/JavaApplication2.java | 54 ++++++++---- .../main/java/repository/UserRepository.java | 4 +- .../file/FileChannelRepository.java | 73 ++++++++++++++- .../file/FileMessageRepository.java | 77 +++++++++++++++- .../repository/file/FileUserRepository.java | 83 +++++++++++++++++- .../repository/jcf/JCFChannelRepository.java | 34 ++++++- .../repository/jcf/JCFMessageRepository.java | 34 ++++++- .../repository/jcf/JCFUserRepository.java | 26 ++---- .../src/main/java/service/UserService.java | 2 +- .../service/basic/BasicChannelService.java | 51 +++++++++++ .../service/basic/BasicMessageService.java | 60 +++++++++++++ .../java/service/basic/BasicUserService.java | 59 +++++++++++++ .../java/service/file/FileUserService.java | 2 +- .../main/java/service/jcf/JCFUserService.java | 2 +- .../15861b4b-ec0e-4a5e-bd05-ab278ae34345.ser | Bin 0 -> 380 bytes .../5aa78579-93f6-4c45-a5b6-a3cde054c914.ser | Bin 0 -> 380 bytes .../6d9e7d1b-1055-426b-acbe-80f14ae58a7f.ser | Bin 0 -> 380 bytes .../7c81b605-2068-420b-8eac-a3d1a0ba9437.ser | Bin 0 -> 340 bytes .../90fa7300-4200-4acb-8825-a104717191d3.ser | Bin 0 -> 340 bytes .../b17935b5-84ba-4e68-a96f-8b588e3a636e.ser | Bin 0 -> 340 bytes .../1e77a4b2-24f7-4e4c-ae23-e3cbd9cba8b9.ser | Bin 0 -> 393 bytes .../569656a3-8cd4-4226-b261-d60fca42ca6f.ser | Bin 0 -> 393 bytes .../8af9ea44-487d-4e25-987c-d2f30598e040.ser | Bin 0 -> 393 bytes .../09ab743b-266a-4255-8c23-04d09396153a.ser | Bin 0 -> 380 bytes .../21d15384-3ff0-47ee-8d27-c17e6f17b1e7.ser | Bin 0 -> 380 bytes .../4213bbdb-1a04-4d01-bdef-912923c354eb.ser | Bin 0 -> 380 bytes .../4a55f9d9-4873-4bf1-b5da-00e40f21ca76.ser | Bin 0 -> 393 bytes .../517f764c-4a66-4f89-a283-52e235c43527.ser | Bin 0 -> 393 bytes .../58fdcda3-2e8c-4cfd-b7ea-533fbd2cffa2.ser | Bin 0 -> 393 bytes .../5c4a0b17-b6a1-453a-8b64-f4b73e97c0d8.ser | Bin 0 -> 393 bytes .../6c7d6c00-a4b0-4fa1-9208-b2ab1806c053.ser | Bin 0 -> 340 bytes .../8bd18566-12f6-4076-903d-638ecbd960f7.ser | Bin 0 -> 340 bytes .../a75e7191-132a-4835-96da-b42e665d1abe.ser | Bin 0 -> 340 bytes .../b13b756e-d4c9-4750-a8b1-489ec07965e9.ser | Bin 0 -> 340 bytes .../bbccf9cb-d1b0-46b9-b233-d2d2aaaa7663.ser | Bin 0 -> 380 bytes .../c7546cd7-5306-4f4d-b81a-bdedb8c7fc0b.ser | Bin 0 -> 393 bytes .../c9293b13-7fe8-4a53-a872-67c3a32a1f4a.ser | Bin 0 -> 393 bytes .../dabb0ca7-3c0a-45e3-a776-deedac7bfdd1.ser | Bin 0 -> 380 bytes .../e5469010-771e-4e29-af85-5ed08e0e18e8.ser | Bin 0 -> 380 bytes .../fbaad7fe-c4e4-4f86-88b7-82e395fb8855.ser | Bin 0 -> 393 bytes 69 files changed, 518 insertions(+), 47 deletions(-) create mode 100644 discodeit/build/classes/java/main/service/basic/BasicChannelService.class create mode 100644 discodeit/build/classes/java/main/service/basic/BasicMessageService.class create mode 100644 discodeit/build/classes/java/main/service/basic/BasicUserService.class delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageService.class.uniqueId1 create mode 100644 discodeit/src/main/java/service/basic/BasicChannelService.java create mode 100644 discodeit/src/main/java/service/basic/BasicMessageService.java create mode 100644 discodeit/src/main/java/service/basic/BasicUserService.java create mode 100644 file-data-map/Channel/15861b4b-ec0e-4a5e-bd05-ab278ae34345.ser create mode 100644 file-data-map/Channel/5aa78579-93f6-4c45-a5b6-a3cde054c914.ser create mode 100644 file-data-map/Channel/6d9e7d1b-1055-426b-acbe-80f14ae58a7f.ser create mode 100644 file-data-map/Message/7c81b605-2068-420b-8eac-a3d1a0ba9437.ser create mode 100644 file-data-map/Message/90fa7300-4200-4acb-8825-a104717191d3.ser create mode 100644 file-data-map/Message/b17935b5-84ba-4e68-a96f-8b588e3a636e.ser create mode 100644 file-data-map/User/1e77a4b2-24f7-4e4c-ae23-e3cbd9cba8b9.ser create mode 100644 file-data-map/User/569656a3-8cd4-4226-b261-d60fca42ca6f.ser create mode 100644 file-data-map/User/8af9ea44-487d-4e25-987c-d2f30598e040.ser create mode 100644 file-data/users/09ab743b-266a-4255-8c23-04d09396153a.ser create mode 100644 file-data/users/21d15384-3ff0-47ee-8d27-c17e6f17b1e7.ser create mode 100644 file-data/users/4213bbdb-1a04-4d01-bdef-912923c354eb.ser create mode 100644 file-data/users/4a55f9d9-4873-4bf1-b5da-00e40f21ca76.ser create mode 100644 file-data/users/517f764c-4a66-4f89-a283-52e235c43527.ser create mode 100644 file-data/users/58fdcda3-2e8c-4cfd-b7ea-533fbd2cffa2.ser create mode 100644 file-data/users/5c4a0b17-b6a1-453a-8b64-f4b73e97c0d8.ser create mode 100644 file-data/users/6c7d6c00-a4b0-4fa1-9208-b2ab1806c053.ser create mode 100644 file-data/users/8bd18566-12f6-4076-903d-638ecbd960f7.ser create mode 100644 file-data/users/a75e7191-132a-4835-96da-b42e665d1abe.ser create mode 100644 file-data/users/b13b756e-d4c9-4750-a8b1-489ec07965e9.ser create mode 100644 file-data/users/bbccf9cb-d1b0-46b9-b233-d2d2aaaa7663.ser create mode 100644 file-data/users/c7546cd7-5306-4f4d-b81a-bdedb8c7fc0b.ser create mode 100644 file-data/users/c9293b13-7fe8-4a53-a872-67c3a32a1f4a.ser create mode 100644 file-data/users/dabb0ca7-3c0a-45e3-a776-deedac7bfdd1.ser create mode 100644 file-data/users/e5469010-771e-4e29-af85-5ed08e0e18e8.ser create mode 100644 file-data/users/fbaad7fe-c4e4-4f86-88b7-82e395fb8855.ser diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index 2bf8f40919190d9bb3f0e995f2cb88cbb4cc37e4..d3653037e0bd383c66e896c305b65b62f3a46166 100644 GIT binary patch delta 2202 zcmd5+do+}37@yB1N$HD>ai7wZC^d~xL_{vhCAy=Xrom`jCp7NLt+j5wNF}9^)H0e) z7sjO_HSV{uHEp6Tm*f&7DRw_!yL&pP_UvD~Xa9KL^PcB1sO&`!Q6*7n@<0KvDK_QAF~`?F*rt7f>h0z2=0|4e22z8_?sPvN z>d~X_s}LAvnRAkbSVe#(?p zQ`j_=0gUV9KvmflL@P7O~d`B)HmuAs~EyC2q=Mj{Kzyf|YtUprltCK?o zVTGULp5?*W79gj88Q}91;E0*dfn?DDKLm2yXD}HqjwG^R>4+;nvIp|rs1g_Zviv-L z14|py;R%oV24T!t+=ng74P!wz`Jl8R3GSV6(URfCY14OmMJ_nzS;k2jd@l}92D_`{ zjxWOxn-OYL(=&{L@_|s$)vf^6j@8O*;>@PQR;9~^K9FuQ^kbw6-o%Y@$)lj5Lj%7} zk=I5!>}gkwxm0#3U`IPIck&sRJb(pKokZ21gVna?(^albr-gwpF|AH<9}`Ep>`yTpU8ZOQz3sZh;0 zCmY3&t-@m9i@JrTE~NamsbRxnk&!G(@UT-I&vT6Md?|iAZOyr2XPm9MV-Z^4wHQDG zRTYz4eWq2jog4DTL#%D2AiENjscSKmX}x_1C=uYas*)a>=Vo=+YRDHQ>$k_IC+E%G zg|ir;3+y+1qbT<(PwfoOJ?iOjJ_r*i;b&RQ!s{dIjk@gDOrD*r=nPtq+`U+U*SerM z(?S%Qj)vAoh2#uYOhlo{E-ccFm{|PXu|iVEIB|U7h5wZjFeV^zTqlGOd|}gu`+KAd z%&N2C($ZxXRh-tcc1X4Gg+nh-kI?LGa$QU{+bjPuI{6i;c@QFf1F&^U-iD09sP!SM zdv09__V)^)Yzhd_IpQAZ%kc2^*YjiQ(Y=Fwbzo5y>-6EAa>)9oF=6+&e{ z!b+JBDRKzCgAlA!euMNX@u0fIl1mOAv8#yS`NI=3;Wn9ytDAj2f60r+GjAqH{qMd+ zqJ7fx1qP(#iD#1b*RxM4{r#7Sm!1}5-N=>RX%=DKQoZ{YNEswRgCObb~3wT`c1B!G3x(#U=e5O+fGCQr!0a`(R8|ps z+!>8^S;58}P41%^tLC1}aW44-INza!ALv((sjolD-c;l=85BsgX{u?S;*$9!(Acs1 zzcrFK=v4ojk?_2KG&G9#a8;n+(|^KwTKEp7Lyg4BGNx_j?wVsNrzdu;q#0EHqmh_$ zpKC~mx037Aoh{Wo+3~e+(PpTT*e|L5Ftjo0-7el`+IvEGH75QK0bpWL;Xvm<>(Rad zr#3T8Sg5O6J{&W$kL~OvIxG4q1(yytBa zmVj~=4{RsG=l#%|ISyJTRJ7Q@q;lAKw+@LCzTcvR9d;2(aLK2P5b#g;EbQPD^&400 zwL8S1HE##0X9=L{J`5~Hj#{}PiAJ(V4~CgbL}x@-x^~@0ae1l;ZpN;$e6q5y;;P}t zkujOQHNdt^0}P8)jB;E9LT$w;{fDg%%oe|9yR@Q%R?R~&?}n9ylP_~Vxvy!e$fsny zMM7_tAMdzkClD<4pp65pdfsOrjvOg%olPiM#Sx{jh@m~2Pf-0nTQujxYD2#R1_m6q delta 308 zcmX@If#u2v<_RK<91}&88A~@#>=2*0Kw`3_gcj4Sf16z;jvjK*o}E;fQl4FwRGgER zUS5@%U6E3eYFt#9QBZ0k&^?X8WJ1VP1%sYf`>GR!JO40Z2yI^Q<0{)``A5Y}Len0( zePW(!x#IPOH*;VAyZx1M+VqQzjH1)|nHcjnzdjzxDllb3^FoK{MbGZ4Ow3eoY1+Ga z!mIDB0>?CqbeuwF-dd)V{j2puo!w-a$ePL5FH26Z6=0k^dH+WviD$Dk{_lLVI%gSg zz|Z29nzf6jKDfNsxK(fS*(+R3EC;qt5f*YbU|TxIgXi=V;9yys$JWMGiBNI!FOvh5FX0JT<< AasU7T diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.lock index 28229faa9931668b478e9749c1796ec68cf3a0b3..91ad2a150de01988c2a11c5a374640b72e6ca8ec 100644 GIT binary patch literal 17 VcmZR+DltvV&28_5E~ThKX*UprV13 z|4Pl|cbu`m;K8vwP_eC>d!;oQ`2{Z@y|-n-Wr$$t+s$ibA{Yhomj`(SS&QaEl{QcQ zD{CQ88ggDXVj6c4RO#-?x^i7i?2;Q5e~2$M5ZvtOk-!{u=xDd}lchx~^*&x>D>+u-e{yL#jwdSD~NXLEQN0AU6Y%!Z9{VbU3gKl>J zV7~tTaap2%Mia~U%* zbyV(cP@c_a>33!aTW$ZVB(O{F{uYr1s;mcMPIF8x5s{xUE5I%~5yh>e`Ax@_rM_=} z&aY5SJGbSgBUne&n|6o}ruyHQmTdn#S7Y(1Bo(zcjgMp>p8`k8tsR@YAX=~mut?t= z#hJZZCj1k*JbPc1&nl?j7eIAjiNt%0+gwg_9NRhBHz=mwM%q?((ygw?YmVQX(mPoHkuV7e~$TX~tP4@d_vZTUfTNSwmd;UIPRQeu3T z|9Xb`yXTj>0dqRz?AvoEIRjOK(g5R2Of3(i4*I$NIuLiR^LE)|hKs-$1Uiek78-QI zQ!#Z2Sw5b?sSMk0emY5pjA)mFO<0#bcZz1ktygqqvNQB+JG(#SUfV>{2 zts5pg?td2(WMY_D7va8fLoLJzLr~TR0(s`i!J!%T#y}>bsIBI{srlG?g;dj#v!($z z(!dVASDe)X*1^Eq2BgtK{B`5owFNzf-`#&p?OfiMDG9dZ@aYdROf7%kDR7x-?RnSwK72z=$ZcQ}2Bx;++f^JF!V-*49ve|qJQk9n&> zijH|-%!4RmIy$-2XGPG;^`<8hqTcOpHMn#9-|M#~AVs$ldfXt2#NPpFG`nwX`Lv-T z^Fm79u1i&%ZxxnWfZc1=fk3Y~WKrgx8jey#1 zgK2D${q_%954QAc`94~%GWp;|utO@iK0|b{=5LntvtX+C6R=NG&WkOTI@R8G(?(Gj ztSYg}38G49J*K(4e>(7#iijkxsC*&FU+wV(q~pd1=6Mhu3=Wt&LbMjI*yd<_taHXU znHkFthJkf_)OZS1Sr5|Xim8R2eP?y2b51VT5ndIKIo8z>Ej_@{1OqHOBBrpGoO{ra zWbx0p4O#cEg$mYpjxo#m~u_yu4519`5Oz4CzhwTgQNQ9hBPy%4tq>H?k#R} zIn8lw=VafYn0n7gSt7=hgFks_J*&H@Bjp9M@aFZ2i4g5V!0dw_bkAmK{NMRzbEzutmJc`2%MoGOb@)KrIP`>afPt zvGe)v*`D90qza#Nv5;uF2~79E@HMRuhU%!tqD67pR+l~g6%#F^7e9Oa9EEl0c}LQbo!+5pu7Eg%@Mgm0qY(KKJxH;NLB7qaf@YwZSRDxf7> zq7Oja#ZWPMZ%Bk4Fj|3G90cU`fCO4#IPDiHnC|gQZZ=cF#GiNWeFqzH^F diff --git a/discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock b/discodeit/.gradle/9.0.0/fileHashes/fileHashes.lock index cd1b6144eff25e7738b31948998c64faaf4a3cb9..157ea514720ca738df699823d2cc469ee7f8e1a3 100644 GIT binary patch literal 17 VcmZQRbX}kS>TTwg3}C<&2LLuW1fKu^ literal 17 VcmZQRbX}kS>TTwg3}C>y8~`?d1m^$% diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin index 1e3b28a4e029e1ea8b0dd245f4bbb4e02140d01b..baa515930def87303a1146957b0a56e4d11c9f73 100644 GIT binary patch delta 2090 zcmZvcc{G%39LHxSt|ZMAWbWNMr-G-+mx8C$3`QZI43 z=vJ0wIrOG(8XQU4vL}ixDSJCvn%r^UcXF=xzUMsue4fwm`~05gea@5n8DApC7m+mZ zSD;NAm4HRNynkWy81CPXmjz8|^aE!&l=4rxB!q=qLe*<(0o4RjWNaCPFm4VMqbUGW zS8Iu~^;!=iFia5^YaSzjH@|E5w;Ku?5z3x`Janjl@7u=rTNkIYh)dCH|qr`IMOw^o% z)Ac(EU>8F{JK<#F5!4)m1K0kA2m1nv5&67$ON4S>!m`FecyK81L`=@7iPI!EEb$j&y>ZU+}>-xZD-D00Nb59V4|D6SLb3y`gw*0XFL5wJ!@8ge%OcQls_7Vew_H66lc8iQfvHi24=pz7h8+s2 z^XO;P=6{X!>Jfl&-V<1HeKX$FrhApBOnY?}LOEioz1hbz%~)0L5NeM=&o=A@?Rym5 zd*9WdkQ)Q(5bc0)Tfg#h(GVhX^E7bBi0yxP{B}UP2C=U8a2lAc9Y`+FRWbo z9sS}JT&$sWepI0&;+C8{mFTKb11BvS8qzbkr-w z9{)eBmb?OOmD6%u?$Avf>%hxGY(|{YEPB`F3$OW-E*}(y@)(qinUQq@F|X?BsYT<*zigJJQ`f{#`x&3*@Sl8$^j}ndG*U(< zYbNe6^aLaJ6ue!_#2WnK2}h4_$$m|2_;r2duhUp#+RRdD8ywCyuFoCnw-{-|N!DM| zYX!qK87G^(+9#5lUT^K@iw%jsDe7xTv!s_r3o2R!aZrPm&}1kbvqc+QUW24EFWv1q4WtBjI4Q}xByN|8F&2&kC+z9PMi%B{0% d@1ma%!y4hcQZ;{W3Odn~6|E7He_mn1_y?G`a!mjL delta 176 zcmV;h08jt5{Q;@-0kAX}0d$i!7{QYc8Q7El8Nid)8h5j08(0F9)g4KbHXf&w^&Vlf zZXY)Rlf59pvz8&x0<(Q2m;tjbCTIb(ttXfPvt21@0h8S-*t5+maRReeE;j*_r7x(H zWiWWN4Kc_8lLa$KlVvk8v#v8Z0h9hTFq1|#*ON6isI&Dpm;sZeIKi`iIrjmRjXSB6 ePCOTrtvq>?K0WV~MLuc*BJr^yAPuuYNN6#j*GUWj diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 8059a76674be5de11ff5aacb83c5193915625fea..8a1110425edbb6513de638a373c3a545b2e0ab0c 100644 GIT binary patch literal 17 UcmZRMC~iIDui%);00tcQ04iVv9{>OV literal 17 UcmZRMC~iIDui%);00ta604eSRtpET3 diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe index 7eaa0b8a6091d00b52a27d50e7757c60e8aa8f3c..4294c3820d6d82467c96685a66e1f7d9339ce78a 100644 GIT binary patch literal 8 PcmZQzV4QuAxhfI>2jc=! literal 8 PcmZQzV4Qu^SbPEi2hajg diff --git a/discodeit/build/classes/java/main/JavaApplication.class b/discodeit/build/classes/java/main/JavaApplication.class index d6a4131a9291e572b456f682585cd86b0a22b537..1ea9f16ab1aa8f8e15ceae379f5f60200b81442b 100644 GIT binary patch delta 2032 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 F#=ojE8TtSK diff --git a/discodeit/build/classes/java/main/JavaApplication2.class b/discodeit/build/classes/java/main/JavaApplication2.class index 512ac2e7b62215bc168b647137e8bcf57b0b27c0..2753be0d98e155a76ace023e2a359784a5ece7a0 100644 GIT binary patch delta 2859 zcmaJ@30PEB6#nlpGw;pt*ajCyLlGBX*wp091~U~kEj81mNb76F0VzZTTrI8#z@C*jy*}8q+?ek^K zVofrG03^j zlA%S8DNZvU#sUQk)f8iA(_%a!VTporHPaZ|Wf?=bw_339cf*>LV64DO z39A%DV70p5IMKKU9VJw#Op20MV4Z?OtS9P8i7Sw1fr49QY$lwhnssMuR(Y4~)5r;& zD$Z^TLmy(-b+yst8tE)9cH}zK%~*q{6>Q@~B_f(V*->Ia2zv0<$6FA}QFoFo-bKs2 zrL_{CV~8zs7EUeBE16m}J2fXS-L6}8nX#JNj5^dSFknB0#*gr^adGY~ zDW@l7O7JjrxdvW_MzN-9Q9>}`&yv3 zDn9*c8P{GjaJE&AW*o*5sRLeBa1^gmyWH-W;TTw0n4g#JD9M{z&|A$krOAi!hJs^w zQ&mm<>ESH}Z{r>Hq-mpCBgd;n=Hu!aIYsRk+^BXkrPN&tPGqjo=_H)La)yro!-FA$ zI;~|3(EbEwwAPZ6rf6*&xQs8Uz1EMdv{Iu((!-e9%z~LBu@D7uEL6=6Ig%F6k6dMy zw`zWjci|@LZF>xpnS~+hs&`AxxeZI>o62{bt=*d-X4|L_hDK+!3&>o&&RbO>=Ar_; z3#z?UmBQPBduvOZN>>K1a)Wv(G@5l%PlZMgjR}bGqs0bz{b=17BAa%u@s?N86%`2B zLme0v!{W)d>$a_#uB~ObA3aH}42xr_>X9%T>!n@@OO8AY9bJ@w3`Q+zB>S$K8s0AM zJ@WAH-hGgh(WF*pdJY}4~iK^?LlO+2YneDP@?%0>+z6f zx@D$iwg-+jdf#O14{h~9+c^zLD~&G!Qca3Bw}i*rXXng z&}#umq7suymQ*URCkfPx%Ii%6^`SRO8p?1J-M)RX7B^!j>;VGp!Wn!k1lok}@VyXd zK7ODP7bq7$3W0Jk7-z|+Cxl2eT@^^v$0fqN#7CR-3W3hyJQoOH4oZ`0i7jqCK7#&7 z+AK>GlRQ|i*VL+q>PF`VJgHTmOwS&y)%k_erZ;HQ9&BW2A&Co>{!Ggz51tBw-N-dF z)?;e}p7GCm@T^dkLr6SA@~OIA#Q0UU(|Zc&Pt0#6?gOakfz)FeBh9j1(1#KglQYmK2I>QI|<(F&B!n zpv0RQ2x~qOI^T(q`Ms>|6>cLEBFbjjK|P!8fsl@+D zO4^SGyP**WvXYa?`;y&g)w}VEU9uY7c-<~rjaJzzxpCZ2*9J4;=TPCfaD`(sqA-oF zkRm#o#dP#$QYX!#u9<^7=~o=T`6g(Da0UO;lZ;^uj6Mj*0H$L>q(T(kBYI{a9b%Cp z_DxS{-NcbK5N4Fn!AQsvVlO4aH*-bi5nK@C7od(wj32%U2xBI~*KC9sM+)0k*!IF& lh3zP8w6L9p?ILVfVY>?(Cv1YSi7c5`FcW$T>&be<`X9VO`aJ*u delta 2450 zcmZ`)c~n$Y82`P;n}y*4vj{qff`}r+ZpYHWrL;^FIF;HtWJjArgHl8UWScdpU?hs# zlSG6>vs}^y5uAavEVZJ2vE9lRD`qG&TP)MQd*8so(f*k4-TN)S`+dLreRsMtDpL(z z7dj3Bm?Vs9G1x^($}cEt%@WUw+6)v6h*NG9qm+djYs`HDwB4<3zU}3D+%G^@*S=-D zdusRS@u0F<6Rmw%#&uYt9M&wbJ}Se790B@;&a&wxj=P-(+=ZnwmMIgoF~N_aN{7c~ ztW+G@xcF59jK10`Z)I&yZJn>e?W4pm)+@4Z zNJtGf$jCrlZ<^<|`ZO~_Fq#FAGegD{JsJtz+g#V(yw10>&0AgNt=`7LH?v%ulycn! zmx8S_o@UwVDBHY6jxsYsRg`&VgfWyIRK0J-YF|Z*4!Z99vY%q4Eq7CDNFoP~X!yUEjq=F7QeJ4;I)3!Qzgd$CW32CV|p$7J;a z55&vt)Avg!Gw~J!+R(1U0U2(1h>sf_iyhY#7Z(=fIm!y|5sStuCk-|O^XioG0uCz2 zL(=*7MHw&QuyRONx39=Jf}_gO;Bopkyei{0ysn6b$+USx#+!IcnPJ$Zgobn}I@!~D zT22&{ePQFnao&J`aY2WRG7ici7gg$R>SM^g!G| z8pD-TQ-U-?z$j&Y_+X{jWE4g!OHC=3Hi$IBfF1&Mh?eBr%3)Jv!aJm6J5Uq9OH$@* z4c^21+?%?A`(7{|b1~nsqfv;toV%EuvA6Vc3e{*iT*z zcQTy<>YfkqA$>!!1IO_ZA=^-mk7*?mLJ2;>rwAg9oA4RwBto#@bJA(>1rSHa^tzoO zH`RE8jC$6QJWZ!%s_R~$9f>v%N(AKWgC)g-@d7$fs_K*4ai_V=yx9DJ2M=jrm&nB` zwc`=#AZF$Uv1R#eH|BO=c_6@p3K1%#UBd!2e$Yzp(?T@`LFLEA2pUNx##8B|slWsx zXbhE?NCYJzAIYdhD%Kzk8<0*9K}J74+_EtjMBYw#{6flR0+Hqh51tBwUCTJrwqr{Nwgs#nJi}RK5IW|e z^RxOa_X)6Sr|tyCQRY`t?pIOK<1q?$qAruDn20P)!hB3YA+CmN38rENu~kE+CVIhH z``xUTj34kL?IbkfCv+1bdTfN3Rw6;xz=s~9jsDf}Gp!_oor_;MyM=W4Y0_!Q%Yt7? zr(-S28CSi|5Y5~chBIW;vuBXEWO`&QpBw`n0?eSsn8{OO%?yP1O@!#52t9i<)w{y= zlmz#(nYUBV=6T?xtdg23P~`2Vf@TwF&H&KfE)sbcxmcm}`1(=H2vs78cy{wN4ax1W z{@?wxJ5Y}bBWf6tCd{Vxp2Lr`sW^UG3DMuQZ1o$TY7^1rb8%jSaTdS(Q|P2X_8??- zVrT9FJeSpp-SmAvyAykJlamghB`3*^{mE{0q_}a2)-T&7+8wiNQmh)Q@*sI$0!qj;7GHFi?D~5GTaL`X6+peuV%4 diff --git a/discodeit/build/classes/java/main/repository/ChannelRepository.class b/discodeit/build/classes/java/main/repository/ChannelRepository.class index 697729153f2a822286f987438772269012ad4c7b..8f9f142364435afdd2846f80e05d712a6a1160df 100644 GIT binary patch literal 489 zcma)(PfNo<5XIlrwrS(P+KMMnA`&m=Dzpk}5ek8Vr5?Pk&04oCo04pb{c0Zk0R2$n zB!wuAg2#FLn|b?YR-f-50IqQ8ph7r~Y?`S5t4(_?pK!ne~m!=hKq->l9bMF`uj>bjrVZBDkT{(#k)P zM@B|b8c*cC(wyn2wCRg%4|M`zi;n};c=0vVksZK6gY_n>6}Vh)W2dNhx!%Km&b4sB J42R9h&KI9`gcAS& delta 33 ncmaFKT*r0l->!WO3=Fmm>=U`HCYLknb2Bh7GOz-Lm>Adqu>A)i diff --git a/discodeit/build/classes/java/main/repository/MessageRepository.class b/discodeit/build/classes/java/main/repository/MessageRepository.class index d8530dd930849890dd2e502f7f5b0a41caf4a015..91b84d2f16e9e3dee2e30301f3e5929e565633c0 100644 GIT binary patch literal 489 zcma)(PfNo<5XIltwrS(PYQ>W$5s4Rb6{>fFDYn zM2ONTc$~MtnYVA|{p0lwzyl@9AkZDF z#7LKCY;yLmrt?+fOCIAD)>m2!>;^xbB4r&vAJxQPr}*^3y#0#Mum9#zz>i6jqd$=c zM#gELP3cx?&a_|K^l7n&wt&DI9|vgh;#+8=IDm%^>s?kG@VQ>cMpbWey@l

tTl( I4qKA_PxWDhTL1t6 diff --git a/discodeit/build/classes/java/main/repository/UserRepository.class b/discodeit/build/classes/java/main/repository/UserRepository.class deleted file mode 100644 index cd83ff2c84993eb2d1ab801829a76d0bf4cd61b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 471 zcma)3O-sW-5PehIrj1|KcoDpKk@R9to}z*xLLpGF#DllBS<99sDcMbF|C$GXfImu{ zq)-}y;PJhAGxO%n_s{1SfIFNyXc5kHxyX#NS-uWpBlDLnbkHUY=3*%VEz(&qexJ*! zCGiWv(jwZt4DiXrq(48_V^V*hm-E0%h+MmLXUADF3Jz=<6z4lGCsm_#Sd`8T0XPt G@O}aH-+f~M diff --git a/discodeit/build/classes/java/main/repository/file/FileChannelRepository.class b/discodeit/build/classes/java/main/repository/file/FileChannelRepository.class deleted file mode 100644 index c73fcef7b434d196b6cd5e2976d91c5e10ffd6f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5013 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 C@(4Wu diff --git a/discodeit/build/classes/java/main/repository/file/FileUserRepository.class b/discodeit/build/classes/java/main/repository/file/FileUserRepository.class deleted file mode 100644 index 7066bd2793826004d6c453972e2f30bbc6e87a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4977 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 diff --git a/discodeit/build/classes/java/main/repository/jcf/JCFMessageRepository.class b/discodeit/build/classes/java/main/repository/jcf/JCFMessageRepository.class deleted file mode 100644 index e0536baeb1bcebda64ee11c0c9a0c1e0c6bf5b6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1751 zcmaKsSyR(c6vzL!Ed<)I6l4__R$EXiu4u8yDoX(sfq}P6dx0<^VUm=w-^mA^Q4yJO zeD*^*o|^=kmf}OUd(Zuy|59B2GBh9Z6Q0t!v7cJoJrp^I zp>{$uG$+FlP9!%K)G@?eqk^O9sReEytnlL~6ol&$gQ}oGMI)LR`Ymy6+L~ip#nfSL zFSRr?zang#?~C`B8w`;=cQ`{+w!|b}I)*q}6tt?ifi{MQvR%?-i6iqwFbpNUg8{|q zrl~&E{0gnG#suO_Od84v{eJ_D7eYcT5>vNS-hClY)67_skn_hB;thY1z|IE zCVZD}N@h%5r^IQdk&dDpy)v_X3|+pXN}J@SWDckpl!1o#g`?meL!&Sp%_*k*ltq!m zu!0d4_wj(Cr6g_bSi0gmL)6?`E$BMm)hRKFYHY1$nIE37(S3;{x@?coh#`v!Lk7KJhvkWIZY5%_ea zWy@2Q&ZMcWX3RVtZOUqfSS=jw3hRTHmzJ!VMw|nU>NuDUh`O$22_DT0 zT{vR8D09^stgEXhxycaHXsfwWDIFCbsf+AukM1xidzz7-(y5^3WsvPh&IihBBNr#C zC7@1HJU18rh}(Id!ho>LMkrPE|AtlFMQkpA$G$|RmSp7u1$g9*0hyqR(oure&4QH^ z^O|hpu4*%5RQ5i4Y1o9o@Qkh&IdJGXP9rUZ7pSFonr3u=Nh=wI=?!QeJ_Q>-hq8T& z`frGSajnyImopHkLj?7hpf}aCr}3DfFNR6H_F1!JDQ(r^uZWJEp*e)DN=^eQYjip7 zo~_T3+$l^GiD3q_K5^0~#(ZLX2%pG72vV2~0TiAT<-uZ?u-GMR4)bI$Lrwdk#?R5c zErDm~VK~Lz&$Jmtb_C*#`$#W)Z^-2W7Jc9xJ!QOcUtNC)zcKU!iArEkK;s3Fj`80BCU4vi2D&ZK`-1y%91DWNF;Q#;t diff --git a/discodeit/build/classes/java/main/repository/jcf/JCFUserRepository.class b/discodeit/build/classes/java/main/repository/jcf/JCFUserRepository.class deleted file mode 100644 index 1ba3b2d636647d5e5a707231f04360bc4f100908..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1715 zcmZ{kTT|0e6ouDm3xPC9TLb|SxruF2>J3GUMJOPJ0xD7l-a;E7Oh`Iu%Gm$pgU+ak z%s4*#qa621LYrQAXquet^X;|Q-Z_8&{rU~yHQtNx!7m^np$+W}p%eK`PH3`zl-N2r zQSuf;`<$w)R*JzNjpYP%Fof-(vZZQ?Rk?J$As0mm@OL5zNkEr`8|Y>jF_ofGQZ2)* zBu?^&iM8~~PDwF8R96`S1=*4ry0bMP!ID9Q5fRWM;U;<+y6WDNAX7Ot&J>2psI$={ zHyLYQ;<#H9`Z2%|%p1BTt9of&sW9}m0_+R8&CpXzx?q}eC99S!4!R>@7SVi2R;)-i?wH&J6uEXSD>67KOr{YQ!=;6ABTbW61=3GSDO z7~%q^Bs{=FhDc4@Cc6?+9-9VK=`_9 zc6KsLb~m0%c!n8LSS-^-%(lqTY0};Y$qeao`1p z7|t>Br2#qUsWa>%9rxZ+%2i}s;IgYO?5Z30;SVN%BH9QX_Gr8Uf^2XKcF=2tUPsm~ nJVRQ!l@9s`rpeAHe(X-w&`w{*skal?;5V>IIEF2|zIXotMh<@q diff --git a/discodeit/build/classes/java/main/service/ChannelService.class b/discodeit/build/classes/java/main/service/ChannelService.class deleted file mode 100644 index 8905ccd8173f9c135f18e21e4a5d027ac438536a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 506 zcma)3%TB{E5S%ToL(8kQ5+8s#G#By#0VD)MAVuO36>&Am5?omZxlSd1jRPORMGb9@U7?K{?YY*3(Ij5_ z1%0OG&bR94sxs2m)=zlU5}f?^KJ#Bh{ZfXF?pyxr?9XE BjyeDU diff --git a/discodeit/build/classes/java/main/service/MessageService.class b/discodeit/build/classes/java/main/service/MessageService.class deleted file mode 100644 index d1a9a742fbe9bbb570b4dd68d9f4bbe07f17c9a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 466 zcmZuuO-sW-5PehIjjdm`1%H5eXfEdBty&O@AVfTbdS8<YzqE05B>mul(?HJ zRnyZl@4cBf^Y-KO?H#}s#t}M%lZx$1<(%AcRmqaGbs3>c7%t^XCR&;@xqn=8?g%2c zEFBZ(lXSyo&MH$**GTP@P8N&Xd8>|7Hcq+MAFnB)`=m@kIQ^cs>D{7@g7#W#!e|oz z@=8_Z{HT7WN+Vru{dQ+9!R3GNnQsyGOVM0&(eiI!w`C(yu;!4)xYZv&5C++EZF9a+ yI!OKod>+yh1j3I04WQ@q?m-~r9$~k6`xtnB&$Auud;9>04Ss~7#|Xy_Gx`F3D1Ooa diff --git a/discodeit/build/classes/java/main/service/UserService.class b/discodeit/build/classes/java/main/service/UserService.class deleted file mode 100644 index d356910ce1271ca383a25858a447d38f6af4287f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcma)(O-{ow5QU!$Bx(5z4X{P*nhiNX0SN?1l_FR~VQ(B0TueZzQ>j;D!2viFV&bp} z2@6&;_Ixvbp7;6n{sG_&hb{&T!9tcxC1jLRk~F!Cbq0UVmpszE$fLW5xfF)MdsIbs zxte7RN0ZprE2DIjrn9SQ7|X&av$BJx45J3Vu)o?=?80l-v+}{RiB< z)^6|LbQQR@f(xw~#*?rmH&zQn0*8sp3vQ~?>gxihzrJ%$yeFQdc((JL>MgTU)7~2T zvi@_^mF{Fx%X$|BCGmIC#qg6gKXzdq7pXg2rN6lv9WTmFcTB3)dS0QxLwE)_Y($A;uNvk5kxZI)3DNTOlg`gHR^TS z5?(>aD8@9rYv4VcVaT++Hk~jGx!$tvi}kAKK4-WZ_s|I##Tm2F` zvg`t;V;;98pW6&4yJUK1Q^OsGQ_WUrum6eZ-o-w%Nx5Hg%ar@!qUDIyMr~Vo>wMcL zNv7zU+}`A#CD)NK8B{Hb|9r9O@{QeBpeiW~TgWOo9xuSKH^_6sqP9uLnndj|Jn7JW zn~Lhx=_nqCRK?>p#Z8q)yhf>MqG_?JR4Dj>TQ-$IB$lzZRU>W60dUtQwaj$9-(^Ws z1_n#kj>Ch7M?R-I6z;U+Ey$#qo=~mzpv!@GlI)app`Dabs{U$qL^Ps07!BLJwq52^ zVTVs$VYuFL9&x7KJBx_uCAZ<3;=Uz|X|&6HzAS^GtS-84;0GSBKNLaLE&Id$_*%y| z_*TPr2EGUBOty~8a`xO^kuRz!$%0q78BX@0T730SJbjT-=->f&%C_*QimtocsP`UM zuNkiI*F{|Y?KeZ0y=~+DA0aPs+b&swD5POBoM;wMd<0Rlgic?^ih)f$PNUjhXm2QrbOG?}u` zY20S5a+YNsH^^4phAe+$g)Rr)lFfZz_!?-8UFcxktwJ<3=-SX*mHIX;C;C1P(7lGC zK);N6b4@4^j|o8J2jS?&y6Kt;G9$#OTEPT1b$I|W#lqu(Dyfuak`+KBjBuZy%2&P zxz0td$q^o4MMa&%XY?kS=kPhbB?;jqig-v_V_3x+Y01o8qo*V_@Cui<4lvX59+JJF zJQ|@+0!ZzmP2WE(4aM+Ii-6z3H7_0aB! z&8XraV;WT)r1q%d&__0g;*cb->)42V-=wG1O0f3muP6`UX(x_6B*J{9b=lt$MuBoA zeU7}s{MPIrxO|A~zyUsNha6XsVM0a}5Xkh2bdN23Mb8YqJtf&T%GiNLur7WexlV5$ I0_;===|IDE&(x%8sp>VGhA!-K205Hna8AW} z3^Qcgs4WnN9?PCH9I;flt;YC17s={hlIEh>X7 zqU>fcg&E01QNb;SfmZv)d+tF#TIIy+U6N-Nekj*2psR!tZ}me!GI)dmek$SIwAtuKDK43ml7 zN$L_6M~TpAp&ra8H`6(XQ%mB-N|ltd^QR4iZ1d4Zm-R|nbXWBale?Zxi3}$;+=%Wx0-P^X6Sa0oR<~PSi3GSXZ#2q7I!R z_v7|kLN~XpO;M`&QIZ8;=UVW0>1jk)e?=J$jRJr>+^iYG8Ln8?rq?Vd%OE1zW4N^4 z6w&SfUKv0hY#SXSq32m{7**XBpnE&wfBbeAv-$* z2d)B7j;SrOOOPB)q+oL0ZqfYH|4(c<2_HrdBDj{c{;$zW*d?h8PpHu3+lE`?!3Q_O_-8~N8O067}6VB3Mq-glhq61lZ zU80|VR^Dm+H(gHXt&si@=ID8wRtD`))B9*~2dp^u97=KgIo>KxJV*a8Bv0WZdJd2U z=z@~Q33THm4&xMEbxz|BNsEC!=J7GD$dixD{4a@|^1mc@2Vs7KN{Bo~a;al&m`+jw z=X|#VfpXU^!(A+pp3#M1F?8{i_Q>Ezi@!n{dx>KyjJ=}p@B(lDfsuuY@fU$^;w8pX z_}NF4`DA^w3l!Zb29c+13Xxn!cR@!(P=dgx_>ABN$>tuaelAN`CW&P6GQDN!U9VAE z-NB_cQjpR`-@6*@3B9lQ(cCB5=U5FBGKpu&^w4XJtd5OO?BMeCv`p@JI+lUFLjzan zgeQI9lY!lCc|bS*n4 zephL&5G*qs^k{aES1d<&Eqj+?IB(ZxSs_~A%=O?PdL<+k^dZGC^pBDZU7NaDoZDS2 zGMt>u`%ZhVZe&+i7jNaJA`8nESGP>n$fYRW!wULwgd*AE6j*j&#ZAxDgle|nRVs$g z?VOB33`sbuU>G9|sk+sw5r!ViUN9WKQnIbb3}>SjS^+~pBW&j+93v2Jy1KjT(<5UP zX$4~#r%ZU2qUv&nt0AthS#WLL+{y(p@4qs&CMcdzZ~`Y8;*PpQU?Y?Hh&>`NI_tqC zrX)-&n87TivmSF^cZkE7wMk4&Mj00y6vt_XLv`t!wyo}p9T^#Ph@j4jiW^UX;jn}Y z4C%V?l2!1u(t^Ruh*BG6JLD`y z#eZF)V?fnCP*%73yk%;tdtY};G;&K;;^KdclmUQwwov#{e ze?D_mQ$=oYQB#MawHh2FG8@zBge4>A$=_jEZIOPJ`fHVGtTsB=qF*ejWj`>#BBB+| zkl-H!B1dR39B3$A0@F%d+rDX#e0M?LGF8{J33#lfT(37M-XK~e(O-Pc zPR-{2p<8H^)7F4mSDHhVgVq%UIo1ZWS>bpK*Ub`rhFabzsuR_wIB}NYLL04rJ7N@g zZwM8%nu#+Ea>4R!jo;Qqwe>f*_|pQDN@UKmT*tN5%3bc3tfJG~2`*z3TM|kNbUb1h zujf-YcdTum&HHYXhPtV0!Tr!vj?Vs!(i18L2JWb4(csQR-mNAaXu}2S)X__W5Y0tP5W- z42n*feoRd{trycQZCY-6)ACH}Ov<8Za(muT9fvy-zGgVl5^=kFk?<`&UiKHI-WU`Y z#)#q=T~u@QO^JsOJtbrsCvb~?7ie~y_G4modJk-R=2u8R(=0~opbNKyetQu|65aH& zd5dO80%_dABFzMvKxOoK8}Ede7inE!vN}{JZ3*Q%1gk+X7)m_HYcc%f+ZCRtNF6vzeh<^rXM}hd z^-bRhKx?Kmp=mONWxVTqoxyuF5|L+ck4AAq=tlu7#2Q^6m?bH}+-cusApQ)e>Xw5* z$9-#p7upZ4t5^DP7w6RTN>g%%i9)JGvkfe-}7KtsCERnuJu4odPeCH4wc)8&YPftrDV zAgM`Nw3g67juI+@>U)Xv>(kG0@da|g9^R-!2bsGPVZ6@=0s&EP`>#O5tw7|1Du}`c iH2NQ*d6B-`D5DaNY#MoF>T`Ta65^Ud3hW-Xa2r>-- diff --git a/discodeit/build/classes/java/main/service/file/FileChannelService.class b/discodeit/build/classes/java/main/service/file/FileChannelService.class deleted file mode 100644 index 4d295db0569608d26b81b7e73db749c069f77d9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7901 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 diff --git a/discodeit/build/classes/java/main/service/file/FileMessageService.class b/discodeit/build/classes/java/main/service/file/FileMessageService.class deleted file mode 100644 index ebb236f668cb13c71d0b652a6c773a6f2fda884c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7982 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 NocH}|x4H|7{{cTk>;nJ* diff --git a/discodeit/build/classes/java/main/service/file/FileUserService.class b/discodeit/build/classes/java/main/service/file/FileUserService.class deleted file mode 100644 index d4dc569e0920fa0a5f211a1be6840c6db39f4b1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7939 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 diff --git a/discodeit/build/classes/java/main/service/jcf/JCFMessageService.class b/discodeit/build/classes/java/main/service/jcf/JCFMessageService.class deleted file mode 100644 index c1a413f6bc43e2b425b3f497197e9e2f487a3741..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2775 zcmbVOOH&(15dH=&ELyJ(mJJCefFIbA#6$RPBb#93IF=)@69Eq7IY_mBO68nO4vs6qg5rx3Ypp>}BDQEs!JQ*sR zAZYt_ByfOyJmC_Ev1G()ZZ3B%n~E5gt5(r7Y%6oy5hbI@J(1mmE_ADSLC1^eVc1un zf}!0JWqU*9mKlyjWA73wwJ3x2>Uar#w9)W{!#&$!=uSpK8H0M|2#;F^0sm z)HN3db(Om_;vQ8-tWx{|9M^FIFH^ymZ$4Oy9qC0@MT$xhmS=dInUGBlNet;2#t1{} zitutJN?F_N_sFM9Lk43iPU<*?({+5vW$LoHTji$9&=s-~&6`?`<1EgpIIrUZF4oDU zu<3fDOm)~*s-`RGieXbL49hEcj^O2NJF=AF=~rJo{pL%JR5zjG6&;hfQqxksKhaZ> zyG^SB4uvzUm27HW7CoionvBp^t&om{G+mb}evRR5w1#j~L@qudjq}vJ>~c=WP03G; zmr5$~)Z?0l8^s$h7%LX{s*Yed8VM#9d?{bwqwECLuT0q`^6khQmYAuQmxMFRmrSxG z@^+D%^V~7yJTxlaszKct$k+1kdWIyeC1DDW!W@XoI5;Bn3@rxfA$r366=HbVuu4}< zvr#Pm0c04gQ_#QHB%@IM&8Zt1pp50<_)9nq^f2r#c)Yki%`0K~XPP1g6#J^I$)Gum zQe5Sv!bGz(5mh8DN}{g)A9Xb6ic>Dj5~e(G?Y!!(+KwD{n7q7H;)6k32FDnVHP_Nm ze`=9IE7(=1D6Sh)65UO=<*2+xh`Ot`?YW-AE7O89mfVgulr>neRaA7`1zk%={R_uu z%CI)A=0&=?HW~JmqqAS5l!Tjt1UI-Um|DXyL8Xhd z{x;sBuMF}v?NaFXybQ99L&V4MHu@RvqmKrI3_l||GqQ#B&=yATqjluLw}1cs5N8tO zTe!qz+L)jA5G4iWKXb zO~t^#9|Vl92z(F%eMs|G@|fHKIx`XiJwby2=(y6O>_F9fl;JI0?NJEvZ@VDwr8KRapjwM1@hd&wMFQOFUuM&ER zzxN4}3q!*rkMQcaB5UbUwsC{RKsaeR=;1z}q64oX=>+pI|&2Pboq$_?Zy52$N_Ob6g|Z-eE&79 Z)321fNj4WAKEx(jG_rhzPw*Lf{sC4qm*fBd diff --git a/discodeit/build/classes/java/main/service/jcf/JCFUserService.class b/discodeit/build/classes/java/main/service/jcf/JCFUserService.class deleted file mode 100644 index 4edf3c5ddf9d0edf5bd440d4109985fc5794ee72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3877 zcmb7HX;&NP6@FfjG(wDxJa~z0Y_RJ%2#f{9ON?wan8dbXfvGW0A>9UPfH5PDB8_P1 zo}_KkHEokFZnJhvm$XgV#02M@o_uXjKlK;%cl7kMecqWt8X?DZ#X)*?=Pu8^&%Jj> zfBpBZKLa?6cVlQnyMmC4Fd_o+>-wsmvh>nY>hi*MBku@A&X^_B$q2OfC$A}p3Us?l zHOI747Jdr@S#&1)XoX%a;@gU`)giei_*HXa@{in?hX%iF~$_E33vWO#J+)al`q zCr-r>M?xmESKxHN=i5zZ#;KU4rS#oMlGi%XgZ&B)sOUwX!1iW{M57l90=t6#y>g|K z^HCh4!lmqF6o(0yhalV|9^4VWM)``OUm!F+euc>mFpxY2)sJpwH#&MhUr`*R`ozV{ z*(ipoE>A)AQBPf}9_K5H<1F;W+3~3hQJfU$a*siS2Rs9*e1b2T_n3+_&Im+J$EfIz zT@l#bpA4{+_2ubKWbk1H52_f)IRULvrA-w9Wm&II8Bef}*go^p;vp3e<2=(Sx#FFh zz5`8{mMmUWk;Nm#zhpRBR$JRtbQ^DWHv16Oa+p*wrQ-4yn&f4+uJL$Hx2n?HM^s$F z46~&-*?CiX(GX}3?zcz`v(oFerfKl5NlzbDF(Qxm~6O@2_*c6a1l<} zmc;=w?NZuns86W)BtAvMs#7uaqQJhUj67+Ifp{^kaXc4POc%(5^A{W*j}gGO3q+ zL@_UxH&mN-3$ESd7RS-X3~H?_nUv=_1r7`Fun#@xtks}ZvNd4Xy=8Fz%ggp=jRj^~ z3e)Q8ZX{cyDY72pmL;1g*nGEVKbl`Q@++=-q+nQv%)7e%hHPr1^uw6b(pt+ zz81ZvN+;(9Vl#HFk~hwqvZ1=0@59IB?2_Vhw(W2L_41_QEZc=@R|K!c@KgLu!OvCv z0>2bE*UCmv{q8S%A@6MKa}`W-Lbt3L-U`!k{7T?RFr&>|exO5qQCAq#as1ZZA;Ccl z`sbpT4|&<9LgN^taHcW=kcbGGXb}s!>(&w!pnDjNGoc3T_G< zxU(t;&SL@xiKC4>_4EASAs^%T`9fqjm8??L*qVt>XK%q&Cg(>)k0%y&LN@~Ik{|j!K;I4ik zxFZB{AHnq#+yKE1{!ehv;X5Ay?z{M&53a_CDSNS(p1MC9mDB6JgvCL-kW?*T6Nvd4i_WbXl%=`>DajPGaoch*Im z;q`;WFZq<3nL752&!?2hEF|`fn}y^(<7N?Ru-!?vhdj1_0EgOg!cHl`q904{UNXasP5|ueMBn5ByFG(? z>2`Rfi^t?P^xdBI-FC3AFAQ+--k=Mwle{|22V8Zy4yeG5C7I!G54_~+zl>M-DFePr b+3WZ - - - - - - - - - - - - Gradle Configuration Cache - - - -

- -
- Loading... -
- - - - - - diff --git a/discodeit/build/resources/main/application.properties b/discodeit/build/resources/main/application.properties new file mode 100644 index 00000000..545cf9f0 --- /dev/null +++ b/discodeit/build/resources/main/application.properties @@ -0,0 +1 @@ +spring.application.name=discodeit diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication2.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication2.class.uniqueId0 deleted file mode 100644 index 008ff2e03d01df41ac903d903f97e9e8c9acd703..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6346 zcma)A33yc175;BB$(u}G0=x($qHH22AuxiVG_fcoBGDmOLZT709VRcyz+@)QOwd?c zse+~A+Db(V7Oky9r41?}L#kcuYWIC#>|Qe1eY5L-?|U=vO=jTZ%a=Rv-E;1_=ltit z_nmuR`R|FB0K8FL;zJRNHF$KCpj2S;mf*IaKN5`g`qypVVuq3erI&}J;p7T|;@Y}S zFT4UJx5i@KLtgl(uO6=q#k$RKa#1MO?}aWp|}}LngUnV2AuiZlksr0x9Mzp>H=mo8BPu@IU%(V zC6Z=8BZ&<%u&I{maLj)lXG(HDGuYqc!?~ED;XEDZW2Qj4%Q7SHHIuE~0!D3}HFz)? zj`%w|T3a}7Hs)xUtK$O9%bisPBA{&xMh4AwJp%LHaauSx*#;H#cIXCEG+)O>s1=yr zAKYp-$D*NN^7?SHk57qYFq%wEFlLV|V9bYlEYQ%PV<8qX6AI|u*y-YcL?RL;IBpj+ zRy$=nFV?XbO9Z?<;b`}&AqmGUTiHP)HzNkjDE;1)tENh~loKjh4I zl(A``)Ec_XfF`lnW?{kjy|_(4w}MaK_3WuVN4&V5WOnyt(U7y>A=&#jfgAFs%@6Ku zdI|z?r;hCzmaUGHkrI`=blfdF%gC}8GfD0l@LF+gG*E^seAtC|X}DL%Zn<^37OvbO z1$^;fv^&->U%a@Vdt`dguJN6FPVL#7-Z7fq_Xv~yARf~2uuS&5UCCZ+CKAD3Gn?#| z(G7-uUp| zlfw_E?>&~~@`E@i)AxkH(z8fkL6<+E<0+X1jadlw1(OCUteKgEN;&f(aw~n${plS? zHGG)P$IXFQBAkrHhx|R^i0NO=Mt*+RXZw9PENg&|2wYf5*=Dg@|A^E-dK!Hj6Sw}b z)PF%>W@hzKN&z39$B3*%j#ITZ;BqF{;ikGy4Jm;+13c_I4nGCr;0Gdezt&yh~o zurymaFc1l|1_;NZ`~;UJ_{|uQ0|n;Q1~O>45M^26DqzU@m+=K1ui%T^bktzmCxLor zd@h8J3A2xXcvv#0I0?(j@n{>@%I3?Am}-StBP>1&6IY)zMzrlQiQk_9t{& zZlps4nP_KCuy}cnD=QfDq>%Mhbi$tDggr5@ft%{Yoqy_efLLaVOm=o|ff;AmqPY5PtlT4Jx<}YabL2!Ovt>A)-0j_i?64d; z2l?7#gYl3lKVGbkCa(8Ivc6^-R>fk;L^2*6SZgv#-HA!1!sip^Lf1qEj|rlZ`=nI0 zPPpOdw%AtFZ((DdtyTv^@=GbO*Ii=Rik8teEMg*NVqPE?+d4RK=JRRJzztl=1=QVn zC~y|EO*981k@j%XZ1Rf93^cv}VEW+p+3C9v@H^i)TX=;bP@U<0V))d)`)bE`KXdZv z3w26*P66ptS?M&F#a(;T2luEk^6Z?kc-N8i!TqZDT-mFNbocD%N&9wh{_HFU^Q6w~ zvt1UQ+2^`?o!RG+xZ{T&N$=jz+S%>Ed{WgV$oGL~=t2sP8}+%S9Zwo^1sP|!>$UO- z5^s(K6A3e+2|w$hJaQG{j3yS7@n=?L5oZw$bNJ0J;!OZpZ1Vgwft3jQLjrLZ9*yu=cwuvDOpf`ut87dU|x&LAO-l_@lrpwUAG=K3u z9)K$_1G9KxQ;(UvG?;~Eo_sf8F1mRc^AJPXhxvGt*90%1RsplZ3Lf9Z_c*=+&*1y` z0imhq$>oQ9Dx!rreuN)$o^Bqvf5JWwEmYyB>?^^~IBHr}>s4x5vR5hd;^+8<4Rf0f z^Wl2q%|_4&rC?@Z-lAac&qlo^g=iLLOBlC=DR94b!<=*m8H2{H#!w1xwSks^zTK0> z`W+UwJDdS2>{Qs&WG=S%D4mJeHV~bKMAT1gE+)2%iOdpWyOc-KW!Qf1e{H>S--3n|9`IOLjo>{B;rCjxFXVd)j}}>clrUN1eU>VhGfs2IqA$0vphP;yG zY$m8J{JRPPtj5h)g9uu22d>3E?0JCKLkH2Opj~eTjNjuAwBx}6{1Ja599}$zKl7=G z79YT0@K=Jim}l3&@risx2mY?0jWA{ZU|%VQ*r8V9fZ4_T}yshUQ1-JygTuPJC zhicry?JkZ6B)A-JCBJSXmxizocdAG>S^nU^_#ekvSCjJdF_|}~MWUD(RC5RSh!UbO z7mHNVJhV1XE#nf}tX3$L(()9QNR9S=3J))eh5VKj2~Efaxe1d*8HBLfDeAdOwNq6) rU9~l;ouS(ERXan{%SHFhbXD!zIaN=@)NvI8(GVRm5EHR5dmXWe zja`+PnH!o)Ihd2kP$DrDn{qK1T|4`AB@!)t;b^!S z`I1yl(3~b0uB+@ci}6TZe({+xYUIJOXdI%C$6U>YW@3q82lhh|4Bqod|yIX=Af{ng4YW*6 zg(joPaqnCG#*}`ZjMZP+S8~ExYr5JDg|X8nk}ppmT2nTY75^&YMc$F7OU^UZXC0g^ zFN5YF+FZ<0TT5c7!=HyaP*+%`$#UB_%iD_{@Q+N$3BEmKC#&|4!hFRAXdxQ62y@Ug zG!gO_WA<=?nU{4;BA;$M^G+~L+;ZVTZpRX}r3dFvm`KiXd>tHn=!MOU@P$QNORSD8 zQ$q^N6;~*%+_MU;M&s6C_C`8-eE0`*bmu)H^B5=Ac(yoApH<_?SSwh!XFa0xH(>T! zmRfR{tC^XJp^lam&`*{e`GO~OD>dvnHYq6J$K2qJYMTx&hxL3y<|WbMG_Qt~sgIG< zV%2U|+oCdm)I@ULMe=-_MXtdwpQGi%G2eQ&s%=wQ4&U3znOCW{3Jth1t_alL-mATblX?T;IB6 zEibU~_EuEir80ZeXfnj<2R&Xlxwi)UHeMN}(ROQWSHkSA&4lE`eOX7BODD{o6QTU& z>8G#sJ!*SZ#sUx)mifv4aq&GNri};A8y(%REKu38ejn!iZw8YiZ(i?UTpC<7%kIp& zr0=IbuidXA7)5T6d;CfdSps+MNAcb95ZR=lC>ML{qP+FgD>}Brv#_fHPIpd z2{{}lz-GcP7`A!juk6U*B_n@#jQmv``HR_L|BrwF`QSm$N(9l!$z3>S)sNu=3pT;G%>-P%(SFZp}DCD zb2rn{F$S4lW@xG>CT(lqa8rAvzq8b0tG9|YG)<8h9X7*UBs%7XW>Ua`h?J+r$JVTW zp0qOgq1nBKi=Lc8=177LOED+Fm{e#bwE&(LOGTtopY&6E*cIuTT2?7rM!Vh;okdm% z7!P!cg_)Vy9G*!VN6guDvcR+4>U1B?@VwVK!Fj<2*^3I71eeupaAb>PS53qsZLu-` z3XVAm&sZ3m3w7;q%-&pIVvl34VpECK+(HMG4Br9A>`bj4am>ZkR4n}?N~85!hWhS& z*kC!Ze%6&$yLMc~_c-Cm8AmSE+^#S?zzb+_gUO8m4-&B{-yNp?b8C1`s7nfBhtJl` zU2p0fm>>@Obx-PnBTpQ8;m8|DhSy*mr5{a%QXd?1kZS2meBr7mHW!IVny~2GE_1Jh zD5r$|sfJ&2ujA+jj&8y*KiGhgM9&`}7Mh62n#g6(W>^=d?H?0(3N61$-on)aaFswD z1>xv6j_%;-a4^iOBQ_U?P^*Bv-Ni9?9TP2y#9XMQ3uNJkQs|Lt>1s)}!f?zHz7?92 z!&>KCZU@9KGkNB4Qg-F@!}oAOI4&E33nFoqC>-6V=8mSe`yY()W2nLA`a)etoF5B| z>1vrt$?zXF);soEpE$1VS(LZuy>T3_{s32s$58@~B+)oO5eA7Uf+kT=mmw;%)4uOqt`i~b#I7tS`($NlYy&d;!0UK%EnO+Jf91Y zXbZJWC3!Hno)!g&HU9~YIhz^*R4_$8>`4sfj$E0x8dE*fnvoIsEZKf?(2}P(dWNF{ z96g6=UQh%QSrv{j2(_^yxHHufjR=7L7Ea3YhJ~{XH*C=AjmkUwk|LCdeEepCO6#Sq z=5J@_Brjhj$azH}SVTsPj`SbC_iSq3jlG);l`Jpe|#Y+BqywbwYRz|k8VRpRI^j#%%2zxA{vz_eB(6E{2%V~hbXS1xUPX(OV@Y<+3;CCF?x$n_&Qpx zOHjnb*hU;R0be%*a3Tv6siBz`CER1ajWHf;ce_-0E?|cZYtfe$9JS)84e;9zWR>U` z2z4z?0HqzU|3BJRM0yxa9DAPg>hSehYp!j$f9%dz9DT!4Cyu`3=n>up<3xr!=3I=`EJh-!QJjCU*$OY1a>JGumz&7S$i5W1Gh-@uB zWHRlg*WRxJ`DGrj6-$Qk{Wb)!Hs6-Ou9}1Jf$F%~EHd-aZkieRAbOfrf{D=;Lfwu~ zuqR|42n9!C_fLggMIA5MS>1B-^@5d`Ke zm6{uBTS$fE;Z-{CgBsjQJ-?l;H!jlGizEb5gy23Q8%@Z^5Qk$46i0wEe?VaFpecmr zh9Yopv`qN%0HvYSAc4THSc7qJ#L1WyGvaI)f7BQg5_qa}O>bKwAxI)*Pw|ssISYMi z7!WP;M_QpybXUf)loJnUJbzxBLMS{W4#pCX03~2L!F;7s$OY9)?j74XkbGT+Sw8F3 zu<>RK;xU2J2qXb1o_XZt3g>4Bmg>7DYv0tWuDwZ+s}~M%9wDz;hd-f^ zt7m9B!ovAL7V(I>k2Simts+UZ<)!oJ7{P9>u&0E=Gh$}}fu2*G`2z4EG_~Xx5}2#0 zrJ*@6KkT^Z52b-fq(_li&}_F!+?P=~hNBOTe)Ez*uLxvV3{QYV4Du!-eR7Ey!R?N= zE#Wod{agNVEg^Q467ppPDkng{bWqfLLXZh7BlN@8DEuhxs*<#s%~=1MP^uu%8v-4! zgtaN%B@|QYg#Q+%Hq{kc0ovsx=1%r&hgz=>dKaEvw|3P#VqX=3s$tCg5p;uzs{tmm zFfpMRiacZ)J!2B_eeR7kgr*#rD1IaMbrSo&6R3*-wf3Ii{{X264F=SK&HaS=4TUDU5^_d<51w&z zZ{ejTNx=DB+eg0$)I*7AFW^i9>evF5-3n8KCZE^abl&cIddhZa3#*SnzbSb8VbA~C zKSedcwWWKvPn#>Xx_TyTF*-9iKqwA^5P?VxQOi-JB~6y>m|##jCwfij*2bA_?uEky zvY{bc8oEM5hwW&Xods~dh|C`ymuuKlKgPtYVas>bX}j%diVn2>S-2w&>@H`g=0 zXvhb4=Su?y2aioldYv|6>x5F!AtEwyjoZ^nW9)NKQbN||tHBp<(9jVfsdT&P=kY|OMuOut7{38yJUP|)yGiBO!J zH`TL{*w%mG5nJ!);I6p`B55d!hVIjlVKjwIFm6DZgI(isKt z7Lhv7U3(X7ZFn8k{yom(OmI;)4TMHS#yG65+7x;}ewD?P>*sG+r{vI3E=7?%SVK=J z)CDOyYx6znp93nk1C<|p0wZoep@CKtky|I%r%jub~EX7SND^hz#SE?q}CvyAJ#B9-2~J6Z4#gUeHh>#dAf# zai$g`ZK3%~m<9Y7A#8DNYHAB|&1=(ZI`ctZ*01^%4HeT+2>?k$Wi&9$e%2|m&G z+2EgP*cGuIZjb+g1HW(?=T+g}Q*&T_p!XzJZGrJuAN@%S%*L8vD*2Y)XSPr}Io z9shYpzSW3-HKY^gC#lu;&=h-V@_jUg-!wrP(GO2UYT+zIu|>p)TCy)Lbm_fv?7-CB zzt#8e`jRq0Q?|hefh)v1#$XojZTocb_>qahFG3vg3eB;5hG^<##PA53AnEd1q1vzI zcu>8^_P2W{R2{l+L*HRb-%&4e9H=HssCsn}QD{nm3^&ehDDu6B*S!-p>a09>OdgfAV! z6n#So^tH^%H5L1|SJ?Ice%3z3VVIZU*Xig69f`|f8m-ov+cLdtD|5rdw|1>oEx1WX zesqvFY6+#Q^3{819rinaxOD7XJzUnG4(d@vswjSW62CEJEUB2Bkkh=rR(l_>wPwFQ--)1dLvTq!~ zNu%+bgZr|qv}n)cKbZ6`Wd+kgyNgJ7xn~*~OX|yOOqy1onG@s_LPvM$D3p#48;8*` zSIEUe)I^11B2wRL>vq}sm7g=5bWeJ|waLFnR|u!02s(H-{RBS}@bSmF0lR&1Y}K0K z<4)tP##^SBW=?(;MOVB}2iqPEBsDSAlEl!#yD%pO1^qof6$)YU2e;8q$Q9FK>4G@A zz@8YfAjj}S$HViMRc~a7SZYAd2@c!14RkZ4-ixTK4 zk&cq+;AbQQA}Ea^G*1DTAQb^2wk4$y6LT0GO>wer^vQ6mlJfG0bcIKB`Bb`srWfro z1-)2GQPV69#{bbVV9Ve*og$J3irSkk1%uNeh&h39m&DE!4Aaf2Wklu{vlfIVp$0`4TF%D0Nq2Q%L& zXN=mAqIGdeTM>QtOS<~0SFnJAg;ZC3*0dOIwM=zQsHfG|yW6ifYkt4#^7a&mkl9yD z=(|ekvOj42GN7ip*uso#cij8#q)PFG@q48<%f)`B<#hC#jw*n|fR8GHjSNQ;Vw7k9 zmj1645oI7i8s7n6`c&MaXD9*lbS7RSV)@wGmm8z+&-f+VKC_BqFvvv>V@LH)^h`-T zcO@P@9+g&2NAKyNA8P;t(TH30>OSkrVVmEMrkF^0KrQw32m0Y!y6garUq=CH2oali z=PP;XQlFV}SC+V_4(l%aNLQ|>qfZoO0}1|T;4CVNTt!|=d3?ab{kZtZjX8?>?AVK6 z=;{r0^+vjE6CE;C&9IyQKvk@ zVM;~WFsNrN#m1C}Pk*#ShQ0TAu0mcn&1>u?JzIwQ6^4QxL&2Vb92lTBtodHFPsC_) zPQ&dZ_pB_QCr-QI{i_j6a%4bi2(lTgwAYy4U@r*i_PjCrOz!Bb4CKTBwkoHINRugP zOR<`8wv)OQ+u(w=mNNsnFpw();wCqM!4w<=OQDrJ19O*HXiK2502$_y#EO#WJbOcm zi)SxBXqEo-x(5S!GC)Kr#X8ofd~d|~fOReo`s#Nq$7Omk6ucQ4;e=8ooeX%_Q=t>Q zl$GFDJTt`Q`SxoJ-6-H$~62hSL zwyBNrDJ$fYI_>c9oCffv4l0VKH zU<_vfHJYzm}FGmetn$N zJ}PFhT&}w9uHhtxAekXZVaPsYC_G{aQW*jp{4va9V)8!@Ud^nULDo7))y|6y{}At6 zg=vhP=?tX|hC(JoppgX=gBO$yEc5RujbfQZJO@x=378~9b+^8{SjgKYF<5-*W&6SL zxs2U;jGa#y@~2Pc1C^|FgiwqSn?8ko|IwY~c2=x&LDTC^Ka3}Itu!^zea1iq42bZa z!{d|=(A6>rYi*V4Vw|4)cESYrF$QlZ=pKH-K!uD$MGVE44Db-E@K=DBkw~zZlCF{B zB{)3tcAp<>D8)C+ezuk0XYArr!hnp5h*Xys+^chSAB^oev#g>tc4a98l`&8`16jR> z(dJOB5K5$XK!UPA)oSK`I$3D3!hTk!E+?>pvHJ}}zLK%8jCcz>21@DH;qR!WO{fIf zl)Nbuo8Kjwcg1Upo)J4*s~C#a4EgsA-|pGK zK#d?5cq^b}GRxPYZpyqMgNVd+(U-20O$^jbVYUS}2Z`gAYeb}ECO&j}ZlvbRW4A=L zofErS8H#O;o$U;b4hH(lK!>D!B@a5pmeWU_Y8F{!x@ihfW>SCdk8hwm7|8JZ2)q>i zA$6PId+h7NkdFiNP6h7?EL`2iKtC9umjf9hGU)!c46f_)z-HA+p2E(5I=dOWPbD%) zJobCGC$n+v@89LIn8_NapA7VifqDQ;q8Db?F);-8O94CBJtiRB$MLPg5wA&mhaX!0 z>H`(TfOxSVp8DfVi^%6=3z6&C;Ow?6_xj`+H6q=BO zH(D}wYuwQtnh^J$bNUqBhKX#M=n4~R9Cl310m5SwdnT3kg=ve`Q2&<4^{n+zJI$kfQbT`$gmekIlJ*gE#r23({7Q|K(+G84M9wF zn+Xhe2QVkql7P!6Kc8q{|NTak%(820(K?(r!Aumwge1gW02OSx8MvhJ)AZIn(+qtu zw(re*#<*khp-lNOrg|)K4<@kyISFS%RB1ROe+i@3|2Drg$$tE}sSD1?%ujm&QQZpr z2Q{h1Z(b`dSeLP|&nkkNT|@@#uDY21PVcJalgjW*8}Gh}WTGg5i~-hT(ZlnTFYV9x zcG!Nn{b_~rqx;NV(M%M>M6pb&)MyL^5-q5l#Q{40lwcs(YpWVc@!whCefZkAe^#P@ z1|Kj{JQF1_Q6jZm5)&#v|1MQ0!w0HJ4MJ{ZodU2+wV-GRB(ZtrvCXaH>hZJEODz*a zC>4QXrk?%h@ryAVw)&;HefM*7bKk4?kwzLB%DdT=ElTy8s_COxaN0YUshG!Y0a!=GDVs7abHC(Nm1P2F)nZuF<>UD3U(ezrO-Y|F6KpY#% zAeEw~+Tq_c)=Mg;(if3W@k*xRTc-Rwrm`okhB30|p65ng+a}H6GSfOrqAEW6R54LC z6ZFn|z^|UUP$<$eAMyBZd_D4RMRvOPGI3mCfA72O8YcR{1aG1lFn@X043%$lB=yrS z_6>HUGh{7OwScGt8k>u$l#zryP@T8V^4Ga<7gs4;Ca&?R{K!Q0ltg_3On_X1e`aB7 z?r7ckz4gXKm3|p_!DlA=LP6004?x{fL|$4o+PE%P#^msw*i-cfHa@&VkY9LfXe)bV zg0#)wu6Nk}b!8({t%nUFT7c&T(k-j>ApJ9tdWn0L1dT{d+v)sl#>l*pQz zf}>0>3(T}vEfr|%1&@)QoYg(^8xwU>n(jMDw<)CS!C0>?vVMM_mE`X3b#L(vlin_- z#t)`!H&gv5Q~ehcvK;)LKT;&MFzba~N`+?pKDa_fpDb(J;$%H**2g5}l?jr^p25EX zU?wDt24HsRlmZ15$f}yJFr0cZymhQh)Z&%3gG@BU1fO*n#2Z9ZD%Q5p6OjW1e#W#* zHqOlEc(c21;&&Ssq*g&Tt7FPkdHK8Y*VIKF&%HG^o!1zZ*WWx? zYMw0B6x@qNF%8uVW710}Tboa0M{?g-9*|AmUrAfy?acyjM?}6cIL5rMYSsSH-c4}& z46XSZOUZ@q0}Gh`N&ReB$@d=Kb>ho)jX}%Ro3@7fve0!FAcsnZSI?FCpuB0!x3{Mb zh;+*C6E|3bn=EBNmO>_xO5_vS1X&wa_gr?e{59U-reAb{e!V|z2fxJv8$>m*kcqQS zkD8KnQ)kfOTTpYY^Tz4h zDO(vWf7BO~S^N0sa2J2=Jr)XQK|(78Fml~a+iYe`t5#Ls^f(!YZ(F&A3z76mZ3R$hrc`OSl!Ge=A81mdvwK@;#nwx1$sRZXbx}- zp}oRvB(2oUHgNmgFu_mGCu5%t<4$!FOEH}RuGaZvzlQMYrtMYIwz{F-Gi}K*ng!Am z0syWoSrB(=YQ&6P!ks!_inlI)$Pzqa2~t_I{;WT#T%9|=YvtxF@ms+cCgqWjS{}0? z$1Nf)79Ut{Hh(Z_ysb?jq2qfwjlw1rMmJQjW)|htzhs_ZeVLI z&pGsHoloj&dp>_CZ{vctTo%e>L8gw<9I+G6+&Zvw%M9DoUNzk^W6nKcp?ns2UeAF{ znHQ`L>;kvR#F`97Z@u@%?1Ykf0gH`b>;FIb=*MPyE?sx9U?lclSx;r3(hlDUN}RK$Xgl9w=2 zYs4iKk$&OZyJYoirSo9Wy0>dVRownL}sA=TF~h6PIP z4X}uj9{73r$Yx$q!JYf-Iwly-Nz?M`W|C{>++8%U;_Hby3ybdl!>*iB$x^5w;%VfT z(~8PAtdDBK^YbJTYo||m%Tl~W70~{f{4{W4C@dp7{d#$Z3*w)^ofN&v!Iv**<=mdo}`XJ zj_-YQ1;MQ&0kkhHK`hb0!kkBN4ABnx@<77uYtQ$FcmCMiv^?nRjYgJw6HBR?CELPM zb74j@_^q%U&e>lq)gIQ)UY4K_n3gY>!}tvdu+TPv^d4*^ zBS6N$Tw(hX6yd$9&ZsA;A0(Q>-XJ_Qq7_WFz>dfG%icUAs+-!eKhJITY1jTC78+(j zhSi2mwFsI^z_`NZHGXQUTrEpq@M-cQmkrGm8|dV*gJnN__2qIL<`&J9OfEZQ%SKn& z$c_z8ggqN-{Qt5wLUY(^l4f<{*~z<&8)8d#eqjYZbzmb$HfT!tY1{JL);XIGPwULj zOFmrH76w=OE|M3$d?LDshYhDo6_}=Y$tE6JW%=5>&vK*$6Z*@1DoVs*~pEJ z#4yjh;G6MT=O$+lu5I!^t-;>o&Q|nb@AG6s55W(joA^nP{q5Tsvy;gdV>&xHYW3Fn zUTk%5w%`|2u7^o(=-lb>?9jD=dEc_n3`mx7uCb918@yVWxNaVa=Qui+2{rv879+j0*)mAZcK|W&(rq2HF@Vb&fW(hXB+?VV?%*oM4ny#Xi{(2*h4dH zGC5bSZ*uo%3vRIm0c_cTf2mLL(M1;;cVswb8CmoCO_);y*@7T8*!~FOHcbC7b|yoP zE4R9C6uZy7k+f~<0p*i-0D8iQAlDg1>{`B;HtwKVsM(WQWd zL!)Oi!y*MCY;+e8Me!E?@ge)nq7@n)XSevK_&-q#Wuq`QIKh;zmz!Rrm*gHkVQt6f zs;5bzJMOV}g|ihR*gG{N+2HpXO5KQhoV>F2(VXH($6{?C3dXFoyPh4z)`%tU1F&Mq zVN*I_NcZJZLVnO9)vIUxQNx(nm`WBR`mXM=EF5QvgaxST5or;?9LPkHC z4X%JcPM-KVH8$z)L(Aze9r8P9pX5^5=ph?w8}9*wJr@g{W?8s?Hzv0BDbO-TJz}e+ zvQ-_KZ8Y$M9DR2l=#aoKisnS*{83+%-)(2j9{o(= zX7RlfXEWF+lMMox1(<-`9MwlJB4rJImc-oOb4x!VW>Zx9iQ;TFR8}C5GOFUh<-iEX z4VUL`x$t(v>KwLG3o91{i)#6yoH!70--yZs(Iw<%oeM{vNH=Y{md8Hyge}NtL;r(4 z{uCDZ7XqGv{7}U`35gvk&UQU>?}poSovO&$KCT69K`5{pS%2_-iktGG$zhqSX)iaA zj(E=A{epd{kS&|X<~z{eF-XC3b%k5Km$0tAQ+luc9zC;&t^Sg&(#IP03g-UPzxks0 zL#g1%o2#qTZuTq+vVBv`MkQ=i$_6*04A4S#C{isy__-?v??9SFTF3 za#cFEN@->Gq&5!~jbYG0%q6u> z+Iy*CL@gW2<&e(*{&Vm7%jcSXLml?6P?htpV=MQuKEg%~^@KXsI#h>}TIkvzw{?4Y zeXDJvv|hRNut<)=g%4Bs9}+&?O-|@9S+K93t@Me#<1?@h8&Y484QOD4mktga^qEro zZ-m1cBW<-3GFvTZ_T`10X-gdErk*}^!@mgxfWmDwxG@LP&8=e2<2{Q5;}0L#yj$8r z;Q=;tJ3RGfG;Q0UexT;N7vDCtvehG~3iXkaw3A_9+%jf-QBWv&W*Oeb)@Wx7I@pIb zzp|kpSzAtteAj%<>eqgGx%9_pwp6Gac?J#5s=2G^CM;>Mbm6*f<|Mh93czW1rM(&}TQ-|(Nv1N3`Y zkLjNz?;4b2JKK9e_w49?zy%vTK2Qn1yC&R0x~6= zU$nR;tb8k*cN>U7O&2M%OlM5O0dvm>>-OIw$1unW<= z6;|lTf%1xo6sHoPMrZ#*3ri%@JJVDD<(sXmU_H&G#Uu zKFQwAVhdNM@diirCP&4F zaA9}R$>Xz|22O7)+_lO($UI=wOnp~y|FIJhL%}*@Z=>|8VOC(cA0Qu)V_mmD_-ove z^64#^H@&h$V*EMi76%0Yp!l5;4_{+zh>FMl&^X%?w?d3znj6g`FLazukOZhzuBbfw zVogg)Kp+P?)kP%R%xV6;a`~suk^B{{ej9EFag>wse1aVNw9Mp!-4(v9Tk+St-J8X4 zY2=DoO`$u-Ywz4;_1@TEn#aT29Q8XK$fC5-+G*tE*17zpYhTK_Su9Q{6yG)CIdch$f9H`TQbK=(}S)7*JGB$9Vzgg*{+`AkU%7M)94*&W7U;~kCyVoIOrY+g>z5@2eZ>Lh~!}QXT*{yz$@fsDABtQw9jS%~E;-CgVd59C)-mdv*$SUb+n8DWqqh|!E-y1$( zdw6!PvEE}atoZ)L}V%Rfwk=nDOFL}s;4m4oo6U*i=>b<^bTjZs2QgMUsBaUJ!XJ0IM zZI3x%DZoc1Kh>1K!!$dcib9p2{=S+zD~+==ouiP!5oB^?vpDMMj3k^-S&D2J01evK zr0k6B2+MiC8<%!BY*e%D@5upV!%`YiO*2pU^l3CpDm@~$ag}p9D31dfGte1>t}BMu zsBlNmzs6e;sI}ee2?t81B67Qu`@9v|)*3?_F3hg*vE7)@QGCkTnZX#TPi*r&NZ%8| z|Mt9MT#N<%vfDEbDuDm^a}H!?CD5P<=l}^@rekM)PkX&->WAqQYBO#PzTgP5a7b(9 zj5(h?@KU_}{gibviK3puEW1E(VZnuEb>_YF<>?I(D`n?w(Oe&Hp>?(nr0&*x6( zB#%z_x-WY}4@SP?s1$S52aDLAl)wz|gfm$5U&~E^lW?~~T zw8iNZ2K8U+sedFKFu8t4U8a(Q-g3}8n4i{4Q~^Ul1ECh>=9}j(@GhRMFn(#aIGb&J zwyv6^@t&g?4?U(ztCH-6#49usjoX5{e`34z)?HZ2qI-+I>aV9Umo{2epJ+q zJw4u{pHm`g;-F>@L@q6q_LN#v+OxxE%C=u|>r^aXmYY49W}DHzq5tV+2>~NcMyiLN%y(z|?NvhL-uKDtfgE|4h_;hJrmuytJJgsB#LKb|r?ZTE`a%jS4KBsH45pfBQM##xj{>Jz&9r z@mGe$r7bqBJ6X+lUZVSayH_s<^>M(9c?iF~JnfQvB=zWS_s7V9Zl#Vg8v-{8@Scv>?+KyUxz-8JM zF0$i-rm*KirI4x*iAd~Y+$WO>yfeo4wX}IW@`(di&5^5mm8<5&1zCa9L(W{ts*D_C z1Bk!AnNRO%2*}W$q0mITaGB@ARdMBNxN)KU?#_ktKO<+tgt|%~ESC1;Wg6?W?I&$? zdSgC6>WT*!d2#`MNaV`I%#tZ;n5B1gOyMx|^oFHgTqSR=LN6lIEb zZq7_C?enK!m~LJi563r92ll$i4wq5BQ|{kf1+hoo>f>qT>>qo5V%q&}G5(gFPVJY2xN3JOVp|NpNxr_U`O5&nqE=r-G9b`R(l_dsn@IvRDX%Y_3uYo&!u_YGxtL1qqQtubt=>o9w-vzx&Lzd^gLQ_fH}; zCaUIf(G!4?mJAZ+?A9@w}+A;;!c`nK>@sV}+c72vQK7JkDehaoB#h_kmG+0%OnhoK<#gF6XMf=4w=M zphZ*q&je+*HuW?8+!ILCaswy(^TYtKjr(vx1e%>oMUg#dp#v! z6YH3ZMPdpX>U+mURiKHOcYw`5t(NV}c*S_u6MOkbhh(u_H5Z(I5!o1#J^yZ$QYIqxZ$;kkaDv9;gQf?lqmkE{HftJcR#1xFoB&wwmju4JY>g%nzB6)P8`62d@B8{6ROVll-oFa zgV*Wun9|La4m{+@qe5=jS*%5L^5L^VVZXPZec`}0Yro1vPCRI?D2F71WFW0~PLwlO zAzE&I>|@=d>VXY^-b)>L*5jG z*LYMx8=3*^mfB2J+C7#&O26t#+BrF0A0Bu)aBRqUoBp)QExVrEN)~_OId1ahq3b*d z{HVm2-ra-t-pnzZf-JE5lPAJO(F9qi^IDMY*!y9{$-M9#*Nzn4;Gvs5IPVD%eBa$L z?uXjU(HLt?@lCw%k{=KG^T2rA0z6tkt_q&``l~0%WbeGmA)805kHPK)@H7H>P{9l0 zL6S$PWo&&LZYZIVkPCYs9L{fAIND~@y@`cAuIhJqC>S=&9RzofX!9Gt!8C=pA-ZAO zdIja|5FWbA17Yfh?M$1uOEtD?bE_k=s9SM*{q7hhsXBQ2>!)2b&vt)~y4gpABcVJL z1|vqe^73|F{i-uP2jmvfzH-IUkDBPD^k$E)oJUlLkahDUO;~GxkB7p6q8y5xFFPKe z3ZAI6UfOprY{_QDxe+|INSd z2kRg3pl=;YMb(jED^=r5We&f{F+2RIC7!}u0uOV8Q$m0<(~$$}HlstHH5eU#czfxQ zCv*1BUy#UyCQDeByU2_$Gwq+f9tc+tG?Gi=sU-7MB4{pb@PIbw26uVe&pTFQK6QKK z+_*I~hAKTTgdB;wksCz-dlq8S1+%!0eGh=&Eu1&$T%a zq|dRe9?y&4&^J@%g7DS5Kc(`}V;-CtquZ(b7HAZt@lZMsVulRh z3~e3i)cfTXYrfemAfF2eq2~JzA;7fptkK4SAIz$4;6t>jKt3`EG7!x z6fWf#%ZR$y*LEy?$y0A;4b#Yd+NtvtRYDK1&Au7J+g5$&6;JSuDCS{yW`^W?TfJ^A z$K^(CH#@fXYCYOo!rReKF9ins(^euOEApl-Nm2iCa_EHR0$xPe;xZm&3W9O6Vfrq7 z-l_JMuUTsr+~_w~E$6{WG!a=?vnnuZ`=oQ%VqE4M@5xPi%|jJD2)QZk)wGB6=0fbX z_S4;B!_jBnzI?-jCSeh2ylX4HIJ&H@tM5ys`;M)}l|1N+h3>^O@-0hqnwHl-d*%~< zN=f*Zhu-nP40wQ%jKTe8$350U5BN(~pfOQvtEeBK2}z>hu}a3%Dm|uERB?>)wVH?E zv~YjaV%zs71r{^zeAp5AwX*#^PsyHuRK-7)MPI_s<*wV{eLQ#Xk$jaJkPd)yd)MxG zzA$R`=Lc%B%Zg=nKJef`dMyZzk;HuU$`xc%3cf32fAF*AC+-gI)42V(j<@q8Pqu{4 z&*qR?9bY;g9^F0u@stIh6!uPbtLLdY(4f!3`2N^vzp=w#qu0f3 zq!9Y+-lV_r!0@rnYnpxEf8i;7;5GmOAfACjf;owDPYjOR)9AZ&Apf($snL~eLqxv-dVdfA#L*DO3?( zM?eCm)sd31pASUU2L>o|#>nSu_kQQ0 zE)YQc2M^9TigiY6BO-GAm7~ULzovv4clox}j9=f?&4bzqaMk9-6-wv!pGfErnNCm7 z+IsRQ5B;JPJJsDlJdPf9s(Nit(XGlW$yw)C_VB=p(_ZC5^d7+d(LZfjh1<%6eapAu3q07xJaT<^w{H=5rP@ZrSC_nFM)}+F!M_!ejEUwG$0qI% z&%X0Eyu`Kc$`wAc~4ELa^OQBUME*X-Z(aWetqTo zN%_}jdhRR5h0w+H3w2lXXKnug;#r=!{YzA^)lvAZGd+HiA`nx=M^9_3&2CM5dPPQtN33JxrO5x z{U$A+)5>_u!tTK*JOan!sOt|JmJCl&l~+ITuFNn`>3v7A4P zKcz0-T&x7Hj0$EYvl{=+ai?LgsRt`r58-7|a3_evGk_F#h)3+(9Di;Qw~2n62qj90 z48ol@M9Zdk)2kSj%t%%@vx^9=(9>#c*V$vkF*w>;m=;ju$6^ z6U8mzwsQNqnY??n9@;m0F4Kb*$bQZ)Vpp@HSwWl#+=Uy-E#j7Q>v?s&9-bQ?`#?ct z%K+HE!W}P>_mSJn@nGch-qF6|ne-5zAG?-~K|dWvG|?OAm^}^dhG_LXECaq{XK|_+ zt&DVlH<#H%1GaLfe$S>?GO-&pEaLwQoBwYqxk-(o*cS_?{WZtjqXyr??=r9$>JB&> zI|az^W?&V6Kbb9#h5c`s|GX9Hzv%tp?`LiT;BW^f_Jaa4i&H|!dZ;^ZE?{cl@24B0 z24~ZOY&LYb>!HCk_Vm9-p7Y-i@rL#A2p%?oV;TP&Rsa7AgF5^EUnsmsfgQm}r(;oY z$B3cXuz++R7_om3(gO;lQ`kf5@`Zz?Q`ZOvmQ7uO#q<7t#sV1nhu@2+yHg1atc1GB z;($i|@b~k5{QDtaDCnE$SnJ;p{YHUmL%+enx~WNkN&4wn*8d%`{>M7~7r6%h9tv9q zto?|MdBGJJ6ri}y_-h8e`S(Na!g}mFo;Up#9tVt?#i?h5v_(+R*fOvv2KMy-($M`u z82X<>UjK!W*uRG?fr8-_mh|@{)2NYyY%KTB3>DO+hlW+bm8fKbq4`LC^O}u)g1P@U zp(ztaohL&7Ia%~y8)>D69>BV(%PDLCE)z?5{w!Z+0P899EzOg-$-Nj#i)GmI^5}Qi z<;;)thm2PGN7^-RG`xL<3Bqf~IpxL4Awcx5!biM?h50i7n$n?vKjZ=U8^lKjZ2SJ- z4}M62dI0&~WdoB|DuT+W5g1o#H#$Y zuYEBZAB>4FKL3EUDHQlyN=xY#T5PeDpK|GiUMRf+Z7H-s@8Q;#l#31JQlJ5x;V;z| zFzlm=Pv7}>&&=%3?#|B4+4CPK?~&tCE<$zJW)RP2Y!%DWC(hO<$>HqK)7Hq0n-~4#5C758b$|BU`kW<` zjM}i0+zNY)vl8lfDQEi#u@4pc4XQy>^yY@mQjQ)}9Wg>Lrj1Gq%{KJkx=hwdrKcQr zlLjK}u`~2L#91$*6?OhupT6ipeUf36Xm-g2cH!UkILBRndU!OVFMW*qjTYuMAuhqu znQb!3)1G(hJ%jZcKm2@^|MKf~KEZGB4aR2U7JtB3dTYFDW1ZJxbQoz~y4PtGc*l(~ zW8B#0-7?C&hNLtO=Y(@a4m%xk)ajE0a>AK(2IVd1t`l-ENPKrw zrn=)Y*UfhSl-Ff}TkIyQ5;x**P?c_tTjy?4=_*5QQH5&A?RU?)7u|@u;vP^{>b|?0 zH>y}W{ zKgoOeJ@r7XgjMhxBtkN*0~W>svv8|HyOgCr+&M^XmI+)-`TE2=kQjHzo%)oe`XuAD z!Wz5^o0Uh!?)O;L^IEL$f0|>eDv1Ne9Su=VjRdHIHo_^zju19_tep^-QxD+^Hb8*4 z?WQneMIC2nsQ}IU6gJJi&3DR5mE^MXREn{{WkU2-uOM2uRjn3mk}m5XMV#zDRikNq zsIQ9E0!b6tY2!%+JU!T;ziyqQfI|HZK8!*+IyKkaawo|h5n;(Pu*eNNwYb$4M0dz_ z`W|s9*(?l9a*0_&J!WJY%sUcuGQIk3%p=8IvRDBjZrDYF?VmqIzWdR~BW;wgp!010 z%we`U+9?&Vt2CS1XeBG`9i zjX5ncIP0Xsdx8xR?y}ejA%^&u5zS74yJa!@g4QMbvbR>UdsK^M(}c)!jYP!By%y2j zr!Z9zrji7fCbfH?sZWwcV%J+^F59Y4oJ+*5m?2^%)aG`N?If&Jte$#@zHc@Co^)9q z;eLZP>kDZo(gBZkA)0vtr&TwV;6M%$Ca_U`o|lOdE%gmTv>bN`aWJL{agahvTlXvV zNm3L_OJEqO=q6&b^@Z(12Yvn;oOuD=e@0w=i9+>J8}(64Ej@?fo4(wAM2fSz644sx zxI;3`zUp?kj=11}b?b*29Yl)0a3|ukQixsp{W_^w`FwrOw`udu{h+>>Va1xBGbQkM z?)%Y`u{oynEGYpq4d)Tfey7%CBXqUbOkh{3Y9D9UsGyDFtDA})oZq#7q?+f%AWv** zQ^aP#YnLn)7n4cj9fJRT+5eO;TcMu>O2ILv1El8vxD41rV#q(NX4 z1h^+8eDEQju3^l0KOOwd5X^x1ObBeDyIz8Yi=uTeW`VyIg4qz01IuzDCJ&b9L!f}} zdk;UPfnU;y-uLb{@V7%;A;cF!UnvwbCPVoPLU@638 z&hmJ57x-lm+zl}iShfcOA%8H}~T6ItcEE*c@0eBlnX7;8#FgCB#<2XVnlm zNYY=2Hx|suURDEsEd=WzK4-R1AJyYCMTl>Jz+q}=3@nVc^P5KSn;@w=gfSUl5~S5AO`65_fc zrfRlqX%G0PAnr88SIz3{wKL%NLa+~FGiPNi?+1SXz8!>^23Y(>v@M?xfjrZK{ F*kAgD~w5R^GJK6YWa!G(D**AL{Q0Yf)w5W|^@qOu8! zh5?eOrQ|oJ3{lGz(NHl7%gXYjQnXBadhn?p>v<@7y1Sd@`Qtt3{NCSr-`{!9djb&y zq#G8XTC={~Vkp!L(K->TS)wzU^d;`7#t9O;p4L6QJJb{$Yc0xtd@;9I%#5JiB%Ir9 z)-Be%6GXqZMwjXXk-wTchRW5ydoUv@Pn8#b2@AZDt=Lea7ZS+IO%iva>(u2V%?HJ; zf5p@`4K(bC@}WmjzSs}dmFvq&&4!B7@)bgfKic%)ju>8HZae%Wyg$zV(A<;h`!s-l znH;Seg9EXjw~!F|69d^7GE#=l=Uv-)$MOJO&kAD3lAa=WVxCW8=d~~TZ*}!{|MW}C z{eOa~aX5riZK^O-a7lV8ByZD-PBi4(3hwJe=~vj%VaUqW!k_qBqWFdqEk8JO z`%RxaAqlPF^mr;l6-iFeOvID0Ulg($3yX!^koXfx$A4CyAHEU2|BqFg^pTJ$O`42s z8l6Qq1#K=XD=`%6Dh#Ej7~=7xv9`Xx_4et{&(sQLCObOSeP*3zB#78IgLptW4JfGao6i!;Le^y>U-Xv zKYD4uqu6m_M8V~K-Gn@zzA0!7*j$+RcLtNmdUDF`jY-{uIrOxtx-|<@JM62q%v^F7 z7v$Mss7GAX*+JWr`SzTwJ6CCjp=NPOjknJYmtO1|nlUtROe~Ho%c5CoH20pP6c4sa z#^>~2omp=uOOoS9AwcfZG!MBp2#EoSq#klwjVJ*5h)`*Ch9Xg!iZFmwn4+ZvP@;qE z5iQS9ARi7Cgwt6l*}+B9G@POh2trB+H&j8VqF`{7%EjSg4<9;9jRH6vAvMQED3o8P z@#|>bDtJW8Tbj37yhUr#3**JjTHqYP^YHwn1)7DjY?;7YxCmJteVK!7MsDWZkeigJ z@me$`AHT-vr~*|XS)|d+ie=8Olep(NIO@fC32h*as-?0Lne*52c);t}#FolJgkk)a zD#LFu<)m3vK`zr+WCBOuikuOaGjEbBR4d6<8aE!S#H;BwWR=WMDDvme;)K z8)SlbVSFF1JeSe#pOpk0Ph557mx)mB<)?m z?*Y9Vs49t5zRw=Ot-!nwR5iGidh7)(1aFjF9qPmE&u=k diff --git a/discodeit/gradle/wrapper/gradle-wrapper.jar b/discodeit/gradle/wrapper/gradle-wrapper.jar index 8bdaf60c75ab801e22807dde59e12a8735a34077..249e5832f090a2944b7473328c07c9755baa3196 100644 GIT binary patch literal 60756 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 c82=K%QXLKFx%@O{wJjEi6Y56o#$)Bpeg diff --git a/discodeit/gradle/wrapper/gradle-wrapper.properties b/discodeit/gradle/wrapper/gradle-wrapper.properties index 2a84e188..ce219115 100644 --- a/discodeit/gradle/wrapper/gradle-wrapper.properties +++ b/discodeit/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,6 @@ +#Mon Dec 02 14:48:55 KST 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip -networkTimeout=10000 -validateDistributionUrl=true +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/discodeit/gradlew b/discodeit/gradlew old mode 100644 new mode 100755 index ef07e016..1b6c7873 --- a/discodeit/gradlew +++ b/discodeit/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015 the original authors. +# Copyright © 2015-2021 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,8 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. # -# SPDX-License-Identifier: Apache-2.0 -# ############################################################################## # @@ -57,7 +55,7 @@ # Darwin, MinGW, and NonStop. # # (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt # within the Gradle project. # # You can find Gradle at https://github.com/gradle/gradle/. @@ -82,11 +80,13 @@ do esac done -# This is normally unused -# shellcheck disable=SC2034 +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" APP_BASE_NAME=${0##*/} -# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum @@ -114,7 +114,7 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -133,29 +133,22 @@ location of your Java installation." fi else JAVACMD=java - if ! command -v java >/dev/null 2>&1 - then - die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." - fi fi # Increase the maximum file descriptors if we can. if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then case $MAX_FD in #( max*) - # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 MAX_FD=$( ulimit -H -n ) || warn "Could not query maximum file descriptor limit" esac case $MAX_FD in #( '' | soft) :;; #( *) - # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. - # shellcheck disable=SC2039,SC3045 ulimit -n "$MAX_FD" || warn "Could not set maximum file descriptor limit to $MAX_FD" esac @@ -200,28 +193,18 @@ if "$cygwin" || "$msys" ; then done fi - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, -# and any embedded shellness will be escaped. -# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be -# treated as '${Hostname}' itself on the command line. +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ -classpath "$CLASSPATH" \ - -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + org.gradle.wrapper.GradleWrapperMain \ "$@" -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - # Use "xargs" to parse quoted args. # # With -n1 it outputs one arg per line, with the quotes and backslashes removed. diff --git a/discodeit/gradlew.bat b/discodeit/gradlew.bat index db3a6ac2..107acd32 100644 --- a/discodeit/gradlew.bat +++ b/discodeit/gradlew.bat @@ -13,10 +13,8 @@ @rem See the License for the specific language governing permissions and @rem limitations under the License. @rem -@rem SPDX-License-Identifier: Apache-2.0 -@rem -@if "%DEBUG%"=="" @echo off +@if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -27,8 +25,7 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused +if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -43,13 +40,13 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute +if "%ERRORLEVEL%" == "0" goto execute -echo. 1>&2 -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. goto fail @@ -59,34 +56,32 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe if exist "%JAVA_EXE%" goto execute -echo. 1>&2 -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 -echo. 1>&2 -echo Please set the JAVA_HOME variable in your environment to match the 1>&2 -echo location of your Java installation. 1>&2 +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. goto fail :execute @rem Setup the command line -set CLASSPATH= +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd +if "%ERRORLEVEL%"=="0" goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/discodeit/settings.gradle b/discodeit/settings.gradle new file mode 100644 index 00000000..139597f9 --- /dev/null +++ b/discodeit/settings.gradle @@ -0,0 +1,2 @@ + + diff --git a/discodeit/src/backup_src2/src 2/main/java/JavaApplication.java b/discodeit/src/backup_src2/src 2/main/java/JavaApplication.java deleted file mode 100644 index e59c3b65..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/JavaApplication.java +++ /dev/null @@ -1,149 +0,0 @@ -import entity.Channel; -import entity.Message; -import entity.User; -import service.ChannelService; -import service.MessageService; -import service.UserService; -import service.jcf.JCFChannelService; -import service.jcf.JCFMessageService; -import service.jcf.JCFUserService; - -import java.util.List; -import java.util.Scanner; -import java.util.UUID; - - -public class JavaApplication { - static void userCRUDTest(UserService userService) { - // 생성 - User user =userService.create("RYUK", "ryuk6238@gmail.com", "01066668888"); - System.out.println("==== 유저 등록 ===="); - System.out.println("유저 ID: " + user.getId()); - - System.out.println(); - // 조회 - User foundUser = userService.find(user.getId()); - System.out.println("==== 유저 정보(단건) ===="); - System.out.println("유저 ID: " + foundUser.getId()); - System.out.println("이름: " + foundUser.getuserName()); - System.out.println("이메일: " + foundUser.getemail()); - System.out.println("전화번호: " + foundUser.getphoneNumber()); - - System.out.println(); - //전체 조회 - List foundUsers = userService.findAll(); - System.out.println("==== 유저 정보(다건) ===="); - System.out.println("유저 수: " + foundUsers.size()); - - System.out.println(); - - // 수정 - User updatedUser = userService.update(user.getId(), "WUK", "WUK@gmail.com", "01022228888"); - System.out.println("==== 유저 정보 수정 ===="); - System.out.println("이름: " + updatedUser.getuserName()); - System.out.println("이메일: " + updatedUser.getemail()); - System.out.println("전화번호: " + updatedUser.getphoneNumber()); - - System.out.println(); - - // 삭제 - userService.delete(user.getId()); - List foundUsersAfterDelete = userService.findAll(); - System.out.println("==== 유저 삭제 ===="); - System.out.println("유저 수: " + foundUsersAfterDelete.size()); - System.out.println(); - } - static void channelCRUDTest (ChannelService channelService){ - // 생성 - Channel channel = channelService.create("공지", "공지합니다", "이곳은 공지 채널입니다."); - System.out.println("==== 채널 등록 ===="); - System.out.println("채널 ID: " + channel.getId()); - - System.out.println(); - // 조회 - Channel foundChannel = channelService.find(channel.getId()); - System.out.println("==== 채널 정보(단건) ===="); - System.out.println("채널 ID: " + foundChannel.getId()); - System.out.println("채널 프레임: " + foundChannel.getFrame()); - System.out.println("채널 이름: " + foundChannel.getChannelName()); - System.out.println("메세지 내용: " + foundChannel.getDetail()); - - System.out.println(); - //전체 조회 - List foundChannels = channelService.findAll(); - System.out.println("==== 채널 정보(다건) ===="); - System.out.println("채널 수: " + foundChannels.size()); - - System.out.println(); - - // 수정 - Channel updatedChannel = channelService.update(channel.getId(), "게시판", "공지사항", "서류 제출 안내"); - System.out.println("==== 채널 정보 수정 ===="); - System.out.println("채널 ID: " + updatedChannel.getId()); - System.out.println("채널 프레임: " + updatedChannel.getFrame()); - System.out.println("채널 이름: " + updatedChannel.getChannelName()); - System.out.println("메세지 내용: " + updatedChannel.getDetail()); - - System.out.println(); - - // 삭제 - channelService.delete(channel.getId()); - List foundChannelsAfterDelete = channelService.findAll(); - System.out.println("==== 채널 삭제 ===="); - System.out.println("채널 수: " + foundChannelsAfterDelete.size()); - System.out.println(); - } - static void messageCRUDTest (MessageService messageService){ - // 생성 - UUID channelId = UUID.randomUUID(); - UUID authorId = UUID.randomUUID(); - - Message message = messageService.create("안녕하세요.", channelId, authorId); - System.out.println("==== 메세지 등록 ===="); - System.out.println("메세지 ID: " + message.getId()); - - System.out.println(); - - // 조회 - Message foundMessage = messageService.find(message.getId()); - System.out.println("==== 메세지 조회(단건) ===="); - System.out.println("메시지 ID: " + foundMessage.getId()); - System.out.println("메시지 내용: " + foundMessage.getchat()); - - - System.out.println(); - - // 전체 조회 - List foundMessages = messageService.findAll(); - System.out.println("==== 메세지 조회(다건) ===="); - System.out.println("메시지 수: " + foundMessages.size()); - - System.out.println(); - - // 수정 - Message updatedMessage = messageService.update(message.getId(), "반갑습니다."); - System.out.println("==== 메세지 수정===="); - System.out.println("메시지 내용: " + updatedMessage.getchat()); - - System.out.println(); - // 삭제 - messageService.delete(message.getId()); - List foundMessagesAfterDelete = messageService.findAll(); - System.out.println("==== 메세지 삭제 ===="); - System.out.println("메시지 수: " + foundMessagesAfterDelete.size()); - - } - public static void main (String[]args){ - // 서비스 초기화 - UserService userService = new JCFUserService(); - ChannelService ChannelService = new JCFChannelService(); - MessageService messageService = new JCFMessageService(); - - // 테스트 - userCRUDTest(userService); - channelCRUDTest(ChannelService); - messageCRUDTest(messageService); - } -} - - diff --git a/discodeit/src/backup_src2/src 2/main/java/entity/Channel.java b/discodeit/src/backup_src2/src 2/main/java/entity/Channel.java deleted file mode 100644 index 66a9d035..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/entity/Channel.java +++ /dev/null @@ -1,67 +0,0 @@ -package entity; - -import java.util.UUID; - -public class Channel { - private final UUID id; - private String channelName; - private Long createdAt; - private Long updateAt; - private String frame; - private String detail; - - public Channel(String frame, String channelName, String detail) { - this.id = UUID.randomUUID(); - this.channelName = channelName; - long now = System.currentTimeMillis(); - this.createdAt = now; - this.updateAt = now; - this.frame = frame; //좀 더 적절한 이름으로 변경 - this.detail = detail; - } - - public UUID getId() { - return id; - } - - public String getChannelName() { - return channelName; - } - - public Long getCreatedAt() { - return createdAt; - } - - public Long getUpdateAt() { - return updateAt; - } - - // update에 빠져있음 수정 - public String getFrame() { - return frame; - } - - public String getDetail() { - return detail; - } - - public void update(String frame, String channelName,String detail) { - if (frame != null) this.frame = frame; - if (frame != null) this.channelName = channelName; - if (frame != null) this.detail = detail; - } - - @Override - public String toString() { - return "Channel{" + - "id=" + id + - ", channelName='" + channelName + '\'' + - ", createdAt=" + createdAt + - ", updateAt=" + updateAt + - ", frame=" + frame + '\'' + - ", detail=" + detail + - '}'; - } - - -} \ No newline at end of file diff --git a/discodeit/src/backup_src2/src 2/main/java/entity/Message.java b/discodeit/src/backup_src2/src 2/main/java/entity/Message.java deleted file mode 100644 index e17ce36c..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/entity/Message.java +++ /dev/null @@ -1,55 +0,0 @@ -package entity; - -import java.util.UUID; - -public class Message { - private final UUID id; - private String chat; - private Long createdAt; - private Long updateAt; - //private UUID channelId = UUID.randomUUID(); - //private UUID authorId = UUID.randomUUID(); - - private String chat() { - return chat; - } - - - public Message(String chat, UUID channelId, UUID authorId) { - this.id = UUID.randomUUID(); - this.createdAt = System.currentTimeMillis(); - this.updateAt = System.currentTimeMillis(); - this.chat = chat; - } - public UUID getId() { - return id; - } - - - public String getchat() { - return chat; - } - public Long getCreatedAt() { - return createdAt; - } - - public Long getUpdateAt() { - return updateAt; - } - - public void update(String chat) { - if(chat != null) this.chat = chat; - - } - - - public void setCreatedAt(Long createdAt) { - this.createdAt = createdAt; - } - - public void setUpdateAt(Long updateAt) { - this.updateAt = updateAt; - } - -} - diff --git a/discodeit/src/backup_src2/src 2/main/java/entity/User.java b/discodeit/src/backup_src2/src 2/main/java/entity/User.java deleted file mode 100644 index 4043acc5..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/entity/User.java +++ /dev/null @@ -1,80 +0,0 @@ -package entity; - -import java.util.UUID; - -public class User { - private final UUID id; - private String userName; - private String email; - private String phoneNumber; - private Long createdAt; - private Long updateAt; - //Long now = System.currentTimeMillis(); - - public User(String userName, String email, String phoneNumber) { - this.id = UUID.randomUUID(); - this.userName = userName; - this.email = email; - this.phoneNumber = phoneNumber; - long now = System.currentTimeMillis(); - this.createdAt = now; - this.updateAt = now; - } - - public UUID getId() { return id; } - - public String getuserName(){ return userName;} - - public String getemail() { - return email; - } - - public String getphoneNumber() { - return phoneNumber; - } - - // 생성 시간이 필요한가? - - public Long getCreatedAt() { - return createdAt; - } - - public Long getUpdateAt() {return updateAt;} - - //용어 정리가 안됨 대소문자 구분 - /*public void setuserName(String userName) { - this.userName = userName; - } - - public void setemail(String email) { - this.email = email; - } - - public void setphoneNumber(String phoneNumber) { - this.phoneNumber = phoneNumber; - } -*/ - // 선택적 업데이트를 위한 수정용 Setter - public void update(String userName, String email, String phoneNumber) { - if (userName != null) this.userName = userName; - if (email != null) this.email = email; - if (phoneNumber != null) this.phoneNumber = phoneNumber; - } - - - // toString 다시 공부 - @Override - public String toString() { - return "User{" + - "id=" + id + '\'' + ", userName='" + userName + '\'' + ", email='" + email + '\'' + - ", phoneNumber='" + phoneNumber + '\'' + - ", createdAt=" + createdAt + - ", updateAt=" + updateAt + - '}'; - } //호출한거에 값을 각 객체에 반환하도록 - - - - //오버라이딩 - //제네이이트 -> 'toString' -} diff --git a/discodeit/src/backup_src2/src 2/main/java/service/ChannelService.java b/discodeit/src/backup_src2/src 2/main/java/service/ChannelService.java deleted file mode 100644 index 37c3f8dd..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/service/ChannelService.java +++ /dev/null @@ -1,25 +0,0 @@ -package service; - -import entity.Channel; - -import java.util.List; -import java.util.UUID; - -public interface ChannelService { - - - //생성 - Channel create(String frame, String channelName, String detail); - - // 검색 - Channel find(UUID id); - - // 전체 출력 - List findAll(); - - // 수정 - Channel update(UUID id,String frame, String channelName, String detail); - - // 삭제 - void delete (UUID id); -} diff --git a/discodeit/src/backup_src2/src 2/main/java/service/MessageService.java b/discodeit/src/backup_src2/src 2/main/java/service/MessageService.java deleted file mode 100644 index 827e94f9..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/service/MessageService.java +++ /dev/null @@ -1,19 +0,0 @@ -package service; - -import entity.Message; - -import java.util.List; -import java.util.UUID; - -public interface MessageService { - - Message create(String chat, UUID channelId, UUID authorID); - - Message find(UUID id); - - List findAll(); - - Message update(UUID id, String chat); - - void delete(UUID id); -} diff --git a/discodeit/src/backup_src2/src 2/main/java/service/UserService.java b/discodeit/src/backup_src2/src 2/main/java/service/UserService.java deleted file mode 100644 index fe57d84d..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/service/UserService.java +++ /dev/null @@ -1,31 +0,0 @@ -package service; - - -import entity.User; -import java.util.List; -import java.util.UUID; - -public interface UserService{ - //조회 - User find(UUID id); - - User findByName(String userName); - - // 등록 - User create(String userName, String email, String phoneNumber); - - //전체 조회 - List findAll(); - - List checkAll(); - - // 수정 - User update(UUID id, String userName, String email, String phoneNumber); - - // 이름으로 전체 목록에서 검색 User 객체에서 가져오고 - // 가져온 User안에 필드인 id를 조회해서 리스트에서 검색한다음 삭제하도록 진행 - // 삭제 - void delete (UUID id); - -} - diff --git a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFChannelService.java b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFChannelService.java deleted file mode 100644 index 01a2063f..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFChannelService.java +++ /dev/null @@ -1,73 +0,0 @@ -package service.jcf; - -import entity.Channel; -import service.ChannelService; - - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -public class JCFChannelService implements ChannelService { - - private final List data = new ArrayList<>(); - - @Override - public void delete(UUID id) { - for (Channel channel : data) { - if(channel.getId().equals(id)) { - data.remove(channel); // for문에서 remove쓰면 안되나? - return; // ? 반환 - } - } - // data.removeIf(message -> message.getId().equals(id)); - } - - - @Override - public Channel find(UUID id) { - // for문 : data에서 - for (Channel channel : data) { - // if channel에 있는 getId의 값이 id값과 같으면 - if (channel.getId().equals(id)) - // 그 값을 channel에 반환해라 - return channel; - } - - return null; - } - - @Override - public Channel create(String frame, String channelName, String detail) { - // 기존의 생성자를 이용해서 객체 생성 - Channel newChannel = new Channel(frame, channelName, detail); - // 리스트에 저장 - data.add(newChannel); - // 생성된 객체 반환 -> null 금지 오류 남 - return newChannel; - } - - @Override - public List findAll() { - return new ArrayList<>(data); - // return new ArrayList<>(data.value()); - // return data; - } - - @Override - public Channel update(UUID id, String frame, String channelName, String detail) { - for (Channel channel : data) { - if (channel.getId().equals(id)) { - - channel.update(frame, channelName, detail); - - return channel; - } - } - return null; - } - -} - - - diff --git a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFMessageService.java b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFMessageService.java deleted file mode 100644 index 830c6db6..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFMessageService.java +++ /dev/null @@ -1,60 +0,0 @@ -package service.jcf; - -import entity.Message; -import service.MessageService; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -public class JCFMessageService implements MessageService { - - private final List data = new ArrayList<>(); - - @Override - public void delete(UUID id) { - /*for (Message message : data) { - if(message.getId().equals(id)) - data.remove(message); - } - System.out.println("없음");*/ - data.removeIf(message -> message.getId().equals(id)); - } - - - @Override - public List findAll() { - return data; - } - - @Override - public Message find(UUID id) { - for(Message message : data) { - if(message.getId().equals(id)) { - return message; - } - } - System.out.println("없음"); - return null; - } - - @Override - public Message update(UUID id, String chat) { - for(Message message : data) { - if(message.getId().equals(id)) { - message.update(chat); - return message; - } - } - System.out.println("없음"); - return null; - - } - - @Override - public Message create(String chat, UUID channelId, UUID authorId) { - Message message = new Message(chat, channelId, authorId); - data.add(message); - return message; - } -} diff --git a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFUserService.java b/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFUserService.java deleted file mode 100644 index 7eb291db..00000000 --- a/discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFUserService.java +++ /dev/null @@ -1,99 +0,0 @@ -package service.jcf; - - -import entity.User; -import service.UserService; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.UUID; - - -public class JCFUserService implements UserService { - - public final List users; - //private final Set ids; - - - public JCFUserService() { - this.users = new ArrayList<>(); - users.add(new User("YUK","YUK@email.com","01022790657")); - users.add(new User("KIM","KIM@email.com","01011112222")); - users.add(new User("PARK","PARK@email.com","01022223333")); - users.add(new User("CHOI","CHOI@email.com","01033334444")); - users.add(new User("HUANG","HUANG@email.com","01044445555")); - } - @Override - public User find(UUID id) { - for (User user : users) { - if(user.getId().equals(id)){ - return user; - } - } - return null; - } - - @Override - public User findByName(String userName) { - for (User user : users) { - if (user.getuserName().equals(userName)) { - return user; - } - } - return null; - } - - @Override - public User create(String userName, String email, String phoneNumber) { - User user = new User(userName, email, phoneNumber); - users.add(user); - return user; - } - - @Override - public User update(UUID id, String userName, String email, String phoneNumber) { - for (User user : users) { - if (user.getId().equals(id)) { - user.update(userName, email, phoneNumber); - return user; - } - } - return null; - } - /*public User update(String userName, String email, String phoneNumber) { - User user = find(id); - if (users == null){ - return null; - } - User update(userName, email, phoneNumber){ - return user; - } - }*/ - - - - - @Override - public List findAll() { return new ArrayList<>(users); } - - @Override - public List checkAll() { - return users.stream() // -> 스트림 시작 - .sorted(Comparator.comparing(User :: getuserName)) - // sorted = ...기준으로 정렬 -> 정렬 기준 필요 -> Comparator.comparing(User :: getuserName - // compare = 두 객체를 비교하는 규칙 - // comparing = 기준을 정해서 규칙을 만들어줌 - //(User :: getuserName) --> 같음 / user -> user.geruserName(): - .toList(); - } - - @Override - public void delete(UUID id) { - users.removeIf(user -> user.getId().equals(id)); - } -} - - - - diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java deleted file mode 100644 index a82a5add..00000000 --- a/discodeit/src/main/java/JavaApplication.java +++ /dev/null @@ -1,148 +0,0 @@ -import entity.Channel; -import entity.Message; -import entity.User; -import service.ChannelService; -import service.MessageService; -import service.UserService; -import service.jcf.JCFChannelService; -import service.jcf.JCFMessageService; -import service.jcf.JCFUserService; - -import java.util.List; -import java.util.UUID; - - -public class JavaApplication { - static void userCRUDTest(UserService userService) { - // 생성 - User user =userService.create("RYUK", "ryuk6238@gmail.com", "01066668888"); - System.out.println("==== 유저 등록 ===="); - System.out.println("유저 ID: " + user.getId()); - - System.out.println(); - // 조회 - User foundUser = userService.findById(user.getId()); - System.out.println("==== 유저 정보(단건) ===="); - System.out.println("유저 ID: " + foundUser.getId()); - System.out.println("이름: " + foundUser.getuserName()); - System.out.println("이메일: " + foundUser.getemail()); - System.out.println("전화번호: " + foundUser.getphoneNumber()); - - System.out.println(); - //전체 조회 - List foundUsers = userService.findAll(); - System.out.println("==== 유저 정보(다건) ===="); - System.out.println("유저 수: " + foundUsers.size()); - - System.out.println(); - - // 수정 - User updatedUser = userService.update(user.getId(), "WUK", "WUK@gmail.com", "01022228888"); - System.out.println("==== 유저 정보 수정 ===="); - System.out.println("이름: " + updatedUser.getuserName()); - System.out.println("이메일: " + updatedUser.getemail()); - System.out.println("전화번호: " + updatedUser.getphoneNumber()); - - System.out.println(); - - // 삭제 - userService.delete(user.getId()); - List foundUsersAfterDelete = userService.findAll(); - System.out.println("==== 유저 삭제 ===="); - System.out.println("유저 수: " + foundUsersAfterDelete.size()); - System.out.println(); - } - static void channelCRUDTest (ChannelService channelService){ - // 생성 - Channel channel = channelService.create("공지", "공지합니다", "이곳은 공지 채널입니다."); - System.out.println("==== 채널 등록 ===="); - System.out.println("채널 ID: " + channel.getId()); - - System.out.println(); - // 조회 - Channel foundChannel = channelService.find(channel.getId()); - System.out.println("==== 채널 정보(단건) ===="); - System.out.println("채널 ID: " + foundChannel.getId()); - System.out.println("채널 프레임: " + foundChannel.getFrame()); - System.out.println("채널 이름: " + foundChannel.getChannelName()); - System.out.println("메세지 내용: " + foundChannel.getDetail()); - - System.out.println(); - //전체 조회 - List foundChannels = channelService.findAll(); - System.out.println("==== 채널 정보(다건) ===="); - System.out.println("채널 수: " + foundChannels.size()); - - System.out.println(); - - // 수정 - Channel updatedChannel = channelService.update(channel.getId(), "게시판", "공지사항", "서류 제출 안내"); - System.out.println("==== 채널 정보 수정 ===="); - System.out.println("채널 ID: " + updatedChannel.getId()); - System.out.println("채널 프레임: " + updatedChannel.getFrame()); - System.out.println("채널 이름: " + updatedChannel.getChannelName()); - System.out.println("메세지 내용: " + updatedChannel.getDetail()); - - System.out.println(); - - // 삭제 - channelService.delete(channel.getId()); - List foundChannelsAfterDelete = channelService.findAll(); - System.out.println("==== 채널 삭제 ===="); - System.out.println("채널 수: " + foundChannelsAfterDelete.size()); - System.out.println(); - } - static void messageCRUDTest (MessageService messageService){ - // 생성 - UUID channelId = UUID.randomUUID(); - UUID authorId = UUID.randomUUID(); - - Message message = messageService.create("안녕하세요.", channelId, authorId); - System.out.println("==== 메세지 등록 ===="); - System.out.println("메세지 ID: " + message.getId()); - - System.out.println(); - - // 조회 - Message foundMessage = messageService.find(message.getId()); - System.out.println("==== 메세지 조회(단건) ===="); - System.out.println("메시지 ID: " + foundMessage.getId()); - System.out.println("메시지 내용: " + foundMessage.getchat()); - - - System.out.println(); - - // 전체 조회 - List foundMessages = messageService.findAll(); - System.out.println("==== 메세지 조회(다건) ===="); - System.out.println("메시지 수: " + foundMessages.size()); - - System.out.println(); - - // 수정 - Message updatedMessage = messageService.update(message.getId(), "반갑습니다."); - System.out.println("==== 메세지 수정===="); - System.out.println("메시지 내용: " + updatedMessage.getchat()); - - System.out.println(); - // 삭제 - messageService.delete(message.getId()); - List foundMessagesAfterDelete = messageService.findAll(); - System.out.println("==== 메세지 삭제 ===="); - System.out.println("메시지 수: " + foundMessagesAfterDelete.size()); - - } - public static void main (String[]args){ - // 서비스 초기화 - UserService userService = new JCFUserService(); - ChannelService ChannelService = new JCFChannelService(); - MessageService messageService = new JCFMessageService(); - - // 테스트 - userCRUDTest(userService); - channelCRUDTest(ChannelService); - messageCRUDTest(messageService); - } -} - - diff --git a/discodeit/src/main/java/JavaApplication2.java b/discodeit/src/main/java/JavaApplication2.java deleted file mode 100644 index 4f94fafa..00000000 --- a/discodeit/src/main/java/JavaApplication2.java +++ /dev/null @@ -1,131 +0,0 @@ -import entity.Channel; -import entity.Message; -import entity.User; -import repository.ChannelRepository; -import repository.MessageRepository; -import repository.UserRepository; -import repository.file.FileChannelRepository; -import repository.file.FileMessageRepository; -import repository.file.FileUserRepository; -import service.ChannelService; -import service.MessageService; -import service.UserService; -import service.basic.BasicChannelService; -import service.basic.BasicMessageService; -import service.basic.BasicUserService; -import service.file.FileChannelService; -import service.file.FileMessageService; -import service.file.FileUserService; - -import java.util.List; -import java.util.UUID; - -public class JavaApplication2 { - static void userCRUDTest(UserService userService) { - // 생성 - User user = userService.create("woody", "woody@codeit.com", "woody1234"); - System.out.println("유저 생성: " + user.getId()); - // 조회 - User foundUser = userService.findById(user.getId()); - System.out.println("유저 조회(단건): " + foundUser.getId()); - List foundUsers = userService.findAll(); - System.out.println("유저 조회(다건): " + foundUsers.size()); - // 수정 - User updatedUser = userService.update(user.getId(), null, null, "woody5678"); - System.out.println("유저 수정: " + String.join("/", updatedUser.getuserName(), updatedUser.getemail(), updatedUser.getphoneNumber())); - // 삭제 - userService.delete(user.getId()); - List foundUsersAfterDelete = userService.findAll(); - System.out.println("유저 삭제: " + foundUsersAfterDelete.size()); - } - - static void channelCRUDTest(ChannelService channelService) { - // 생성 - Channel channel = channelService.create("공비", "공지방", "공지 채널입니다."); - System.out.println("채널 생성: " + channel.getId()); - // 조회 - Channel foundChannel = channelService.find(channel.getId()); - System.out.println("채널 조회(단건): " + foundChannel.getId()); - List foundChannels = channelService.findAll(); - System.out.println("채널 조회(다건): " + foundChannels.size()); - // 수정 - Channel updatedChannel = channelService.update(channel.getId(), "공지" ,"공지사항", "공지사항입니다"); - System.out.println("채널 수정: " + String.join(updatedChannel.getFrame(), updatedChannel.getDetail())); - // 삭제 - channelService.delete(channel.getId()); - List foundChannelsAfterDelete = channelService.findAll(); - System.out.println("채널 삭제: " + foundChannelsAfterDelete.size()); - } - - static void messageCRUDTest(MessageService messageService) { - // 생성 - UUID channelId = UUID.randomUUID(); - UUID authorId = UUID.randomUUID(); - Message message = messageService.create("안녕하세요.", channelId, authorId); - System.out.println("메시지 생성: " + message.getId()); - // 조회 - Message foundMessage = messageService.find(message.getId()); - System.out.println("메시지 조회(단건): " + foundMessage.getId()); - List foundMessages = messageService.findAll(); - System.out.println("메시지 조회(다건): " + foundMessages.size()); - // 수정 - Message updatedMessage = messageService.update(message.getId(), "반갑습니다."); - System.out.println("메시지 수정: " + updatedMessage.getchat()); - // 삭재 - messageService.delete(message.getId()); - List foundMessagesAfterDelete = messageService.findAll(); - System.out.println("메시지 삭제: " + foundMessagesAfterDelete.size()); - } - - static User setupUser(UserService userService) { - User user = userService.create("woody", "woody@codeit.com", "woody1234"); - return user; - } - - static Channel setupChannel(ChannelService channelService) { - Channel channel = channelService.create("속성", "공지", "공지 채널입니다."); - return channel; - } - - static void messageCreateTest(MessageService messageService, Channel channel, User author) { - Message message = messageService.create("안녕하세요.", channel.getId(), author.getId()); - System.out.println("메시지 생성: " + message.getId()); - } - - - public static void main(String[] args) { -// // 서비스 초기화 -// UserService userService = new FileUserService(); -// ChannelService channelService = new FileChannelService(); -// MessageService messageService = new FileMessageService(channelService, userService); - - UserRepository userRepository = new FileUserRepository(); - ChannelRepository channelRepository = new FileChannelRepository(); - MessageRepository messageRepository = new FileMessageRepository(); - - -// // 테스트 -// userCRUDTest(userService); -// channelCRUDTest(channelService); -// messageCRUDTest(messageService); - - // 서비스 초기화 - UserService userService = new BasicUserService(userRepository); - ChannelService channelService = new BasicChannelService(channelRepository); - MessageService messageService = new BasicMessageService(messageRepository, channelRepository, userRepository); - - - // 셋업 - User user = setupUser(userService); - Channel channel = setupChannel(channelService); - //test - messageCreateTest(messageService, channel, user); - - - - - - } - - -} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/DiscodeitApplication.java b/discodeit/src/main/java/com/sprint/mission/discodeit/DiscodeitApplication.java new file mode 100644 index 00000000..360245c4 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/DiscodeitApplication.java @@ -0,0 +1,13 @@ +package com.sprint.mission.discodeit; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class DiscodeitApplication { + + public static void main(String[] args) { + SpringApplication.run(DiscodeitApplication.class, args); + } + +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java b/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java new file mode 100644 index 00000000..599bfab6 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java @@ -0,0 +1,53 @@ +package com.sprint.mission.discodeit; + +import com.sprint.mission.discodeit.entity.Channel; +import com.sprint.mission.discodeit.entity.ChannelType; +import com.sprint.mission.discodeit.entity.Message; +import com.sprint.mission.discodeit.entity.User; +import com.sprint.mission.discodeit.repository.ChannelRepository; +import com.sprint.mission.discodeit.repository.MessageRepository; +import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.repository.file.FileChannelRepository; +import com.sprint.mission.discodeit.repository.file.FileMessageRepository; +import com.sprint.mission.discodeit.repository.file.FileUserRepository; +import com.sprint.mission.discodeit.service.ChannelService; +import com.sprint.mission.discodeit.service.MessageService; +import com.sprint.mission.discodeit.service.UserService; +import com.sprint.mission.discodeit.service.basic.BasicChannelService; +import com.sprint.mission.discodeit.service.basic.BasicMessageService; +import com.sprint.mission.discodeit.service.basic.BasicUserService; + +public class JavaApplication { + static User setupUser(UserService userService) { + User user = userService.create("woody", "woody@codeit.com", "woody1234"); + return user; + } + + static Channel setupChannel(ChannelService channelService) { + Channel channel = channelService.create(ChannelType.PUBLIC, "공지", "공지 채널입니다."); + return channel; + } + + static void messageCreateTest(MessageService messageService, Channel channel, User author) { + Message message = messageService.create("안녕하세요.", channel.getId(), author.getId()); + System.out.println("메시지 생성: " + message.getId()); + } + + public static void main(String[] args) { + // 레포지토리 초기화 + UserRepository userRepository = new FileUserRepository(); + ChannelRepository channelRepository = new FileChannelRepository(); + MessageRepository messageRepository = new FileMessageRepository(); + + // 서비스 초기화 + UserService userService = new BasicUserService(userRepository); + ChannelService channelService = new BasicChannelService(channelRepository); + MessageService messageService = new BasicMessageService(messageRepository, channelRepository, userRepository); + + // 셋업 + User user = setupUser(userService); + Channel channel = setupChannel(channelService); + // 테스트 + messageCreateTest(messageService, channel, user); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Channel.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Channel.java new file mode 100644 index 00000000..3a1058e4 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Channel.java @@ -0,0 +1,65 @@ +package com.sprint.mission.discodeit.entity; + +import java.io.Serializable; +import java.time.Instant; +import java.util.UUID; + +public class Channel implements Serializable { + private static final long serialVersionUID = 1L; + private UUID id; + private Long createdAt; + private Long updatedAt; + // + private ChannelType type; + private String name; + private String description; + + public Channel(ChannelType type, String name, String description) { + this.id = UUID.randomUUID(); + this.createdAt = Instant.now().getEpochSecond(); + // + this.type = type; + this.name = name; + this.description = description; + } + + public UUID getId() { + return id; + } + + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdatedAt() { + return updatedAt; + } + + public ChannelType getType() { + return type; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public void update(String newName, String newDescription) { + boolean anyValueUpdated = false; + if (newName != null && !newName.equals(this.name)) { + this.name = newName; + anyValueUpdated = true; + } + if (newDescription != null && !newDescription.equals(this.description)) { + this.description = newDescription; + anyValueUpdated = true; + } + + if (anyValueUpdated) { + this.updatedAt = Instant.now().getEpochSecond(); + } + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/ChannelType.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/ChannelType.java new file mode 100644 index 00000000..9a2ff3f0 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/ChannelType.java @@ -0,0 +1,6 @@ +package com.sprint.mission.discodeit.entity; + +public enum ChannelType { + PUBLIC, + PRIVATE, +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Message.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Message.java new file mode 100644 index 00000000..e622318a --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Message.java @@ -0,0 +1,63 @@ +package com.sprint.mission.discodeit.entity; + +import java.io.Serializable; +import java.time.Instant; +import java.util.UUID; + +public class Message implements Serializable { + private static final long serialVersionUID = 1L; + + private UUID id; + private Long createdAt; + private Long updatedAt; + // + private String content; + // + private UUID channelId; + private UUID authorId; + + public Message(String content, UUID channelId, UUID authorId) { + this.id = UUID.randomUUID(); + this.createdAt = Instant.now().getEpochSecond(); + // + this.content = content; + this.channelId = channelId; + this.authorId = authorId; + } + + public UUID getId() { + return id; + } + + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdatedAt() { + return updatedAt; + } + + public String getContent() { + return content; + } + + public UUID getChannelId() { + return channelId; + } + + public UUID getAuthorId() { + return authorId; + } + + public void update(String newContent) { + boolean anyValueUpdated = false; + if (newContent != null && !newContent.equals(this.content)) { + this.content = newContent; + anyValueUpdated = true; + } + + if (anyValueUpdated) { + this.updatedAt = Instant.now().getEpochSecond(); + } + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java new file mode 100644 index 00000000..c4f0faaa --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java @@ -0,0 +1,70 @@ +package com.sprint.mission.discodeit.entity; + +import java.io.Serializable; +import java.time.Instant; +import java.util.UUID; + +public class User implements Serializable { + private static final long serialVersionUID = 1L; + + private UUID id; + private Long createdAt; + private Long updatedAt; + // + private String username; + private String email; + private String password; + + public User(String username, String email, String password) { + this.id = UUID.randomUUID(); + this.createdAt = Instant.now().getEpochSecond(); + // + this.username = username; + this.email = email; + this.password = password; + } + + public UUID getId() { + return id; + } + + public Long getCreatedAt() { + return createdAt; + } + + public Long getUpdatedAt() { + return updatedAt; + } + + public String getUsername() { + return username; + } + + public String getEmail() { + return email; + } + + public String getPassword() { + return password; + } + + public void update(String newUsername, String newEmail, String newPassword) { + boolean anyValueUpdated = false; + if (newUsername != null && !newUsername.equals(this.username)) { + this.username = newUsername; + anyValueUpdated = true; + } + if (newEmail != null && !newEmail.equals(this.email)) { + this.email = newEmail; + anyValueUpdated = true; + } + if (newPassword != null && !newPassword.equals(this.password)) { + this.password = newPassword; + anyValueUpdated = true; + } + + if (anyValueUpdated) { + this.updatedAt = Instant.now().getEpochSecond(); + } + } +} diff --git a/discodeit/src/main/java/repository/ChannelRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/ChannelRepository.java similarity index 73% rename from discodeit/src/main/java/repository/ChannelRepository.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/repository/ChannelRepository.java index c32c8588..326a84f4 100644 --- a/discodeit/src/main/java/repository/ChannelRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/ChannelRepository.java @@ -1,7 +1,6 @@ -package repository; +package com.sprint.mission.discodeit.repository; -import entity.Channel; -import entity.User; +import com.sprint.mission.discodeit.entity.Channel; import java.util.List; import java.util.Optional; @@ -13,4 +12,4 @@ public interface ChannelRepository { List findAll(); boolean existsById(UUID id); void deleteById(UUID id); -} \ No newline at end of file +} diff --git a/discodeit/src/main/java/repository/MessageRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/MessageRepository.java similarity index 73% rename from discodeit/src/main/java/repository/MessageRepository.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/repository/MessageRepository.java index 0aa056a3..1477de72 100644 --- a/discodeit/src/main/java/repository/MessageRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/MessageRepository.java @@ -1,7 +1,6 @@ -package repository; +package com.sprint.mission.discodeit.repository; -import entity.Message; -import entity.User; +import com.sprint.mission.discodeit.entity.Message; import java.util.List; import java.util.Optional; @@ -13,4 +12,4 @@ public interface MessageRepository { List findAll(); boolean existsById(UUID id); void deleteById(UUID id); -} \ No newline at end of file +} diff --git a/discodeit/src/main/java/repository/UserRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java similarity index 61% rename from discodeit/src/main/java/repository/UserRepository.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java index 602184d6..ebdbcb9e 100644 --- a/discodeit/src/main/java/repository/UserRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java @@ -1,16 +1,15 @@ -package repository; +package com.sprint.mission.discodeit.repository; -import entity.User; +import com.sprint.mission.discodeit.entity.User; import java.util.List; import java.util.Optional; import java.util.UUID; -public interface UserRepository { - Optional findById(UUID id) ; +public interface UserRepository { User save(User user); - //Optional find(UUID id); + Optional findById(UUID id); List findAll(); boolean existsById(UUID id); void deleteById(UUID id); -} \ No newline at end of file +} diff --git a/discodeit/src/main/java/service/file/FileChannelService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileChannelRepository.java similarity index 51% rename from discodeit/src/main/java/service/file/FileChannelService.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileChannelRepository.java index a620c0bc..0431aa53 100644 --- a/discodeit/src/main/java/service/file/FileChannelService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileChannelRepository.java @@ -1,22 +1,21 @@ -package service.file; +package com.sprint.mission.discodeit.repository.file; -import entity.Channel; -import service.ChannelService; +import com.sprint.mission.discodeit.entity.Channel; +import com.sprint.mission.discodeit.repository.ChannelRepository; import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; -import java.util.NoSuchElementException; import java.util.Optional; import java.util.UUID; -public class FileChannelService implements ChannelService { +public class FileChannelRepository implements ChannelRepository { private final Path DIRECTORY; private final String EXTENSION = ".ser"; - public FileChannelService() { + public FileChannelRepository() { this.DIRECTORY = Paths.get(System.getProperty("user.dir"), "file-data-map", Channel.class.getSimpleName()); if (Files.notExists(DIRECTORY)) { try { @@ -28,15 +27,15 @@ public FileChannelService() { } private Path resolvePath(UUID id) { - return DIRECTORY.resolve(id + EXTENSION);} + return DIRECTORY.resolve(id + EXTENSION); + } @Override - public Channel create(String frame, String channelName, String detail) { - Channel channel = new Channel(frame, channelName, detail); + public Channel save(Channel channel) { Path path = resolvePath(channel.getId()); try ( FileOutputStream fos = new FileOutputStream(path.toFile()); - ObjectOutputStream oos = new ObjectOutputStream(fos); + ObjectOutputStream oos = new ObjectOutputStream(fos) ) { oos.writeObject(channel); } catch (IOException e) { @@ -46,22 +45,20 @@ public Channel create(String frame, String channelName, String detail) { } @Override - public Channel find(UUID id) { + public Optional findById(UUID id) { Channel channelNullable = null; Path path = resolvePath(id); if (Files.exists(path)) { - try( + try ( FileInputStream fis = new FileInputStream(path.toFile()); ObjectInputStream ois = new ObjectInputStream(fis) - ) { + ) { channelNullable = (Channel) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); } } - return Optional.ofNullable(channelNullable) - .orElseThrow(() -> new NoSuchElementException("Channel with id " + id + " bot found")); - + return Optional.ofNullable(channelNullable); } @Override @@ -73,64 +70,31 @@ public List findAll() { try ( FileInputStream fis = new FileInputStream(path.toFile()); ObjectInputStream ois = new ObjectInputStream(fis) - ){ + ) { return (Channel) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { + } catch (IOException | ClassNotFoundException e) { throw new RuntimeException(e); } }) .toList(); - }catch (IOException e) { + } catch (IOException e) { throw new RuntimeException(e); } } - public List checkAll() { - return List.of(); - } - @Override - public Channel update(UUID id, String frame, String channelName, String detail) { - Channel channelNullable = null; + public boolean existsById(UUID id) { Path path = resolvePath(id); - if(Files.exists(path)) { - try( - FileInputStream fis = new FileInputStream(path.toFile()); - ObjectInputStream ois = new ObjectInputStream(fis) - ){ - channelNullable = (Channel) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - }Channel channel = Optional.ofNullable(channelNullable) - .orElseThrow(() -> new NoSuchElementException("Channel with id " + id + " not found")); - - try( - FileOutputStream fos = new FileOutputStream(path.toFile()); - ObjectOutputStream oos = new ObjectOutputStream(fos) - ){ - oos.writeObject(channel); - }catch (IOException e) { - throw new RuntimeException(e); - } - return channel; + return Files.exists(path); } @Override - public void delete(UUID id) { + public void deleteById(UUID id) { Path path = resolvePath(id); - if (Files.notExists(path)) { - throw new NoSuchElementException("Channel with id " + id + " not found"); - } try { Files.delete(path); - }catch (IOException e) { + } catch (IOException e) { throw new RuntimeException(e); } - } } - - - - diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileMessageRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileMessageRepository.java new file mode 100644 index 00000000..73023764 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileMessageRepository.java @@ -0,0 +1,100 @@ +package com.sprint.mission.discodeit.repository.file; + +import com.sprint.mission.discodeit.entity.Message; +import com.sprint.mission.discodeit.repository.MessageRepository; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public class FileMessageRepository implements MessageRepository { + private final Path DIRECTORY; + private final String EXTENSION = ".ser"; + + public FileMessageRepository() { + this.DIRECTORY = Paths.get(System.getProperty("user.dir"), "file-data-map", Message.class.getSimpleName()); + if (Files.notExists(DIRECTORY)) { + try { + Files.createDirectories(DIRECTORY); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + } + + private Path resolvePath(UUID id) { + return DIRECTORY.resolve(id + EXTENSION); + } + + @Override + public Message save(Message message) { + Path path = resolvePath(message.getId()); + try ( + FileOutputStream fos = new FileOutputStream(path.toFile()); + ObjectOutputStream oos = new ObjectOutputStream(fos) + ) { + oos.writeObject(message); + } catch (IOException e) { + throw new RuntimeException(e); + } + return message; + } + + @Override + public Optional findById(UUID id) { + Message messageNullable = null; + Path path = resolvePath(id); + if (Files.exists(path)) { + try ( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ) { + messageNullable = (Message) ois.readObject(); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + return Optional.ofNullable(messageNullable); + } + + @Override + public List findAll() { + try { + return Files.list(DIRECTORY) + .filter(path -> path.toString().endsWith(EXTENSION)) + .map(path -> { + try ( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ) { + return (Message) ois.readObject(); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + }) + .toList(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public boolean existsById(UUID id) { + Path path = resolvePath(id); + return Files.exists(path); + } + + @Override + public void deleteById(UUID id) { + Path path = resolvePath(id); + try { + Files.delete(path); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java new file mode 100644 index 00000000..ec92b666 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java @@ -0,0 +1,100 @@ +package com.sprint.mission.discodeit.repository.file; + +import com.sprint.mission.discodeit.entity.User; +import com.sprint.mission.discodeit.repository.UserRepository; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public class FileUserRepository implements UserRepository { + private final Path DIRECTORY; + private final String EXTENSION = ".ser"; + + public FileUserRepository() { + this.DIRECTORY = Paths.get(System.getProperty("user.dir"), "file-data-map", User.class.getSimpleName()); + if (Files.notExists(DIRECTORY)) { + try { + Files.createDirectories(DIRECTORY); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + } + + private Path resolvePath(UUID id) { + return DIRECTORY.resolve(id + EXTENSION); + } + + @Override + public User save(User user) { + Path path = resolvePath(user.getId()); + try ( + FileOutputStream fos = new FileOutputStream(path.toFile()); + ObjectOutputStream oos = new ObjectOutputStream(fos) + ) { + oos.writeObject(user); + } catch (IOException e) { + throw new RuntimeException(e); + } + return user; + } + + @Override + public Optional findById(UUID id) { + User userNullable = null; + Path path = resolvePath(id); + if (Files.exists(path)) { + try ( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ) { + userNullable = (User) ois.readObject(); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + return Optional.ofNullable(userNullable); + } + + @Override + public List findAll() { + try { + return Files.list(DIRECTORY) + .filter(path -> path.toString().endsWith(EXTENSION)) + .map(path -> { + try ( + FileInputStream fis = new FileInputStream(path.toFile()); + ObjectInputStream ois = new ObjectInputStream(fis) + ) { + return (User) ois.readObject(); + } catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + }) + .toList(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public boolean existsById(UUID id) { + Path path = resolvePath(id); + return Files.exists(path); + } + + @Override + public void deleteById(UUID id) { + Path path = resolvePath(id); + try { + Files.delete(path); + } catch (IOException e) { + throw new RuntimeException(e); + } + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.java new file mode 100644 index 00000000..e11c92da --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.java @@ -0,0 +1,40 @@ +package com.sprint.mission.discodeit.repository.jcf; + +import com.sprint.mission.discodeit.entity.Channel; +import com.sprint.mission.discodeit.repository.ChannelRepository; + +import java.util.*; + +public class JCFChannelRepository implements ChannelRepository { + private final Map data; + + public JCFChannelRepository() { + this.data = new HashMap<>(); + } + + @Override + public Channel save(Channel channel) { + this.data.put(channel.getId(), channel); + return channel; + } + + @Override + public Optional findById(UUID id) { + return Optional.ofNullable(this.data.get(id)); + } + + @Override + public List findAll() { + return this.data.values().stream().toList(); + } + + @Override + public boolean existsById(UUID id) { + return this.data.containsKey(id); + } + + @Override + public void deleteById(UUID id) { + this.data.remove(id); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.java new file mode 100644 index 00000000..5ad8b355 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.java @@ -0,0 +1,40 @@ +package com.sprint.mission.discodeit.repository.jcf; + +import com.sprint.mission.discodeit.entity.Message; +import com.sprint.mission.discodeit.repository.MessageRepository; + +import java.util.*; + +public class JCFMessageRepository implements MessageRepository { + private final Map data; + + public JCFMessageRepository() { + this.data = new HashMap<>(); + } + + @Override + public Message save(Message message) { + this.data.put(message.getId(), message); + return message; + } + + @Override + public Optional findById(UUID id) { + return Optional.ofNullable(this.data.get(id)); + } + + @Override + public List findAll() { + return this.data.values().stream().toList(); + } + + @Override + public boolean existsById(UUID id) { + return this.data.containsKey(id); + } + + @Override + public void deleteById(UUID id) { + this.data.remove(id); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.java new file mode 100644 index 00000000..a60363a3 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.java @@ -0,0 +1,40 @@ +package com.sprint.mission.discodeit.repository.jcf; + +import com.sprint.mission.discodeit.entity.User; +import com.sprint.mission.discodeit.repository.UserRepository; + +import java.util.*; + +public class JCFUserRepository implements UserRepository { + private final Map data; + + public JCFUserRepository() { + this.data = new HashMap<>(); + } + + @Override + public User save(User user) { + this.data.put(user.getId(), user); + return user; + } + + @Override + public Optional findById(UUID id) { + return Optional.ofNullable(this.data.get(id)); + } + + @Override + public List findAll() { + return this.data.values().stream().toList(); + } + + @Override + public boolean existsById(UUID id) { + return this.data.containsKey(id); + } + + @Override + public void deleteById(UUID id) { + this.data.remove(id); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/ChannelService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/ChannelService.java new file mode 100644 index 00000000..eaa8e07d --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/ChannelService.java @@ -0,0 +1,15 @@ +package com.sprint.mission.discodeit.service; + +import com.sprint.mission.discodeit.entity.Channel; +import com.sprint.mission.discodeit.entity.ChannelType; + +import java.util.List; +import java.util.UUID; + +public interface ChannelService { + Channel create(ChannelType type, String name, String description); + Channel find(UUID channelId); + List findAll(); + Channel update(UUID channelId, String newName, String newDescription); + void delete(UUID channelId); +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/MessageService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/MessageService.java new file mode 100644 index 00000000..e7662d0c --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/MessageService.java @@ -0,0 +1,14 @@ +package com.sprint.mission.discodeit.service; + +import com.sprint.mission.discodeit.entity.Message; + +import java.util.List; +import java.util.UUID; + +public interface MessageService { + Message create(String content, UUID channelId, UUID authorId); + Message find(UUID messageId); + List findAll(); + Message update(UUID messageId, String newContent); + void delete(UUID messageId); +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java new file mode 100644 index 00000000..79111d55 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java @@ -0,0 +1,14 @@ +package com.sprint.mission.discodeit.service; + +import com.sprint.mission.discodeit.entity.User; + +import java.util.List; +import java.util.UUID; + +public interface UserService { + User create(String username, String email, String password); + User find(UUID userId); + List findAll(); + User update(UUID userId, String newUsername, String newEmail, String newPassword); + void delete(UUID userId); +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java new file mode 100644 index 00000000..edb7231a --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java @@ -0,0 +1,51 @@ +package com.sprint.mission.discodeit.service.basic; + +import com.sprint.mission.discodeit.entity.Channel; +import com.sprint.mission.discodeit.entity.ChannelType; +import com.sprint.mission.discodeit.repository.ChannelRepository; +import com.sprint.mission.discodeit.service.ChannelService; + +import java.util.List; +import java.util.NoSuchElementException; +import java.util.UUID; + +public class BasicChannelService implements ChannelService { + private final ChannelRepository channelRepository; + + public BasicChannelService(ChannelRepository channelRepository) { + this.channelRepository = channelRepository; + } + + @Override + public Channel create(ChannelType type, String name, String description) { + Channel channel = new Channel(type, name, description); + return channelRepository.save(channel); + } + + @Override + public Channel find(UUID channelId) { + return channelRepository.findById(channelId) + .orElseThrow(() -> new NoSuchElementException("Channel with id " + channelId + " not found")); + } + + @Override + public List findAll() { + return channelRepository.findAll(); + } + + @Override + public Channel update(UUID channelId, String newName, String newDescription) { + Channel channel = channelRepository.findById(channelId) + .orElseThrow(() -> new NoSuchElementException("Channel with id " + channelId + " not found")); + channel.update(newName, newDescription); + return channelRepository.save(channel); + } + + @Override + public void delete(UUID channelId) { + if (!channelRepository.existsById(channelId)) { + throw new NoSuchElementException("Channel with id " + channelId + " not found"); + } + channelRepository.deleteById(channelId); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java new file mode 100644 index 00000000..bb8b368a --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java @@ -0,0 +1,65 @@ +package com.sprint.mission.discodeit.service.basic; + +import com.sprint.mission.discodeit.entity.Message; +import com.sprint.mission.discodeit.repository.ChannelRepository; +import com.sprint.mission.discodeit.repository.MessageRepository; +import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.service.MessageService; + +import java.util.List; +import java.util.NoSuchElementException; +import java.util.Optional; +import java.util.UUID; + +public class BasicMessageService implements MessageService { + private final MessageRepository messageRepository; + // + private final ChannelRepository channelRepository; + private final UserRepository userRepository; + + public BasicMessageService(MessageRepository messageRepository, ChannelRepository channelRepository, UserRepository userRepository) { + this.messageRepository = messageRepository; + this.channelRepository = channelRepository; + this.userRepository = userRepository; + } + + @Override + public Message create(String content, UUID channelId, UUID authorId) { + if (!channelRepository.existsById(channelId)) { + throw new NoSuchElementException("Channel not found with id " + channelId); + } + if (!userRepository.existsById(authorId)) { + throw new NoSuchElementException("Author not found with id " + authorId); + } + + Message message = new Message(content, channelId, authorId); + return messageRepository.save(message); + } + + @Override + public Message find(UUID messageId) { + return messageRepository.findById(messageId) + .orElseThrow(() -> new NoSuchElementException("Message with id " + messageId + " not found")); + } + + @Override + public List findAll() { + return messageRepository.findAll(); + } + + @Override + public Message update(UUID messageId, String newContent) { + Message message = messageRepository.findById(messageId) + .orElseThrow(() -> new NoSuchElementException("Message with id " + messageId + " not found")); + message.update(newContent); + return messageRepository.save(message); + } + + @Override + public void delete(UUID messageId) { + if (!messageRepository.existsById(messageId)) { + throw new NoSuchElementException("Message with id " + messageId + " not found"); + } + messageRepository.deleteById(messageId); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java new file mode 100644 index 00000000..51f24ab7 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java @@ -0,0 +1,50 @@ +package com.sprint.mission.discodeit.service.basic; + +import com.sprint.mission.discodeit.entity.User; +import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.service.UserService; + +import java.util.List; +import java.util.NoSuchElementException; +import java.util.UUID; + +public class BasicUserService implements UserService { + private final UserRepository userRepository; + + public BasicUserService(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Override + public User create(String username, String email, String password) { + User user = new User(username, email, password); + return userRepository.save(user); + } + + @Override + public User find(UUID userId) { + return userRepository.findById(userId) + .orElseThrow(() -> new NoSuchElementException("User with id " + userId + " not found")); + } + + @Override + public List findAll() { + return userRepository.findAll(); + } + + @Override + public User update(UUID userId, String newUsername, String newEmail, String newPassword) { + User user = userRepository.findById(userId) + .orElseThrow(() -> new NoSuchElementException("User with id " + userId + " not found")); + user.update(newUsername, newEmail, newPassword); + return userRepository.save(user); + } + + @Override + public void delete(UUID userId) { + if (!userRepository.existsById(userId)) { + throw new NoSuchElementException("User with id " + userId + " not found"); + } + userRepository.deleteById(userId); + } +} diff --git a/discodeit/src/main/java/entity/Channel.java b/discodeit/src/main/java/entity/Channel.java deleted file mode 100644 index 8a7b33fc..00000000 --- a/discodeit/src/main/java/entity/Channel.java +++ /dev/null @@ -1,70 +0,0 @@ -package entity; - -import java.io.Serializable; -import java.util.UUID; - -public class Channel implements Serializable { - private static final long serialVersionUID = 1L; - - private final UUID id; - private String channelName; - private Long createdAt; - private Long updateAt; - private String frame; - private String detail; - - public Channel(String frame, String channelName, String detail) { - this.id = UUID.randomUUID(); - this.channelName = channelName; - long now = System.currentTimeMillis(); - this.createdAt = now; - this.updateAt = now; - this.frame = frame; //좀 더 적절한 이름으로 변경 - this.detail = detail; - } - - public UUID getId() { - return id; - } - - public String getChannelName() { - return channelName; - } - - public Long getCreatedAt() { - return createdAt; - } - - public Long getUpdateAt() { - return updateAt; - } - - // update에 빠져있음 수정 - public String getFrame() { - return frame; - } - - public String getDetail() { - return detail; - } - - public void update(String frame, String channelName,String detail) { - if (frame != null) this.frame = frame; - if (frame != null) this.channelName = channelName; - if (frame != null) this.detail = detail; - } - - @Override - public String toString() { - return "Channel{" + - "id=" + id + - ", channelName='" + channelName + '\'' + - ", createdAt=" + createdAt + - ", updateAt=" + updateAt + - ", frame=" + frame + '\'' + - ", detail=" + detail + - '}'; - } - - -} \ No newline at end of file diff --git a/discodeit/src/main/java/entity/Message.java b/discodeit/src/main/java/entity/Message.java deleted file mode 100644 index 7cd21ea4..00000000 --- a/discodeit/src/main/java/entity/Message.java +++ /dev/null @@ -1,60 +0,0 @@ -package entity; - -import java.io.Serializable; -import java.util.UUID; - -public class Message implements Serializable { - private static final long serialVersionUID = 1L; - - private final UUID id; - private String chat; - private Long createdAt; - private Long updateAt; - private String simpleName; - //private UUID channelId = UUID.randomUUID(); - //private UUID authorId = UUID.randomUUID(); - - private String chat() { - return chat; - } - - - public Message(String chat, UUID channelId, UUID authorId) { - this.id = UUID.randomUUID(); - this.createdAt = System.currentTimeMillis(); - this.updateAt = System.currentTimeMillis(); - this.chat = chat; - } - public UUID getId() { - return id; - } - - - public String getchat() { - return chat; - } - public Long getCreatedAt() { - return createdAt; - } - - public Long getUpdateAt() { - return updateAt; - } - public String getSimpleName() {return simpleName;} - - public void update(String chat) { - if(chat != null) this.chat = chat; - - } - - - public void setCreatedAt(Long createdAt) { - this.createdAt = createdAt; - } - - public void setUpdateAt(Long updateAt) { - this.updateAt = updateAt; - } - -} - diff --git a/discodeit/src/main/java/entity/User.java b/discodeit/src/main/java/entity/User.java deleted file mode 100644 index 3ac6db3c..00000000 --- a/discodeit/src/main/java/entity/User.java +++ /dev/null @@ -1,88 +0,0 @@ -package entity; - -import java.io.Serializable; -import java.util.UUID; - -public class User implements Serializable { - private static final long serialVersionUID = 1L; - - - private final UUID id; - private String userName; - private String email; - private String phoneNumber; - private Long createdAt; - private Long updateAt; - private String simpleName; - //Long now = System.currentTimeMillis(); - - public User(String userName, String email, String phoneNumber) { - this.id = UUID.randomUUID(); - this.userName = userName; - this.email = email; - this.phoneNumber = phoneNumber; - long now = System.currentTimeMillis(); - this.createdAt = now; - this.updateAt = now; - this.simpleName = simpleName; - } - - public UUID getId() { return id; } - - public String getuserName(){ return userName;} - - public String getemail() { - return email; - } - - public String getphoneNumber() { - return phoneNumber; - } - - public String getSimpleName() {return simpleName; } - - // 생성 시간이 필요한가? - - public Long getCreatedAt() { - return createdAt; - } - - public Long getUpdateAt() {return updateAt;} - - //용어 정리가 안됨 대소문자 구분 - /*public void setuserName(String userName) { - this.userName = userName; - } - - public void setemail(String email) { - this.email = email; - } - - public void setphoneNumber(String phoneNumber) { - this.phoneNumber = phoneNumber; - } -*/ - // 선택적 업데이트를 위한 수정용 Setter - public void update(String userName, String email, String phoneNumber) { - if (userName != null) this.userName = userName; - if (email != null) this.email = email; - if (phoneNumber != null) this.phoneNumber = phoneNumber; - } - - - // toString 다시 공부 - @Override - public String toString() { - return "User{" + - "id=" + id + '\'' + ", userName='" + userName + '\'' + ", email='" + email + '\'' + - ", phoneNumber='" + phoneNumber + '\'' + - ", createdAt=" + createdAt + - ", updateAt=" + updateAt + - '}'; - } //호출한거에 값을 각 객체에 반환하도록 - - - - //오버라이딩 - //제네이이트 -> 'toString' -} diff --git a/discodeit/src/main/java/repository/file/FileChannelRepository.java b/discodeit/src/main/java/repository/file/FileChannelRepository.java deleted file mode 100644 index 0fdfb7b4..00000000 --- a/discodeit/src/main/java/repository/file/FileChannelRepository.java +++ /dev/null @@ -1,75 +0,0 @@ -package repository.file; - -import entity.Channel; -import repository.ChannelRepository; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.Optional; -import java.util.UUID; - -public class FileChannelRepository implements ChannelRepository { - - private static final Path DIRECTORY = Paths.get("file-data","users"); - - public FileChannelRepository() { - try{ - Files.createDirectories(DIRECTORY) ; - }catch (IOException e) { - throw new RuntimeException(e); - } - } - - private Path path(UUID id) {return DIRECTORY.resolve(id + ".ser");} - - @Override - public void deleteById(UUID id) { - try { - Files.deleteIfExists(path(id)); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - - @Override - public boolean existsById(UUID id) { - return Files.exists(path(id)); - } - - public List findAll() { - try { - return Files.list(DIRECTORY) - .map(p -> { - try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(p.toFile()))) { - return (Channel) ois.readObject(); - }catch (Exception e) { - throw new RuntimeException(e); - } - }) - .toList(); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - public Optional findById(UUID id) { - Path path = path(id); - if(Files.notExists(path)) return Optional.empty(); - - try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path.toFile()))) { - return Optional.of((Channel) ois.readObject()); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - } - public Channel save(Channel channel) { - try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path(channel.getId()).toFile()))) { - oos.writeObject(channel); - return channel; - }catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/discodeit/src/main/java/repository/file/FileMessageRepository.java b/discodeit/src/main/java/repository/file/FileMessageRepository.java deleted file mode 100644 index c2634a98..00000000 --- a/discodeit/src/main/java/repository/file/FileMessageRepository.java +++ /dev/null @@ -1,79 +0,0 @@ -package repository.file; - -import entity.Message; -import repository.MessageRepository; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.Optional; -import java.util.UUID; - -public class FileMessageRepository implements MessageRepository { - private static final Path DIRECTORY = Paths.get("file-data", "users"); - - public FileMessageRepository() { - try{ - Files.createDirectories(DIRECTORY); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - - private Path path(UUID id) {return DIRECTORY.resolve(id + ".ser");} - - @Override - public void deleteById(UUID id) { - try{ - Files.deleteIfExists(path(id)); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - - @Override - public boolean existsById(UUID id) { - return Files.exists(path(id)); - } - - @Override - public List findAll() { - try{ - return Files.list(DIRECTORY) - .map(p -> { - try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(p.toFile()))) { - return (Message) ois.readObject(); - }catch (Exception e) { - throw new RuntimeException(e); - } - }) - .toList(); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - - @Override - public Optional findById(UUID id) { - Path path = path(id); - if (Files.notExists(path)) return Optional.empty(); - - try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path.toFile()))) { - return Optional.of((Message) ois.readObject()); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - } - - @Override - public Message save(Message message) { - try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path(message.getId()).toFile()))) { - oos.writeObject(message); - return message; - }catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/discodeit/src/main/java/repository/file/FileUserRepository.java b/discodeit/src/main/java/repository/file/FileUserRepository.java deleted file mode 100644 index 915ff19e..00000000 --- a/discodeit/src/main/java/repository/file/FileUserRepository.java +++ /dev/null @@ -1,85 +0,0 @@ -package repository.file; - -import entity.User; -import repository.UserRepository; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.Optional; -import java.util.UUID; - -public class FileUserRepository implements UserRepository { - - private static final Path DIRECTORY = Paths.get("file-data", "users"); - - public FileUserRepository() { - try { - Files.createDirectories(DIRECTORY); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - private Path path(UUID id) { - return DIRECTORY.resolve(id + ".ser"); - } - - @Override - public void deleteById(UUID id) { - try { - Files.deleteIfExists(path(id)); - }catch (IOException e) { - throw new RuntimeException(e); - } - - } - - @Override - public boolean existsById(UUID id) { - return Files.exists(path(id)); - } - - @Override - public List findAll() { - try { - return Files.list(DIRECTORY) - .map(p -> { - try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(p.toFile()))) { - return (User) ois.readObject(); - }catch (Exception e) { - throw new RuntimeException(e); - } - }) - .toList(); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - - @Override - public Optional findById(UUID id) { - Path path = path(id); - if (Files.notExists(path)) return Optional.empty(); - - try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path.toFile()))) { - return Optional.of((User) ois.readObject()); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - - } - - @Override - public User save(User user) { - try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path(user.getId()).toFile()))) { - oos.writeObject(user); - return user; - }catch (IOException e) { - throw new RuntimeException(e); - } - } - - -} diff --git a/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java b/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java deleted file mode 100644 index b0e3d1fb..00000000 --- a/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java +++ /dev/null @@ -1,36 +0,0 @@ -package repository.jcf; - -import entity.Channel; -import repository.ChannelRepository; - -import java.util.*; - -public class JCFChannelRepository implements ChannelRepository { - private final Map data = new HashMap<>(); - - @Override - public Channel save(Channel channel) { - data.put(channel.getId(), channel); - return channel; - } - - @Override - public Optional findById(UUID id) { - return Optional.ofNullable(data.get(id)); - } - - @Override - public List findAll() { - return new ArrayList<>(data.values()); - } - - @Override - public boolean existsById(UUID id) { - return data.containsKey(id); - } - - @Override - public void deleteById(UUID id) { - data.remove(id); - } -} diff --git a/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java b/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java deleted file mode 100644 index 4dce8d26..00000000 --- a/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java +++ /dev/null @@ -1,36 +0,0 @@ -package repository.jcf; - -import entity.Message; -import repository.MessageRepository; - -import java.util.*; - -public class JCFMessageRepository implements MessageRepository { - private final Map data = new HashMap<>(); - - @Override - public void deleteById(UUID id) { - data.remove(id); - } - - @Override - public boolean existsById(UUID id) { - return data.containsKey(id); - } - - @Override - public List findAll() { - return new ArrayList<>(data.values()); - } - - @Override - public Optional findById(UUID id) { - return Optional.ofNullable(data.get(id)); - } - - @Override - public Message save(Message message) { - data.put(message.getId(), message); - return message; - } -} diff --git a/discodeit/src/main/java/repository/jcf/JCFUserRepository.java b/discodeit/src/main/java/repository/jcf/JCFUserRepository.java deleted file mode 100644 index 7e7d32a6..00000000 --- a/discodeit/src/main/java/repository/jcf/JCFUserRepository.java +++ /dev/null @@ -1,38 +0,0 @@ -package repository.jcf; - - -import entity.User; -import repository.UserRepository; - -import java.util.*; - - -public class JCFUserRepository implements UserRepository { - private final Map data = new HashMap<>(); - - - @Override - public void deleteById(UUID id) { - data.remove(id); - } - - @Override - public boolean existsById(UUID id) { - return data.containsKey(id); - } - - @Override - public List findAll() { - return new ArrayList<>(data.values()); - } - - public Optional findById(UUID id) { - return Optional.ofNullable(data.get(id)); - } - - @Override - public User save(User user) { - data.put(user.getId(), user); - return user; - } -} diff --git a/discodeit/src/main/java/service/ChannelService.java b/discodeit/src/main/java/service/ChannelService.java deleted file mode 100644 index 37c3f8dd..00000000 --- a/discodeit/src/main/java/service/ChannelService.java +++ /dev/null @@ -1,25 +0,0 @@ -package service; - -import entity.Channel; - -import java.util.List; -import java.util.UUID; - -public interface ChannelService { - - - //생성 - Channel create(String frame, String channelName, String detail); - - // 검색 - Channel find(UUID id); - - // 전체 출력 - List findAll(); - - // 수정 - Channel update(UUID id,String frame, String channelName, String detail); - - // 삭제 - void delete (UUID id); -} diff --git a/discodeit/src/main/java/service/MessageService.java b/discodeit/src/main/java/service/MessageService.java deleted file mode 100644 index 827e94f9..00000000 --- a/discodeit/src/main/java/service/MessageService.java +++ /dev/null @@ -1,19 +0,0 @@ -package service; - -import entity.Message; - -import java.util.List; -import java.util.UUID; - -public interface MessageService { - - Message create(String chat, UUID channelId, UUID authorID); - - Message find(UUID id); - - List findAll(); - - Message update(UUID id, String chat); - - void delete(UUID id); -} diff --git a/discodeit/src/main/java/service/UserService.java b/discodeit/src/main/java/service/UserService.java deleted file mode 100644 index 5e49dda7..00000000 --- a/discodeit/src/main/java/service/UserService.java +++ /dev/null @@ -1,31 +0,0 @@ -package service; - - -import entity.User; -import java.util.List; -import java.util.UUID; - -public interface UserService{ - //조회 - User findById(UUID id); - - User findByName(String userName); - - // 등록 - User create(String userName, String email, String phoneNumber); - - //전체 조회 - List findAll(); - - List checkAll(); - - // 수정 - User update(UUID id, String userName, String email, String phoneNumber); - - // 이름으로 전체 목록에서 검색 User 객체에서 가져오고 - // 가져온 User안에 필드인 id를 조회해서 리스트에서 검색한다음 삭제하도록 진행 - // 삭제 - void delete (UUID id); - -} - diff --git a/discodeit/src/main/java/service/basic/BasicChannelService.java b/discodeit/src/main/java/service/basic/BasicChannelService.java deleted file mode 100644 index a326a632..00000000 --- a/discodeit/src/main/java/service/basic/BasicChannelService.java +++ /dev/null @@ -1,51 +0,0 @@ -package service.basic; - -import entity.Channel; -import entity.User; -import repository.ChannelRepository; -import repository.UserRepository; -import service.ChannelService; -import service.UserService; - -import java.util.ArrayList; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.UUID; - -public class BasicChannelService implements ChannelService { - private final ChannelRepository channelRepository; - - public BasicChannelService(ChannelRepository channelRepository) { - this.channelRepository = channelRepository; - } - - @Override - public void delete(UUID id) { - - } - - @Override - public Channel update(UUID id, String frame, String channelName, String detail) { - Channel channel = channelRepository.findById(id) - .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); - channel.update(frame, channelName, detail); - return channelRepository.save(channel); - } - - @Override - public List findAll() { - return new ArrayList<>(); - } - - @Override - public Channel create(String frame, String channelName, String detail) { - Channel channel = new Channel(frame, channelName, detail); - return channelRepository.save(channel); - } - - @Override - public Channel find(UUID id) { - return null; - } - -} \ No newline at end of file diff --git a/discodeit/src/main/java/service/basic/BasicMessageService.java b/discodeit/src/main/java/service/basic/BasicMessageService.java deleted file mode 100644 index 5a3cfcbd..00000000 --- a/discodeit/src/main/java/service/basic/BasicMessageService.java +++ /dev/null @@ -1,60 +0,0 @@ -package service.basic; - -import entity.Channel; -import entity.Message; -import repository.ChannelRepository; -import repository.MessageRepository; -import repository.UserRepository; -import service.MessageService; -import service.UserService; - -import java.util.ArrayList; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.UUID; - -public class BasicMessageService implements MessageService { - private final MessageRepository messageRepository; - private final ChannelRepository channelRepository; - private final UserRepository userRepository; - - public BasicMessageService( - MessageRepository messageRepository, - ChannelRepository channelRepository, - UserRepository userRepository) - { - this.messageRepository = messageRepository; - this.channelRepository = channelRepository; - this.userRepository = userRepository; - } - - @Override - public void delete(UUID id) { - - } - - @Override - public Message update(UUID id, String chat) { - Message message = messageRepository.findById(id) - .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); - message.update(chat); - return messageRepository.save(message); - } - - @Override - public List findAll() { - return new ArrayList<>(); - } - - @Override - public Message create(String chat, UUID channelId, UUID authorID) { - Message message = new Message(chat, channelId, authorID); - return messageRepository.save(message); - } - - @Override - public Message find(UUID id) { - return null; - } - -} \ No newline at end of file diff --git a/discodeit/src/main/java/service/basic/BasicUserService.java b/discodeit/src/main/java/service/basic/BasicUserService.java deleted file mode 100644 index c4e286c0..00000000 --- a/discodeit/src/main/java/service/basic/BasicUserService.java +++ /dev/null @@ -1,59 +0,0 @@ -package service.basic; - -import entity.User; -import repository.UserRepository; -import service.UserService; - -import java.util.ArrayList; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.UUID; - -public class BasicUserService implements UserService { - private final UserRepository userRepository; - - public BasicUserService(UserRepository userRepository) { - this.userRepository = userRepository; - } - - @Override - public void delete(UUID id) { - - } - - @Override - public User update(UUID id, String userName, String email, String phoneNumber) { - User user = userRepository.findById(id) - .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); - user.update(userName, email, phoneNumber); - return userRepository.save(user); - } - - @Override - public List checkAll() { - return List.of(); - } - - @Override - public List findAll() { - return new ArrayList<>(); - } - - @Override - public User create(String userName, String email, String phoneNumber) { - User user = new User(userName, email, phoneNumber); - return userRepository.save(user); - } - - @Override - public User findByName(String userName) { - return null; - } - - @Override - public User findById(UUID id) { - return userRepository.findById(id) - .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); - } - -} \ No newline at end of file diff --git a/discodeit/src/main/java/service/file/FileMessageService.java b/discodeit/src/main/java/service/file/FileMessageService.java deleted file mode 100644 index f449e9ca..00000000 --- a/discodeit/src/main/java/service/file/FileMessageService.java +++ /dev/null @@ -1,128 +0,0 @@ -package service.file; - -import entity.Message; -import service.ChannelService; -import service.MessageService; -import service.UserService; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.Optional; -import java.util.UUID; - -public class FileMessageService implements MessageService{ - private final Path DIRECTORY; - private final String EXTENSION = ".ser"; - - public FileMessageService(ChannelService channelService, UserService userService) { - this.DIRECTORY = Paths.get(System.getProperty("user.dir"), "file-data-map", Message.class.getSimpleName()); - if (Files.notExists(DIRECTORY)) { - try { - Files.createDirectories(DIRECTORY); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - } - private Path resolvePath(UUID id) { return DIRECTORY.resolve(id + EXTENSION);} - - @Override - public Message create(String chat, UUID channelId, UUID authorID) { - Message message = new Message(chat, channelId, authorID); - Path path = resolvePath(message.getId()); - try( - FileOutputStream fos = new FileOutputStream(path.toFile()); - ObjectOutputStream oos = new ObjectOutputStream(fos); - ){ - oos.writeObject(message); - }catch (IOException e) { - throw new RuntimeException(e); - } - return message; - } - - @Override - public Message find(UUID id) { - Message messageNullable = null; - Path path = resolvePath(id); - if (Files.exists(path)) { - try( - FileInputStream fis = new FileInputStream(path.toFile()); - ObjectInputStream ois = new ObjectInputStream(fis) - ){ - messageNullable = (Message) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { - } - } - return Optional.ofNullable(messageNullable) - .orElseThrow(() -> new NoSuchElementException("Message with id " + id + " not found")); - } - - @Override - public List findAll() { - try { - return Files.list(DIRECTORY) - .filter(path -> path.toString().endsWith(EXTENSION)) - .map(path -> { - try ( - FileInputStream fis = new FileInputStream(path.toFile()); - ObjectInputStream ois = new ObjectInputStream(fis) - ){ - return (Message) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - }).toList(); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - public List checkAll() { - return List.of(); - } - - @Override - public Message update(UUID id, String chat) { - Message messageNullable = null; - Path path = resolvePath(id); - if(Files.exists(path)) { - try( - FileInputStream fis = new FileInputStream(path.toFile()); - ObjectInputStream ois = new ObjectInputStream(fis) - ){ - messageNullable = (Message) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - }Message message = Optional.ofNullable(messageNullable) - .orElseThrow(() -> new NoSuchElementException("Message with id " + id + " not found")); - - try( - FileOutputStream fos = new FileOutputStream(path.toFile()); - ObjectOutputStream oos = new ObjectOutputStream(fos) - ){ - oos.writeObject(message); - }catch (IOException e) { - throw new RuntimeException(e); - } - return message; - } - - @Override - public void delete(UUID id) { - Path path = resolvePath(id); - if (Files.notExists(path)) { - throw new NoSuchElementException("User with id " + id + " not found"); - } - try { - Files.delete(path); - }catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/discodeit/src/main/java/service/file/FileUserService.java b/discodeit/src/main/java/service/file/FileUserService.java deleted file mode 100644 index 11952412..00000000 --- a/discodeit/src/main/java/service/file/FileUserService.java +++ /dev/null @@ -1,137 +0,0 @@ -package service.file; - -import entity.User; -import service.UserService; - -import java.io.*; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.List; -import java.util.NoSuchElementException; -import java.util.Optional; -import java.util.UUID; - -public class FileUserService implements UserService { - private final Path DIRECTORY; - private final String EXTENSION = ".ser"; - - public FileUserService() { - this.DIRECTORY = Paths.get(System.getProperty("user.dir"), "file-data-map", User.class.getSimpleName()); - if (Files.notExists(DIRECTORY)) { - try { - Files.createDirectories(DIRECTORY); - }catch (IOException e) { - throw new RuntimeException(e); - } - } - } - private Path resolvePath(UUID id) {return DIRECTORY.resolve(id + EXTENSION);} - - @Override - public User create(String userName, String email, String phoneNumber) { - User user = new User(userName, email, phoneNumber); - Path path = resolvePath(user.getId()); - try( - FileOutputStream fos = new FileOutputStream(path.toFile()); - ObjectOutputStream oos = new ObjectOutputStream(fos); - ) { - oos.writeObject(user); - }catch (IOException e) { - throw new RuntimeException(e); - } - return user; - } - - @Override - public User findById(UUID id) { - User userNullable = null; - Path path = resolvePath(id); - if (Files.exists(path)) { - try( - FileInputStream fis = new FileInputStream(path.toFile()); - ObjectInputStream ois = new ObjectInputStream(fis) - ) { - userNullable = (User) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - } - return Optional.ofNullable(userNullable) - .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); - - } - - @Override - public User findByName(String userName) { - return null; - } - - @Override - public List findAll() { - try { - return Files.list(DIRECTORY) - .filter(path -> path.toString().endsWith(EXTENSION)) - .map(path -> { - try ( - FileInputStream fis = new FileInputStream(path.toFile()); - ObjectInputStream ois = new ObjectInputStream(fis) - ){ - return (User) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - }) - .toList(); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - - @Override - public List checkAll() { - return List.of(); - } - - @Override - public User update(UUID id, String userName, String email, String phoneNumber) { - User userNullable = null; - Path path = resolvePath(id); - if(Files.exists(path)) { - try( - FileInputStream fis = new FileInputStream(path.toFile()); - ObjectInputStream ois = new ObjectInputStream(fis) - ){ - userNullable = (User) ois.readObject(); - }catch (IOException | ClassNotFoundException e) { - throw new RuntimeException(e); - } - } //user.update(userName, email, phoneNumber); - User user = Optional.ofNullable(userNullable) - .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); - - - try( //ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path.toFile())) - FileOutputStream fos = new FileOutputStream(path.toFile()); - ObjectOutputStream oos = new ObjectOutputStream(fos) - ){ - oos.writeObject(user); - }catch (IOException e) { - throw new RuntimeException(e); - } - return user; - } - - @Override - public void delete(UUID id) { - Path path = resolvePath(id); - if (Files.notExists(path)) { - throw new NoSuchElementException("User with id " + id + " not found"); - } - try { - Files.delete(path); - }catch (IOException e) { - throw new RuntimeException(e); - } - } -} diff --git a/discodeit/src/main/java/service/jcf/JCFChannelService.java b/discodeit/src/main/java/service/jcf/JCFChannelService.java deleted file mode 100644 index 01a2063f..00000000 --- a/discodeit/src/main/java/service/jcf/JCFChannelService.java +++ /dev/null @@ -1,73 +0,0 @@ -package service.jcf; - -import entity.Channel; -import service.ChannelService; - - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -public class JCFChannelService implements ChannelService { - - private final List data = new ArrayList<>(); - - @Override - public void delete(UUID id) { - for (Channel channel : data) { - if(channel.getId().equals(id)) { - data.remove(channel); // for문에서 remove쓰면 안되나? - return; // ? 반환 - } - } - // data.removeIf(message -> message.getId().equals(id)); - } - - - @Override - public Channel find(UUID id) { - // for문 : data에서 - for (Channel channel : data) { - // if channel에 있는 getId의 값이 id값과 같으면 - if (channel.getId().equals(id)) - // 그 값을 channel에 반환해라 - return channel; - } - - return null; - } - - @Override - public Channel create(String frame, String channelName, String detail) { - // 기존의 생성자를 이용해서 객체 생성 - Channel newChannel = new Channel(frame, channelName, detail); - // 리스트에 저장 - data.add(newChannel); - // 생성된 객체 반환 -> null 금지 오류 남 - return newChannel; - } - - @Override - public List findAll() { - return new ArrayList<>(data); - // return new ArrayList<>(data.value()); - // return data; - } - - @Override - public Channel update(UUID id, String frame, String channelName, String detail) { - for (Channel channel : data) { - if (channel.getId().equals(id)) { - - channel.update(frame, channelName, detail); - - return channel; - } - } - return null; - } - -} - - - diff --git a/discodeit/src/main/java/service/jcf/JCFMessageService.java b/discodeit/src/main/java/service/jcf/JCFMessageService.java deleted file mode 100644 index 830c6db6..00000000 --- a/discodeit/src/main/java/service/jcf/JCFMessageService.java +++ /dev/null @@ -1,60 +0,0 @@ -package service.jcf; - -import entity.Message; -import service.MessageService; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -public class JCFMessageService implements MessageService { - - private final List data = new ArrayList<>(); - - @Override - public void delete(UUID id) { - /*for (Message message : data) { - if(message.getId().equals(id)) - data.remove(message); - } - System.out.println("없음");*/ - data.removeIf(message -> message.getId().equals(id)); - } - - - @Override - public List findAll() { - return data; - } - - @Override - public Message find(UUID id) { - for(Message message : data) { - if(message.getId().equals(id)) { - return message; - } - } - System.out.println("없음"); - return null; - } - - @Override - public Message update(UUID id, String chat) { - for(Message message : data) { - if(message.getId().equals(id)) { - message.update(chat); - return message; - } - } - System.out.println("없음"); - return null; - - } - - @Override - public Message create(String chat, UUID channelId, UUID authorId) { - Message message = new Message(chat, channelId, authorId); - data.add(message); - return message; - } -} diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java deleted file mode 100644 index d76435e2..00000000 --- a/discodeit/src/main/java/service/jcf/JCFUserService.java +++ /dev/null @@ -1,96 +0,0 @@ -package service.jcf; - - -import entity.User; -import service.UserService; - -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.UUID; - - -public class JCFUserService implements UserService { - - public final List users; - - - public JCFUserService() { - this.users = new ArrayList<>(); - users.add(new User("YUK","YUK@email.com","01022790657")); - users.add(new User("KIM","KIM@email.com","01011112222")); - users.add(new User("PARK","PARK@email.com","01022223333")); - users.add(new User("CHOI","CHOI@email.com","01033334444")); - users.add(new User("HUANG","HUANG@email.com","01044445555")); - } - @Override - public User findById(UUID id) { - for (User user : users) { - if(user.getId().equals(id)){ - return user; - } - } - return null; - } - - @Override - public User findByName(String userName) { - for (User user : users) { - if (user.getuserName().equals(userName)) { - return user; - } - } - return null; - } - - @Override - public User create(String userName, String email, String phoneNumber) { - User user = new User(userName, email, phoneNumber); - users.add(user); - return user; - } - - @Override - public User update(UUID id, String userName, String email, String phoneNumber) { - for (User user : users) { - if (user.getId().equals(id)) { - user.update(userName, email, phoneNumber); - return user; - } - } - return null; - } - /*public User update(String userName, String email, String phoneNumber) { - User user = find(id); - if (users == null){ - return null; - } - User update(userName, email, phoneNumber){ - return user; - } - }*/ - - - @Override - public List findAll() { return new ArrayList<>(users); } - - @Override - public List checkAll() { - return users.stream() // -> 스트림 시작 - .sorted(Comparator.comparing(User :: getuserName)) - // sorted = ...기준으로 정렬 -> 정렬 기준 필요 -> Comparator.comparing(User :: getuserName - // compare = 두 객체를 비교하는 규칙 - // comparing = 기준을 정해서 규칙을 만들어줌 - //(User :: getuserName) --> 같음 / user -> user.geruserName(): - .toList(); - } - - @Override - public void delete(UUID id) { - users.removeIf(user -> user.getId().equals(id)); - } -} - - - - diff --git a/discodeit/src/main/resources/application.properties b/discodeit/src/main/resources/application.properties new file mode 100644 index 00000000..545cf9f0 --- /dev/null +++ b/discodeit/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.application.name=discodeit diff --git a/discodeit/src/test/java/com/sprint/mission/discodeit/DiscodeitApplicationTests.java b/discodeit/src/test/java/com/sprint/mission/discodeit/DiscodeitApplicationTests.java new file mode 100644 index 00000000..3a987a21 --- /dev/null +++ b/discodeit/src/test/java/com/sprint/mission/discodeit/DiscodeitApplicationTests.java @@ -0,0 +1,13 @@ +package com.sprint.mission.discodeit; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class DiscodeitApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/file-data-map/Channel/15861b4b-ec0e-4a5e-bd05-ab278ae34345.ser b/file-data-map/Channel/15861b4b-ec0e-4a5e-bd05-ab278ae34345.ser deleted file mode 100644 index ce20a2ae9c417730847fa09873e8dcba5728c0c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$F? zafq=BZ#K5PZkh0AUhC`bj@R8w^nez=Y3qH{vJq|}$a#7o=k1xv{C!4lt3DG0lNSR| wPHJLtNpNPmQ)WrA7Xx>0KAcxku$OhUde>uTSJ5_U?>Bs2am66tu)!<`01cpo{{R30 diff --git a/file-data-map/Channel/1da4e1df-849f-4a48-a8cf-0cb2203fa924.ser b/file-data-map/Channel/1da4e1df-849f-4a48-a8cf-0cb2203fa924.ser deleted file mode 100644 index 613b8c3663aee61e63c2f1f2deb0784d9b1b9dd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxku;M(=CI$PIDzZx+-fx-jDE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxkus`Sj-~NmD{Z%Y23l{G2eO3(e4I9jI0BL84W&i*H diff --git a/file-data-map/Channel/2df5ecee-173b-486e-8d2d-d12019d514ad.ser b/file-data-map/Channel/2df5ecee-173b-486e-8d2d-d12019d514ad.ser deleted file mode 100644 index b1adea657c18206d4c16cb78285f24078e1470cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$zg5*_^wYp#5yc4(f$SVfDE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxk(CsY5WTUwCmb>K2826u!O~oMJu)!<`0Qw_@+W-In diff --git a/file-data-map/Channel/5aa78579-93f6-4c45-a5b6-a3cde054c914.ser b/file-data-map/Channel/5aa78579-93f6-4c45-a5b6-a3cde054c914.ser deleted file mode 100644 index 9762abbfd1105f0193df66be80ec790255fc26fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$|_f2LRgpiSz&f diff --git a/file-data-map/Channel/6a51a61d-7938-4f3d-823d-57d267c1e958.ser b/file-data-map/Channel/6a51a61d-7938-4f3d-823d-57d267c1e958.ser deleted file mode 100644 index cc0e02e5b864bc5fa570eb9e92dde8a7ffb64af1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxk&}18aDgEHfh^)Y6vXvJ8w#6Xdu)!<`08vGTkpKVy diff --git a/file-data-map/Channel/6d9e7d1b-1055-426b-acbe-80f14ae58a7f.ser b/file-data-map/Channel/6d9e7d1b-1055-426b-acbe-80f14ae58a7f.ser deleted file mode 100644 index d38eebed2ebe6d59143005b6a09197e84a9af3f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 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 diff --git a/file-data-map/User/8bc71012-b50a-4920-8f20-6300fa87c162.ser b/file-data-map/User/8bc71012-b50a-4920-8f20-6300fa87c162.ser deleted file mode 100644 index b66f0617949d5bd82064b25942b6d090d54c8fc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmYk1ze~eV5XUc1f^DM`x(fyO1b=KUR$LlFmy$o=HF?A*d3n#|Qq#pv9Xhmwg5tl> z)y>7pMR0e~!PQxCGD#)%w!80r@B6v=7wBmM28)s7*z!`Az@jt)t1dMCgi&Nc7ZFVN zgpQ~k(KxhS8Hf8W=uA)^A+-NV159`&5+2m140&XGUhk+d8R}TZte=S?OHSb&hzqTh z3l*_G73^=)$W%}Scd_g>7aCcCR_nPcpf^e!tHiM?oXO|xWxDlFKyyGJ(I{hi0_JjQ zk$5@3*)*;{CIlc?0NVXqzW!Qpo=F*u4}2Lgj+QS)9Z;fMCHmvt%J;3fun7S;K6Hro%aUI(FBo!{Qs-BW4#k-kjUE9n<0Gk;A0 diff --git a/file-data-map/User/a85d966f-1f89-491e-bcbc-6b29ef9003d6.ser b/file-data-map/User/a85d966f-1f89-491e-bcbc-6b29ef9003d6.ser deleted file mode 100644 index 1d0c39eeab5e6edc3219322628f6a21ef1be1c27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmZ4UmVvdnh=DsbuOzdiQZKYPwTJ-%7?~K@eHb{Ci&7IyQd1mDN*DxuvJ%S@^>Y&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-jH2{v8< zy0bh#Kc&(kIX@*evqUdBKNoHR$mx0@r|+4`{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA x7Xx>0KAcxkuxC%U=KBfE*H*+%%a`x;lq+H21RHN?WNcDU4Dt~x!e&;m6aZ*afSdpT diff --git a/file-data-map/User/c837be68-a1dd-4d70-86c4-1604e4d4a5ec.ser b/file-data-map/User/c837be68-a1dd-4d70-86c4-1604e4d4a5ec.ser deleted file mode 100644 index dc09ea42daa32cdc6990337aac40bc3b91630098..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmZ4UmVvdnh=DsbuOzdiQZKYPwTJ-%7?~K@eHb{Ci&7IyQd1mDN*DxuvJ%S@^>Y&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-jHC71O8 z-C3TWpHk_NoS%}KS)!Mmp9{ADYC_F@)!y^B2#P6HJPDFqaOKoJ)} zIRae@nw$V3K|u+kq{ViS!*nx${`@z?FVK@13>G2Bp6MnmhDm7zW*w+|F{8+Q8xb1L zA?;Etq)}iwG72^w(3zk-L|FPKbui|oNVs2_QsklKy1P5M$xsI}V(nDyvG@p1fH*Lh zaG^rhrh@%VYN_(`U>l2GbD);yXqBF+9D1R^F$)~C#OZ%rjW1W;2xu+PyEIH$7DHpY zG)X)k-Ygr}?|lN0DFAKoa=N&ma~@0S_qIIgGmfSwMHNt>n+5vQ{mjpuII{?l7R-l? wCfMP@Hpip|hLBa4sf*^P`!ISQjUR7UzhCVELcKh{)?D9EN%4_BP1Z~47losO1ONa4 diff --git a/file-data-map/User/fc327820-618e-4da3-a3b7-cc0a7ebb7ef0.ser b/file-data-map/User/fc327820-618e-4da3-a3b7-cc0a7ebb7ef0.ser deleted file mode 100644 index 2310b1436c808b06f1237cb608942474f8debc2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmYk1u}i~H5XLW0f^8#G+y%is!RqE>i;E$4DcyZ0kN6}n@0na`x@6O(&^jn6j$OMu z=%3KPz(ogF!Og|NB$d?L?!No(``zpl^f&^8g~)Me_G1>oqBH`l4%FRH`d^!FXmnV>vC*!U;)Fyf_1xL27H zPyy>w!Tu(-M0t5|8;f3ZpqAulm7b~`dcD9g3mmh=8GYQ$C);lXG#m5*4HA|{&|EGp z60c`>o5tWnRIf_ODVnKfh#@6(R8J#0t$4qK!15y`Mwud76D?zTEJ+G uJ??in#x@v2R$Z#5PxD6hoPGVY(k(hZo+8xC^E<8GJrx%p>C0rjlzstph=DNx diff --git a/file-data/Message/5509a31c-15cf-4df0-9048-6f9be846f822.ser b/file-data/Message/5509a31c-15cf-4df0-9048-6f9be846f822.ser deleted file mode 100644 index 7fa0f29cb863034801613b7b1b23edb0d374b715..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmZ4UmVvdnh=DIPuOzdiQqMQFxHvIAl>q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXt|uEq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXt|uE)uUC^@7 UHHkAe{ps|-T~G{iH5<%m09*TaE&u=k diff --git a/file-data/users/09ab743b-266a-4255-8c23-04d09396153a.ser b/file-data/users/09ab743b-266a-4255-8c23-04d09396153a.ser deleted file mode 100644 index 66da812d1bdae61a0adcff88bcee0336d0831bec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$DE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxk(5rs1E?<1(bH$6nE%qPW-xY&=!v?b)00UQsO#lD@ diff --git a/file-data/users/4213bbdb-1a04-4d01-bdef-912923c354eb.ser b/file-data/users/4213bbdb-1a04-4d01-bdef-912923c354eb.ser deleted file mode 100644 index 4b86303e55795a3ccd3e094d43c98bebcf8e1489..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$DuLGDHv)zWW|u}O%Mxfz zmd1(w;nkvb`92^3nF26wU++H-a?TSe!`@~fL&nh#q^JT4bh|)*xS9IC7H19t;=*ji wsKz$$Y;n{sSVC4^rtV%~G{5xNb^V{`9liI3P%qD~tgfvqU3_FtlFd^31>fm{xBvhE diff --git a/file-data/users/517f764c-4a66-4f89-a283-52e235c43527.ser b/file-data/users/517f764c-4a66-4f89-a283-52e235c43527.ser deleted file mode 100644 index 5123af6e7f6809a78ec33751a91b60cc56fccb45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmYk1zfQw25XLV?5iLQeVrODNVo1cFPAn9$5Lrb~^#M#{icuV!_)^lP3&_x*144YrBF;Smb#yKTc`7?(w0nnJY`bA~)7EA>=o&~rJCo8!0z&hYEz^?LE0faQbTV`0M67;2NH zapL9ZZo#?z7!rU~16Yr5MlENYr%DC=&5jDVK)0i08IYs9Ir{U%)X%-V@CXneW<$;l vwnTSJpz*af$;*2tmzpkacB!C)g5suY zcNhH+^lzv`C&AgNXp&0mZFk@M-uH8ZFEHZ>EFPl3uHA}x1d}od%u=X&5ogH#IwI8Q z3F|N?U}4*#Dr|34Fu7zRKv?`IxfqE;B*HIE35vjJwGQ?(lckSU$eW2g;?XIb1EDY% z3#kL%WRm|)Dv9>9;5z2LL7|dlXr-R&40<8Qv2z@|!0C^!->z1M1dIll9Tp@!ji5GN znk4oHx69VeN1p(s8o+oME{(P_&NHR_?yjeNF3|RrECX_MJ4b)HpZUI%7Y+f^fcb#4 w7+ulc6BswZlB(=d{ru_fysrK{9**Ci>`OXEs21nf);BhFoPT6alg&c<1)g$(LI3~& diff --git a/file-data/users/5c4a0b17-b6a1-453a-8b64-f4b73e97c0d8.ser b/file-data/users/5c4a0b17-b6a1-453a-8b64-f4b73e97c0d8.ser deleted file mode 100644 index a52d94927abbf532ad783f9be6344547e07df14c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmZ4UmVvdnh=DsbuOzdiQZKYPwTJ-%7?~K@eHb{Ci&7IyQd1mDN*DxuvJ%S@^>Y&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-ky9ozjJ z=+5%|{FF+E%o4ri{9L#NAgAkroW5r!^Yne)vAPn6KuSpk+DfZF~~=(2%A~KQUC!q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XX6;1P UyDzq;34L=YD<}rJnhj<&0DdHQaR2}S diff --git a/file-data/users/a75e7191-132a-4835-96da-b42e665d1abe.ser b/file-data/users/a75e7191-132a-4835-96da-b42e665d1abe.ser deleted file mode 100644 index f7d9c199566898b9d6fa65383a3b53c6ad76c3dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmZ4UmVvdnh=DIPuOzdiQqMQFxHvIAl>q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXk diff --git a/file-data/users/b13b756e-d4c9-4750-a8b1-489ec07965e9.ser b/file-data/users/b13b756e-d4c9-4750-a8b1-489ec07965e9.ser deleted file mode 100644 index b141c40cc2383baa6d83c8e0c916429938dc550f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmZ4UmVvdnh=DIPuOzdiQqMQFxHvIAl>q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXVxz~r1C^;S UH(HnGT{-CDE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxku*vw+rB$oSl6Rl^dHUi8x1Gfx->|_f2LN_giGTnA diff --git a/file-data/users/c7546cd7-5306-4f4d-b81a-bdedb8c7fc0b.ser b/file-data/users/c7546cd7-5306-4f4d-b81a-bdedb8c7fc0b.ser deleted file mode 100644 index 2078eed5a49dc9599c6b68b8b38fa68f7115c062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 393 zcmYk1zfQw25XLV?ftDatRZK`s?1}iZu~5W96v|Ng0H(2uksX`(QqqMDmJTq01mYF? z03BfN!p>L**3K*pBq>U{?e4qpzTXX}V4D~m79q#J+cqqQSy=>@0;qOkMv;XLM5qN9 zv`0NbqplaIsJj<{%_QXlq5e;5VayAW@US!`$c5K#A01{UN1v;RH4}Np;!C&&62P+I zQVZ6klKo98i4L>i2IjpLKqbl0NI_FPG|idjKEQHa%93t(*-nq1;S`t?ARvJt zF^DsG9Eya`00;yIjiv389^+=-ym`MFeS?{3uvm;7`*tT`8pdT1nD(IF)r=wwT8Pl_ zj%bfM5sgE~lX2Mez+{5*2x0!8Fn+1CQBX4n6*=}&-5{z0`Xub z;X*~MO$Ga#)KV4X!7VI$!-HCyqg8sQa_G4N$1ZT}5@+~%`FgSZPQY-%?9nJ?nTEz> zX`FaIx?Z%dK86G!Qvk-@+ridj&Uqqb(BJOLfN`|DQd9v2x?P|@-A?`7h%<)(abY%M wG(n$-I~)@iEFr5dQx7_PzF%E(Usjq6gD=-dsF&y0);Bg)Qha1ilFd^31vkNeu>b%7 diff --git a/file-data/users/dabb0ca7-3c0a-45e3-a776-deedac7bfdd1.ser b/file-data/users/dabb0ca7-3c0a-45e3-a776-deedac7bfdd1.ser deleted file mode 100644 index fab97e998cc67c1b00406ba691d224c2c3b8688e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$*HdOZ`fd#0|0!yh}ZxC diff --git a/file-data/users/e5469010-771e-4e29-af85-5ed08e0e18e8.ser b/file-data/users/e5469010-771e-4e29-af85-5ed08e0e18e8.ser deleted file mode 100644 index 6661a851fb08537683e63b75078f9b817e5fd800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$uE|yS-l0V>?JmQnQyk~N$>Ea+*3LWZTLGeG3 z?k;XRy1QAyuFehxF-ax$w!80r@B6vY7wB;W1`Cm6$8=&A!K^d_i#Al(&`Ld38T3kyW9B$!fzzK{zYf;N1hfX|Z5kvjji5GP znk9Be!!_gPqfY=*1)$x(KaV#u&T}cf&Ymkh#?f@8C{ATll^eR~7-%faQSE w7+c)m=NLD@5VGu2)qA}B98P=A^x^I2WpdO-s21lpx3+gwoPVUxll4OS1v-v}2LJ#7 From aaf0bfef7275476c1cd1b2a52d5be4867e7d445b Mon Sep 17 00:00:00 2001 From: apple Date: Thu, 29 Jan 2026 16:01:47 +0900 Subject: [PATCH 13/17] 26.01.29 --- .../8.8/executionHistory/executionHistory.bin | Bin 41261 -> 109499 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.8/fileHashes/fileHashes.bin | Bin 21447 -> 22497 bytes .../.gradle/8.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 19211 -> 20741 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes ...DiscodeitApplication$JavaApplication.class | Bin 0 -> 3433 bytes .../discodeit/DiscodeitApplication.class | Bin 772 -> 2169 bytes .../mission/discodeit/entity/Channel.class | Bin 2061 -> 2061 bytes .../mission/discodeit/entity/Message.class | Bin 1849 -> 1849 bytes .../mission/discodeit/entity/User.class | Bin 1943 -> 1943 bytes .../file/FileChannelRepository.class | Bin 6506 -> 6592 bytes .../file/FileMessageRepository.class | Bin 6506 -> 6592 bytes .../repository/file/FileUserRepository.class | Bin 6464 -> 6550 bytes .../repository/jcf/JCFChannelRepository.class | Bin 2171 -> 2171 bytes .../repository/jcf/JCFMessageRepository.class | Bin 2171 -> 2171 bytes .../repository/jcf/JCFUserRepository.class | Bin 2135 -> 2135 bytes .../service/basic/BasicChannelService.class | Bin 3924 -> 4062 bytes .../service/basic/BasicMessageService.class | Bin 4376 -> 4506 bytes .../service/basic/BasicUserService.class | Bin 3759 -> 3897 bytes .../status/BinaryContentInterface.class | Bin 0 -> 161 bytes .../status/ReadStatusInterface.class | Bin 0 -> 155 bytes .../status/UserStatusInterface.class | Bin 0 -> 155 bytes .../discodeit/status/time/BinaryContent.class | Bin 0 -> 1131 bytes .../discodeit/status/time/ReadStatus.class | Bin 0 -> 1533 bytes .../discodeit/status/time/UserStatus.class | Bin 0 -> 1952 bytes .../resources/main/application.properties | 1 - .../build/resources/main/application.yaml | 3 ++ .../stash-dir/BinaryContent.class.uniqueId4 | Bin 0 -> 1151 bytes .../BinaryContentService.class.uniqueId2 | Bin 0 -> 157 bytes .../ReadStatusService.class.uniqueId1 | Bin 0 -> 151 bytes .../stash-dir/UserStatus.class.uniqueId3 | Bin 0 -> 1374 bytes .../UserStatusService.class.uniqueId0 | Bin 0 -> 151 bytes .../compileJava/previous-compilation-data.bin | Bin 26193 -> 27177 bytes .../discodeit/DiscodeitApplication.java | 41 +++++++++++++++++- .../mission/discodeit/entity/Channel.java | 4 ++ .../mission/discodeit/entity/Message.java | 4 +- .../sprint/mission/discodeit/entity/User.java | 4 ++ .../file/FileChannelRepository.java | 3 +- .../file/FileMessageRepository.java | 3 +- .../repository/file/FileUserRepository.java | 2 + .../repository/jcf/JCFChannelRepository.java | 2 + .../repository/jcf/JCFMessageRepository.java | 2 + .../repository/jcf/JCFUserRepository.java | 2 + .../discodeit/service/UserService.java | 4 ++ .../service/basic/BasicChannelService.java | 11 +++-- .../service/basic/BasicMessageService.java | 15 ++++--- .../service/basic/BasicUserService.java | 11 +++-- .../status/BinaryContentInterface.java | 11 +++++ .../discodeit/status/ReadStatusInterface.java | 12 +++++ .../discodeit/status/UserStatusInterface.java | 12 +++++ .../discodeit/status/time/BinaryContent.java | 25 +++++++++++ .../discodeit/status/time/ReadStatus.java | 31 +++++++++++++ .../discodeit/status/time/UserStatus.java | 37 ++++++++++++++++ .../src/main/resources/application.properties | 1 - discodeit/src/main/resources/application.yaml | 3 ++ .../142aef23-db31-4ca8-b803-41806b7c132e.ser | Bin 0 -> 534 bytes .../2a662d80-4710-4ce8-b160-069648d4ffbf.ser | Bin 0 -> 534 bytes .../37b23785-5bbe-45e5-9561-9c66e5d9f699.ser | Bin 0 -> 534 bytes .../9a23c02f-c6c5-4771-9e34-02e2fbeedb39.ser | Bin 0 -> 534 bytes .../b0fecf43-d8a6-4507-9db8-72556ac67a39.ser | Bin 0 -> 534 bytes .../b880ff84-2d78-4aa5-a0d1-776347e54d20.ser | Bin 0 -> 534 bytes .../c1bbe069-eef3-4b37-92e4-02eca3d0e3d1.ser | Bin 0 -> 534 bytes .../fb481a8c-a89b-4a80-a13c-17d9914218ad.ser | Bin 0 -> 534 bytes .../4c1f0f40-4bc0-4d62-b0ab-85960386cc49.ser | Bin 0 -> 418 bytes .../59dd1d2a-8349-435e-8e2c-a220a5313637.ser | Bin 0 -> 418 bytes .../62ac2f0e-a021-4281-9af2-87df29dd236d.ser | Bin 0 -> 418 bytes .../702bef94-1285-4be8-a0bb-46a7242b0839.ser | Bin 0 -> 418 bytes .../7fcc5cd6-8096-499b-a87c-14edabcd69f6.ser | Bin 0 -> 418 bytes .../b32444ff-c406-4451-b8ad-327bcf4ffcbb.ser | Bin 0 -> 418 bytes .../bbdc6ddd-7146-406a-b35c-522ba5e15b2c.ser | Bin 0 -> 418 bytes .../f87bad87-b9ff-4eab-9112-6f2d6f676fa8.ser | Bin 0 -> 418 bytes .../15750ba7-f0e4-427f-9cb9-d6eff5fc489a.ser | Bin 0 -> 388 bytes .../50bfb8fe-af3e-4ac6-bc55-063601a66dc0.ser | Bin 0 -> 388 bytes .../543d0694-9b1f-43a8-95b7-518723b7f5c6.ser | Bin 0 -> 388 bytes .../6a5584ad-f73f-4cf9-8515-39af13bd3606.ser | Bin 0 -> 388 bytes .../931cdb78-4033-4345-abf8-5d6f3a74c1a4.ser | Bin 0 -> 388 bytes .../b2dc5cb9-1512-43c7-837e-81b54e2c0213.ser | Bin 0 -> 388 bytes .../bd7695a6-3ceb-424e-bc5c-f7f985af4285.ser | Bin 0 -> 388 bytes .../f98ae396-daee-4c10-9d32-4e18319f5434.ser | Bin 0 -> 388 bytes 81 files changed, 225 insertions(+), 19 deletions(-) create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/DiscodeitApplication$JavaApplication.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/BinaryContentInterface.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/ReadStatusInterface.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/UserStatusInterface.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/time/BinaryContent.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/time/ReadStatus.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/time/UserStatus.class delete mode 100644 discodeit/build/resources/main/application.properties create mode 100644 discodeit/build/resources/main/application.yaml create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId4 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContentService.class.uniqueId2 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusService.class.uniqueId1 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId3 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusService.class.uniqueId0 create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/status/time/BinaryContent.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/status/time/ReadStatus.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/status/time/UserStatus.java delete mode 100644 discodeit/src/main/resources/application.properties create mode 100644 discodeit/src/main/resources/application.yaml create mode 100644 file-data-map/Channel/142aef23-db31-4ca8-b803-41806b7c132e.ser create mode 100644 file-data-map/Channel/2a662d80-4710-4ce8-b160-069648d4ffbf.ser create mode 100644 file-data-map/Channel/37b23785-5bbe-45e5-9561-9c66e5d9f699.ser create mode 100644 file-data-map/Channel/9a23c02f-c6c5-4771-9e34-02e2fbeedb39.ser create mode 100644 file-data-map/Channel/b0fecf43-d8a6-4507-9db8-72556ac67a39.ser create mode 100644 file-data-map/Channel/b880ff84-2d78-4aa5-a0d1-776347e54d20.ser create mode 100644 file-data-map/Channel/c1bbe069-eef3-4b37-92e4-02eca3d0e3d1.ser create mode 100644 file-data-map/Channel/fb481a8c-a89b-4a80-a13c-17d9914218ad.ser create mode 100644 file-data-map/Message/4c1f0f40-4bc0-4d62-b0ab-85960386cc49.ser create mode 100644 file-data-map/Message/59dd1d2a-8349-435e-8e2c-a220a5313637.ser create mode 100644 file-data-map/Message/62ac2f0e-a021-4281-9af2-87df29dd236d.ser create mode 100644 file-data-map/Message/702bef94-1285-4be8-a0bb-46a7242b0839.ser create mode 100644 file-data-map/Message/7fcc5cd6-8096-499b-a87c-14edabcd69f6.ser create mode 100644 file-data-map/Message/b32444ff-c406-4451-b8ad-327bcf4ffcbb.ser create mode 100644 file-data-map/Message/bbdc6ddd-7146-406a-b35c-522ba5e15b2c.ser create mode 100644 file-data-map/Message/f87bad87-b9ff-4eab-9112-6f2d6f676fa8.ser create mode 100644 file-data-map/User/15750ba7-f0e4-427f-9cb9-d6eff5fc489a.ser create mode 100644 file-data-map/User/50bfb8fe-af3e-4ac6-bc55-063601a66dc0.ser create mode 100644 file-data-map/User/543d0694-9b1f-43a8-95b7-518723b7f5c6.ser create mode 100644 file-data-map/User/6a5584ad-f73f-4cf9-8515-39af13bd3606.ser create mode 100644 file-data-map/User/931cdb78-4033-4345-abf8-5d6f3a74c1a4.ser create mode 100644 file-data-map/User/b2dc5cb9-1512-43c7-837e-81b54e2c0213.ser create mode 100644 file-data-map/User/bd7695a6-3ceb-424e-bc5c-f7f985af4285.ser create mode 100644 file-data-map/User/f98ae396-daee-4c10-9d32-4e18319f5434.ser diff --git a/discodeit/.gradle/8.8/executionHistory/executionHistory.bin b/discodeit/.gradle/8.8/executionHistory/executionHistory.bin index 62d77e33aada3c03144a8d69abee69696352be55..701fe76266c2b4d16d3d780e7b73623cba5ab95f 100644 GIT binary patch delta 6887 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 delta 1235 zcmZ{jeK6a19LMvOgqGg<)nh82igkM8F&>MidR?b%%7jh!W&IY*~7NU?Rs)@sjk=Aqm|_lw*9Y1i-F=bzX6{rx_P})rnR^+#;!o5YrH#6{;V5qs02SF;$iV`)vK;~{Phf}oi&jR^|^BfCohAu zx4Lt`|Mnuah!V9F42I!ht{W=z2F*w~M*%sJ&SenlDVc(nSh!gB7~#|ZVO@X?C<{WWdzi;=wPL+B5D zFpYfU)6^-tu2WTP!yU{Y-=SzI6)mU%hSfAsZjgGTun_uI<5m6sPOK~aOF)jw`M|Yr zf(9J53<_M%v_{XRzc?k9Cih0G_dqXnU3mvK-nxMJs5+09vgsd#*7&dlyp zgn%)SWI9y}Ly zMMYXHa0CN0VEdRZ@;Z^M)(HSuM&(p+28K512E;I#DU8^dY({#T6EicN8K0TWh|j_! zugvP&O-%b*Og?0dMW&6<0QCQzivLnQKvMMMGylwdf43-zdyPKXkqIe{SuSt6hI^v` UpQoAG297rRnY^A!vjzg^A1O~Xng9R* diff --git a/discodeit/.gradle/8.8/executionHistory/executionHistory.lock b/discodeit/.gradle/8.8/executionHistory/executionHistory.lock index 4989dd8ff9fd7806ed33f0207d1905a6404855ad..1a74c863cace87ec38259cfba006e1406e53b5f7 100644 GIT binary patch literal 17 UcmZR!S@ri^=PoTN1_&?*05^36a{vGU literal 17 UcmZR!S@ri^=PoTN1_)pQ05?JeKmY&$ diff --git a/discodeit/.gradle/8.8/fileHashes/fileHashes.bin b/discodeit/.gradle/8.8/fileHashes/fileHashes.bin index 5e378a7fd8a83c463459b00e72b717eff58fa3ee..33c254fc05f3baad6a740ba8aff06a4e12eb61d9 100644 GIT binary patch delta 2832 zcmZ{m4K&o*8^_0Z8AWSU*38J7Q4=z$A#FO<@iI{-3PZ%doh0peX-Tc6w6j#2DM{VU zND0%H{1rB=w0W7$~qfV-ZRgAKF|H$_h~HD z=`PhNTSe3H1aqii>gXc=A&RAgGrq> zZB^!Fq{Shp6*vwv%)dImAp3{ORmkZ#lVL$2(`riU@e|<>I0IT4zEn2N&Zs|LGM8`$ z1_3jRY^r0iO~16ZCj&Wu1XnG}s9U}2m50YJ1rpAnBfw{okh-0-yKbrT`2{GF4Q?(f zqwc47rL1}!YD_o-oR;Sz{;Aum62~5ePOL`6X&ji9SjXNZ`Mi;zY*e+nIPsRvVnk#?0#l-^1`=-` z(=o=xn8#=^>&?kr?jD{BCs5}SW!L#fL|%OvPwKVSEWT3A-9c{1yHTS21f~5M5kA^Pt}On8pLDmwY3|Ak-2Bm#xZEul z?O`M)m-02J^x-irt!wPp zI-p~I!!@ERybwEPE*#HR< z{OH)qYjpC>QLAgQiezbl+}V3^HRB0Fwi2Bf25A%AClz)2zqzF5y$SYNcCsJ=$?8PJ zVQu1NX5O)d9T9V`kCWF7Mm$S*M95Fb~eC*dd1>dOF?z6-G*53nCJWl6vxIcu4` z3^={44k8&Mq#aDdMo;Rtu<-H&;N~?u{}ZlLyHR5U;QBFW>&7Pyu6^}n?9|}AA6T@; z$9SWF;|0R~yqO@na3VDF)n2o8a}*P|+?F6xg~TU;Hov8qh+#192c-!(dw{(^L-gG9 z@KOar-n(3QYQ zTqru70=VF zKh9k8)OigiOZR%P13{3m*Fl3&%k~^GGQ8(;f4btEET^{{iOD>FmmtX1GsJ)XzUhlE zkKFpYJ9n_)+hMlcCIUatlsG{qf#^|YkiQ8@eTeGw2Y;N^Pu-bfb3Akf)`_8>5Ib(r z$YF4j7l=~dCVbJX3b^y!O?Bf$X9|+;M#PYUVXYzEF!{v3*U^uH59MdPxcMt94H4@R zv0a;Z+B7%ho|SBV?V-s1%}P6CODu<+5Zp&qmV`g5FtD zt~McKG<>{9saw&ZylGu(-wXf4V1uo}UP)+_d{}4_4@AXjQO|3V| z&T9-rij7|bX?ie{a@B^_S#ptiFl_3ffRH7`rwc}hXcM_+S1$Cu`@`xpn>G`t>cUh+ zU`v77ESKbaF+WN#e9FRB6#Jy2!c!$j2z)qkn`Pbmwq(1$aDC&e5)X}VK8}I=4WD33 zL=?bUV<7L+gw~4h4C)#ui@aMVqb4+nix}bf&jVhc2E2Z`8+reJdwRYky$@bscqeE{ HNI3Erd1WK9 delta 1389 zcmaF3p7Ho{#tkMCjMkG)B|Ijtl}MPZDk(8JS2AJpUm&e3l`wfJ5SvN^<)kGh-v!d4 zG9Ht+%1oFXE4yN{tX#t6sd6hOhstL$vCiD6_(Oc7L4(j{M~_oX^?fxPlj=69Jh|5N z>G#_BZ9NPOjFUg_W`4i`20Si6O3xTbXacb!2n!rLEbe+kP|etSNr9ulIkOvRIvRkA z&~z-?s=j{1+_EXIpI0~=a59M?>0kw_=4qJR?_E~UblGsq#aN5JGdmtBJz1cekE9By zh_o8MDX=Sv++R|V>r{m zE0PY7bJ?XPKlF=WVLD-VeX^~;RK0SoK=rQDgBjl@M_x+hfBzk*d=60ZHBc!KNM->E zG$-l46%#mWUwFe&D*t88`h#zwI(~ySVAY}6c6q_tu#*ik%QQ~gov(<1>bMHjQ4g}j z0Z5=(GI^o$X6AJX?F%mk^IIme--Bqe=LM<+0*-JXfu^IuGOwPE;f92Sz3!8`h)cJi zI=I0a7&xjib$mIrT|ndzYm7<%%MNL|J8i(=0r}mYV{&GI9w>y~PCgqTHF;}*2#E6s z#F4n#RHe33{Qa8f<qaeu;uf`Wu=lvP|5d`4Fjbl zt`*JAF5YWclEYjX$Q9mt6DoOUa&n-L!t|+cS?m64$~707ZT=Yd*c9p#eu(3lStg$k zR0BG~UTE^qK#04b#dy8r+H diff --git a/discodeit/.gradle/8.8/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/8.8/fileHashes/resourceHashesCache.bin index 67ba9dd105de823ccd2729f2b729159599c6360e..5380167e55dfc1018c16300c9a101883aa4e7c8e 100644 GIT binary patch literal 20741 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 delta 101 zcmZo&#MnKJaf68jqv+&X35m&Tf%q;EZLQdx<~ta1`O|Dk|^fr)dY;t%nS1_EN69X(Dl0RR(=C3gS- diff --git a/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/discodeit/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 3ee6abd89fd6784858cb09d886f4e62b6390767a..a80c5140597ad2db3556d6e1dab997f908267501 100644 GIT binary patch literal 17 UcmZR6oPHuIcSRi1VLQ_6f0tlqm7DK7_0|iC4$)R1k*^Svvv3_>O zGQ$iPdI2+xqh2}Vcqcei;KCo^PqFbYI6nK)HmPw*XS_)E>^bjwp7(wCeV=pw`1{H4 z08V0|6-{VX5Q<_GS_IDI%tFd4mNdgo6*SAzOe2-otelybnw=V08J#H>buFjbTuz)* z=hUiqffjp4vl9IRhqD_-OGgk!tAa=rZHNlQt`j|_tHyNd!qjz{vk8AfGc@~@Ky!D` zWEdR+n{Jq9em;yC?cL#N&)+`MhY=TOb!QJAI((!J&tR*9ZBcB;vjY8r4qCD_r{!d7 zf`c({O!{0&sdvk?H)b=Z}^dh2h@ z%&3MT_3`;4eQX(>IGY{L2pnvPv}$iUj4tl~^Vf%!pBBQ{EwJ4icUA5$E-!vl`QhgB z?OV&Yf9z{R0(%wgb5i;;KYE~(D=GDvRld7l?QFc>b1cO;1fs3=go<4?4Jq1iBl6 zbc(PIM{rcZF(=ipG@9!3(z4WPxtePAKkIhQxAnd@R$l|<$ zkti-;RA7rM9kr3uMOS!rgQ=-@aRqf!;Mi08q@F^jd$=)_p@a)`W;H{OlnYa`G_FqR zoQY@6oT^W%CCz#FCqs^e3uJp%abDUpW`0yHsRe1v5`kMSX_t#mNef(g zN=P(XufqIVjkXN=+scGkE&oHoTkEkgdk%y^GI(#bbPGh?7=3LK$Tt{ftui(k>5760 zbmTn!Uyb)@u+J;;uA^lw`al8)f)Q#ZkNMtQ@DwNG9+czKVyl1MVDzt@Ds)q*`WqvpN(XvC)kANX%Gd%q*93a!_*`a!0+k>T~o$AUwis4w;s% zz~rGG*aY=p*oTE$N0tLL`5Ka-VNa7~_8nErHz_=l?d( z3KN**8|_^*fr}h(;&o#oMw)l=9?cxsH%a5bb|&NP@y__>$Ji1=w)YoKdDszmIe~WU zt-|lbC0wRWJ6GSw2juthFL5%AEBKHL4*rmjA4@*Kj`&OQU5~M+9zhQ}kgOtz;VM+_ z?;y?;a%%)vU4lHMPhgWE#JNN=-rc)|g(|8>>xn!;+I8)Y z0(=GE!V`uEiU*$fD2g+?Ya$z!Y76u*m!0YE(>)-A+#@tQchKMf;+|Px$eJF!K4KmOU z-pVVutKwMpRVG-$WxVa+ii@kbCa^u#_9Q0U{EP$}3%BX@9047jfOoHJ-68-Q0;`i9PGYH(iu?m7r=m0TVCbw-(e#(LvC9OnpJAbAy;W`}lM*Ay3*zU-&!JWrh za4xO>4DnNPyvorY1B+PW=%yF2jt%Z+ahpPgMEDQPP%W@ibyklt+gYp5|ANH=e#iXo zT6HB`uk5W=YuUQiEUq8pQnR#ijO)#EtynA9O2@eM+VTyYqs9x=yNo5QurgnyuybBV=*s?tK z%qu@x_k7an6GSh6km*!y4M>fQCWFRy|SYcnP5*u+;UNLR3bD_6UWFYK)7bqA? wrHmM>#E0up21yZ@H`4t-@4_*shRkA;ATdko912cmugAjum&?IvPDF#ahO$I9l jJqBwALk3$02L?L^R|b0q4+bX&Uj}D}C67^G zi_E+KAp}8v5Ff+`@h_;Y)?2;b@2w{?Gw1uxoO9+}W_|R|m~wyP)@=X>nYX2Ec3nzT z7EQ-k;HM1Rn62}IX$nVo3}M;~BPC(gG`nFLX6=HdFYqN{&1<&9EiRnp2G=UQA#B4D z*75{{dPoSzb}YS7=FUY?wL?BUQ}7%w{CF9}6kah5&FM{DtLtV>Gt8!#=Q7{jO1@_B zvRyW}DB`VxcX;o|haf)UQ#%myF!n`utJ}ig6e#!}#6vt%JNuVhbq~lHRq_4lSpLeo z8uv2Bkd}o|+U;j<*-{_$N8mx2>^;b!7vqSbfFz2DV-g7*LrPu?&#^uk*t(V*LI69+ zBZGbnlgvUxn*6dT5$f29Dshexn8>x0k*jQc6fTTm3w9%dJs7}VaPs4{Z@=CPXdzRQa>fk*2 z>*&TT#Z=p|Sb}YzB6XV7qv)d&Glau9Lb61wEX(n`d=l5`x1&@g5X24KB+wy43)lvf}!UZ&fHEM&2DabPdsR@Q)w9q>t&_OFY_9vJ# zaLm{^Fr7It4j4IdcIACy9F*#m zRcS37tgz~5&7_-kJ#Eb%-BkG0>Aaf@6!XsDJsa%|Ai-bl3KK2X@ zzL?Cj5Ij8J^`f`d85o;z$L}P>{qwN@%j7k4LFN=@Pd4l3l9TCt-p%_t&@Y3I3?!y! zteB3LJ*p|Eh@hA%I7KCK!d$_og9x2eagAeoqijOObgF!%rH&F#N~fM08bsg78BU0< zk$%B6O=N_-IAm!qWGWu0_*p!(a)dTn5T};&v~WT0i(KX$*9Aufb0nA+eveDsr@i2W z9Azgd{huSsfNV^PeULha^i(+G8>W~W`c?RD=%%n+@`5qZ-^P+05ylJYh^?x-r0kZm zm*ezF;9iM$Ral<{?$-~iW>tqCwW||e-pDU`c*~+-6fa9CHrNuj!!BR{v2Xm~H-AK7 LNOxbMJlKB$OD$=W diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileMessageRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileMessageRepository.class index 8d1976e30dfa5e57b4ada446c6934f7cff58efae..b375d195af428751583eaaba64c96d013bb86d71 100644 GIT binary patch delta 601 zcmW+zTWb?R6#gbxv!u<&w7D56y~NPexX@ZftAR+WEheHtM4^aVGsbPxov^!2>67^G zi_E+KAp}8v5Ff+`@h_;Y)?2;b@2w{?Gw1uxoO9+}W_|R|m~wyP)@=X>nYX2Ec3nzT z7EQ-k;HM1Rn62}IX$nVo3}M;~BPC(gG`nFLX6=HdFYqN{&1<&9EiRnp2G=UQA#B4D z*75{{dPoSzb}YS7=FUY?wL?BUQ}7%w{CF9}6kah5&FM{DtLtV>Gt8!#=Q7{jO1@_B zvRyW}DB`VxcX;o|haf)UQ#%myF!n`utJ}ig6e#!}#6vt%JNuVhbq~lHRq_4lSpLeo z8uv2Bkd}o|+U;j<*-{_$N8mx2>^;b!7vqSbfFz2DV-g7*LrPu?&#^uk*t(V*LI69+ zBZGbnlgvUxn*6dT5$f29Dshexn8>x0k*jQc6fTTm3w9%dJs7}VaPs4{Z@=CPXdzRQa>fk*2 z>*&TT#Z=p|Sb}YzB6XV7qv)d&Glau9Lb61wEX(n`d=l5`x1&@g5X24KB+wy43)lvf}!UZ&fHEM&2DabPdsR@Q)w9q>t&_OFY_9vJ# zaLm{^Fr7It4j4IdcIACy9F*#m zRcS37tgz~5&7_-kJ#Eb%-BkG0>Aaf@6!XsDJsa%|Ai-bl3KK2X@ zzL?Cj5Ij8J^`f`d85o;z$L}P>{qwN@%j7k4LFN=@Pd4l3l9TCt-p%_t&@Y3I3?!y! zteB3LJ*p|Eh@hA%I7KCK!d$_og9x2eagAeoqijOObgF!%rH&F#N~fM08bsg78BU0< zk$%B6O=N_-IAm!qWGWu0_*p!(a)dTn5T};&v~WT0i(KX$*9Aufb0nA+eveDsr@i2W z9Azgd{huSsfNV^PeULha^i(+G8>W~W`c?RD=%%n+@`5qZ-^P+05ylJYh^?x-r0kZm zm*ezF;9iM$Ral<{?$-~iW>tqCwW||e-pDU`c*~+-6fa9CHrNuj!!BR{v2Xm~H-AK7 LNOxbMJlKB$OD$=W diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class index d56df36d46ce5804dbbd3c93e0140251ea893156..1b599aeee7c0f7a61a8a40637f795754032a9f40 100644 GIT binary patch delta 610 zcmXYv%TH556vlr8eP~nKf)pr%iUj4|L`02<1{Dx3sAxS@*Y4Z}x|RP{=s`&? zF+6Fy*$I6v>txe8-D8@TYq(jgQ{S5Z}T);&E)f{qSP3*7{%T zv%kYUWG=>>B0ON4+CGvq97j7rr4$X`sc5Cw9*qQos#vk*zYKaeVmIr`@lhrj;_Re? zPO9i(Ge=3#OEp8(dT!~s+UCudF19tWQCyWYQb)6}7Lx1`UkfQggElh4HLaMm7goxy zsm>0H*v$q>yotSRXP=n%vxhDY%6L}rf}l+|lftJtz*P zC488A&UmZwjQ>0VM!a;zRQ#eaLr#zpf0_uR5~B;t6$w>4Ao94#6k8dT4X0?5mpCCj z#gJEDHLLo(rK;L~AM^4lig?0;U;xEa!DrHIC}vUgYu*a`#23E*W2^jRjX&ZDAy=%5 Hl#j$;#aWR~ delta 498 zcmXYu$xqWk9K}D=(pG;d^e1!`)BqMO0tT?C7)Y?7gyNQ%sEJ0aZDLHc+EzV#_d+J| zukfOciFzO&hzH}vgGYDV_kBa~)tF4?y*KYozHc%Y`fv0(x8|=;14G7p$+=tK=58() zE9FWlcXC^yaw{xe@=bn)%zFcjG=53`v^{CA|S->>c-ZYa?~I z@|##im^4vFNH9u_G2(2e*-kGxW|rGj<7{_3i%H7qpq16ir&!BMY4NiRa*m Kg`pgGx#!w>+aP7Q|u delta 59 zcmew@@LOO*D;p;_0}BHW13v@rZ<0pg!4)!w>+Y4h?ev diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.class index 511d2931a518386f0fd03ad06dc0fbd9f81beee5..f0f5a0c1ea0226ddebd1b342440262e7e45943e7 100644 GIT binary patch delta 59 zcmew@@LOO*D;p;-0}BHm13v@*g`pgGx#!w>+aP7Q|u delta 59 zcmew@@LOO*D;p;_0}BHW13v@rZ<0pg!4)!w>+Y4h?ev diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.class index ad6ba7d043149365e4e469a4a011bceee2d5781c..bd0782745b08f03d2a9bd106b697f92ec0140290 100644 GIT binary patch delta 59 zcmcaEa9v+8Uh8qBJSkqE%aiC@3xds0P^30NIVnHduc} zZMCiTh2A$uXLNjYoY7H1sH5$SPtN$}vp)Ii=s)0iZn6`?OdovM+;jK*_`dI)v-vIj zdvD;Ef46@GFoqi{BnIQAYIJH~P;_|UW$+%)TX|=k;T*s1IlDgkS-_80>{Sua(S{(y zv72fS|Cn9zwW34EK6LVkH0tfv5yF0+lT!YJ=ur{Y(ThI*g)~QThjjE~fa`Lar2$K9)`Hc5L9iuqLdz4f9VWb7k;|%*E z{Epi0pB3cBbv%R<{D#s$pkV?Jt9V32oniT(B3*d%dtU*eI%aMMnul;n0rM zyj8JR%tR*3|MvaGF7iM2?C)69;KQprmXHhJHHLvmG{ZlY`})#U>kZ+2Q-_Hh-KrYi z#ycwB6@9@X*L`ic&6|a z)fU#%n0BLQs$|NPq~jSp3k9~YTC<>UNhv6*FxqN2m6gXXigRzBn3C1?MfDIhD z4Yot4m8t?^1Za&r=@gVY>!}S&U6@1lIjS!}J&bMwj5gf`8=;#ZtO>9!+{2pWdTXA6 zT3x*!<<@8(c-AfH74OBblk$> zIpcdA*~SCFCQ?7S-Z2SZQ?OjyfjZG)wBRVUe1sa1Y-)V8K{VZOWzJn^j>I+w&Kx-3#)&S6I%iI{OpIWy-i6UhY2x#Ib85X*S5$|}#EJ$mr!!JFmRvm-2?JoNO}(_jA|-`D+H@2}b2 zzx=)S18_edx>(o|9FGuTMRH;G@@(niY-O%=^z_2HGfRr_zWK`h(wM@|)vkXLj*w6k z^^H(Z?NY*ZiIX&ETWUvUk}=vyMQHcvpi{BeWa&Yb(Vwad(Kfm~?xI^;)}C;WN0wfF zz#5Hh;qD0i9`~?SU$dqqZ@?o*UjJ_O$9fFGpvMr~b;{l)oA-L`U|3JsTb&U_pZ+A; z7k9aj-4XV9>}6D6w-1H)d17u%|7DLCc5=W7d_d8jJG^0Ua%pkCGFQ$|8PN}UJj}R0 z@AT`hoU$6LP4tTH9xFekuY|7ZTDVRB;neh>q0euA89t`;LUdUVH>DB_F3)o@!V4Z1 zUc7m{$x->26scUkfvH}|a&wrMU7{>`oa1bg%X--@WUiQBuX&u|tR%ed@&<24c+1GI z>Yv@8)Uy6KR#NZj?_&k$eMMH^iDh-vOH?fs2W7Mp!;@x4B@Xe3^z%_!9hBLU*)6P~ z3dL`U+>n*UA^9e-<=c!yk|tVsOjaHBY!36dtmK@JsyHHXNXY_$Kgtu5X5cGSL&65> z+r+1fgF`Dck2-~Kh;%utv|4;Edv!K*!=PO>cKA#q^>gb?X(l)(;DW^@$NlUyPfBFV z8ILKR5~W5*+?G@%3E8e1K~FOs2%41H@N^mt#Z}T4#WgZ;i@qO;Z^)^e?-uJB5!Bsa zzH?ntCnuN@_`v)L!Byr;23#YuQo=9A6|z;fsRp}Y*@P`VuII;YfcuR6w|G|m4e?w6 z^^uq~Wh`!zUHDh_sMF;P4&AD6Z?3H2Z+ZNg1bPC}tTCq%Mk7Q{jAFYL$}3XQXbkbGrB)yVfYf3j6N_P9C%{ zH_rBNTwUmPdCMhv_d7)Da6{qq>q7H^(9`}&m2K!i(lu{H6q)N+#;*FcZ87wP2KtRg z*Bdd=(1;cv9YK-@xPkQlfHMC9+CSrKJTG61IWEYY5x4U)F0sffLG-FbSB2qi-jNJf LqIbE*2Xy@d<_yAA diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class index 64bc95a5fcd93abbe08ff2858fed8b9c28f7a538..8a8914a383e513d84280f828e71a8142d31410de 100644 GIT binary patch literal 4506 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 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicUserService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicUserService.class index 52fe2d7c35f9b486f9fce7e32cf7f42da70feea6..ca67b042b309557e3fbdc127b26ac597b070ddd2 100644 GIT binary patch delta 1584 zcmb7ES#KLv6#nik9(O!(ZIjJu>!w*?;-zjwD2>x5q)?TXlr#+#0$t)H6L+%A7<=MS zHn%Kg6A#rDLZZI_2?-F;kW^5RkdXKV@F#fU8FB7-l(@hP57+nHd(S!F_nmXbU+mjV z#eV&3>jwbG@u3EZ!Q?+NvqJ}iVn9WRA#}`kY;Tld*yJhJ#}BdATf?8UL=eSp4KV|8 zB={7&9gd>aKpWcmpX_L;(?Akkd{8Px_F|ugl!5)|=Ihc7`Slp+MIZl7>P>YDsD})g zKGa%yq3Bs6b=p7%S)P>p*+D)g_eT!lu!cbc4`YbC@|n;P1CQb;zbBtGawrI{BMfaO z(Q7A!;|4}C#t$mJeLBW*Lc`<2$Fp|tM=TAHSRdB zSM+SxsWK!cR@~J&cR7E`a;yqzS{UIswd?g{5Ov`{V$2D*Qp#7$727E-3fy(KvYf9H zy5)M;%2s~bs?_Xxi*&|LxUN_AD#dbxXLWZ7t2!LG8p;Ml|6ayAxA&GGz)f za30f8@C;qI$m9$10;Xs&Jc|nfpK01fWQX98*~9}9GF#{X?qJW4U^{f8lod3-F?6Gy zc0sAV5xPyO1J9xUJmnXlDx;GCqbU!-hUg>+>jG>O2UwHbkpI%}=QSE$LEagPknjTC znRqeC^f4(5(S7bd+Wkbk?(;6FNi~~GDtGXpUtIMc#Z6E=kR~-5Dq0o?kn@p88(Fs% zln!{R5=P(ZrFaMhpnrgfDUjyl2Ul z!BY2kL`9Kq#W;=<6TwAKZ{V?X=38h2tTBL%jzpUP^zFLn{%~(MIzok`;0%Jrlpgk@mrkf=03|9jx)71R9FF+)sZ}a~ox+0*u|DB22RH7FNS7FmG5SM6Q irnQ#{uF$Gt4KD}QD`dS+K5yY2@(};eH}M`mK=N;5!}X*9 delta 1454 zcma)6OIKS}6#mZ5eWaHYNJvr$k4UA!O+rdrv8AM?R$H|#+9Fy@eWrjIiUA??VYR7` z>T+1ms1E%DKB`4vEgx$+(zSHp%$XDafm4^?x%UcLI&pCC+54Qmzwg_7pL^G{pLQSo z@vn_<035*wE(}B*m=YFjf%ts+a(QT>T%8*_b8&ulx+Y*Bu2d_vF@cD8`_>)XL9>9T zgzYuEh#{^M69R|4+vVNrCp(!q*MuZe4$=}k(I#+!vEAylxE@U+Bhi6Q^|KhUyCt%? zPf266X&3Hy&?~VUeQLs(V%&g)hn)Jt=pE?REQ1n7&0?=E&6I1inqf#{FZKzzvsWuC zwH1{xGtLDE4+!+A-<_VAiwAMQ!9j@;98xDEr|go%VH{C+A}8|uaa8MmNFeQvZl)R7ZEX&A5c&`35uc%+Gr25dTss(HA?jP2SP@B#T zbu*f3uDF=TB?k)^pbnuog;D$=OKZu*^H+Rr{SFmHp+&&KFmOz$fw$3JvFD_nMUBWJ67!WwY zrxi_*oOqPBg~z!6IK4-?8eHA{8brSE6`arM892#zGa~-mL<@Exj#Kn@2GKZ;aeB=2 zQ3al$Z3#L6`JcoY#%cU2xh$^jn}|&n28(NG88!1?!pWHHXf^N|&jL1m4S^IjrhTU2 zAa9GQ9cM8??Zm=Uv~+YkCTT^OBk?qzfvI)W5sNSui~`TWoO5_K)HBIdXSQh#g>|$W zC~Tk$xQCwa5Zjg$6yL$JJ6Uu`L-B1}lG<<{Q-lwTKksvSXORoZhIyt1yP9kr{i2~< z+dt{?ab*w{;$C2ef#c@g4&oBejYBQ-!ZFyn#_*4P)Pir^gKFD;M#vTp+v1?|l#d4SOkiU(oq_ zfVibQ7wRtisUq7jgSe|d8YE#dQDx diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/BinaryContentInterface.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/BinaryContentInterface.class new file mode 100644 index 0000000000000000000000000000000000000000..170bbcbc3744bbab6d507ae1b33e43956df2afb0 GIT binary patch literal 161 zcmZvWF$w}P5Jms2x&bSD@8I-;%?g5*g(ryFD6{M)lFSNT&B6nCC^6gniq}1OpYQ7p zU5=u-)tdg6b9-~RVIxiKLgiYrjj(Znxe7bbv ejj(Rgn7!1Y7sB>WxSN}jKv+yS<`GsC3zT1@TrFt; literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/time/BinaryContent.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/time/BinaryContent.class new file mode 100644 index 0000000000000000000000000000000000000000..dcbd6d925a54a625f3d5a9b698e3bffa77ab3e0c GIT binary patch literal 1131 zcmbVK+l~@J5Iqeu;NY;p0P9}7tydT?^J0w2s>zC3L&B~`h4*2m!}iMbn3-l1-~1#^ zBql!i0e+ORdcbTTBp6@1s=BJrsjAbze*gFh;2ByaAhkl$R=BO;S&Z zht$>cCB|OA-+j5S(Kl>VP-U=!g!_tz2UK036=pzPNw897 zwT_LtZlf?sdD0E_^QMhWePu;FP5lw?63=04ndsl*1-|xx!RXLn43(ac{CE-#dGg*L zj_Jnf#eqK__=(W*{L)Y-B4v2e`@bda(}Iq;I*G$Ke&R=5@r2OK5m$O9r`28_f?@aV zMCzuy@=Tx(^-B}c!_fTMp6d5)GXv!qpKNpi9#Xh2+|>Me>slQqfi zxZlCtds7tMZDWeEdw+_W`(TR3SIXwFt!q%A(;<#JEHvl~HR;@>+!p14M>8bs;xa|L zUU$MWPxqqx+tEJ<`OMS(7`Q@y&7e{cEGP{E20goqYx5>OiZqPrenasKIkSEW*=0H7 yp7EG-?(0;evwLJ2Zma~VEdy<=1-iKssId%GSqpRvw^xi-UIwbJ1-g?h literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/time/ReadStatus.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/time/ReadStatus.class new file mode 100644 index 0000000000000000000000000000000000000000..1f985c4681ad524e998b53f233e781ea70862d4b GIT binary patch literal 1533 zcmbVMYflqV5Iwh#U0RkF%FBuZf3?)KeCw z6|d2Yc-VARwOI=nRH)G1cckQA(=Fm6=1g3&a2fLq6I!A!(v(zEQqNf#d}NqD)&J*9 z-NK@UD_BybA$MZ#Zqk{_M9^QkS1nxAxxGU-$yKseE!0$W#B-upHOJu923z_!|6Iis z5hjs_&nwzQRVk|+@!YWwtG^w(3D3a5>#6dSREp5UT6)*@msDji3RS=-U7cdeX9z zl~K#3kv2*rErCWFutpjwp$X~^b;@s$cT8v!+Kn$@jju3IFqXh%0y6~F6D%aKoWRPl zCcIA1CHm%oDded9C}ybiEUL8Bi}YNjU0%Z+ZcxUnqzrCSMEz_nn`ui4SIyY!V?b70 zN_C-*k``6!p{0ZPT9_En1SO!T0DWnCa zp4%^Mvu%4%&Ha<-PBRinuS-uxcLc^NtH(KvBb!0aKpuubLA!S%**1@k8k+*S!1h|c z8!N@is`a)*EsFvsGng_kjiSJ(P2V-c(?EKW>B=yazGt>%*z{YDjLa~yqfTf>(sj(E z&-C0 z$zC?Fi1!7u&A_oEr&Z^fQXKkUzRLzyv~TCM75l1muNb(htmADvjE<%AQW>uss9=>@ z?C)8Py{+#KcOGpW?Ce`C;miQ~W+$*C7Nw>#Su^kfJ`_l~((8l*w<-gkk>j5Ff!#I_ zyNkN(cf6?9y@9v5DlpT)NBCGEBg6WW$O#1I2I0E(sjWUvu}{=5mBUSZp1~IeZsALT zV!xO@maLNhWS8V3hx9H~?hgj; z$31a^L;IvnOVRS1cKg^4q|&>_Wb{mu?M>?)T9LU-?K;sjzxB`#Y}a8O36=J}Hbd)y zc`T5RRZF^(y;F#L!|L|Jf0dnSq@FragN;7_i1)}5Xm~GVC`r8Tc|IqBZNXqgtL?id z{`cm#<2h^=r$tg(9#sRQjvHKW^m|vSN4@qWIjVgw)!!kiuaP;! zL@Y`ab7xqH#ZoNFKWn6Qz88_&_A=PDn8I=r@wUn|8Ik zqk$SDfl9+bg>!-KV}1mqg<+t{bAcX=1X>yfnmQNA8VOV$2AVzxXdJt`Ug|Pe^i{GE aX7I^teD*7@sk;=qIpT`vsqN90!2Un5MREZE literal 0 HcmV?d00001 diff --git a/discodeit/build/resources/main/application.properties b/discodeit/build/resources/main/application.properties deleted file mode 100644 index 545cf9f0..00000000 --- a/discodeit/build/resources/main/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=discodeit diff --git a/discodeit/build/resources/main/application.yaml b/discodeit/build/resources/main/application.yaml new file mode 100644 index 00000000..67790ce5 --- /dev/null +++ b/discodeit/build/resources/main/application.yaml @@ -0,0 +1,3 @@ +spring: + application: + name: "disodeit" \ No newline at end of file diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId4 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId4 new file mode 100644 index 0000000000000000000000000000000000000000..c545a275bdb45a7abb2b6afb56c6d53c2dc35130 GIT binary patch literal 1151 zcmbVK+invv5IxS7q?;y9NogBODVH`0(B%ms6)Ke=P^54XkVrf_yH?|p^;WyyB7T7H z0f`F410TRgA;wOs(h#YL2YW7_IdeQSKYxAy0pKC-7Lh_akBoyXatxINe#G4oSNraZ z!GZ8JL+*i8QtvXP8_j+Z7f{Hf=wJ>G!@Lbov>ds;Ugt4GG2+S(gRxO--ga z#lgCbO%DB&*td;oQvYV30iRK?*=NYKsV@xWu2kZA5)4H2h7U&Msdht;kNP~4#-2Dc zdMIOt``!QR@eWNsiAB_*Mi;yxS4xbGUU??;F!W#YhzCN8h)QJlg*H$1SBWzJ=%^zZ zOJcI8R7f+VsZvz6I|_qA_|APQl!#2fsDwkQ?bA*hvv=Ce;_EPpJn=-@Po7zUZ8KYJ z&^o1Pk<)b3LXnm-LSkj>C7jmAMiW~LPOvT$GX!?Y?m*(zEIfdRGD7bwUiXss`M%x& zPN*srgrko==OJk@?lotPfg8;}HloJaoQ;{!8eDo_VlW9-OPbV6g*9Q)3 gR=g3mbsUqIt9C-z|0@qmR1yfQd1QgGnO&g#0S`egB>(^b literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusService.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusService.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..1ebef3159b8d16b9676808f235db748afe596da3 GIT binary patch literal 151 zcmZXOF%H5o5Cr!E#1a)1&)_ObT3RIh0%M=hMTw1UCy%4x0Xzzk(6Ys7nvwSXdACda*tcfQ;@@s+T( bY0O^E+6!U-mmQX(B@kBgg=K`z%m(cjv-T^W literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId3 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId3 new file mode 100644 index 0000000000000000000000000000000000000000..cd3b4779a67ace92f3f20b8400296114636773d9 GIT binary patch literal 1374 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 literal 26193 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 F* findAll(); User update(UUID userId, String newUsername, String newEmail, String newPassword); void delete(UUID userId); + + } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java index edb7231a..0f9285c4 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java @@ -4,17 +4,20 @@ import com.sprint.mission.discodeit.entity.ChannelType; import com.sprint.mission.discodeit.repository.ChannelRepository; import com.sprint.mission.discodeit.service.ChannelService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; import java.util.List; import java.util.NoSuchElementException; import java.util.UUID; - +@Service +@RequiredArgsConstructor public class BasicChannelService implements ChannelService { private final ChannelRepository channelRepository; - public BasicChannelService(ChannelRepository channelRepository) { - this.channelRepository = channelRepository; - } +// public BasicChannelService(ChannelRepository channelRepository) { +// this.channelRepository = channelRepository; +// } @Override public Channel create(ChannelType type, String name, String description) { diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java index bb8b368a..12c9e870 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java @@ -5,23 +5,26 @@ import com.sprint.mission.discodeit.repository.MessageRepository; import com.sprint.mission.discodeit.repository.UserRepository; import com.sprint.mission.discodeit.service.MessageService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; import java.util.List; import java.util.NoSuchElementException; import java.util.Optional; import java.util.UUID; - +@Service +@RequiredArgsConstructor public class BasicMessageService implements MessageService { private final MessageRepository messageRepository; // private final ChannelRepository channelRepository; private final UserRepository userRepository; - public BasicMessageService(MessageRepository messageRepository, ChannelRepository channelRepository, UserRepository userRepository) { - this.messageRepository = messageRepository; - this.channelRepository = channelRepository; - this.userRepository = userRepository; - } +// public BasicMessageService(MessageRepository messageRepository, ChannelRepository channelRepository, UserRepository userRepository) { +// this.messageRepository = messageRepository; +// this.channelRepository = channelRepository; +// this.userRepository = userRepository; +// } @Override public Message create(String content, UUID channelId, UUID authorId) { diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java index 51f24ab7..0fe74aff 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java @@ -3,19 +3,24 @@ import com.sprint.mission.discodeit.entity.User; import com.sprint.mission.discodeit.repository.UserRepository; import com.sprint.mission.discodeit.service.UserService; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; import java.util.List; import java.util.NoSuchElementException; import java.util.UUID; +@Service +@RequiredArgsConstructor public class BasicUserService implements UserService { private final UserRepository userRepository; - public BasicUserService(UserRepository userRepository) { - this.userRepository = userRepository; - } +// public BasicUserService(UserRepository userRepository) { +// this.userRepository = userRepository; +// } @Override + public User create(String username, String email, String password) { User user = new User(username, email, password); return userRepository.save(user); diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java new file mode 100644 index 00000000..46b1e2f1 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java @@ -0,0 +1,11 @@ +package com.sprint.mission.discodeit.status; + +import com.sprint.mission.discodeit.status.time.BinaryContent; + +import java.util.Optional; +import java.util.UUID; + +public interface BinaryContentInterface { + void save(BinaryContent binaryContent); + Optional findById(UUID id); +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java new file mode 100644 index 00000000..89867da3 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java @@ -0,0 +1,12 @@ +package com.sprint.mission.discodeit.status; + +import com.sprint.mission.discodeit.status.time.ReadStatus; + +import java.util.Optional; +import java.util.UUID; + +public interface ReadStatusInterface { + void save(ReadStatus readStatus); + Optional findBy(UUID userId, UUID channelId); + //Optinal : 있을수도있고 없을수도있는 상태를 둘 다 정상적인 상태로 만듬 -> null 방지 +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java new file mode 100644 index 00000000..75046a3c --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java @@ -0,0 +1,12 @@ +package com.sprint.mission.discodeit.status; + +import com.sprint.mission.discodeit.status.time.UserStatus; + +import java.time.Instant; +import java.util.Optional; +import java.util.UUID; + +public interface UserStatusInterface { + void save(UserStatus userStatus); + Optional findByUser(UUID userId); +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/BinaryContent.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/BinaryContent.java new file mode 100644 index 00000000..f2c7ea4a --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/BinaryContent.java @@ -0,0 +1,25 @@ +package com.sprint.mission.discodeit.status.time; + +import com.sprint.mission.discodeit.entity.Message; +import com.sprint.mission.discodeit.entity.User; +import lombok.Getter; + +import java.time.Instant; +import java.util.UUID; + +@Getter +public class BinaryContent { + + private final UUID id; + private final UUID userId; + private final UUID messageId; + private final Instant createdAt; + + public BinaryContent(UUID id, UUID userId, UUID messageId,Instant createdAt) { + this.id = id; + this.createdAt = createdAt; + this.userId = userId; + this.messageId = messageId; + + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/ReadStatus.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/ReadStatus.java new file mode 100644 index 00000000..8d59cda2 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/ReadStatus.java @@ -0,0 +1,31 @@ +package com.sprint.mission.discodeit.status.time; + + +import lombok.Getter; + +import java.time.Instant; +import java.util.UUID; + +@Getter +public class ReadStatus { + + private UUID id; + private UUID userId; + private UUID channelId; + private Instant createdAt; + private Instant updatedAt; + private Instant lastRead; + + + public ReadStatus(UUID id, UUID userId, UUID channelId,Instant createdAt, Instant updatedAt, Instant lastRead) { + this.id = id; + this.userId = userId; + this.channelId = channelId; + this.createdAt = Instant.now(); + this.updatedAt = Instant.now(); + this.lastRead = Instant.now(); + } + + + +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/UserStatus.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/UserStatus.java new file mode 100644 index 00000000..040ac9c9 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/UserStatus.java @@ -0,0 +1,37 @@ +package com.sprint.mission.discodeit.status.time; + +import lombok.Getter; + +import java.time.Duration; +import java.time.Instant; +import java.util.UUID; + +@Getter +public class UserStatus { + private static final Duration ONLINE_THRESHOLD = Duration.ofMinutes(5); + //ONLINE_THRESHOLD = 온라인 상태의 기준점 + private UUID id; + private UUID userId; + private Instant createdAt; + private Instant updatedAt; + private Instant lastView; + + public UserStatus(UUID id, UUID userId, Instant createdAt, Instant updatedAt, Instant lastView) { + this.id = UUID.randomUUID(); + this.userId = UUID.randomUUID(); + this.createdAt = Instant.now(); + this.updatedAt = Instant.now(); + this.lastView = Instant.now(); + } + + public boolean online() { + Instant onlineLimit = Instant.now().minus(ONLINE_THRESHOLD); + return lastView.isAfter(onlineLimit); + } + + public void updateLastView(Instant now) { + this.lastView = now; + this.updatedAt = now; + } + +} diff --git a/discodeit/src/main/resources/application.properties b/discodeit/src/main/resources/application.properties deleted file mode 100644 index 545cf9f0..00000000 --- a/discodeit/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.application.name=discodeit diff --git a/discodeit/src/main/resources/application.yaml b/discodeit/src/main/resources/application.yaml new file mode 100644 index 00000000..67790ce5 --- /dev/null +++ b/discodeit/src/main/resources/application.yaml @@ -0,0 +1,3 @@ +spring: + application: + name: "disodeit" \ No newline at end of file diff --git a/file-data-map/Channel/142aef23-db31-4ca8-b803-41806b7c132e.ser b/file-data-map/Channel/142aef23-db31-4ca8-b803-41806b7c132e.ser new file mode 100644 index 0000000000000000000000000000000000000000..9e3e7c6da13dcbf7f2dbd3e80462ef891c459754 GIT binary patch literal 534 zcmb7>u}T9$5QZlg69^FrDp(0ZI)z6{b+o z#!Ap4jfi03BlrduiddP5rLB8jh+4YU?(EF`-#^oPhlJAWNHu5X^$;#573ikgB@OKxXCSf^ znEaJcMkN-eXxto?`p7L>sT7x0d`uWN+kqx%>W&S`5OTW0q!A_^V$u;NjWFpDb6u6F zHYs145n$LWR+q}{M94`(PV&teymlXsvQHYsN|4w!ET7d~$owR&`t}BM4|*rF>Eq`> z1E|Yz27K?OjWF|eb33?f%?+;G{dRY7-suO2{osO(bV5@kGu}i~16vkhp7D`1*7bih*Q@q33Nvmi}5J9^ele3;Amos^hs!%$#B4n_GiY`uq zi;IZhAoveBy6fN|w$6@vF(vBgO?U6!d*APS@A4h`d=JJ<*CD?2xIp4?-{-C%7WYlp zVjKw*$Z?w#)(s(;4e?27kk%n%ddxs(O(8-~-!QfeY8#?Lbyrj-b;w%GH$5&xtIXTGJQ~U#K8G4W zRYo)5JGZ+CgKyV2os0T#=c>_ev^ru}T9$5QZnG2}ndj8Y@At6n3#nVP(`J;SeFFvRZR%T)Ep@@8%@22o{M5DNLbY zK&%9tG%A9H_yoRyl@_KkvDMZ+FGMZfYIk;K{_mgZyhGggV7BBs#8;k>NF3q&!j;4l ze#y1CK*A*otdhkoCMCBaIxzzhCXAIl&X8LRh>$Y3*)F3tlVxhUvOI4>(&B!}6AE=h zg!He30&1}^#Sqr8G(cg~VllU*7;CXF!Z0Fw?eX@p4!m}|O3 zw;2nR6#<65Vil#`PK2B!b-iaf8OXd4|~lEGSmr8kb*ng}q%fR{l NskF*!F>B@))fbvIx!nK& literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/9a23c02f-c6c5-4771-9e34-02e2fbeedb39.ser b/file-data-map/Channel/9a23c02f-c6c5-4771-9e34-02e2fbeedb39.ser new file mode 100644 index 0000000000000000000000000000000000000000..71fc9740f80d62a35f64254f9dff87437846e015 GIT binary patch literal 534 zcmb7>Jxc>Y5QZnK5hNm##!3(@gLUSMK)KySb1w!9qnyp@o7U zU?te35wWwd(aL{dp@@}!pmj>FG3aKlDKzfSW zGAMeskVu6>iB+0i=Sm3&;*%gSV8LL~7aWB>hX^Cq1}}5wa8+WKr%JOHq-+rseW}qj zL`e4}te_E#Qi!y>r6Ed(6$-g|6Yp2t6`N24V(wVg0%6KBm@LL*9Zc56WHBb|V6K`H z(`GQ#b_^KxN>sFQI~;M+h?D+s*53{u_a~kSB=V3fb0-uPA4YzYmO^(;_`8jxvDD#9 zod8sHGy_>ZYa@)lU*EJYx5isn+s*BR*7;7ezSpc@(5_BoibkexPx{)&?hYeB@-XBG z9^i^BWh4f9NV#73Rnh0uEjZXyiCDm5S2KUNjZptCMW8|**U7gXr> Oerlt#T*z3tto{b}fVvI< literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/b0fecf43-d8a6-4507-9db8-72556ac67a39.ser b/file-data-map/Channel/b0fecf43-d8a6-4507-9db8-72556ac67a39.ser new file mode 100644 index 0000000000000000000000000000000000000000..48d47dec1f723ee6b7b8e90d7776115350a3b2f6 GIT binary patch literal 534 zcmb7>F-rqM5QQhFQ9?vQ8Y@At6n3!`D-%;B93sU0fHSwm4R?F%-CRg4f<+=i3R6VT zLK{V!6p9EI)>eY8ofcLm)^_5a7h){kYIk;K-uGs@9}x9iSSUI+@ubTI5}SJ-cLXuH zS9DCqkuZTAYb3p82*E4}Peg+W9b!e78OY2PL`djmqhe6Y5GATRqO`0-++<$SLa&kp^#lw@o{0;Y#ZvJsXNvrLs--mCJiy^0Fw?eX^2S&m>a4@ zwTb!C3;}~)k*ZW~rvpwBaFQR+)?54WVE#peNDiVE!}3|xg~V^tns0A1cdvUm8}Gcf zG=QoMX25HmGlZGu}T9$5QZnG351A98Y>}SDehuzWmLp)iV*Vv=iL%l?)KKZIlVL?MIu59Qz&Q? zEEJm*iU<}yf{jn0g*GPEmb&MK7)!U>ot>Hg`)4{Ikn}y6F_)) zU5jxfOd!V!S==^+U^c`jp+QQAwCOPenYDlj6Z(#^XHeS^WvaWPJg-B>V!r8diK-z& zb||5UN-RpzxHTvZklVCWT3u4{QDHc27pkDCJ60q^n9~&|jWKB-lMXOxj7j^Lo2o>$ zNe9x30i#}tP%5|M5hsZ_$q#4qwe@&3{j5Qv0LeYW4p`{H#Bb7i;A}DPpmQ>nIeuws z0HKU#z$@2ngvs~YyWUkT*So2A>#bh9(QO`fn-^rD6PY5BsfV+X&r_#CHP8w$W;4Ub zA}{AT`US{1?%);5^QV1t;+V|`f!&hV#H MDjTJ|zPc#C0g8ONTL1t6 literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/c1bbe069-eef3-4b37-92e4-02eca3d0e3d1.ser b/file-data-map/Channel/c1bbe069-eef3-4b37-92e4-02eca3d0e3d1.ser new file mode 100644 index 0000000000000000000000000000000000000000..078d4372d54e560fe06f2b9b6d412490070deb18 GIT binary patch literal 534 zcmb7>u}T9$5QZnG5ke${G**IODePipVP&F4;vquJ1Dv@fuH5adcXJ_Wf<+=i3WF$U zW20b`MnoHJ>@D;O44BG98w*?aybxpQR=cw^^MC(L`yHa53v)%sCZ2S;Kw@*x4kuOd4X+0p^A( zQEg(rG(*6kSEM49+eE-g0#5S7+3dC+4`yF9h~ywzHY}f2TuA;Vt@-vQbNAZE)A6HD zQv;~TUb-iaf7a+V_j}C?GSmr7k-*gb>Dbqa-Jlw1IheGV z;bESa(j2`U#BFEzs>s8x)<1uGeSWy>@Q=^c1%!!ErRD5k2yHNlD literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/fb481a8c-a89b-4a80-a13c-17d9914218ad.ser b/file-data-map/Channel/fb481a8c-a89b-4a80-a13c-17d9914218ad.ser new file mode 100644 index 0000000000000000000000000000000000000000..107998c0200791451d184abc059902480a7db1cc GIT binary patch literal 534 zcmb7>u}T9$5QZnG5kf>lnus6>mclO9+L$PqaEK7|0B3HAD|dVA-CRhTkRlNwf)NxH zK@bEjVj*JZBlrSVT3DG_r?7F)3o({%wL3dA|M$;yJ|XJ4uuybt;z^eaBsTXv?g(OX zujrVJBVhtLR!L^Z5Q13{o`?n$I>d@DGmx1ph>*~Cjj};4LzJlQh|-b{ag%vPmrGO) z5t1Vbc~oLSipI@hsgK;Eg+g{!#m9wVvpuMRrtVmk3}I1Mm^8$s157%^q#-69U~Z`r z)h6akGXxBJMJiIcoeDTfz)5~MTkq}Xqxn}2A~}eb4a;X07ZSfo8@|2G-2Kk!Z2aV{ zr2$lAFauug^bt}Y50AZ@`dsh6(QUMQm(6bLpxe48L!H1B2~0hmkM+;&Ce=X8!KB3u z5A(c~=IG@hZac$QMP4nZUXIh#cVFu>hqo8GI>JP#Qgea+V^zTn2J3>P!v14@P5Acc Nr&KDNg|wc{$Zu#;xYz&y literal 0 HcmV?d00001 diff --git a/file-data-map/Message/4c1f0f40-4bc0-4d62-b0ab-85960386cc49.ser b/file-data-map/Message/4c1f0f40-4bc0-4d62-b0ab-85960386cc49.ser new file mode 100644 index 0000000000000000000000000000000000000000..fdc0ac651ebff97d4515e608529687980c615880 GIT binary patch literal 418 zcmZ4UmVvdnh(S9!KUc4~peQr1L@zh9xHvOEPcJ32I5|HhHM2x7HLoPIq*Bi}wYWGj zJ(U3h7?~K@d>A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxk&|KHJ)lY{>c+;JjouWd{$BRK`vd%MMdi49ob rW~warln32R3=92imJ9r=PO)3BYX6%x} literal 0 HcmV?d00001 diff --git a/file-data-map/Message/59dd1d2a-8349-435e-8e2c-a220a5313637.ser b/file-data-map/Message/59dd1d2a-8349-435e-8e2c-a220a5313637.ser new file mode 100644 index 0000000000000000000000000000000000000000..c2c7e193d43de72a7dd0300edd2c24162fbe9089 GIT binary patch literal 418 zcmZ4UmVvdnh(S9!KUc4~peQr1L@zh9xHvOEPcJ32I5|HhHM2x7HLoPIq*Bi}wYWGj zJ(U3h7?~K@d>A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxkuqTwwjB#1+fq?xx{;jw3I#vualXVBPV?%b0u%3w4d*$1PJ}ZDOdNZ}-b?el( zQ)j$s+3{x96g{}5AV=zf9ohY4!kK>M`%DasUJR^di8-aI6-5jJV3&av`IY7-r53fV qnJUXY2*5R4tWK+#RHo2$#`87lTV{>{7b9T$3X`$uD!4(k_BvRp_8d1GSSN zI2GJPunz7H`Ugl0c5CXOLvb@nwcmDp5AXAS*BwKGIk2W!24c2DO^yu87`05KQl?lc zp&SvDQ(i~AgfXlUm`+T9IT;qP%PW?XQ#oYheO$$&%c(AwO1bR~8Ino`nH!== zOon;IGImY+ry_9uifoyQJnoCTbQz q1=lDO=cMZ`r&@!i08q2T@1*tn^iA+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxku=+=AzE#P=C6i@tS2!3uyB34YWSyEgC++FYZ!^s|nYTvobA1YQ(VM9quUn_S zojT)9%Z@j*rs%;f1vyd=?8xpX6VCK2-)CZA^kQHwOUx-vttes;0J{vV$geavDYd9= r%~VA+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxkFlXnr_h0{b%n~i-UjE^UQ++YWOx6V#%ah%o`YP;b_}`*i;k6X#qBm1JUbjwt zJ9WmJmK|?qP0@o}3UZ_#*pb~&CYG1`wJT~w-mX5I`K|s;%(aGTp0f)8A6}Rq literal 0 HcmV?d00001 diff --git a/file-data-map/Message/b32444ff-c406-4451-b8ad-327bcf4ffcbb.ser b/file-data-map/Message/b32444ff-c406-4451-b8ad-327bcf4ffcbb.ser new file mode 100644 index 0000000000000000000000000000000000000000..05e34e7a1b4599348e5b3f532e6be62619d1e13a GIT binary patch literal 418 zcmZ4UmVvdnh(S9!KUc4~peQr1L@zh9xHvOEPcJ32I5|HhHM2x7HLoPIq*Bi}wYWGj zJ(U3h7?~K@d>A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxkFm-!iyYlw0$3kq`rp%UiUQrA(lXYVP+cb|W|MzR9={C3v_`CqR=*`rQ*R50E zPMz_lWyhOYQ}p1Lf*h#_c4YUH31|A1?=vwldNHt;CFYc-RunM^fL#Vwob rW~warln32R3=9hu18c5ha3`G17XC9nVhR$-Ia literal 0 HcmV?d00001 diff --git a/file-data-map/Message/bbdc6ddd-7146-406a-b35c-522ba5e15b2c.ser b/file-data-map/Message/bbdc6ddd-7146-406a-b35c-522ba5e15b2c.ser new file mode 100644 index 0000000000000000000000000000000000000000..68de0ced0b3c0707330de30f5b6732793d62a5e5 GIT binary patch literal 418 zcmZ4UmVvdnh(S9!KUc4~peQr1L@zh9xHvOEPcJ32I5|HhHM2x7HLoPIq*Bi}wYWGj zJ(U3h7?~K@d>A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxk&?;)VUU;t=TUKbx+VA#0KZ`+TvM#g{zd6xKV(o7ash$M`%DasUJR^di8-aI6-5jJV3&av`IY7-r53fV rnJUXYA+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxkFxSXW!f<|w$y7}q(D}Ge3ZQuFdZ*>6x@%EKn literal 0 HcmV?d00001 diff --git a/file-data-map/User/15750ba7-f0e4-427f-9cb9-d6eff5fc489a.ser b/file-data-map/User/15750ba7-f0e4-427f-9cb9-d6eff5fc489a.ser new file mode 100644 index 0000000000000000000000000000000000000000..2bf7f4adc4a34f477f7c6c1c5b3845c6bdf72934 GIT binary patch literal 388 zcmYk2uTKLp6vy96jRDKmvqd zF%wu4{sc4@#4G_rFbLWk8PvV^zU}ApI(&n`8dz>=MQv(if>cRsrA{c9wxzj{NJWAY zd$ehVf$=F3n2w;_GJ>JtTZmAN4p@hUF-zKEq?7hW1c6XY#t8HOMh$cfKO~Y*E@dd= zu-V+*cKw-@S=-fyAHoq3$H-DXX81xo%*KLQY{+&^qOC(k=}DERHxJM6pWi#z3t8pvV^ljvC>PJKtgfx62tiT&0E|t8 AdjJ3c literal 0 HcmV?d00001 diff --git a/file-data-map/User/50bfb8fe-af3e-4ac6-bc55-063601a66dc0.ser b/file-data-map/User/50bfb8fe-af3e-4ac6-bc55-063601a66dc0.ser new file mode 100644 index 0000000000000000000000000000000000000000..4db8a0e3e0262e89dea2bfb9b174b96e02a19d47 GIT binary patch literal 388 zcmYk2ze@u#6vy91u2?Ek+?`yUa`*!mK~!8k4iU=z0kH`sa=FAL*Ipf*)TM(C3i=N? z6M+}vEasVnPbXLTT;d?X1V3I zk5j`mj8A}|mO#C&8L^CRSqshNkaS6uk-QTnGViP>5Hdk{W?}B%sAV0)4-u!6ONHfG zl%~5ou0O4aF+Hj25u5;Wj6%^d!#4sKD4a%41giq2a`v+xjXfGy=)uS3%f-Sgf*^*l zOR|EM8k&Ehy+Rx?eLlRNZ(O|%5J0K?TKxF^)H(H}r2Wm`)!n~L0A3S&&C%`D*Nr%f y5TF=lGDeJT@y<54CWeNPld4psw6+%9iKqR?hwuB1_}N0edVXnnWmQ=StKtVz{DHXu literal 0 HcmV?d00001 diff --git a/file-data-map/User/543d0694-9b1f-43a8-95b7-518723b7f5c6.ser b/file-data-map/User/543d0694-9b1f-43a8-95b7-518723b7f5c6.ser new file mode 100644 index 0000000000000000000000000000000000000000..a7f69d02ab1334ef3b7543899178cd2f6ed56901 GIT binary patch literal 388 zcmYk2Jxc>I7{{MRu2?Ek+{K}bQx0D?5qw)b4nb-^Kx{&ZTrM%mwO0i^ra!U$ql;)|$f*ZqSiYYfONg218rIy(44;Ojl}p3KxJJBU5z3@QsoSWKJU`f)#;WIs18!#vY9ebpPY_^``!YpcFyS zAxXw^4Yj|}K_-rwz8Vb|tAqDG0?3tLi=RE6JEyLcw72!Uy8D+Yz-wZ!`Fua~eJ3tM y1So>Jgb`yKyuHJ%iJ&Uvw93_Re0W_Sf4v-SmIn_@yN?zs#q%qxYwOBFP!vBr`hhF} literal 0 HcmV?d00001 diff --git a/file-data-map/User/6a5584ad-f73f-4cf9-8515-39af13bd3606.ser b/file-data-map/User/6a5584ad-f73f-4cf9-8515-39af13bd3606.ser new file mode 100644 index 0000000000000000000000000000000000000000..354a59d7c53c1fcb28bad1eee2b49d24123940bd GIT binary patch literal 388 zcmYk2J5B>J5QZm zxI+*ZfE#cJC}^o8I_wP!xSN^Z{=V_#3qosPv#lht+K3E^6xIrr5hiR~F)ons3B4@{l(1^RVN28QxohVjW=OBiVODa-?m4BlaI))zxg3T}GDAFiN z&Q4u_QB!OC%CJkgg1|9y&1MYWsJKAxG%_lA87Q=~U-oF?(WFF=KX2b|Hr@lMG$HKK zH0OnZ#$V_>mlxcOCim<0yN_`IP-wrF7)++lsjn0p9R05D{$&pEn#60qJT6Qh{09gSSTso58yVES_rC4t^E&>7&>C3jC`qg~B1IyFwL+zY3ENSO3nV;6fdkUE z+`#0N0+@}V+%cRYXIqF+jgM)MMhQ*3QLNJLW(*;hR3r$C|3)oz3_lD6n_kLLBvHG) zzw7#Qnp)dehMm9}1dfquHevWi$ptc}ky6QvK(3wrf=3gNCIx!*arttw{1!l|31N>W z8P5$=|3U|uJmO|JzNuBN-$wyJuKil#^s(lg`bx1u<9BuUFH?ZmBwq9BZszM&o<{)$ wO_)zOwb&BfZGpB46{)6Gt{=V+)doJ_UoE}njrz_WLb-T;b*;Xx5yGPQ0TjA`!~g&Q literal 0 HcmV?d00001 diff --git a/file-data-map/User/b2dc5cb9-1512-43c7-837e-81b54e2c0213.ser b/file-data-map/User/b2dc5cb9-1512-43c7-837e-81b54e2c0213.ser new file mode 100644 index 0000000000000000000000000000000000000000..36e56919964f81eb918852c8cf4a68e7f9254c98 GIT binary patch literal 388 zcmYk2ze@u#6vtm9CzgtoildW@gXHkX=Hjo#a&#%(Tw)VS9GMO>;CY(8I6mx2u&80;M_x zT^6SzvrzpDHBxmf?B(coxpMP4BmkMo*OL8*v3Kfe&HFpQtNVYM0&-27YrfpijPKM% zNPyH~J{HVjQ+DrMTADlfk*2v=H`_c1KZT}UaTs*(NvAJasf};2VNZo*& literal 0 HcmV?d00001 diff --git a/file-data-map/User/bd7695a6-3ceb-424e-bc5c-f7f985af4285.ser b/file-data-map/User/bd7695a6-3ceb-424e-bc5c-f7f985af4285.ser new file mode 100644 index 0000000000000000000000000000000000000000..5604c7b2151b9e7cec5235453b64c55fadf68bf9 GIT binary patch literal 388 zcmYk2zfQw25QncuK~zOm#m>aSR5KW<-dw%!O-S`hSE zl8eGX<1f_C)wwX&)5&J-?tM%Eip;MihtGBAG|-w4kA7Eo|FQ&lP3kpg4=eL~H3|uk w7OW?NS?tJOQ=)A_P3dJ-WV5sR_vooPdg)Id4?ml2glhTx&hFlRh7gp+4?Eg|TL1t6 literal 0 HcmV?d00001 diff --git a/file-data-map/User/f98ae396-daee-4c10-9d32-4e18319f5434.ser b/file-data-map/User/f98ae396-daee-4c10-9d32-4e18319f5434.ser new file mode 100644 index 0000000000000000000000000000000000000000..c18c154dae9a8d572d6176644886d0f79126a342 GIT binary patch literal 388 zcmYk2u};G<5QeWtK~zPkVq#%pVRF>cjRg=3Rn(>Q0ZeUGMsaN7OPeliFwlVx1;KzA zSo;V(0#CpK60EQyHtZA?yxrYzf8Tlf0f9|nv#S-gCY1?NC9Rb@p1{_42*qTKu=;P*M#u0&BKiDMhB6L2 zor8VXUoy{mRRdNeK2qxbRC<;DwvQWJtc zi!+g@Q2h(FGIb=<^Xb)kW%4>A0J-sN$>HR|ISsVt!=2yN-M`EMUXyyw$J>Rk8+8^E xAWc|~1+& Date: Thu, 29 Jan 2026 21:55:31 +0900 Subject: [PATCH 14/17] 26.01.29 --- .../.gradle/8.8/checksums/checksums.lock | Bin 17 -> 17 bytes .../.gradle/8.8/checksums/sha1-checksums.bin | Bin 74543 -> 74597 bytes .../.gradle/8.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../discodeit/DiscodeitApplication.java | 5 +- .../mission/discodeit/JavaApplication.java | 6 +- .../service/DTO/UserCreatRequest.java | 15 ++++ .../discodeit/service/UserService.java | 3 +- .../service/basic/BasicUserService.java | 66 +++++++++++++++--- .../status/BinaryContentInterface.java | 2 +- .../discodeit/status/ReadStatusInterface.java | 2 +- .../discodeit/status/UserStatusInterface.java | 3 +- .../status/{time => add}/BinaryContent.java | 4 +- .../status/{time => add}/ReadStatus.java | 2 +- .../status/{time => add}/UserStatus.java | 2 +- 14 files changed, 88 insertions(+), 22 deletions(-) create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserCreatRequest.java rename discodeit/src/main/java/com/sprint/mission/discodeit/status/{time => add}/BinaryContent.java (75%) rename discodeit/src/main/java/com/sprint/mission/discodeit/status/{time => add}/ReadStatus.java (92%) rename discodeit/src/main/java/com/sprint/mission/discodeit/status/{time => add}/UserStatus.java (95%) diff --git a/discodeit/.gradle/8.8/checksums/checksums.lock b/discodeit/.gradle/8.8/checksums/checksums.lock index cc6ff173f1e20f0e9750678df3cd6820b12d14bc..008e3a1f9055ab981c8d8d971ace0bf4a7c62669 100644 GIT binary patch literal 17 UcmZQ(5V>6>A>+P~0SuUZ0Uk;M(EtDd literal 17 UcmZQ(5V>6>A>+P~0SuVE03JsI&Hw-a diff --git a/discodeit/.gradle/8.8/checksums/sha1-checksums.bin b/discodeit/.gradle/8.8/checksums/sha1-checksums.bin index e75fa865f4e7aedb7ca8f0d9791b1a2200f0f4e3..10a74e6dfd93526d3377d2dc229c7ff34cac4f57 100644 GIT binary patch delta 104 zcmZ2~jOFPumJL&$Flua``eY(Af6m{eYhj0uFn|D~vi@e-7uphx7dI+8h-_ad!q~@W zW(<_j1!7eY7HMmpzkA1|#LcpE8B$&;B)h$oHCF*@oWpV6F%qbNfq^>!q}T`mryn22 delta 37 vcmV+=0NVfM#ssg%1hACk0VlJS DTO에 유용 +public record UserCreatRequest( + String username, + String email, + String password, + BinaryContent profileImage + +) { + + +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java index 338681c1..88d8d7d4 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java @@ -1,6 +1,7 @@ package com.sprint.mission.discodeit.service; import com.sprint.mission.discodeit.entity.User; +import com.sprint.mission.discodeit.service.DTO.UserCreatRequest; import org.springframework.stereotype.Service; import java.util.List; @@ -8,7 +9,7 @@ public interface UserService { - User create(String username, String email, String password); + static User create(UserCreatRequest request); User find(UUID userId); List findAll(); User update(UUID userId, String newUsername, String newEmail, String newPassword); diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java index 0fe74aff..f6b9a144 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java @@ -2,29 +2,79 @@ import com.sprint.mission.discodeit.entity.User; import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.service.DTO.UserCreatRequest; import com.sprint.mission.discodeit.service.UserService; +import com.sprint.mission.discodeit.status.BinaryContentInterface; +import com.sprint.mission.discodeit.status.UserStatusInterface; +import com.sprint.mission.discodeit.status.add.BinaryContent; +import com.sprint.mission.discodeit.status.add.UserStatus; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.Instant; import java.util.List; import java.util.NoSuchElementException; import java.util.UUID; @Service -@RequiredArgsConstructor +//@RequiredArgsConstructor public class BasicUserService implements UserService { private final UserRepository userRepository; + private final UserStatusInterface userStatusInterface; + private final BinaryContentInterface binaryContentInterface; -// public BasicUserService(UserRepository userRepository) { -// this.userRepository = userRepository; -// } + public BasicUserService( + UserRepository userRepository, + UserStatusInterface userStatusInterface, + BinaryContentInterface binaryContentInterface + ){ + this.userRepository = userRepository; + this.userStatusInterface = userStatusInterface; + this.binaryContentInterface = binaryContentInterface; + } - @Override + public User creat(UserCreatRequest request) { - public User create(String username, String email, String password) { - User user = new User(username, email, password); - return userRepository.save(user); + if (userRepository.existsByUserName(request.username())) { + throw new IllegalArgumentException("중복된 유저입니다."); + } + if (userRepository.existsByEmail(request.email())) { + throw new IllegalArgumentException("중복된 이메일립니다."); + } + + User user = new User( + request.username(), + request.email(), + request.password() + ); + + userRepository.save(user); + + UserStatus status = new UserStatus( + UUID.randomUUID(), + user.getId(), + Instant.now(), + Instant.now(), + Instant.now() + ); + userStatusInterface.save(status); + + if (request.profileImage() != null) { + BinaryContent profile = new BinaryContent( + UUID.randomUUID(), + user.getId(), + null, + Instant.now() + ); + binaryContentInterface.save(profile); + } + return user; } +// @Override +// public User create(String username, String email, String password) { +// User user = new User(username, email, password); +// return userRepository.save(user); +// } @Override public User find(UUID userId) { diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java index 46b1e2f1..37ca66bb 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java @@ -1,6 +1,6 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.status.time.BinaryContent; +import com.sprint.mission.discodeit.status.add.BinaryContent; import java.util.Optional; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java index 89867da3..586c108f 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java @@ -1,6 +1,6 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.status.time.ReadStatus; +import com.sprint.mission.discodeit.status.add.ReadStatus; import java.util.Optional; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java index 75046a3c..869c0c7a 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java @@ -1,8 +1,7 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.status.time.UserStatus; +import com.sprint.mission.discodeit.status.add.UserStatus; -import java.time.Instant; import java.util.Optional; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/BinaryContent.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/BinaryContent.java similarity index 75% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/time/BinaryContent.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/status/add/BinaryContent.java index f2c7ea4a..a4611e50 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/BinaryContent.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/BinaryContent.java @@ -1,7 +1,5 @@ -package com.sprint.mission.discodeit.status.time; +package com.sprint.mission.discodeit.status.add; -import com.sprint.mission.discodeit.entity.Message; -import com.sprint.mission.discodeit.entity.User; import lombok.Getter; import java.time.Instant; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/ReadStatus.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/ReadStatus.java similarity index 92% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/time/ReadStatus.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/status/add/ReadStatus.java index 8d59cda2..15b01cc7 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/ReadStatus.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/ReadStatus.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.status.time; +package com.sprint.mission.discodeit.status.add; import lombok.Getter; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/UserStatus.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/UserStatus.java similarity index 95% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/time/UserStatus.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/status/add/UserStatus.java index 040ac9c9..685462e2 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/time/UserStatus.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/UserStatus.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.status.time; +package com.sprint.mission.discodeit.status.add; import lombok.Getter; From 6814b8c5e0d41b0f620f63ea9b782a201cdbad5e Mon Sep 17 00:00:00 2001 From: apple Date: Fri, 30 Jan 2026 18:48:47 +0900 Subject: [PATCH 15/17] 26.01.30 --- .../mission/discodeit/JavaApplication.java | 2 +- .../discodeit/repository/UserRepository.java | 1 + .../discodeit/service/AuthService.java | 8 ++ .../discodeit/service/DTO/LoginRequest.java | 6 ++ .../discodeit/service/DTO/UserResponse.java | 10 ++ .../service/DTO/UserUpdateRequest.java | 13 +++ .../discodeit/service/UserService.java | 12 ++- .../service/basic/BasicAuthService.java | 41 ++++++++ .../service/basic/BasicMessageService.java | 5 - .../service/basic/BasicUserService.java | 93 +++++++++++++------ 10 files changed, 152 insertions(+), 39 deletions(-) create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/AuthService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/LoginRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserResponse.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserUpdateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicAuthService.java diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java b/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java index da8d5529..64701487 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java @@ -22,7 +22,7 @@ public class JavaApplication { static User setupUser(UserService userService) { UserCreatRequest request = new UserCreatRequest( "woody", "woody@codeit.com", "woody1234", null); - return UserService.create(request); + return userService.create(request); } static Channel setupChannel(ChannelService channelService) { diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java index ebdbcb9e..47002e0b 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java @@ -12,4 +12,5 @@ public interface UserRepository { List findAll(); boolean existsById(UUID id); void deleteById(UUID id); + Optional findByUsernameAndPassword(String username, String password); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/AuthService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/AuthService.java new file mode 100644 index 00000000..fe873c56 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/AuthService.java @@ -0,0 +1,8 @@ +package com.sprint.mission.discodeit.service; + +import com.sprint.mission.discodeit.service.DTO.LoginRequest; +import com.sprint.mission.discodeit.service.DTO.UserResponse; + +public interface AuthService { + UserResponse login(LoginRequest request); +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/LoginRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/LoginRequest.java new file mode 100644 index 00000000..fa970567 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/LoginRequest.java @@ -0,0 +1,6 @@ +package com.sprint.mission.discodeit.service.DTO; + +public record LoginRequest( + String username, + String password +) { } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserResponse.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserResponse.java new file mode 100644 index 00000000..6d2db2ac --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserResponse.java @@ -0,0 +1,10 @@ +package com.sprint.mission.discodeit.service.DTO; + +import java.util.UUID; + +public record UserResponse( + UUID userId, + String username, + String email, + boolean online +) { } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserUpdateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserUpdateRequest.java new file mode 100644 index 00000000..17490826 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserUpdateRequest.java @@ -0,0 +1,13 @@ +package com.sprint.mission.discodeit.service.DTO; + +import com.sprint.mission.discodeit.status.add.BinaryContent; + +import java.util.UUID; + +public record UserUpdateRequest( + UUID userId, + String username, + String email, + String password, + BinaryContent profileImage +) { } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java index 88d8d7d4..44953081 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java @@ -2,6 +2,8 @@ import com.sprint.mission.discodeit.entity.User; import com.sprint.mission.discodeit.service.DTO.UserCreatRequest; +import com.sprint.mission.discodeit.service.DTO.UserResponse; +import com.sprint.mission.discodeit.service.DTO.UserUpdateRequest; import org.springframework.stereotype.Service; import java.util.List; @@ -9,11 +11,13 @@ public interface UserService { - static User create(UserCreatRequest request); - User find(UUID userId); - List findAll(); - User update(UUID userId, String newUsername, String newEmail, String newPassword); + User create(UserCreatRequest request); + UserResponse find(UUID userId); + List findAll(); + UserResponse update(UserUpdateRequest request); void delete(UUID userId); + + } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicAuthService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicAuthService.java new file mode 100644 index 00000000..04e72e83 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicAuthService.java @@ -0,0 +1,41 @@ +package com.sprint.mission.discodeit.service.basic; + +import com.sprint.mission.discodeit.entity.User; +import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.service.AuthService; +import com.sprint.mission.discodeit.service.DTO.LoginRequest; +import com.sprint.mission.discodeit.service.DTO.UserResponse; +import com.sprint.mission.discodeit.status.UserStatusInterface; +import com.sprint.mission.discodeit.status.add.UserStatus; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + + +@Service +@RequiredArgsConstructor +public class BasicAuthService implements AuthService { + + private final UserRepository userRepository; + //private final UserStatusInterface userStatusInterface; + + public UserResponse login(LoginRequest request) { + User user = userRepository + .findByUsernameAndPassword( + request.username(), + request.password() + ) + .orElseThrow(() -> new RuntimeException("로그인 실패")); + +// UserStatus status = userStatusInterface +// .findByUser(user.getId()) +// .orElseThrow(); + + return new UserResponse( + user.getId(), + user.getUsername(), + user.getEmail(), + false + //status.online() + ); + } +} \ No newline at end of file diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java index 12c9e870..9694fb13 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java @@ -20,11 +20,6 @@ public class BasicMessageService implements MessageService { private final ChannelRepository channelRepository; private final UserRepository userRepository; -// public BasicMessageService(MessageRepository messageRepository, ChannelRepository channelRepository, UserRepository userRepository) { -// this.messageRepository = messageRepository; -// this.channelRepository = channelRepository; -// this.userRepository = userRepository; -// } @Override public Message create(String content, UUID channelId, UUID authorId) { diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java index f6b9a144..255508f9 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java @@ -3,6 +3,8 @@ import com.sprint.mission.discodeit.entity.User; import com.sprint.mission.discodeit.repository.UserRepository; import com.sprint.mission.discodeit.service.DTO.UserCreatRequest; +import com.sprint.mission.discodeit.service.DTO.UserResponse; +import com.sprint.mission.discodeit.service.DTO.UserUpdateRequest; import com.sprint.mission.discodeit.service.UserService; import com.sprint.mission.discodeit.status.BinaryContentInterface; import com.sprint.mission.discodeit.status.UserStatusInterface; @@ -17,23 +19,14 @@ import java.util.UUID; @Service -//@RequiredArgsConstructor +@RequiredArgsConstructor public class BasicUserService implements UserService { private final UserRepository userRepository; private final UserStatusInterface userStatusInterface; private final BinaryContentInterface binaryContentInterface; - public BasicUserService( - UserRepository userRepository, - UserStatusInterface userStatusInterface, - BinaryContentInterface binaryContentInterface - ){ - this.userRepository = userRepository; - this.userStatusInterface = userStatusInterface; - this.binaryContentInterface = binaryContentInterface; - } - public User creat(UserCreatRequest request) { + public User create(UserCreatRequest request) { if (userRepository.existsByUserName(request.username())) { throw new IllegalArgumentException("중복된 유저입니다."); @@ -70,36 +63,78 @@ public User creat(UserCreatRequest request) { } return user; } -// @Override -// public User create(String username, String email, String password) { -// User user = new User(username, email, password); -// return userRepository.save(user); -// } - @Override - public User find(UUID userId) { - return userRepository.findById(userId) - .orElseThrow(() -> new NoSuchElementException("User with id " + userId + " not found")); - } - @Override - public List findAll() { - return userRepository.findAll(); + private UserResponse userResponse(User user, UserStatus status) { + return new UserResponse( + user.getId(), + user.getUsername(), + user.getEmail(), + status.online() + ); } @Override - public User update(UUID userId, String newUsername, String newEmail, String newPassword) { + public UserResponse find(UUID userId) { User user = userRepository.findById(userId) - .orElseThrow(() -> new NoSuchElementException("User with id " + userId + " not found")); - user.update(newUsername, newEmail, newPassword); - return userRepository.save(user); + .orElseThrow(() -> new NoSuchElementException()); + + UserStatus status = userStatusInterface.findByUser(userId) + .orElseThrow(); + + return userResponse(user, status); } @Override + public List findAll() { + return userRepository.findAll().stream() + .map(user-> { + UserStatus status = userStatusInterface + .findByUser(user.getId()) + .orElseThrow(() -> new NoSuchElementException( + "없는 유저입니다" + user.getId() + )); + return userResponse(user, status); + }) + .toList(); + } + + + public UserResponse update(UserUpdateRequest request){ + User user = userRepository.findById(request.userId()) + .orElseThrow(() -> new NoSuchElementException("없는 유저")); + + user.update( + request.username(), + request.email(), + request.password() + ); + userRepository.save(user); + + if (request.profileImage() != null) { + BinaryContent profile = new BinaryContent( + UUID.randomUUID(), + user.getId(), + null, + Instant.now() + ); + binaryContentInterface.save(profile); + } + + UserStatus status = userStatusInterface.findByUser(user.getId()) + .orElseThrow(); + + return userResponse(user, status); + } + public void delete(UUID userId) { if (!userRepository.existsById(userId)) { - throw new NoSuchElementException("User with id " + userId + " not found"); + throw new NoSuchElementException("없는 유저"); } + binaryContentInterface.deleteProfileByUser(userId); + + userStatusInterface.deleteByUser(userId); + userRepository.deleteById(userId); } } From 1076b795dc3315fd00f65d9f52e4d1284e1a2d80 Mon Sep 17 00:00:00 2001 From: apple Date: Wed, 4 Feb 2026 00:38:41 +0900 Subject: [PATCH 16/17] 26.02.04 --- .../8.8/executionHistory/executionHistory.bin | Bin 109499 -> 141768 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.8/fileHashes/fileHashes.bin | Bin 22497 -> 26197 bytes .../.gradle/8.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 20741 -> 23903 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes ...DiscodeitApplication$JavaApplication.class | Bin 3433 -> 3959 bytes .../discodeit/DiscodeitApplication.class | Bin 2169 -> 2169 bytes .../mission/discodeit/entity/Channel.class | Bin 2061 -> 2077 bytes .../mission/discodeit/entity/Message.class | Bin 1849 -> 2216 bytes .../mission/discodeit/entity/User.class | Bin 1943 -> 1959 bytes .../repository/ChannelRepository.class | Bin 712 -> 923 bytes .../repository/MessageRepository.class | Bin 712 -> 984 bytes .../discodeit/repository/UserRepository.class | Bin 691 -> 1043 bytes .../file/FileBinaryContentRepository.class | Bin 0 -> 5678 bytes .../file/FileChannelRepository.class | Bin 6592 -> 6952 bytes .../file/FileMessageRepository.class | Bin 6592 -> 8409 bytes .../repository/file/FileUserRepository.class | Bin 6550 -> 7803 bytes .../jcf/JCFBinaryContentRepository.class | Bin 0 -> 3409 bytes .../repository/jcf/JCFChannelRepository.class | Bin 2171 -> 2531 bytes .../repository/jcf/JCFMessageRepository.class | Bin 2171 -> 4307 bytes .../jcf/JCFReadStatusRepository.class | Bin 0 -> 4758 bytes .../repository/jcf/JCFUserRepository.class | Bin 2135 -> 2743 bytes .../discodeit/service/AuthService.class | Bin 0 -> 316 bytes .../service/BinaryContentService.class | Bin 0 -> 714 bytes .../discodeit/service/ChannelService.class | Bin 810 -> 1170 bytes .../service/DTO/AttachmentCreatRequest.class | Bin 0 -> 1580 bytes .../DTO/BinaryContentCreateRequest.class | Bin 0 -> 1776 bytes .../DTO/Channel/ChannelCreateRequest.class | Bin 0 -> 1953 bytes .../DTO/Channel/ChannelFindRespone.class | Bin 0 -> 2955 bytes .../service/DTO/Channel/ChannelRespone.class | Bin 0 -> 2917 bytes .../DTO/Channel/ChannelUpdateRequest.class | Bin 0 -> 1953 bytes .../Channel/PrivateChannelCreatRequest.class | Bin 0 -> 1863 bytes .../Channel/PublicChannelCreatRequest.class | Bin 0 -> 1795 bytes .../discodeit/service/DTO/LoginRequest.class | Bin 0 -> 1679 bytes .../DTO/Message/MessageCreateRequest.class | Bin 0 -> 2544 bytes .../service/DTO/Message/MessageResponse.class | Bin 0 -> 2250 bytes .../DTO/Message/MessageUpdateRequest.class | Bin 0 -> 1811 bytes .../service/DTO/ReadStatusCreateRequest.class | Bin 0 -> 1758 bytes .../service/DTO/ReadStatusUpdateRequest.class | Bin 0 -> 1817 bytes .../service/DTO/User/UserCreatRequest.class | Bin 0 -> 2185 bytes .../service/DTO/User/UserResponse.class | Bin 0 -> 2018 bytes .../service/DTO/User/UserUpdateRequest.class | Bin 0 -> 2374 bytes .../service/DTO/UserStatusCreateRequest.class | Bin 0 -> 1601 bytes .../DTO/UserStatusUpdateByUserIdRequest.class | Bin 0 -> 1857 bytes .../service/DTO/UserStatusUpdateRequest.class | Bin 0 -> 1821 bytes .../discodeit/service/MessageService.class | Bin 744 -> 841 bytes .../discodeit/service/ReadStatusService.class | Bin 0 -> 936 bytes .../discodeit/service/UserService.class | Bin 794 -> 774 bytes .../discodeit/service/UserStatusService.class | Bin 0 -> 819 bytes .../service/basic/BasicAuthService.class | Bin 0 -> 2539 bytes .../basic/BasicBinaryContentService.class | Bin 0 -> 4074 bytes .../service/basic/BasicChannelService.class | Bin 4062 -> 9069 bytes .../service/basic/BasicMessageService.class | Bin 4506 -> 7348 bytes .../basic/BasicReadStatusService.class | Bin 0 -> 5463 bytes .../service/basic/BasicUserService.class | Bin 3897 -> 7579 bytes .../basic/BasicUserStatusService.class | Bin 0 -> 4590 bytes .../status/BinaryContentInterface.class | Bin 161 -> 783 bytes .../status/ReadStatusInterface.class | Bin 155 -> 1067 bytes .../status/UserStatusInterface.class | Bin 155 -> 776 bytes .../discodeit/status/adds/BinaryContent.class | Bin 0 -> 1131 bytes .../discodeit/status/adds/ReadStatus.class | Bin 0 -> 1587 bytes .../discodeit/status/adds/UserStatus.class | Bin 0 -> 1952 bytes .../BasicChannelService.class.uniqueId16 | Bin 0 -> 4062 bytes .../BasicMessageService.class.uniqueId8 | Bin 0 -> 4506 bytes .../BasicUserService.class.uniqueId19 | Bin 0 -> 3897 bytes .../stash-dir/BinaryContent.class.uniqueId18} | Bin .../stash-dir/BinaryContent.class.uniqueId4 | Bin 1151 -> 0 bytes .../BinaryContentInterface.class.uniqueId17 | Bin 0 -> 161 bytes .../BinaryContentService.class.uniqueId2 | Bin 157 -> 0 bytes .../stash-dir/Channel.class.uniqueId3 | Bin 0 -> 2061 bytes .../ChannelRepository.class.uniqueId2 | Bin 0 -> 712 bytes .../stash-dir/ChannelService.class.uniqueId10 | Bin 0 -> 810 bytes ...plication$JavaApplication.class.uniqueId14 | Bin 0 -> 3433 bytes .../DiscodeitApplication.class.uniqueId21 | Bin 0 -> 2169 bytes .../FileChannelRepository.class.uniqueId25 | Bin 0 -> 6592 bytes .../FileMessageRepository.class.uniqueId9 | Bin 0 -> 6592 bytes .../FileUserRepository.class.uniqueId1 | Bin 0 -> 6550 bytes .../JCFChannelRepository.class.uniqueId7 | Bin 0 -> 2171 bytes .../JCFMessageRepository.class.uniqueId26 | Bin 0 -> 2171 bytes .../JCFUserRepository.class.uniqueId5 | Bin 0 -> 2135 bytes .../JavaApplication.class.uniqueId24} | Bin .../stash-dir/Message.class.uniqueId4 | Bin 0 -> 1849 bytes .../MessageRepository.class.uniqueId11 | Bin 0 -> 712 bytes .../stash-dir/MessageService.class.uniqueId15 | Bin 0 -> 744 bytes .../stash-dir/ReadStatus.class.uniqueId6} | Bin .../ReadStatusInterface.class.uniqueId13 | Bin 0 -> 155 bytes .../ReadStatusService.class.uniqueId1 | Bin 151 -> 0 bytes .../stash-dir/User.class.uniqueId12 | Bin 0 -> 1943 bytes .../stash-dir/UserRepository.class.uniqueId0 | Bin 0 -> 691 bytes .../stash-dir/UserService.class.uniqueId23 | Bin 0 -> 794 bytes .../stash-dir/UserStatus.class.uniqueId22} | Bin .../stash-dir/UserStatus.class.uniqueId3 | Bin 1374 -> 0 bytes .../UserStatusInterface.class.uniqueId20 | Bin 0 -> 155 bytes .../UserStatusService.class.uniqueId0 | Bin 151 -> 0 bytes .../compileJava/previous-compilation-data.bin | Bin 27177 -> 29505 bytes .../discodeit/DiscodeitApplication.java | 7 +- .../mission/discodeit/JavaApplication.java | 6 +- .../mission/discodeit/entity/Channel.java | 6 +- .../mission/discodeit/entity/Message.java | 10 +- .../sprint/mission/discodeit/entity/User.java | 6 +- .../repository/ChannelRepository.java | 3 + .../repository/MessageRepository.java | 7 + .../discodeit/repository/UserRepository.java | 2 + .../file/FileBinaryContentRepository.java | 67 +++++++ .../file/FileChannelRepository.java | 10 ++ .../file/FileMessageRepository.java | 21 +++ .../repository/file/FileUserRepository.java | 17 ++ .../jcf/JCFBinaryContentRepository.java | 39 +++++ .../repository/jcf/JCFChannelRepository.java | 10 ++ .../repository/jcf/JCFMessageRepository.java | 22 +++ .../jcf/JCFReadStatusRepository.java | 63 +++++++ .../repository/jcf/JCFUserRepository.java | 16 ++ .../discodeit/service/AuthService.java | 2 +- .../service/BinaryContentService.java | 14 ++ .../discodeit/service/ChannelService.java | 7 +- .../service/DTO/AttachmentCreatRequest.java | 6 + .../DTO/BinaryContentCreateRequest.java | 8 + .../DTO/Channel/ChannelCreateRequest.java | 10 ++ .../DTO/Channel/ChannelFindRespone.java | 17 ++ .../service/DTO/Channel/ChannelRespone.java | 17 ++ .../DTO/Channel/ChannelUpdateRequest.java | 10 ++ .../Channel/PrivateChannelCreatRequest.java | 12 ++ .../Channel/PublicChannelCreatRequest.java | 7 + .../DTO/Message/MessageCreateRequest.java | 14 ++ .../service/DTO/Message/MessageResponse.java | 13 ++ .../DTO/Message/MessageUpdateRequest.java | 8 + .../service/DTO/ReadStatusCreateRequest.java | 9 + .../service/DTO/ReadStatusUpdateRequest.java | 10 ++ .../DTO/{ => User}/UserCreatRequest.java | 4 +- .../service/DTO/{ => User}/UserResponse.java | 2 +- .../DTO/{ => User}/UserUpdateRequest.java | 4 +- .../service/DTO/UserStatusCreateRequest.java | 8 + .../DTO/UserStatusUpdateByUserIdRequest.java | 10 ++ .../service/DTO/UserStatusUpdateRequest.java | 10 ++ .../discodeit/service/MessageService.java | 9 +- .../discodeit/service/ReadStatusService.java | 18 ++ .../discodeit/service/UserService.java | 7 +- .../discodeit/service/UserStatusService.java | 17 ++ .../service/basic/BasicAuthService.java | 4 +- .../basic/BasicBinaryContentService.java | 58 +++++++ .../service/basic/BasicChannelService.java | 164 ++++++++++++++++-- .../service/basic/BasicMessageService.java | 79 +++++++-- .../service/basic/BasicReadStatusService.java | 96 ++++++++++ .../service/basic/BasicUserService.java | 14 +- .../service/basic/BasicUserStatusService.java | 80 +++++++++ .../status/BinaryContentInterface.java | 6 +- .../discodeit/status/ReadStatusInterface.java | 10 +- .../discodeit/status/UserStatusInterface.java | 9 +- .../status/{add => adds}/BinaryContent.java | 2 +- .../status/{add => adds}/ReadStatus.java | 13 +- .../status/{add => adds}/UserStatus.java | 2 +- 153 files changed, 1022 insertions(+), 80 deletions(-) create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/AuthService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/BinaryContentService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/AttachmentCreatRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/BinaryContentCreateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelFindRespone.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelRespone.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelUpdateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/PrivateChannelCreatRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/PublicChannelCreatRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/LoginRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Message/MessageCreateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Message/MessageResponse.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Message/MessageUpdateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/ReadStatusCreateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/ReadStatusUpdateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserResponse.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/ReadStatusService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/UserStatusService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicAuthService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/BinaryContent.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/ReadStatus.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/UserStatus.class create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicChannelService.class.uniqueId16 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId8 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicUserService.class.uniqueId19 rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/status/time/BinaryContent.class => tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId18} (100%) delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId4 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContentInterface.class.uniqueId17 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContentService.class.uniqueId2 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId3 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelRepository.class.uniqueId2 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelService.class.uniqueId10 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/DiscodeitApplication$JavaApplication.class.uniqueId14 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/DiscodeitApplication.class.uniqueId21 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileChannelRepository.class.uniqueId25 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageRepository.class.uniqueId9 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileUserRepository.class.uniqueId1 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelRepository.class.uniqueId7 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageRepository.class.uniqueId26 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserRepository.class.uniqueId5 rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/JavaApplication.class => tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId24} (100%) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId4 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageRepository.class.uniqueId11 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId15 rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/status/time/ReadStatus.class => tmp/compileJava/compileTransaction/stash-dir/ReadStatus.class.uniqueId6} (100%) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusInterface.class.uniqueId13 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusService.class.uniqueId1 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/User.class.uniqueId12 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserRepository.class.uniqueId0 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId23 rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/status/time/UserStatus.class => tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId22} (100%) delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId3 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusInterface.class.uniqueId20 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusService.class.uniqueId0 create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/BinaryContentService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/AttachmentCreatRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/BinaryContentCreateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelFindRespone.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelRespone.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelUpdateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/PrivateChannelCreatRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/PublicChannelCreatRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageCreateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageResponse.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageUpdateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/ReadStatusCreateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/ReadStatusUpdateRequest.java rename discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/{ => User}/UserCreatRequest.java (64%) rename discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/{ => User}/UserResponse.java (73%) rename discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/{ => User}/UserUpdateRequest.java (62%) create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/ReadStatusService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/UserStatusService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.java rename discodeit/src/main/java/com/sprint/mission/discodeit/status/{add => adds}/BinaryContent.java (90%) rename discodeit/src/main/java/com/sprint/mission/discodeit/status/{add => adds}/ReadStatus.java (65%) rename discodeit/src/main/java/com/sprint/mission/discodeit/status/{add => adds}/UserStatus.java (95%) diff --git a/discodeit/.gradle/8.8/executionHistory/executionHistory.bin b/discodeit/.gradle/8.8/executionHistory/executionHistory.bin index 701fe76266c2b4d16d3d780e7b73623cba5ab95f..c07a7e8b2e8372eb92f11955c7b2db73444e72c5 100644 GIT binary patch delta 6531 zcmb7Jc|4Tc|DPiXiLs1Egh9!YCB-FKBTBZ?CiNYROoSMuE|ctJed19fOSVwC720Ge zTZK}DB2p=3YtQz3o@Yi(se6BanDIL2^ZvX)+xeW&;d&cKT?=QN5MYld$S%U+fMq!j zw`&52!x=E!<)96qM>ovS;NDH z?B(w0ZSO{P+IN_YKmX47(cPWro@f@7?&teTYHDHsWeKjd0!F14R=`{fXhEc)WB6xh z8zN2;cD)zt7_%RcZncM1j)Thr@Abqw6C1s#$Fm-q40v?z2gMNSnM$elDqsKvn%4Gy z+v>7cz}oRxY#lix9ov+FJ=6dXT%iX11XdB)1bnOZ_+$p87K8H$S_XDs4MOo< z>E4%PRX@HlI3F}z{YLOFcqkU!#Iy5tRUYXVEZ|%$mlc#JL4b6_^*}46A9WDI_i?Eh zP~FI$eunODG>RL|n&RQ^MWwlW`YG)v`;h11Kdp|CRl0pg%cmx=Dzf#p5NL$>BUdeA z0YM(&nRvetzY7UIU*a@}j-6~aZIFV`#Diz}7p``fEBMz}ZLSILd6CL-2;z(E5C~PW zGOg^RjNiQhb6mxDZB zE%?bS)u?p*2VZZFQLfK2g0FiHY#u3PKi?Dp zZb16sE1Eovocgm9NF3`GmVK1nJE0cjL|IfM~!ax`J!NmqZR3KwO=AYY|qyW)6 z3yX6~E(4$e!=RfYu&53=3}0La2>8uhRfP#ncBU(9c*a-c3z@*TlEGtqRXXfy>a%;J zYD`HN>E^m6=&Bk_KM4du6UHGw6EIfiLhWJI&V2@PdnokJXX$Icf?AArR)7&7lLf$) zy6wu^?e<3ZbKxQRTZ2rG;3i#wXHWzz!;;9VeQB^!;gE@ZxbZfRwrv_bd`#^qY(CFy zc_=;16{>j439}gj5uthbe&d@78EMv0>-y}*!d(vU2e;6eW4myX9&m@v^^jor=Msx8 z3bd>Z#rmy0Wp(UeeSIK{ZVAGz31A0ps-S?=N&w_M7yC_@>REF zg5!QKP>)f_{0DFgMx%*J8ak8R+$gTo-*XW~)Yl@eLyW8}csI7mMJXEF{p`lHV2-mOh zb}Tcxvpu%-r1~HvO#9}jwY9zu2W|&dwy}}VNwn|RYy%Il{3!lElsv&`byyJI_O4Wi z-?P3ca7vQ4}U z`dN%%cFSjh3!Qd4I=tn%US=^|{jK^p`dOf`>N-GEK@G6+qIhB-bDWK9H0~W1HpSe% z-4nIzb@=%U#fj#Yg%- zX!xB&EM7Ci)k%Fhcsz^kP?|`^1Gz!?#0j=6Cg&k^*0#(Hr%A!&RbYH^tjyo6$VemLwZ9xR{N^2 z3pe7vD-*~@BMA+BCeN|WJbn;`hEK`CmF(q(!*h*V<-fA<}=8S%3?1qPkK*rZMu# zG9%7<=`b0yLXzmi5v1OvjN2}2+F|kl#&}*4ZaNDjh%pE1P8D2pau3#eIMh)Q?D~>n zwK~kV5!oHtW30MR=|f}DXw#a?1Cb@&*lxQ%6bOsC2Iy7U>|B;bKBgFa^md@D@e^!w zOdD~L5-;-SU;Rg0g`$8Exl}-AxWQ>v7>o-Jp*} zkTCmo$4qM`SD3e$gwAP~r#12_myWDReSnto4K`e;J=u%u0AK_3>t~=8Qi6U_0Yhx= z;->!U{llqyd)F|K1A-tOgP_ksf&`PLFyNY!(8W)cUk(f3+hQAH6N9n5m4GXAz)~Wq zEacW}=Md=T%92FaQ10uevEBE^@YE)-R611P6vt)Rt0j`J`^U<%GxVde-OHLF72`ou z0;`w<0&#e&c4A6{*=3dY%Dwre*5xNK!8Um)V|0l`-K6sbv2&o@WTlspze@P_NNh7@ zEmI4uXbwaaGWu&<-rVlsaS@gtR-04`gE65&X(Xx&Ijf3o@IxhRyz34&c?Jc-q|HE_ zC@Jd9MpWIf+9gZ5Y=`fs!?75kVLt4U3yAc|&hc*@UVP_$lc{f_rcAk}up}jL;ewH? z3#9($&BqMcy((9m*TSy?hl@HqBQ_qt(1U>sc|ZnB?XzCZ(@AylFTZO{FS*~|eJVE0 zzvNITX4mi{TsU(E2Pw0M@gI*4CSLJ|D=)WKoNv+T8}%!c*R+OU@C-h1l8Ku2Vw&zq ziCHn9h-Y`yUf5M?*1F@?*}w;Mw34D0gG451`uW5pu@N(pkz15jdjY2Tr}f=UKZcRK z6#iiv%S}5?GjCC~T2uTZ@~*f1JGvCYZ!%DbX&JvfZRj)aXeOmj{&xYBfFn63?z)LJ z+`_|w7-cOlNVoj$1BD3{Hg38qd-33wVjAAU@XWFGM=@v+FH#zjR2_wio7)W&9z6-P z-DIi)AjS)X&YWVH8UoqP++TmH>l10OINrp@uEEGjERqxE=nqond}J`;o856mi#1EO z3GH%f+-`l?mQhT@f*^^B`Y}~90iE<6*8HuvB(lH!<5Afay;+@Mas&Slo;d@&vq$Q* zggW(IPhfy2_9ORh%&tp4deJ|V_;uB*ORV6RVY%)zf zrym~ks{$@6--V;fjwjgT!*($uoQmf8FM+P0=x#-C&Z(2By~&$4!0AXg6DN$Y1wI)z ztM6L*KauL*{jrP!tmgp9Gc9;~`Eylzt=6Lx3x)n}JI$69hDASb0o4Zw^E?KYn)+ZOBW{(F>~6G>b5`Wi;PQ9Ed^YOOx73dov!k zc;1sBD_D)=!o08{5f_3@r*WIXV)|3-T8oW%QNq6DF}4+!x>Jn#WPlUI&lKr&6FIw^ z|K{G)o$hDLIu=Z9Nb&!O_0~%~Abuw7)3X1pH<6(dc_nRWA2qHdT0Q!P$)=-|mX7~x zyCMEN+?U$&H*s(;7+C{S(b;tI^sV<~EzdKve5I}n+${>8VREqylVUkw%RI1@?vVB2 zQ1NP#SC`ni@>`W16^wbIfD@dWF~Su2GrXr08TmsmGvAiM#jc)v2}d?uS~Ylr&wi3I zMuek5ioB{Fd$)6gGq0AKZ}QgAUC5Gs((`C~-v$2l% uRYC;~OQZZto6JEokZ3Ft@i1HXwE4a30Szg;N&i7C<(01hJ3#)M!u5a3f71H^ delta 38 ucmX?cnPc~Lwh1DP%o9b`87(&ko)DjyATn7}!igzhUvsR)_E-tVxXAzt=?wh< diff --git a/discodeit/.gradle/8.8/executionHistory/executionHistory.lock b/discodeit/.gradle/8.8/executionHistory/executionHistory.lock index 1a74c863cace87ec38259cfba006e1406e53b5f7..fcbaa6c927f6fb586efce341586ba17f0e285636 100644 GIT binary patch literal 17 UcmZR!S@ri^=PoTN1_*Ef05^UFd;kCd literal 17 UcmZR!S@ri^=PoTN1_&?*05^36a{vGU diff --git a/discodeit/.gradle/8.8/fileHashes/fileHashes.bin b/discodeit/.gradle/8.8/fileHashes/fileHashes.bin index 33c254fc05f3baad6a740ba8aff06a4e12eb61d9..af17e6ccb177590c645c5e6c17f96329d224faa5 100644 GIT binary patch literal 26197 zcmeI3c{o*F+_29%W|g53O(G&Gr6@(I$PmdaL#Bj~LYa~%A|*qj44FzEWvVEd$yAXH zC7uikB~dCB@vXhr-sh>kec$!{@&5H*XI+Z9< zf4?$*V`PAl0Y(NG8DM09kpV^q7#Uz>fRO=41{fJ&WPp(YMg|xeU}S)i0Y(NG8DM09 zk%9j$888GL;e?$Ll%^rSaC=fH>*j)At_3749iIw#*8<IjS8z|D~%wx`;5O4_-u_uy%(<<5Xg7XkB?+m|EZEwhRG;n^=W@D?`Rx6~7pzM*sdBof+g|Q7E_d%|! zMCTb{?^we*gdtaV$9e3%9)-ixBBhWU@4^gC&&*J;ylG$IAS8}r77elo;XiE+_EajV#_7S_iv~3y0j6ckA-I-H?Y8Y zy4SjU`M%#*LT=oP^GxXk*+NytT*&o*;{5iGkS99sF

rnc+OU{MdNancP0eO*(O& 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 delta 2466 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 delta 193 zcmXYpp$>vj7)BxJ3>MS zW_32b!EZY|>3q+#y4tIUE~z~%NgyYVH-(5f$C@(~oDgV)R1>J^gq_~OLl2QO1ph0suox1)u-` literal 17 UcmZR6oPHuI$Y(>a73l|-QrnsqZA&YDvXU)^LQ=8|6+arP zV6oV*xiaJEj8D$^;)9ftLOWx}8K3+Qd~)U-?|06* z_m_=-G^^kLee)XtyKwEAdfTHQz_6Pez9#;q$9r<$@xElgWfq;Kr)V1XQFDC4v}`Ye z4DPdqLUzgvogwI$-9v?}nX?l^g)uKSF!&sAsy*GIq6YPTXb3Tkhk0IY;!~=w9J7nL z{BRdf$;~m#HtY#2X=Jlja&Ing6sLL$dE3m}U2P{cG+?8GMn5*8iD6q+U>)ydnlu^~ z@j`FI|LWzpJ+Yt<52HoFWl~y!O*+z-Y*m#HZ98-HrIEj zkLI05Zlms%7v|Px7k*p#xID8`{^X;Cigu(GbolW&wlhSlN?UzT2zMt#Sa=SK(P-$x zP6fOC*o{35fe~ZUNKV+f(PSoP*$h(Q6oVda%lsSYQW3{fVj_Em+`n9D-Xd!u5##iG zA9@w+7gaueZukMbeU^L`BA1)g;GYA@ks1+Vz=Dh8KI?nS04#mfC-=)V8Zmki~1#v=S%PfSzB zDnnq1Q(&B5@@ zY6{<}`Q$4M%~eO6+kk}E_+_oJG(<1S14e5rvb5F{0;n)?igsbS9ekKs$2JRfJ_^qW@)xBY?y`3_+a1IOPgZbP?8Ff-??5 z$;L#L;T#m=01}Z~h!5z==rU5VW$akNlQ+=4iXI6^uH!&_8An#|+)bPWmhs{uMN}#b zz(saD8j+@p+Tm!3R5D@`X9=U+RSm*=15=Rt>3AL9#9I_BDz9xqLO?{t#MT*Sbnej8 z*$QYzDAdBr|6pmMW1*ED<9QDpDJ<^UzI(p!oO^$lek*c+-rjl-pbe>)?hj!VCWEvX zkB={@@Gy9sFgz9?k513mkHu$HSPU6XwXrGGtRV-v3i5R1qktjES0x|+$?}BJYW~9I z<#A^5H?B$^6BMlo#R^Jv>_aI}3A4rl2KoEO+aIq|D$4n`P-1%FQ&4GhRWXDdu83>J zrNYmHVy;$$S_O4F>e0Y^#Yje@oi{O5^I?}ar#}&$)6k3-1qW@4Lw_lrOCDjw9;blU zN=3}ipR!WEDkxl+-C8S-C^)L)7}|K59FkAioMED`%85i1iIK^u8>i5&;IxhooZ%~S zm)xo29J=^dxkKwlL_v>^3+UZwQP!9!E+nG7Obc#=GJY}Mr^Q&Df7H6nIX4oRSFm9B z-sc7SC-#7U(ObpG3_iZB=kr0`lodQ-^g4DrWcZ~%2)M|f8O6y<^hGil*>YSan@0%X zMnA5Qw}=Uw*z}&z_*7# z69X6|)JPIMgc~%#uD}3QRouia0&IcKT>(#E9fj6@t85b$|5Nb8L|~7C2g4Ylev^1c zG4@Yj*bx{<)DcJm^Q0hB(HpR;YtjhRrV-pkNJP&%4%ek|{2fki(V|G>{2JZc*~^5B z;(BDE0Tl>3%7GmoOkk2QV%$}>qbXWapxfD)#%=1g*EL*dpCCU4*=Ol2Vu><~Z~-wqq{<^KBZt28GEV*gFC1 CZ3wUc diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/Channel.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/Channel.class index 89e51a43026ba90c3a592b142a095a33acf466ca..fe5f22a9225b360556e39b19e170117457aa7e72 100644 GIT binary patch literal 2077 zcmb7FZBrXn6n<`ASlBL*QqmS$TGNW;4b~R5FF;HUt%3onfmqQmOR~b&WH%<8cJQPB zLVtzMnA+(FKl;Jnk=Z*J{9w`;z@(6Zw?enB9b&Qx^_V?={)-~tSRG3DO%orbxyv$iUrw=K8s zHG|1SI#WLDurz`(jB7|3xQGdXT+M5momSg%eY5FwI*#X>b*EGF>bB#Xw(C3op;<_795=jl04P3!hfr~1m?=)?5&F%P>%OgZx@1;QUsGQTAs-kHF*Kl26 zq}H}A->yF*=2DR7E#DgkZsHw*n19%^1@4s3afEF`RKi;ZZsT1BajhnUOa!?U?G>MF z>?^PL49rQd3w66wYdbBU^hg3T2C~Sp+-|FWRBlL%3Q_hLK*u~5G?)h7$DK2c4KlE? z_77dF(UHWQ${)0SDYGkiT{Q3kK4hQwZU1r0s~uGAn&+|$)WW)sd$_ORfq{ouI?}>% z0Rq|!tI@T$z9X0E^-u}N+e;c&1SVCp9M7!SZO3XjKU#YY@{#DMY1M8^MJQp3b%D{6 z7j(2L1IH;~`6mRPrO(}kQzs4?e|sfUWrs@CqQH3BaqZ1+bI)#X2Q^NVy_(giTCAHj zhl?@)z#*aY=P8HOB{ppTz^gyC+LVLOQwzk&_!@~eXiF!ml+&G)t{>m96JE(XeWcO^ z7OD92$}_-kDqT(<-53=<WL(&q(F!QbElQ`zr1R${W3^0#?hH*T3KF9WqI{zhl!1&MBFN8Khef$Z)N|0$i9Zw!zj(A9;ULn9%i!n9#Yx) z9%g@2F&^`KgH-@Y;x6;iyu$2L{7y6bHCB2ZPq>>6qT*A0#u?+wH-?$zNY)ckBUw=t zYaEY8=>TqlF9fdu)?x4~OEhUEFrNJ#qrY+xfvjRkE#6ewq$?f5YyzL-Dp&f!Q~luE z1Hol%3;?J5!E*z_o7frvp6LhY27;gBivi$NKiC`y{&FCAwjaDW5M04_D2O*~h!jLI zTFCu{WR9e#ULpSrbg73_tdQqwo~yIrDg`ndE6n_igw)L|+UZ9BY;uDH`Rn-4hY7Z$b)q?A-!ORGiAE35^zFVHkKv3D$~9GR6v z%k!M3K+J8>!{IG;%p$GfvVk}7rocsYV&JwMbKUC(md6m{p8rB1eeBNQ#}z5RYTzwg zV>ky+@Tl$Ehc(CcJs!r8H*{Rb4GnJ_cn3F+Lsl88`rd(n_S|arob7J~E@d~OfKNWF zfZsLn9^Mz2useV4e z-}kI$S7vzNu#lgX+@6M2fmu}+*EefU$F-X757vH@-le+gweECe?G-{|LtwJvhqbHA z+$M>t{1XCCv**sqfJ;&Q|6R$|nXd||6PT{Lp0m|!?K_>F(8rmoZ(Gf}MZf8Dw3rAE zT}Hfc9(Pt4@1_$R`i&=6hs6mPwLp^4t&=r_W91Z(ljb=^B(&K*E)3D5MAltknQWgI zmQcT?D49L(jX_SrhFCiVgryF#5XcOc`hWAPdCrUQkSWg2>^5zAN2@hX6P1MLn;5bfg5}#04;oFahBf&A7{~aR#3R)kN94@`Yl~+H}9`S2F+#8SaDc^XC?0cRsXVR;fnn}On z_>A+(I1Rv0VArw{unvPy>8Qz33X}QYF!>87F-R}Q)Zz_wnlztr{S005P)L-DTrG0dj8+MVnJCTugw!BCOA?p3DpVdi=eN249Rhoo(A*<3 zt3>5KiUfKQ53xinAJF;~o$?7fW$e&K7PyREg-(pBI=@1`;Nc z=o3gkwvTM9Y3pd@I%ncM zCItqZnzRF1S|;X9Xy+fY(Y8&y(ei zk_!H^iPzO_zugE9{aScAYa)XzMH|&p%YGE6)|&UJGli>|H*n2_g*Q%ADm2PU$*&uB zxvnDZa4D=~F0-c+^`?opaD#U&FV8};y zxgoc|WO8OVqtdot=L{?ejOy&WzEzMl*Dkx?*!yKxE?w8hqO7SBYo>@zfx#6&EKyM@ zPLh%8PYA4a1`y@6yY4SJ=iPdc%M=9?D`b+uP~P?AgGOav)^U9^%4wiiP8z*(km!}8gKIyrN!&vmD?I&3ylS0`*C&tWt%$mL8E z6WO^Yrm|O?n90sJap@_g;#lSHG`#@lWddh8$S0`vJWrGSpQ5MJSmWCpp;p|-dpuFU zntQaYcFLca-YJjbdbf@Z>f7YrjHK4_K5z288BP!k!ocYVtn=C86T<_FZfk%F#o|dB zNM?V=;7?jWdE2KiXS7$L?quYZz(YnLbRIgv6W!p;J;5K~Q4jEyZg8e2xPYA=;Hhr# zd{6Lh&zNVr!Pk3&i#@@Yy1_Slf51$bG aDXklb{mJikTJt0+D8nxRKI3l;pZ^Wy!r0CL literal 1849 zcmb7FTXWk)7(MGtl&DJLrb(eCy$0~Di72J?k|q$+3l2_GaATOhZR90Uv87yI?(98PUL-Ja#}E8yT_9U3H*HK}%7X3S1RQ}G@(MqjRK_*n<mi7FmyaO2os$Fa8 z!MYAU(5I8KA033<`0zsq*G%&MVJl8<<2pXJaKph(+&V^ioPm_9@B6ad(<2+n9}8l& z{KUelz`U8WAG!_I^<~@tLGHE5QK4tHP1V(88cm2Tf$7aKCZnl`m8bUfpAfh{njz^h z&2V~OZVKc!sS$zMx*w>A{m!21K8_2RtB0O!HzkW=LCIk*I`G-fa{YhkjXf5&6$jaR zB)hVsBDN%ur$lO0hC{pghR!3YzacdC*&R-ucSA#l#Lf@JI7)32cF3u~2|_j!GD%BJ zVTzVyXnH7ipq?LPn3cf`Gwq}V0r7-HG$QGJw=EBo$=Hps-}TgeUz6t~S8YXeOS#YR z;~;Pw7S7@hzZL@PWG#bF_|N-m)>O8!6q&IUu(8yqu~a1OB(ZsH5ce5(KO&19ZK?7H zMCBE%0j6nAy~LSUI5)sjr8+>da%F&OWqE*=-%O-UKF_ljV1ek<`~va9;|$KRy34%4 zMJ(bj-&W$-xQF}PF^j%b%&%9vs*G9by0Un{^>mgF;4AR@P?Y!_4xhSEmsSJwmESS_ zD;F8)DkjX~1(Qv?(jmzvP{S5a(%_{ucxf#7i?QIVX>f5YxQ^{HnTu&~bu9Sd*q*Ct zusasKGZws(245QseuOU*S^PvovK(e5yH@=R3snxi_!1xe0^8^zx3>5*3Zpu?s)dm? zl*Gcg!ALhL&0CbmZHi-!l2|9ZpPI}UWonlXKKkHq@h7-k?t5pF&@`?ktjRg|%-Q$sd(OV|=Rd#w4&Xx^CJ{kYLrg~; zV**o8&1a_3Fr5=)@A#=z^99E4*^ces7l>xE)g;D|(2&$I0bSsNO7Hk~!>ClY9|sQw$t`ahy0_CdnPc~<8uC`qBF1K4O|sS z)I7`dt@;CEE(Ud8%e|)KONJIo6#d*71RcJ32OSw>Q>40Rioq+2~k% zU$Zlrop7lA*98st1ZGw1ZPzGUo^3Yl@66){+cU*RaapxIIb5X?u_KTwy1{&^a^pC) zDF1}O#`yz;{XBQ1|BPg-0BQROA9qVzYd2D$H0g0KCTO$XPOh_sW#{5&89m|#e zuLcV|&93F2y7hh2g8cnZJe+wT8HOF}Y_QEZSG|0?gZxR;d9J!0(h?Ad97NeSYv1get*|S}vfJ@$ z)|M@Ymyp}8%E4lhVvRtc01fl}aNMW=5l0rm$9#C1mCuW$EH$kxFN?Cg3d-^V(2f%u z$3xC-H;2KQk>FiC9syn$2IohD z_eO#jhrzc-g7-&)mxjS>Bf+2d1@RXLBEJYn(e>E!A4o5=>kBWi{39lmAY$vWJi~d0 z7sIfW2*WE3uQ0q6hNWm2o{Rl}DJiKJxcw6EcX3lHDXNsTjuibnTy0QAcd4R+(sz~$ zU!}rt;{g@^kd%v5$rg60rb9|YDr_yF*;m*Ro={Cv2S+H=lL|Y+0lg^yzeEL9YVr$4 b6Nvqdd67;}_oVlP(K4R{K7zSYV_*FXUYU09 literal 1943 zcma)6ZBrXn7(F*HED0M36w-=qt!b*^Qe`nfeR- z3;HW`#?+1<{OAXNi$B3}JooMfLMG0b%XGB4_{byUtsL6?b!ahKs1}HB{7bKhNO-O=mL`}yzARdqgvg1AdvJ- zr{T7O%}h2|J|D1_z$B(Lq;*VVMj%^vTSlkt*^Y0t>`upa9iw4)>TbibeZz8m+ka(L zJC-L9u^TLJ_`D=$F{dG;<038zOsjOh-Li}=r{kLr>yJ9_iNIXHmcfT>5UasUwRz7G-4IYMFLZ zj?~a`OJUn)r*qC&x7`RbC-D(hG<>Y%HdfD(9h^?Gt#7+#vm@s9)03+S#5Sl9fvK|XSdY7{L(6*>6fskF>#V_KB`hj*#{6TOE#=GqS8Z%Ey<_>u zZe!2%$b`?HIBp7Li@MNhH_pgBRrwj6K}@wjc7X{(q>KYvXZuJD zYkM7+vB1>>KFtSbV-pX#V;1>3F~3~Nsv>G7>x$xYu2WG4fRDg;hl<1_=)B894O$6| z=YK)!CoUq8Rg5X;HI+?OzZeN#8U|-ag3H($k$GVlTpS60 zJQ7?O2HzS9-W>@p4TG0Qg7;2k@fQh^--UzdO04h)G6hb3;Wd_j#Do$=Y$aBtyGVB- zbW4fQy-4>W-KEeiMML*o><6R=g|#G=6jdCqAjS18c7Ug$!VXYT3X9@7o}o%j)`(0X_BZB5CNtfa S-V=JC@~ZF>_>%Vsp8pH&G;-Vk diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/ChannelRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/ChannelRepository.class index bf392ca20699fc3ff82ed014a40215484286df66..1cc52f74aabe2e4b35b4b5738bc049f1880bab10 100644 GIT binary patch delta 161 zcmX@XI-6bK)W2Q(7#J9A8D!WQm>3x>CkHahZq)tDsLq>~nU~_2lM_&yl#`jv$RG^j z2NY$NC6=T*RfZO)7I~&HGAK>_AS>vTSzKbx$iP+#6$}IlPF}}oK3SVdkCAR r3nPOl13v>J0}s$LCI$f@UyMN<$YKZbSs585fD}YZ5~xTDtVkLF6LcaW delta 50 zcmbQueu7ot)W2Q(7#J9A8N}Hcm>3x>CkHahZq)tDIQbHjJ|pX7Cgv0_21W)^pb{nq FF#uxl3k3iG diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/MessageRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/MessageRepository.class index 617e92c21e126b11014451311b025a3a452ad886..ee51e67114568b4e7459db413838ffb0e7124dc0 100644 GIT binary patch delta 273 zcmX@XdV^iy)W2Q(7#J9A8D!ZRm>3x>CkHahZqyB76cb9z%u8|1$#JT5&PdG5OU?02 zVPsI6_(4|0C$qT3nvsDs86h4B6ra3~(QI-f<4SFzl+>Kml2l~9j0~b6<9rfJQj1HF zOq{I2WXQ-dIf}`&o{51S=nhs!1_2<&1H?=Wf-H;-LJYzTj8MJ^kT1$02INDPax*Xh jg~S;o(1j$Cg@6VERY@^$0gc44gBPe(8fY6c6N3x@7o#s_ delta 101 zcmcb?eu7ot)W2Q(7#J9A8N}Hcm>3x>CkHahZqyB7oGi_>a`HzeeMZ*Fip-{#j0`+L nRZI*5EQ}0-3_=Wy4D3KYDifBTFN=q_x^!*D;GV}8ibF3K|I7*>L0+|JHBh%1~ z6vb-hWIaX~M}gFe%;J(_h}-;tZewH+Mbiz^tQp0~zzb9AnwyxJ!^psz3Zf^AG3haK zOm<~T@n-?*We{UvVqgb)os)?{97st3F%J+kF-QWXr5L0c7{Su4j38;CkPNbrEKnsQ JgB)1BJOJG_ROSEx delta 40 vcmbQtv6+?Y)W2Q(7#J9A8N@eo@i9#{X4YY3ot(g&!o|SIAPSUVVh{rW=3fX( diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..8488f8d4b0eb535fc17c54d9ab7aeda1d48df399 GIT binary patch literal 5678 zcmbtX`F|6~75|Pcvq)aYM&_~NSv+aSO|!Q!+D#Y6^*!HL}?SxalPAZrzA1-Msw z-*=lHv`z2Ol(dC5u?ucPdbeqMw|`83DgDmuN?OT|Kdy~GXm@Acy!UNk?GCK`Uc9hXrc4MTa%46wsBBWyelf zX>%n)0uPK?86!8KlcIGMC3 zWBDv6o!F$6&s%mTma_6mJ7roswEjq|jC!4`Z7^hz3)| zn5^Cw^|9)X#x-=(@3Jed7j5X)v0cWtE}6FTriNJ2VHM`{7jyPiV=Qfkumihv>_(43 zgON%N6|&i!na`W4GQ!FgM5tkJg|f0WcuY4o4x4QaU72b)L+e6j#;F$ zB1b(oCHuYT4lz+r>KMQ&rdHZENJh9wzDgL$ay-mpO6VBGX-YX}o@KMs!=Z#OTo^bW z_d=!y#tWIGq$zebXQr&A;h6DyL~&Nfn{ZBGWzL+mub2bl0-ODM=2;dUl@QPCxPV~+ zEpJ>gkEPQLihrE~86B1;9@jB~QC2}-rLaI-g*)zO%*}85CGZyM*ITO`auvEc`1%e# zfhRQ>I>wMJ)`=3XFhVFSS;x!?9PneF&sU$p3LPZx379&@WtdhtwuBdEXG_R&OUET# z76^`8nbZj@C!@2r!s#UawD zxR%SSdSo&GM#Bgo5kdi1G+fnj4O0U9mIjH%KVdopbCOr(WeD%UJ2kvZ$GasYUk8!X zvR^(`Fw%LMJnzx*UMaIuHhRO#tvE1T-cG<&#}Wa6?TF9+nm6LD&+oI zu2GTW7EKbHeAT4tnPpMQ`Bb*Z`>86~W#MibG@Xlf>a3A7CQT*+u?+evf0@KY*#|=@ zGfmZfQ!?i(TA|yDDNDU<;LN2iOO;R70z%Z;!ZID@8B1%weg#8!PQH zYME+%2YstNDgRcnOg0#D>5$9BR=;hR37_#&8x(kQQG(0Lf`Htr1ma6?vkYQ`d+_wm zfdc!NT2E{P#grN3p~sjoW#$AY%kQmeV{$BIMCOP^_6R&Whp(jqiE?jl@JvaDB0U26 zC3CbK6qT%acJPAN!|U4~>_?o> zFm|DzUp@Sl&sqg^D}prMNWe|X-3~gu9jhtZOvx}MSMzeTMmf>WH67T5kK$t_;5b)) z9G_5B40?`zlDhVwE_@&DsL{}<@vbT~?6}XHHt)^yn_p_E?mky?u2KH%!KV~0pC&21 zve1sCMk6(K96vIPUJ`N8BjWH3jtq8_fxhl(oVbBCr`>0LZ(w^%fJAJ+cLNQBl8bK1 z#cir<=EeO%T5d-K5Az8+xQBlMMZy-W%$~W`< zGx#il?)37}A4py-i9MTWHh zK=hHDAihXlb%JW(@$@CC`!c@brVt!HYdN>Ra~f|XGk5VQa0h2<@K`6Q8Ioz~MqAz< zfQQIxgt6_wI&3XPmg`GStjBeHl{V_=u5_oSS?3`aar*Qrq8YxuewG^9Bt8EKVZ z?%**2;(4>g^R^oPaR0nj1*ela(8VRRUe1mp95YJMjn?c{? z;J5H?56tL%U?xgnF1ldcl6AS+MKHSwrbnfK4EkI!E;l~^UDMy8>F?ruG|A+}RX$}< z+Dbu57lYE>bq6+sQyrK6*4>W~j7bhf1&LJ-@K~}Ltg5LfD2i-8pE(=;N zQy+x1BmV_m_o<58gQx1Kr%Lx!IrC^c;M1ln9a5W)A4xK)ja$!Rf$jFG3aTop1jaqh zQ+31xR^KU+-NDl}L|y4+mrq%}%5kZzzT_qM+r{FF_*Bio#YFt6GW{Z6;*%X3(;WK+ iUdAuIw_lgueph`XDf zSRV*4KJH&&LV_S5I0#cvC^xaFfZV(Sf{Hi1E8eMVpP7!+#AIe)&i?lLzO~l3$L7Dd zz&d$r|3Lr?C9vC??_0DDFPYeGV+S@1{DX-NiMhkMRC?~RR5m9t)(upn3oqN)g+@VD zZr#e)sxH|J{5AU4L+Nz)aBn)*mtR#A6#w@Ye!!0= zezLIyKdWK?v1z{wJkrM70WW^D@H_r6@u!Wy@OOS?z%6o1?eIh+s{4#nM`u%k#r)PO=eB0R%e1O?i#@i^@4wf znjQ)_zX}6kv| zam)eO7~aY<+G_9V&{rQI&@43JINpGpmUiI;-h>OuQfV&6tSPm^mokVZr9Rje@x)V%vqwc{TooETwxEswlh0|1|5#2b0cbW2Oay)>uTmhTP zi8hrO7}$t&OlhDB&pIhxjzWX5CUoso$i#W|eB^dHueL<);&>_&Yq(fl$^Cso8~A{A ze~8VF2A=v3mbSEh_I;D`&91OwPK6bext9*0i186IKE@>nV@v(aE^UOx9q<@+eB3c( zCdmVVGL=AyikBIRnoY6gGOjpqq3FC34L6NIz!MyM2;IkiO0c7PX-&Ta-$JGQ73Rds ziDKnM;Yo9d#6FuKh^wfSNrQ_WHKmA8aFtb$6c~RmDQZIQ0=DkrY~a6cTU*g>?s8r? zu2pv1HC`&J^(mn~D=N-!ZQSXW{XgI*9pDDL7*IkkNglNHTjWVW9f|IwZBNCT=V{xt z5>d9U?kIzrEOa_bu*^~Ctb-MIl;EpUjwOdEAQxG=yV)u6L zD;alGFt*E#Z3k7D|0^f{Ykb35zsMV$zvX{A<@}EOUvQJFe=s2iZpPpemw2Q~d<@~! L7E5gL%c0k6Tgy^V5d;hgi-wrE1W}`sDAAxHBRn=7L@L{KcUD$1|agMR?6_{+6xKcLP4hdd%ZqyR43b?Av zSC)@!Y^Vy1D=V8bOX6BEV0c6@)8!JbXF8tag~Uq(v+>HD?rtCcM!+G)*8A(+F?g%v z9r`5R8~A{a!BHN&5TDJR4qw7zw*y~w==f&fJ|1|~=ZE>omY!EqQSD#aP{8b8%KzKI zJ#>4}Env*4sqxp%43yW``|G6;0%Ocg9-rAWOqxfBIqf!qQQ<$5v-UuP7dgnK0A37* z3j+ISYmji#b|8koK{L&}TyMjQq*A96Xf!g>h7+)J6va4+ zQ?S7wF2Tl_+6Zth+Hsm#PE_Iy8`D@;WBjuCFj2cjbQb3bz)IuKlIUQ24q#3Htl=*zI$ zP~*vn8c*)vc$mkLR7eycgmH@)w{b^d(6@l6($bxs(~Q!2xwd1-JA}F>i%!i`X8^E} zAd9S-riH>Iinx&(8fpyLL)!m0-Y(o#RA#p?pXIueQkN*zv#F~qT&|)|ir^)M6^`L< zhDS+1+Z*7j+6J{NR!S8(qZIP!>NT*ppqZV#i&S07S^0xhK5mj4utw5CYrq0?E&2{- z0A&`HTIT%WOV)LIH1+Zn7Jbv1r6e$N4r7~uS2m;RpFE*;FN#`sBhrdtp$fM8kog*V s@QA0%c+B$&zauH;Q{G>rm)0kI!FTi~(d@@h{J{W2bnrC`P1uqA7jZfFfdBvi diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileMessageRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileMessageRepository.class index b375d195af428751583eaaba64c96d013bb86d71..673c976efe82e2be91161385372e2f2e955b38e6 100644 GIT binary patch delta 2825 zcma)8X;55M7XD5*&~$TwPD9fK2zCew(1ehML?<1R5JD0n5jBe?rKOMNNx-Hd-OWU+ ztYN0g^3VLz=P&d!yUe-kImch-|0?#EwiGhxIya=~qzX!J|+>Qf+l40Y| zM(cQbDBjvLlu8Q0$K7KF7MoJBob!4dq7a9`Lt`+(Eti?T@fC|V;(%N@C2R| zl+VI2ir!-RcVK1vOag zjm-*mjvcsn)T(WP0W)rvu96@asBei^NLHQRH}SZEj1pQr?5q8t?`maswFJQ zmnA7PSy~`7sZJV23ID(DYtVs`zn62H3RN6?Sqkh>W*zkv%i~iFVB6TzClbvxRl`>Nv z>9$_EiyQ_?Q?#FFwJi>_6kbAFks( zAReNyiF&zrCw8$t!qv^}UF^#u2hr4gH#W>*6Rb4>wMKK$jDT>?2KQx=_2_ea!Sye> zBVYIdetd6NHnx_g z=c69q;9Ck1VugK&@8Ra2jFWDnj^(I~;RpOk>s}1vC!)BttwQP5=zkq!b?HK2HFV^61SZ9;m!pODI zonP@AqgRKs@jL!Sx_hbgQ5@q4xGG2Ts;pivT#4iJ$=5}rf3f+x?LZB~cbqm07$^@8 zS$_{!%OUH=;3Brq2SZ^&kwa_IL34?lUi0;^HP5f;x=;tLmb5^1iy6rf16+f1sAU%k zo{I(8o(tvzN5U+2Bn*Sz&pgRm$b(3}6xbGStO#$_7JU2y&S#AJY_u?C1(P_Fbb6FY zjRIQ8#N&h{;q`07%?T~D<4{E);3BpLp$AC3pOJ}?ylKNnsAP#F@Rd13l{rI!*}&^+ zI8G3EMo15nCzJOlkl?dL))Tr0`p8B*R27-RP1D#XXr93xz%(ouo9l%yv943?x_()K zA-Xus+Psu?IFu8V2svg|G&x%x{6JRELh9+w2tc5Ti?g=FPTO~8ZAWG>rH3;v95{)= z7#ZxLy(CUU%E2I~&akMB)@{e`KiNr7vIRsg}Au>#kQD?VZBJbF+?RE}NtS-kWpAo2hWWPv7h( zV-e~l%J=HNoJJX_Jx(Z_A2%?M?8|~sd_#KwU##K(fyLKJLs<`p_Mflwq>jZ6bTevy&@iRd#enb`+I0vd*4sk@eCgn+e6YN4CgT>A~E81CD?v AX8-^I delta 1433 zcmY+E>r+)#7{-5l9}XKf+jHDzmUG&C2eUUF?3pTUjPOYoFtZ=Ipc9yY_n5^FHtMzH6UoJ=o+P zIX8U(XtBb3-DSBId35rS$HP=vDGjBhQ%)O#%dqICPqC=rACZ-M6h^Nwv9us>@e9Hlm6MlJ3AiJ`x?E40ic~%L<)dbHmLr6X;(jlR4%~09OA)Z(CTsHH9&}^o`-%#AYAWiO2 zK<+Rv3PRZx9}dVZm!^iIO%pj>qKq!1ipxdeN?FTUDgAEHe6!{eRxmDm8_nFS9i!rE zRiZ)Zyu=Yzql$GL;`CjF;4CJT0ENbXGQWph8Tw1}^*pxXn!A;Xs;+*u)KJGc(7 zI+QtdI*dEqjpdM-ReDZp&+jg+xnizIBJjvLgMF35@w~Y;c|*uHZ%UoFcu-c-pD1m= z#nh%;^igZfQzhbDqt;j_&D)g7dKPnirs#{)nwwTwdcIL)t2z1{$&rfiwj#X4yFrBR zvPGRHf~ytWD9?=n+9Jsh(TpU~v?SSzkgD7Nn&|}Z1#tVymId`H6%gF2@peIP67gPD zuutUs1Nb^A9!Zlmfr>MMiZg*?|22rY1+xMPofo{*sMwr4N4VY+C>}xf4>33a*OYa2r&bv4^FRgzyOT`z#OB*#aA|Hqt4pZG-c mr}{5cB|cM}Z}?8uubk#jN{o4izd6UOTwL^pvTQ4hl79gQN(aFJ diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class index 1b599aeee7c0f7a61a8a40637f795754032a9f40..3010cb1b4d755dfaad4573a1df277b476f9025de 100644 GIT binary patch delta 2134 zcmaJ>TX0iV6kYo!=}m5KlQi!d3oU&&g;EN>3L@1iAS#U05Bt?XLn)J{rAfqoVEu6P zyK@-FKW7|&K;&VyP*jwMqNpe!DuNG0#Rnqz29&zb%}q!Voyp{$bN1eA@3rKs80k71*ZXR(Q3i}wwrhX}zs5!3xWtr|3J*0BZ85Y&~u$?gS- zgcIBFyoymBFW^OjYjy0wSW_n5n`m0nn@SUkQt82Xtd9_>t6y@(m_2Q}-!Qg%VZnAC zBiKQhB~Fr$>P3xxO4y0@*s0?syiBmil0)~z(koUGDnzxtyt&g0E4FKh;8h*3VH&~N z6Hj-f;)BUpUtB{7dvxr@KCU6YCKF4f#0*b(w)B5P$A0N=XaDxTSTB=UjJI?gFb>oG zTvczfM{UZmH&1Ph>YH} zusHq@%baQ(GI$s*V?G2=?p$WRm-Qf&CSrZdyJJ;XTdGU14NM(f>H3h#5t#&!_>)xdYvq!cqmGkE=JU;qRXjQ*LSjc zx-`$wiAW*ni;~Is;Oz<4E1puRnNTfa?rMulE#i=;rS?52@FI#v9&|5?;R4|huNA1q z+J+)NIV_?jtLTVWUlJ|*fUQBcx5I&>_>ir@efS6;^Y@rIQBp>S#l@1Uxkq>}V}Wwy zVgR4%DOaE1INMLKhmCjx-h7JB82Yg2^lspER^N^7GW1pksz4P!#}_=wP1 z+$_PuJ_C8+0i42DjO9QNzGh+ym-UEmrQb|+%1HDLPBQ>k>f6tW_W0*_$wUj8^>ozY zTYLu_reP_*#}AxxEnn}WIKwOOBar1PS6K!M9>tHGQh^;08!0U~#-6L8O~~3+Xe!Q% zSRg`Y#kxSvO=nd^R4i7JQIP=gpZx-qHWlZbg>wAN7z%!2D*Ub(vK$YzbF~%0%A0eF zRu*)jG1mo-W965tXhjy|SH}1azZ)3qg5`^4Z#3Qk53pya(VueG190crxlMLOoFOaY zq)z>TKMlCk!DcS0G&FTsmejx!xeB@x&clWCaNb;3*q;Y!f~U@sm54QwYP32ERUllz zMcFHMZ(|;^O6v}6*vel8SEg*Zw}6H0y3O2DJo7iO(lVs8Q;U7k_V9o>i0s@#Y3NY21;ArAo z@xQ5F`Hxg-PL+Wl>1$*f=5kH0W-4ar(d0A0+$5`cCM!pD47-@w?kh~P7d2A=>oBl5 zio0ptCx+q&=NeG2XQAfgRLNrXPr{NCOvd8ZOk#;ALz{Vi?h4m7=jJEGH(g#pg=6L! z7m%>Tn5i=y0dyGiBOjZm!d=7XJc@ib&AM(gDeBR2yh-q?V|e>&mUk9ZrsvzF8>j>; z**S+o4$}C`T*%1{(|J9UpQ&Qr`zQblT~B3HPJu>VR!}9?n1{90V6GZ@)x=>Mhs>l| IG#jP=0I}e#egFUf delta 1151 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 F`35k~QQQCk delta 443 zcmZ{gNlwE+5JjJD5?i*(EF>fb5flkFz=j=$7{W}LAzXxmARmDfuw}skH~<_VtDGTH z#CJPNECHMDuG0Unes#Y-toWa!_YWZA>CGS6j?3=rhT|k(#jWKCiy9@$y7#29X;aj@ zV9q#cxhtFd>X&eI&N5@PWe!w@(m{m|hq^6}IF>(7p510U_4ulwE_TD{=S*E4>!HdC zr}CXiRj^c~kaI3HDo(!LW+#QDVPO6rK$puYpetdv!hHVv+pGGof6n~@U>CkiBZUS7%SCv%h8+lKZXP@X5J z)SdAQfn|B=OM&K*3L(jQ(^!Lyfwd-Du}+|8Q6lB|mOq<~&;^!HDStRGkm>A7z#cg= zytlUr>v55R4JIzeMuAmTtn|NFW;kx@4Al}b>aE?0u#-X>{ZbQ~&`u~CA+Wg)R2{`M zF2@xHt~Akst7v$|tb;|LQI)np+MOIN+qRsrl|bkDaf77Is|5~kG0}-Grg=u%W#tK6 zR27&Z*S1*(q@i>Vt~RjM#5QCFS}S%`goxw$B_#_28>?`_-RxNKl2F&+S_9XaxE?zM z)>ojacFD=KrUCj!ts~3QAoq%2weL4XvN~++_ zs0^E+-^6b0VX^s26K#)lgGdEsk*t%+vJ(U&d#I%HR!;gV@MX}%5cU#w(z1P364;qU zsiTy{ta7RV0h$FRW4(A42cfy*z1I-X%W_h-<65fcY6%5s;*qRo)BS7jr% zXkX+Hy*PwB4BTmA42Ksaw@{QN$yOC;WUFyuIa2~V>KYRRCOsSqv@}Ezt)nK6;VyPT zL7ow~I*F5zOajCet6P8E#67z2O*YZcv~(P059iak7xx)BVd8#W534H`rE|#4sMBR> zdj=+$oJ9vlVlvekNsVLHlq3CeiG4Pj7$BTWeTijII3tVlR1c=!{$7^g5Qn3lcb20@ z%Y_M5IvjR%X2i`&`zRx?*U{!Of7)Wd4lYiUaOZr3Rx^8YhRnx17YAElbJvoj1&l&C z;{~=ZQM2WM@~7SWAr@jmvBT*1%1O(~56XTfd4a%S99DmxN*PYpRKbNU*^GmxE8S^XWkpHvD7_Dd&k zE3ae3bx)Ox$;%5*XO8ydPQ(@}9-b|#|MxPaTwFJr_epz)q-~E`JY!q1lTmps%^T+H zCZ5FE7Q7i8)k~SMUE{=fTVuRq;t8DP>OH-B-^Ak@vAuaYKGFxw$0k0(r_lk!%Z#t` z1H2imn{Q#?DyZzR|8z7n{qChheyXy6;R z!{VYm0K;_iF4@F8f`H^-M&H!=%<&qOLLMf6^D}_|6?X=CjSzgcbpHy`{X2}ie?{ZZ zNdFi}PxAk2N&u^{EWl~T6jvI9I+%vVr@%>^BDTgGrgVzWHQhfU-SZ1tdgjp9fMY#B za5DuBsJ}*lwKS?V0BZ{sA~34LMuDIXrIrgWG=qyGku}3D6t6JM;gS^o#G2o5S%pD6 z2W&VG`e~FZ=%*?GXm;(b&1sh`%l7C-p6wdS4wkug5xmE9epptEw%gYpbObcr31}sfcDvOcUgr zT(?DTp2O|HZ#X!IBdJ6Qgzomy-CcCGADj8@QQ_Yb^KYr;kLs=^tw$4`)^)clvZIl` zb9eVIIKHq#b|ugo159e6G3*&aapwJ3s2vx8;t2k)P}>%RVkJFA8&h~1&+ysJ0(q8u hui#a@5&e2A{`GG3>jQj<&+rB1(=_5se2s6h;a>#qOYHyv delta 512 zcmZ{hOHKko6h%)pAfah~N=*F31dUN~;K&Jy3W$I4FY4G;IARA*dI_$8L_^fX1vu5+ zXo$DE2~DC-s_MPE_q_M2K1yGC_r3S>2CQ-2aeGcI$@;^0Jm%k~7TT0Z<6v}Y7$r+i z`-a30RYr791Zz#1Ix)qNFLyEJSCThfQct*@Kwa0Gl>#!v15S=jMPBHk!ImP!HalWl z-k#L{oi|mrR#!wrTsYW}A;+prMZFHHOcXmS(* zni7U%9xHjms%^@zWad{Q(9F;P#eOHD=Tx3E&I8YVX1X1D=7x%=2i>RnRormFr3I*w lhITu?SAN7@ex~AZ6}@WsG>iJDr6IUCfO|~-L2rpC%nu#6FB<>= diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..957eea6a40da446845fe4d58e84437c92a941677 GIT binary patch literal 4758 zcmbVP>30-W9=)#<(sZXFokoH{AfOSm0EJ2frUL^BV4`7}1cJo1(p{Ytsjh0Ps>5Uk zoy}zyopGB5_hr;Ce$aCi1<&!!=Q;jO9`CEFR9C0lkkcn8UGKem@7~}3e)az!Z+#Eo zC_YOgftDm%6|6&>K<0|JsHvuA&8g>RujqMCpl#T&4DXmgOJDzV66*yz{Y@3mFx4^5 zoj;?M(@3Hvg?1=OY*4Tf9Rj0yyQI2h$FMxLWVo(jTWY~@^L9ZuJk`<5wrhB{v!q_h z7uAPHPfzMvVan6IiaQy-6IkbRk1o(LQ6(i|E{#rPlh~x-4r~^9U{x~LhgG#g!Bwj? z1fSEr@q$3MuRjKV@#6T&TsyYl&Lp-f*oN%_8*12Ti*kjgIouZitY;BStG@$ZJM+{twvdP5OB(S{(Csj5r-X!)Z*bh}; zOI5rYZc11*OiyIV&AjS!6Fnq526x@#o1X4xADx5YPsYF+e&gaU~ZkkDT1%{-$ z4++LVQ}{os|vNeyLrLV1>Iyoj4Vmf zHr10c05=4(hlPaqTX4iTa8zAb9wV#A7Pp&PX||yC*1zjLC@@yX*ObruX9RYHM2%$Y z_r6J%s5l(6@H-s-Uzv6$(-k8u=xHL}!uK;Y4OfoscXu4x4}u(!%Du<(U-C_QCY zoV-c&CX=tS-!2)}qP?K2 z6TXvqLStE%J)=N7%S?6lLuj}7p@3javkIo}_DnpzO`P z3@BGW8}9}}+EL9krwsN}8C;@OUQ4r`eqF)u@rMlFY`((J5bIwO>)#4~hijZ&m$SDN zJm=5ek+XLdJnPTim$MHP{1(@Ey^r%|cScRkb#*t1j|J|jb4?>FC-I5E&egZFx(6;{ zGt$o1MBp+0XXU2@pHHw&P2fq+*rcP4zfW=H7`qq2XJ+6Vh=K2ry!;JPUnBjczx!$a z%C8w9#XhAS8b?a7AG64FCQyLR9TIDdSaNS>;47pDZy+;x6J0I1v=Xa>@??Chu3&$N z#giyvj+paAStmG=1O~1USQ5x*3!l3r!A*1v+{7-X%ideq1C9q0{9(#}!958)&0pDG zL4MBgZyP@ldN`I!>j+vn+lBOq=CNzVTA@JTaJH ztm-e_4BQ=K>5N!9;rTj;EMCM?;h{xbCAu{F$&f_}SxzPDJ=(|E=#P;o5s6YyBJk@q zm~d=06Yir4_tS(bO}H<{8#keJV-!hM7fKT@MarEGmFtRJICu-=lKSBWY93@19g5L) zMQV2WQBy-F@S8QLd3H55b5wJfY96JUxft(S)Xb!1!J)F!hety-Q_RY912-`FITwQr z2_j@ThMw|u;RYtXpN@oLC0i@h&~2btBG(GF|29ypy$zrqZKU9i8Yr3UwF>e|2%$qxeKhSnBoz81g0Z1neTW>xIMc7}(>H$idf_LEq$bcewq zN7A4P{E@5ckl1#d9~<}+CkZ@{7x6kx z=XFfsN)mIJ7tpLm)7uu9$Yd8@nXgS_%d_joV$-uX9kV_YM^PZ}|BPflor~E@uKl-E=mL6|ZGG8#Dcxfo%kawmL|Gqx~W}Z*rfU zYE=85Mt)i=6;jq)+x6VQaD@yDqz8zzYXV31O3Mw?uB*Y&>hEgCWC3IfBN(OiD$P-% zgkjoih|#y~=VMdGHOh}5qP|h897PJ(DN0fWXnzAYX%)DI+oUi1?_$&QtkEd~#;HE7 z>L*k@)~N@^uz)+Ht5B6DC}7AUmZ(+P-;GU|7{WGy<{R=7?U81LYWChlSKl#5GC2ABnMEihQ~Y_vQZ?j{2tM-nEi0T)>#ES8Ju^4Q9Qv@QUUEK zp3zpSu@6higA#j_drmbkV6s`t#IR10`d6y31 Nt%rH*idSU-tbbhlopS&H delta 469 zcmZ{gOG*Pl6h%*W8#{Ej`DhdrQH%(F5S=&?qKWDFkAIE3aShU|a2OOs2QI)3ICkJ3 zoG9L^4oN_r)T>wAd)|HZIQmuyUcaATfC|^`;M4VdHttuw4>xJ}%hMGchRKmv-IU0s z%AoEUd)AU$e`aM%?>Ri3Lkw7Lp1Qh7Iw%m+P<7a5NB&y!?w6~^6R3j`u}fAzX8U4C z4@Gv_lW$+DjHAXt4mi}PT2jxJV*@c^VEi9IlcOG>DPg+9u^vxYvuWPQPZJ SkcB>Y)P+Y({6W96{?-pank#Ss diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/AuthService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/AuthService.class new file mode 100644 index 0000000000000000000000000000000000000000..bc43d01d99ce8e53721bc5db87c39905d710126b GIT binary patch literal 316 zcma)2F>V4e5S%4Bj*y0DgeFUmQbarlI8_%sS59rH#3fdVCufB}+q7HX=Mv9^(cYX4*T!#o z@w*qB2t^&X&J)_V`9qeop9Rl5$x4o`Xqt{6*KKkx?qDT)2wr8HBYjKSg=%S{X(UNh uLK*MYgyA~0(aM*rC13t)^WGKd69`ZFDFEei1^StnnH7XVx5P`v9)^D)nO}DR literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/BinaryContentService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/BinaryContentService.class new file mode 100644 index 0000000000000000000000000000000000000000..5e0ee2020af01e64b1cf04ce8cb7611f361b8931 GIT binary patch literal 714 zcmbtS!A`J&ptTrlF42auROq->W{RQWE!4uy z+Oc*@yFms9P+(9Qi>cs|&?DZzAFI$Y@I#}7Qw&~eya^XJa*wgR7Dh~zQ^qm~OeV{q@PJw}xUBWk42i>t4~N~(e+)e&#qwPE zJc?SguIy?CN6QX9Od~BUQ-Hx5O4@E?fFn(L4ArMse`~BR+N4$ULXE$6)ugt3sUm8L zL3PkRtdr2Q(EKtP@5dp|pTDQ)mmy Z;C->SiM&If2Nh!P!d{L|Lp6Qe{{-@#(t`j1 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/ChannelService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/ChannelService.class index 7febb837b750de77c680785d11f8eac7bbddfa12..b0f2bde74cc45da48d63986ac1f19229b203a6b8 100644 GIT binary patch delta 399 zcmZ3*Hi?t#)W2Q(7#J9A8Duwd2`~!rBp0P7mZS!hCgo%%Gcr_b_)HW~)o=;%*LTiH z%*#v7(T7MudCnl!L8*nMsl_GMnn1O(lWmxUWQrgnj10U`U0CD2udw3$j?iioWR)5+y%Bu8H>u$f)t=* zkX@}RjYS#MFzd-_OumflleaLL$Fc)MiWTT91_l;J1_1^^21W*`kPui%m_Y<6Bnni; c#2^M#BF-RzPy*2<$smOg0_p;Cq`~TC0ICXRSO5S3 delta 161 zcmbQlxr&YJ)W2Q(7#J9A8KgFH2{3Z7q-Ex%Ff!Or_FyuYtj{Dkc_CAaV6ui!R$^JA zerZW&j(%vUr_01?p_1%*spWo&xv7i{d_a~xpU6FJ3oHze+Tdck8?<&&qCTk23dx|ZNAIhCil18 zb>XR?&X8S@zBG#reT8DRA2#|e63O!oT9kSIw2qcIxb#zSPPYk&Y)d@WDoQ8>EviGpfh2ur?9}M>3Go_3+ z0dGgA)A=k)In3ggh1(A1;4)k}9Lb>L8`%l1o-dDO36a>m)*%7%`0*3Qyq%ZiZ*+f`ttz&=XQGlC(DNkXCoelOxYPJisGN F`~qr!fq?)3 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/BinaryContentCreateRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/BinaryContentCreateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..40dd451586028f00d889278e66f7c748ac54068f GIT binary patch literal 1776 zcmb_dTTc@~6#k~P-L@>WR6s!m70|XIE8exp14ToVB8FQcK5g3x9cXv!&Xk1z{hO;hLtCepaU5L52DBK{qQ&zVve!pUd-AlfzXq4Sz>$iy&i5@F4jwE`u`u-qlW zqQ)OFF^bz%462G+law~Ry%l3r62g1cl+SGaupXyL;U74VP`FTIX`I9R z!7Mrs_u7P98hFbvby|@tGBhyHFm|;mwZbn4=4fYx=s|^OLC}(-Q(7+&l2I_)a(C#< zUAnF4%||ks`w5ntK7x^(IYQqdsX`bF%s~$0biU`ClDtnha%w}f_DO?>@PN+o5UKS? z+E2tfL42BNj-)mqyk-|2Xs!Sqc6h5=eOlNY!T0^hFXK8h(K(d_dibv0{iw z%zxOo3Fyfh5Alcs&}l^&T|k#!WP+G1k~*bG?gxyk5{d+fjH+^xbKiBG!^jd>2suoX j?5C68Sih|^Z5_j7gemOjc!^hdO}Yd{_y&3UmmB#D_H?7u literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..cd5b5de35ebc74827d3d2479b49cea1bb7ab6c83 GIT binary patch literal 1953 zcmb_dSyR(c6#gzPq?FVy6cki&0d2z)aYHSlQe5g(ao8S&mo&XY18q{1lo|h%4>BX; z3=jSQf0X07NeaOt!$TjElY8zt=R13T|2g^v;5mwM^dKT3Dx(*D45?jhUsLOvxudRf z-Lk6;eG7(ZxQh&tTz<13G4xA_%NT&n@LIPTs?)R$(^VUW;~18yRt-nDs@!l@huiyx z&ei4h6}4E?Oq18!v}kk9<*WQli#skuzwTd`2rpIkd}z5wUESCyEf)mlB^gPi7^0@u z;0zgG#`AN{CHNgrDkEc1NDWlEquWN)C4Vv$=a7tHTxN*5mM_h)l`D6}_d>qY6#+RS zV-!~jvZgt;BISeOeb*pM0^z!hF^p4vD2ZC#Vc71L{ZK?Jm0hm8h5ToR`P{#S3CRUT z=;Y)#sc3%u$+BVckF7?9+v{4T?v>Hfwfd%J8{!-=qi)ThXx?_IKGaYjxLdQTpER3# z$K^H|&*si3o7dqbhM^!(ue(ACVAkoz3$BRSwsz994DmIqW$XNnAp#u<+W%DB&x$^$ z`n3lwwPabYsiO4|yI=Tp%xaxG6J^WVYc&g@;f*AKgXquA@55fa~y7r5->#$h|qc& z9YBWxOb0%xM7>-oKOmhKP;X$7QD)lt2rDNpraXA2a{405QOtN5n}td=OXcz##%~wD fS?Yj=&rrYu{fdD&aToCtOBneJ#Y4b^ literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelFindRespone.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelFindRespone.class new file mode 100644 index 0000000000000000000000000000000000000000..db5497697904b35b66557bad5ca241224d41f8f9 GIT binary patch literal 2955 zcmd5-TT|Oc6#f=$%NS8^;o_8%HYF59K&9zjgeEbexHTc=)`mU_dk1e~Bv)E9li$$a z(EfrxG&A*dhKK%u{-{pRu4Isd@whX2=)-C++H=0|oIRJn|2h8)zjX;GnqS zD8#o+3}b{LC12L*{%WZ!Ecc|4FI!0aB%+m!nHa|nQsTL%q+~1t(x&c7vfxDDnlv$` zZVgs=SPn#8l1Yj}-o#D3%`jARL%Gev&^_S~CBt~6Mv7Bz7rjurp458YF)@o<1XFhd zDaxWwKMu$t#Y)(2WJ!e58KcK|&%|xK&ybaV#E0S8LU&7hbFi~`)l>y|$HY87Ai$~{ zRtxlG3|nsqu&DGeny|1$0mOf5xHU5S=*?(PShI8doR_7uctk<8Cr&(9HUcu^c63Dt zk@D|aVy}a0-C_87;q}w*&h8La2_|s}U3bzJ9|>Ij`iqAYmC*wXmxRZkG)|9suMk^r-O8{1@DgE^fJArN+a#lJCE0)Sc@xLqA0-a8zv9peETt>wgY-w>5CsVi*1Gn7cIw8J;hNy!AX>Sr>)F8SBv;CgF$16 z#wd*m8q+jp7|bFyxfQe_hA`1TBosse%N&KE1elM&s%?jSxZeA*4-wCtmP&~ zt$eD92`is&V%o}QnwWV-H~aA+eKVv57$82tR-^$R;U4Wsmu9B^&ueaq@4RZlB&$}6 zUrMhO!?a#0jv0JRYg22Ur#8AwC!f$sK0^vYsz6FW;-H=kx`5cIPcce8^fMAvCauz} zzzyph?*hNmvhND#2*rpwj}oiTJBZH#zx5<;;R^y$=xa19gR|DsITo&ypN#HYxGak= z;Sd33Zko{sv>7C2kx4eq%A~aQ2aIk8rDKhZymh~W@KA5U;}_0MB9HbaJk?QnqBr52 zSnoi4x;Nojd=0>{;AwM!1s8D{J-PGwABCr literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelRespone.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelRespone.class new file mode 100644 index 0000000000000000000000000000000000000000..817e61a8b28cc2617fa840bae16fe714307ee52f GIT binary patch literal 2917 zcmd5--Bue_6#h;~G9e7|S174SwNiwkFk=0yL#Y(n5)GvSL9JIqauzvln29qdtkq}m z8T1Lfuxpv+T3q-5K9tLS&P>Xrgcz4zcyZ?Z%-P@m_CEXPk3Y|T2XGfp^GIR9K-xqG zS%%SP?x}0nUGLc5;}t)sGGy0;C*(TAz{29;AaWQqkT)>|li^;)Ke59`AUtWGh%gks zXIDj7@vB@&JLJKssBnAhVAtNPxt_=C?Rk%f4d3GoDM2bmOImGHin?7c7q=Xx<_!}g z7-dMy7Y(|&TI#8bds4_3ZTJHc(IDd{CUAv7Jokh^#v?`AzI{owkM*r76Ia!(p(+n6 zfoMpwLs2N0xP~_whU;!9cX$}O$9zLFOhhnJoN&A7h0^t;#(B%cEUuH9h8svx5e@oL zCNC7LVW*KL5lUyAUf>-QH}Eb)PWllahVnvhOaI=h&f-Ngm9m>A=J6gWtGQuqlirA7 z>pxIdRM?9qEG$v9@b8;$oyLHm#5zWIxUBirCvHGFB6&die*C|z4;zAl1&=plUDeKzBdi1{U%TNYxBYMN;S!Me7unk*9SAD;R)HCqL1dLG!%z8<@4!f??fiVc1%3VazI|TbQ&8 znHHw4LbipOmvnOg@6$I+D8L}`0k$Iqe1O}uBP`8K{h!y|6yJH(X-QVC6u-1yDTW!n zQXI4Rkk+O~o~K^9OeY`FNg+#sASe(BNF3C7K^G7k^)be%QGP;#%A{4Am2$&6!`r|w zv`k BDCP&SS*t(=Ot3z|Vb&Tew3?l=d~6mBBe{=?n{($xlUhUb!rX&)^UNWp0Mi z2DBL>u*f8vW@S>w`V~emgEBE9BX8a9B0Sum@Wd-;CN+=sCw#T5@MM3&*RbA&_H=*3 zv$z+(LX!4OKf+OVd`@w>L4Ho*J~nAyp$Lq!EXuJc!=n6(va2(BX; z3=jSQf0X07NeaOt!$TjElY8zt=R13T|2g^v;5mwM^dKT3Dx(*D45?jhUsLOvxudRf z-Lk6;eG7(ZxQh&tTz<13G4xA_%NT&n@LIPTs?)R$(^VUW;~18yRt-nDs@!l@huiyx z&ei4h6}4E?Oq18!bfa0-T)xV`w7BCk^y~h0iSSZo&xe+4)YXlR(sDsyUXqbSiXm!h z4bG79WjsIET!P>6q%txFh15WmJGyN&UGgVGaSq8C#$|?>Yx&X)Te)&qd@tlXT@jEY zGDdNgAZwaaD^flf-ggbMBoMC47{fT#hmxq(9fs|0*$+juQrYFYTgZQAn9u!Nn2=mh zgicO=lZxiYpDY_D|JZ6&xV^4b>RuTwU8`?uwjs^|GwRk1iso&X>O&3nfx9)U`bo2? zcU*3h@oeslvUwd|Vi*bn^|~vR0A`(Tyx@wMZEGhz%Mf3)TDH#L7$VS-p#4v^{jBJ7 zs$YB1QcITQIz9E2k= z%zbN*tG?hn&8*hBGf}pzy;if(S+@`;P+b4o^E2Y2Bu`;>%+KlXN0Y4@cZ*JtTpi6|0SWxI^EG2nm3$KujP_+wCry6X0`1g`%V! zkqW-kXD6QQiv)OS+ElqS)UN>FE~Gw&d=UBqQQ>S%nL5I?|LG6=GRNV@C;?OCfC#OZ z(E)TAz;xh~O4Q4h@&nR&0rdtJ8D*xOkFav$V#6v011@vs5m>Vf=RS fo8=zeq$r>{Dt-)4@C*ek(61PX6L%3Wv4oMo!nVNP literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/PrivateChannelCreatRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/PrivateChannelCreatRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..a0c68cda0e4776f12ba02a84eef0d4b323eb4004 GIT binary patch literal 1863 zcmb_d%W@Jy6g|yr2tgrl6E)G87$BN4z7@g7-9u!O0~fd&SVcp5XXpyL=vM&GQ2aartY+CX)3)b9Ygi^OXTdK_3t*r(mCgVTo@9&R@*kj z8|jvH;o_IH=JL`t>b>CfYs*rOvU$s^f|H8jK?3V|sNqo(kMV@y`nlR|Q^}^#y`23J zx+m2h3d2cIwlq7|vCzGZZ@F1(2xqBmS;y^GK2QSxK?OX1;2s^*rf>{fwv=TDLy8UV zI6;Sx@$o!Jkp0X%_A4L9Xo@-vL$XAD$nGKwN5f0H2z}|7NYPMWn7@20)!frfwT)9_ z1?a%tPD$e|Ss~0(n`QL7jxcVJr$Rn=Un2JdEVud{+6h@<+@x=ec7kx`={xQ1!UArQ zMf-i!+cbC4Ju2=qUN)WQTJOO z5IzQc`LFO9+$9p1y+ETYH=bKP#neUdp4j+bv2m;*LkalORtUfqnDs$*vRp~g+&5^K w35xoN-cjTb!77D?a1ZxsOm{(pN3}*?*VgGk;&_T@cut-Kd0rq-f1a~{0I>1Vng9R* literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/PublicChannelCreatRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/PublicChannelCreatRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..947c5941e00e014bafd97cc98ec221a7792120f1 GIT binary patch literal 1795 zcmb_cT~8BH5IwiF-L@`88+u{8TX(l4{wE(K zk(lt{5Aa7B=XMuaQXo9^VRP@y&diyaGk5;{J^l?~8Ou2&(5E4(BZV}>&>lbFrp=vQ zb5mHZS7%5sNk;~682XB(oh&lQYRKv6htBZ9a+{{#@}v`(P3im6bUa#4Z}JLxW6)Kovy|=il3T9l# z1a1-w)Fp2F47{fxvD(&ad%_CJrB4jA#h5YcUW{S zZtrkUDmhXngNCFMs=cI#W_C>k4Y$6*J({0Dc!V%gJcqT;1g|oT#;c1}&D^uY7yV+$ zZMkjF67QrcZ1TbhUQlyOOr1QOp|`FZ_<_e;VS;`>jfXibz|`S32-?>5h%(Ko=LuhLfVI)K90@QPvPv?G^PsG&?$ zTy9EKgzcbKXK2lVzJl6YbStQ3LT4I`7T+!UbDN|!wG8RZ8^6Gexg%)C{1FBYNtM84 zWDYW!qWhiDl+L>(ky9r$>)cfE1n$v2n;^CNNt=pL?-QOvTBK8%YQ`~!fFE@2M$ki( z2w|A^&Gb3$Bf$47xldq*Kot5CovI%hW9}F?F7h7>Z6bKG#skb!0;;SOBLO7z|1ZfT zNtKi`enPvfpi~r*QCCj-5qBQAigOZ0!b+e7gU&&^g~W!m&UJJQ^GH(KPw))S@q%+Kce|Kx)t z5)&T$1N@_mv%RYvDH76$%g)Zu%s2DR-2DD?`U}7+Rx^m9&p_Nn0!fC!1N+Ff>bARY zZF5I@Rfgn>aE1Shp)X(9OCyD}fsBcMm<)@KY*?!43D>t8LMb6#t16Tut6cb&;@**P zxV65!WtHW=aJTvA7FRw)szq0LQu@mG>}HUY$|mtBgLzm69-COe6NbsNIrLhtFB;qmkU|%Rbfpu8;W(PC zaF666w*terwp*=pHC2}Ku+=Pew<4km9e2Mr`8rpQCz`(WqAqK78vm#wZ1AV!NSlOE9}u2KTA)*#8pTr#0^dpOMlb`D5MhXx#MA}u!@##I zxsPL-Ks5RaotlqSarP89|K~p%*o5$8jfa?_1aw&mMiKb;tv>?6_f}g zGGe8}N7Q-XD$a4_2`h#IigaEhDQIla*4eg>VGeOh`zaRj9809jP=+tCOazSm1#roL A?*IS* literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Message/MessageCreateRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Message/MessageCreateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..250b5de4aaf8c0f3d6a74e07e320a0ac77b7855b GIT binary patch literal 2544 zcmb_dTXWk)7(MIQvEwMjcGExtw2(H%cG`+Uxhe$Oq!+hN%QTk<%8MfJ#AlIr$5~H+WJ+22*)t4dgH_ zP*=EP~4$WuM@q?DY^t$W0YC~YETHBvN0W*0N4a~w2xaas?GwcPfr_8P!hOY0K zEjM)hmUNXF%HYU#q`9^G)ZCU~XdlYKxEV-W$!GGXz6_N>-tj#pJ;;ntQMqgT0@*m<^G(;2Px{>h8SL5z9lBj<`i|Y%w*yzN6Ju7j zU1smW_#vDpdxo(%%<^+@z*O3nlyB>MJFvS_$$+fC{{N6Ck$auBh3W_?M-8GOa53#? zN)*B${=1V;G!9NX`;-4`jOrz@H?(tdYAWvd{lJm;U0wO5q-H}c>Za~W{DB5dv2@q> zRj2~H7Z)m=pT>HT4Rs@rZw-8hI|7%_I$6;7l-reN9CHHUe{wK5Mc`FBZLW9ZztqiA zi{PQ{wK_7q+VuUG{hswE;YUq70q#;sTQYP4x2OCd4cYA2VVE`~KhN{ju_M@rdRJ1p z0yYJ%C7s(kZOqo7^IEBHJI@}^XO2&q&w_x_U>^@6cVw8yBZ1Yke2ws65Pu#`flKFa zWuf9^;TF4ph8-}AioUTptLTd)8hKAdBd-PsT;)82RqhwO3a?=bAJOs)Z8?t1^*l}4Zh5FhFK6n#;G2U~UmI6M(r*uGvnG;-qi`mnVbZ9!H zT>TH^&kHD*oG6&3+l1(Rq``CJfiH{%m&XGy;K|wSLWg6$WfkeFfab7VhCb9^fJEMcNy9jBPCa3m;Ep8UO$Q literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Message/MessageResponse.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Message/MessageResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..c929096ec913c43b88abb44aa8602408be56fdb9 GIT binary patch literal 2250 zcmb_cTW=Fb6#mAsy^h&5j+2nO7jRor>QCxJk!n@SLw`VjRMj)P>tv(2ktKMTJu|cOo%5aRKmQ*64d6C*%E)2HLf%FJMTW`? ze#qS(4-VYN!VjYkLvdXOQg1NKG@5&}C}Gw@*~SIf40rvo@2Wv01MT*uQZfwOj#Pfw z5mLKKM2FHB?)L5@cSk7255!nL7HSX%N-*Rk*{HN*yF)E|?$f8OZO_k=6=>-J=3E4Rz zu<$*@rSqRsu9A4+77e!?b!&m<8x2?5Rn7d1B~83o(vXWK%`lR)VD$Pbp&E4hjbxEz z-T4d5SsTG}u8lC~Tpyw0)bb-NI<>+GE3fEH4o&(N32(j*eK!&;)^LqZq$TEH{?}s` zhFRTAUd+Th!z3T?43`3~(|)-?AkcF|osP6>v=(TP-XK$kWR6r30RM55{E8ew$iQuKCh~f4izHHkGU1)df&J^Q+@<9@b z2@n1Nf0Xe|cS{#R!b2Z6GjsNw^PTV9e*Zc81z-U$5(uG3Ls&-yQHIp6xo;XZ)7~-G zc-e6)4AFVZw&Ws1PbRw+M+|Wd2_3!A8D5p0x*-~_WlN)O31K<5QL#kXsc=ggg1h@x znH$R+tHuf!!rbBQbF)z~C12y8n_NhSc-{M5AiPwu6+=^6HDhzLu$)(z{W_9JF(hpM zWy!H6x5+B)X||$WmlVWKK25CBIxb<5AtoJ9%CMa&b|un$_H4*u9hY&1AgiXRE)jc% zcU^-lC{kB-jN%$qgHmSJ1jDCp`42E!E$#BM%x6C`OlAHpLqN|@c6N&)?6FN2Et|h@ z)=S*oFiSP!pDsFOv$kcrmU{cbu&i1X`X`st=A3LN{}&0{-a7qAUAXQv-7<T{)N-UVnfnQrn?8h=n>j?^0f|Bw_tilL6Lg>ORB;10=|x5@*Q|9@&O^9G z_jriJ>L)NjYig446w(}>N>$4pksROYdKy9ZRD6U1S~*i^m=6KpE@VE6+XSM}=jl}W zh~=h_F!De9VNd6nU<`MVp#T)E2%`t+(Tl7flR>AV6v_R7b{?UK?~zef+W80?_g%y| qj2vNwFpU{H`|0Kt)+_7XmW*K*VJiJ2Ji${uBUyqXd`|QiG4dC-6tBMk literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/ReadStatusCreateRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/ReadStatusCreateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..921c23fdd0785f054d13a3a20bd1bea336d1b00f GIT binary patch literal 1758 zcmb_dTTc@~6#k~P-L@>WR6s!#70|XIE8ew844|<|5yPb>`ZV26=t8?&cV|ibPd-Q@ zG2y`<;Eyt%=`OZ%3kf_lXXflV-*;|v`uoqpF95HwkU|7K8lpO4h%;oi`7Spa+}<+Q zgz307hWNZ?TXKP+Czr1zkw8*IN=GkrhS#RkG`yB;+0tlQo@Y6>QL{YLsR>IOo^W?9 zQy9w|tAxgD>yk^~TXF@LVoiMUg(nH#C$kdqWXf%BUs?@gbF;KuR9yW!(uyc)*12tq zMyZyixCeA(afKlvopnj%TMU(4`J%BD^Fajd>;v4QVjI#ijH|>}=U#n@Qe${?8Ehp5 zKB8k3*QpFt58m(?K3)QJS01a?ZDGn{{u9GQ?r4RN-t!fPXpmvLY}w+y->eFEgI61r zbGGc5yiwtHWBy^#nt{$Q=>~$w&*}Kk;FapDO+^#i*H(7R^9lurVN-Uhw zE=}mT@wFwEg=e}}OFC}1%Tj}TUbiB|_7RuY}EYGaU$gV9bKqc1n; zwxaeN$#mf-SYdh}T481%eS4&e;AUtJau}!ct-zGzZMu?;b}si(Oc9ApuMZNTN3}1A0&~O z@WCJ8k222Q9dJk?B=F&~yR$R%%ri4P_vi1yZvd|_n?ejN2I3|XXl2N3^IdLLxwC04 zi?Zug7+Pm+$5yWyTC%zIHYCwzAZ4N*Cc|vmty!|}*^aVmwv@K(SQT5A-HNc4C55+Z zmxZ;kx6<6KjUISAka4RBo6U#1IvLQpKy1;nNkkj__F8*cN3~$bDuQ&;FnGCh5(sGsFXu z>5}b;4~^P}@K*Uom1uXD+%m7ObI;c2P#9NRHpM-6`TSF3EDE*dRz7l%*Mt%t`R&a% zDU08yMTWkRl3%h2Rp#nokJ~)FBH^L89Vf#iTq2cPcx>yjh?AdkYdQp>kdUrA^2z`7x?IenR;?;zC zPU0D5HTvcYhmShVV9?h=Gok1>!t+suG%&+3cAS=TXd0j~b?bapsz;C$%6pQAAL#4W z(@YN!J!WWa1*36zlWuO&X;F_zTGRPoVEKuC82QP4bnKBRhT%|M8;#I@Bv8d|+@TX0 z`L3D2)6QeKOZ&DMiS;GWMe}Nu@HEmity{eeCUKwEPTB>94az#@%NQ)gsq|0r953*aWGR9x(9iG<2L1sU?y+S6 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..6952c2b62c1b05ae88b65bef56032b96c7b26bbc GIT binary patch literal 2185 zcmbtWU31e$6g`{RkzZxewm8EKsk z|EUjUrkT#h!E66ET?JArI2-UhTc-exA|G{|;XO_zpi+F@Z@7B^zZ-3Dh3T zedz`=+;tzQP84?qrdIsW*Q)}P&DQobDwwuVwQ&lzz-lMzxk*3vL+$qbB=Mur?fOY4 z>MCEmiHi6Aj&j$x?z@k8NMG$(N&P@Q9jHVLR0foXvZn;E(IAkHGKU1Vn(r|9u8_Ufn_(KPPi%aOv&7ny$zGfJ6KJ0tYr~j6 zZ{q?!V=SDa+ODrXQ+b2E82> zZ^@k?ZKtRsgKZi6=9~*lde3J9?wquU9F%)X??v5TWz6Q)DyG%b%@MUt$7Vxdp_rRO z&P4Qj=jWdUZqwR(=0%|TFdD=ib(e!cXfu1ovAb>tjr}m3@Y-4w=|sn}p9Pi7PT{L6 zzQ#8eZrS)2w*}4}4QD(Ewck^2=4!4YFugOhBJjKztsm}3Pn4To{8@(GKqX6?QS@Zc z_l|9kTyg7JU#+X86Z?G~#YL5NKn5rZ@}~Q}V0HxhYcrT9yn+>hr6C)6DcN{Kg7J!^ zGAm&5nc-98Gf&Rh2t#JrIHM8^ZGlTi*&2aAjNZbJ0%woE$}(lC!VR+A1jo5V_9OXn zS2xUvsgO7{BwStz$Lz? zsA=Ap`M#NH;R>2OQ9ngB-y12e@ugvy7?bJFV3*M1ey+r;;3eZC$jcOwNgWzD4&C5t z%vjDLJ_P>e_DysxB|RHBGHKaO$< zpHppuCH#VGgZ0ijaoC5Z3$q^llDj%#ZnB#y@c65-itlj;KTuw!d=2Zki^cx|hY;C4s%{G=bNDD`_PNtBNKu1Y$( zD^=94Fk_SdnM>lJfN&i4>POQ>mXI3zrNmHX&En{xR}O_K*eZ9 zL63lXre~vjmeT19t66t((rA`tFHoVu&bgS!r}UtsP(?(F%{tRPiJicO9^7layCIY`5%V;6?$6GID zCv7!11#UJzY(_yZFZ!rtv$-Kq%2J(PWyyaX^tNQY7HoyKZ@LqN8$qnhJ{OkKZN(gx zj#Gb9=NFl7>+X{vCPPvg)8cI7fVNonwgu+$^el%8X$$>6z49Xpht~GlX>GAo)n|GT zcjQB5a;zDG54nBS@R^MoUZI)$TBk`G2mLJEWO@QOsVM*ZZ{>_UAQL1{< z&w|Jy0+U-qD*|tdd8lYdzmk5Y_$Y|Fp-e8UYW-@^Z;keWZrLl_%C70OfWv2sPmRy4fZL8D8QUOa z;^2Y6#r-NBlC^`M1!Zl8eG2X8d>Sn6(t8PY*T{&3n%5lQA0!|rRp!P-X zLat@53*KK4-r_DC@A59Dyeqq?d2^**%)a627{2Cvf=E#N65rovC^XRIj(F?UoG)0v zCYA*=(lBnnjPDXWe%DG=1(m>KaK=$Y)kPXN0bS#2%sAd2J_G*b=cso#Q^~#8IH@il z06z`9J`(&quH@xd;%Y*#c#C`Z@?-e=M2uYz*I#9j5!H(T0f`4>J~K h9K23xoi+J^oT~5-eg}7P5BIT5d6n`NJj5fM`WIQ-vabLD literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..fd1ff642a71ef3de13efdda774df4855e5b0e750 GIT binary patch literal 2374 zcmb_cTXWM!6#h1`EXOEKY@DR-1q>y{RsfY=DGC7+Lvd>g192YOr;WW$7G%kl*6A?Q zm;RqVl$m-ulZXC*{-{pRN^+wV6Fkrd>Fniv=f2-xe;@t{;0Ep&F@sqXISU5z42w_r z0e3v^?>Ub|Hwb$S`E}__wZSl3Z|uyWfH@OI3#VW)-0TK@CmMv(S599>kqmsNC!=oA z6H+;m2oGdeIL++`PKP$}uQTXzB_4?%haysBeMlEAa&4OKT#_B@NElKyu)A(!r%w# ziB_NQksXDCP&BmpsW>aQ^P%F4Kn z7xUE4Y8KAnJUQFv(f$_InW6bVIBRL!7c8veL+S}NhkFsj&YN4#Wbt74iRdb~@g2i2 z_5XG|qnCDds*~4jTVsbImsD?|Eq(Fru)iz9ZNBTp6Bcy2x5GoJ_vv9y?Mtf2?Kkc# zP5OPI_JiI-9@0Q75t7+TeL}nA7uRA~N{bbbe5QyjIQ|;aD>@uoJ9uB#VZ|)fy=aBG6)1x2PuM>A4K#(iKzJs zxza&iC8>>?_95N{exv1!u~>;p8cT`D)|mi53;a42d=($1C0Zw`6Dinhhxp)S_~k_B z-%=DP>W?V^oua{L1KOOzCuvMNHl31T{|@t{gpAZ8qY91dkp<6B2R=O!T$&ENJP}-( z4qU~j6LMae2AsoZRH7MtjxR{oXkd~NPX;_0?_{`>(Y{7n6>|0^jb{P3u!$`+aR+zt P72Oo+<{rLA8`XaRmB$%y literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..445e0cc63f2cbaedd76473754b402da9a85d6015 GIT binary patch literal 1601 zcmb_c+iuf95Ix%_ahe*E-YJx8TS!u@Z7a_F|_U?>l&YZI|-k-nre*k!fr#bYX*Fefd8X1Pdw!LdxE!*9+ zR=MN(O@_?8aD`f6=q;A&eaNEEK+Z%zOor!<*S2KG7p}6}LQ3JeR#QmFYjUA1$^Bj7 zaBF#e#o8caP1!1tOFp+1U*#VIE)~HC^rcF53bn9yphU~s*r+a728rQ$6L}OEvdUXi zRA!T*UaXzAYNZs_3Ux-fVYNXMLl~xNTejRX$Ig`65=3(G z^oLEYea+RD*L-XHcAG2i6Yg;Fh#rJ9R%IB8`G@^U=whBG+a1yP6FCpiy3@muTk`_n z;V*^OIC0DX&T2Gj%E7c37Clc%<=dTzv&?5Olf!M?F)(Yw!d-@|T?T&OD$(Xv#3W8( z=xZFHFzhA82zS@p;Z_v*%66MAE~jdqw-ai7wIk490rj4NbOe27Nv zqJ5f?0SwS>a*a|n>>RB+*(mSh9Pov*4wl=>x#$|4JXj4Jx9m&(o?! zWy>@B7&$IKl9c@;DT_%=5rJ6JBmrn)(=jKD*6=*aUtydiC>`M`(E?##~2GtbQK+>f7!-vKZN$%~6 z61NuDSF8;Z)|9Opa-&|h6`$YJntXYce{6862&Uo7ltRJJp`k?8+Stf1<}_xPi4?jS zl2u!(O~F6CAeX+tQi&S3@{UxtqjJ4OtJg#y`WX_+T~n0X7Q_2=;k;7KWdc~gNI`rb zb+P{hjWBz;k8oS<|UQOyk(e7|Jjfe z%AVO|hz6un1>x}5jard=>vpk9W#}!qCA+$5dqT^hGO8+q@_%)HeW9zf%vHrLzp*{L z#ufJ{et-IecKLTX&oB^D^IO?MnYlXY=2HldNO=^kc{_EK5aQTHq`SK2HoOvlDRd3S z|MLK5G#d5w=+$-4yRMSTv+DsTnTq3960^8%;EsvAxW_Qs%+PB%K6;R8=)%xmJc`1w z-%3_EyY3FR0>dTSDOb51FSzbbqn>La9$xPjP3XA3SLcgdmON2cuGi|aKrd9bD#94= z{tnWLe(Y6+^-kacLr*Xla?OXIVle3IWH9rN!#y97O9OKZ6U~yGLeT(?vyszHsTV;# zsOAY8lAy0wPdzHx!Dwi%oyKTC z7MS8Hu8~AeerV?JbnpnS)4n}IYJCXw&`cXAJdHF5>GOqo3w8 G4E+LIn!#@X literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..2286aba770896e0870d8635e19bf0057924b7896 GIT binary patch literal 1821 zcmb_dZBG+H5Pr6{Tw4!XQA7m+U%{02kctZ;>T%y6twtYwf!#z5A@ahMEqj@Pne+ZV2~T0%Sfp{}K`yXf(P34@45sXp^C|Pz>GQ9Z@u46ow>hHOu%Eh+~Q-!}1-y^-n z8bdN9nX3wyzv{H=++VfpO`<(m^&Godvwfk@kua$?1jRjn^!!t6yyR-bYrM97yTujv z$?vH`kFo@vT45N9Csu6o{wPP-f<9JOyu5*e<3Zu3Ph9bdGS=f_PJ=;g_{AoB6+(@Q-jY0Z_sgO#SYVU(_JqkoG;35-YT+Gv9I6QL?D z;3A#KC~(b!opzqUCE8~aB-WR}37S}!2~Q)<(5h99(hkY-mA3yPn4wC9aDqnAWDoNp z;LD-RM=(Vo8hw^losV>BdIx9svp*f`>=8`k3JMf}rj=rJ03D8_7{z4Kswt&P-(Va> zC>42Rl$BBskNc*T1 zo8l-7Z736{&DnxcpNT0QJk8P71T0q~(@0>^?EMJac^KsA{NGLyLwt@=>DK9b4hqfn zGB0hJq57z2p?A+D3s9p}1Z#?gbDxgK-OjJOI6-Dd*U;(-^v3sZ zm+cu70{tX;vZ6)Nv&YTL2smz0;EecGFda){-sIcji}kMLOIzXY5LFZkg{>aE_+&LUW#K* z4kLq*h9;6RKAFWO)au-u{Dlanw2heMrK+MI!z{1GD&A`LJ$iNQdvobR9 rf`#}P_<=$KKp`duL7);L24ScYP9~5N1`)6_Q3f#-oj{H_SdRn%HA72^ diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/ReadStatusService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/ReadStatusService.class new file mode 100644 index 0000000000000000000000000000000000000000..d08d431b95f06f4092a1d84ca0b79eff92051649 GIT binary patch literal 936 zcmbVLO;5r=5S^{k3Vwj1C?55K7x(4`HQ^%~5)1}JqqnuY!jjTzcT422dGH7Lqm0u6 z0WFb)L(}Z+ym@cl%zk};d;-7)99m!yIJ3PzRj)Nvzp*WbHUob5Q3=0dG z#%)*c8Z%6l2;CHKfl#`*tXRt*6(F!N>lK0Pm_N%>q{G4`$C=E5z|oxA(_z#l_JdZn zWXHuB`{>Z)LcsX~3+E5(5_$6C9SJAmelN*!j5oFs*A zYI%Wgi!141OS#w*pN1Bg1PH9)ivTcjrxRe}*}_xOfVJ=k;i{)#eH>2U;G)nbY)wO$ liCJmLfDwT)D+F)jXTT0#Wnp(--95-ni|k`IKA{Mc{{gM>4fOy3 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/UserService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/UserService.class index 7b217e56bcd8542a65c63d831207512f6c94362c..4487eec9fcf17f1071c8a8446af2a0f1e02a5fb0 100644 GIT binary patch delta 317 zcmbQm*2czl>ff$?3=9mm3}O?x!kKb3CJQpkP1NO(bP4g-4=qkD0u#J&xM8I)RFke^qaI@yZRoH1Z>5hF;6 zDpn=dcGipxY^4P$i6yCw4D~RVNTDbW1xq8Gq5w2b3`GUZM(fF;Oc9Z+j0_wM3@nTc zoD5tHj125RuL6a*!9qL?yg(s7pb!%SKTwGPgCIf)M3)eQFhU5Z3&;@xs}}_T&hJVd literal 794 zcmb7C+fKtU40X1(-G#v}-1&j+h48*H2?>xU4Kb-2?^zp0rZ%mTbQ8bE10TRgA>4N2 zqDp9cuoBxR$H$I8KHuH};2JI*C=s~wqLAuX32A63v=))1zR+Ieb783FY9%~QXLxb* zy8{&httDGA8Zfz_kMkw>3<29yoEc7F-kbbnU4zVv!8Vcp;}c3NYMJWfh? z6JU)_ub+39QBH(5D6i&Lx&@K_CjxahN|eX%MSzgjuXVaicf}?^pp07yVBvOIV59G# z*DOO7j~ZGX(#31Q-X>)cXl9{(IKWT~Ath)dqyyazq+LlNaENwnNJ7L za+?@0@3>G#XiWHmvyew)HhP}Oz#=$-mfT8&WoP&&a{qC(M!(LcALKld#`e0uATmRY z3t`p}J@R!Y?Q1OVx#m-8r8Wqz&Y1}17ZnMF+s-g^pI8+#-yifhzOAGP=cd%lFhpo} zx@+X2qIV!vJvELfK26CC3WBqZ-g!Y>Cz**X?zfHN_Ot1$W%|7X@!#0%xtSjvxf3#^ z{1IBku%8fWUYzJa-l&iy?ZS$kr2pd}AZ*dT0ywmB6>z9_sj47sL%M`jsI6K%S!);e fs8uIb3HC|SfPtEhG>5S;?VH( literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicAuthService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicAuthService.class new file mode 100644 index 0000000000000000000000000000000000000000..4d893f3f83115dc756e31f50996521d0204592f3 GIT binary patch literal 2539 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 bEBvYKd6g30!F%`+A8{weosaP;&SC3+n|z%J literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicChannelService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicChannelService.class index 97168774de0f3fbd17628010cebeb4b6a486c385..c05e998e631ef3ee21b360b3ec44fc0bc51d86b5 100644 GIT binary patch literal 9069 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 C*mRx% literal 4062 zcmcInTUQfT6#h;K1cm`Zya3fAT2w;75yiF|MJ}S!Mz99swc25F0wa@|bY=q5`^8>t z`vbcAE84YMt-4m*=dS*yuI@84z(8U&4}BPNX3p7rfBV~)v-$hqr+)xAgCAmuFr+lA zs5m8CH(jNuJC1IdN?vy~E6;UT;ijv*Ys%D;YMR`Tzz~(uh$e=n)4Hjz0qCs1 z!_cYuUR>cN%h6rSUSmkt#%^yMU8i7EINgeNbi@#s(TN1Z$(s0TX(Cb`b%itBu8Yca zvNrgwvGd^Wl(7rD8JY{anV(#n$uk@p@S{<7bwjy&b>-l&<#%t(jhzTDj41-J!gk8$$j!W(^bc=L8EMovkO6PJZueub2 z!-3HkWv7UKO2!a|86PF!XJDJZojk+S0Vaixi~k`x^IXmN0^2 zF&vjMiW3a+?NvfPt*Azs&lNVq7WO_&NKjV^MDT`;H*u1otEevXDa+JU_nPi5(aLdE z({;8f3nZ&3lW+uSQU0eHc2%J%nG>Xp$vBH~A|=la?(*l7l9MorsTj@)jniA)^`l9N zHjvE4aDm}?&DvV8{p|(cq}kky>4UoJ>g8KhUG+y*K1EHHp(CT4e70O%;P$+_V9=LD z#?n+Hr`o!B4?afSC7oh3UfamJ@6YXfX|n55)1`8%t!Zn!@JJw0Q!RP`x91|MZOwB> zvvn_ZDK&%c$}n7y9nurO#N8z;e_6H3mdkB&Ix1?H;cR6o)v3EBKqWd|Jk-~`x@2g{ z>Wil8mTmHJqM}QjuFKdMxuR77eyOXjE;~fE$yaB+xU|#iTsR6%e$g?sWnEQUzND6d zY#Mt(3Dmlu(#agdo-1XV1&VyeT+tn!(saT!Emsvio&uK07*=t?T2?M_liO5ud19l( zP>TzBwcl^8{UZ#c75s!dbM>xBirNB2A}jijQftXtWn1Itbx}OsRWAD@B3&7J0?fH8 zhzBy3z32}FeO+h#qhoi8$`f? z%>vQQ6>FI*8P9o=Pz$Q&PaCb2-UvcNxN&oTxr#ZMXZ-v4V3?#KEYsObp zR>7s!w@O!XpPuhyeN@R3j>DZ8zGXOA;dHf>iQzkj-r7fL=JE3j z`-$aAnuX5OlMur;&3etWzK9tbAKs!jldkASF#$dUyOA0ievF1w(ZOF4>xn)=TLeGT zUIcH`Ux|L{9O>vmhE}7#94=v&-o(xvE|YGtdIwj6(^*Vxa3Peps8L&J}7s4A}sVg*Q&CxgUXiu@T0@tfN4CKY%?W^gCqH-)<%zunlem0#iO z9eVE4!|)!)1Ee+~75pXxq=OOsgq_cD?M3fdR(kvEm(a>t53-61AI*<#6L3M;32+8&wt!hRM!9i diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class index 8a8914a383e513d84280f828e71a8142d31410de..a31a00fec9ebc0c279619436ca5fccb7783352ab 100644 GIT binary patch literal 7348 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicUserService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicUserService.class index ca67b042b309557e3fbdc127b26ac597b070ddd2..5aa2e6883fd48f6b8fd6e85e37f6467b25d5cbb3 100644 GIT binary patch literal 7579 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 delta 34 pcmZ3@F`JR=)W2Q(7#J9A8Q3Rsg-+IHHsoetU}Rtg3NbOT0RXHW2H5}r diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/UserStatusInterface.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/UserStatusInterface.class index d86d510000c46850669fc6dcc6354efe90aec940..4303243167dbbe3eeba6d9ee80888fa5ffe14dd2 100644 GIT binary patch literal 776 zcmbtS+fD*85S^}E1aAml;0FxE#6D_*nqZ8{CKwC^-h3##1*^L)X}cJH%?Cfgk1|dn z>Kc3?`mmSIOwXJ-bKc%xUIE|&YI*PooCYeUW}=0(G#17PC21&3ph7MzHI~`L(7xfi zH~;me<$A;do`(#9(j%KP8ZkMho#7)7EP;$+Q%>Nl-d+Wmg<%@K*%%<`Ew>LUyknZh z9J?6;#pH_sf%TD);nmC!2^`hia|VeO5$*T=>t-Vr=u9k5!=feuPhfSSC&m)z(a7(9 zrJLt}8sZWg78fL)a0GIWzT=yB(N+`@DA&_W+rn79wsS@lW b(4w@Ar4`uw26iYO?9bl^aEM>mwF>Y7sa@J4 delta 45 wcmeBRo6X2|>ff$?3=9mm4D1uRLML-Esfn>MGB7eQ1I0jqk%1LRGBL0L0PVO2od5s; diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/BinaryContent.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/BinaryContent.class new file mode 100644 index 0000000000000000000000000000000000000000..b9e3c9ec738f66b038501672daeb7ea84a5e3896 GIT binary patch literal 1131 zcmbVK+lmuG5IvpDBqlq%xolQV*4uhb;$>b$gjHdUtOT+uYVzKhX|la$dStq@;G3VM zU=V!p1Nai<`u*c4fTw5{kwG>O$AgO;L-~ZCa(~R#$bUUN z5rJXIJ&{V9XAIe9Yf!*B6!Iu~*nr3ID2O9pe@vt@ek8S)vGPNygE$n@_}XwY(LN7D z?LU`_C!ad8GC~n(MutSzOW7tyj{SbW`(odsZ+R%8%uomt!HozHD0_RBXk;Y(t|C}v z(%h|@{Rn?@av6A3NTIv15p0uYfyUp&QzsXBY zBqm3OIcI4}2?@pvcIFJT&%85d_V=HkzW}_%eg-kjr4ToeK$4+wX~Fc|iGe%}hO0^v!kFTzmxp5=(J=Q~_TE0nez zgqH0%p>@J-=Tx5=V#1+HZCz?0g==*>t=9(%oimVE+~gqSLCaC0MFT|@O7|{o&*N?s zT{5tYvWf=WmfSfcp{0l@MW0(OkBWOzLstw`b?)HGiEpX{znkz(8L+3uMg2z4F>#nsF~)+3%I8i5BF&YV)P9p=}EgxUQF$twzP2C(u!$I>!U3#4B2_m zC~%MR*Xi_yY>Mob`2)<{9wKG#46$JD4pA_x@gYiPH8DiRtR{!3ebbyeJvWI1EFn&d zoF;A#6_l_-t6D`JH9W#9HYnq5L?^wQbfP+1Ez_RTt9sZ{p9to(r!>d4r&K4jr*tRr zfc$EbUI#S_dIeOPLiAgsAHzc`8Z~uHR)Mpsp_+PB#>#WL(mJv0$dJYjN-Rg|w<@!w zsZ2;!Gr{Pf_>a*T@hv*3782%nq`s09BbK@g6*M%_h!RG`=ICFOEW`Fx(845WVJ2v2 tDyT3C%FP7rVsA=orAbhJCdir!s!W0kGeJ+Lf@+hX#hIX|H1Zgp{RK8$4B!9& literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/UserStatus.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/UserStatus.class new file mode 100644 index 0000000000000000000000000000000000000000..68a146493637efac687708cbd7b0a2b0f4482b22 GIT binary patch literal 1952 zcmbVMYg5}s6g_MFz_u_C14#;@fb%e>jrvNP)+CJ!1e^%SgvWuph z^e6N~U!<9S=nv?R>h$c&jvbc{o!BGYy?1xdo_qIP{q^@Be*(CThXtfCl0(`+23diL z=k^QRY}@`*bMN@M+lmFUYtonT9f6VR%25HM$mdWnP=p~+(#t!sY@3IN%?*J=|J&zK`bC@tNi7A0kTY+arC!zFX)00so1K)IH)CwF|#%2`TaVIiu$BE3t z$PM?kFOZTBnVtnbZD2;>W;#{xMSHJ-$7C@?z+*R4-|<#C2OQNK(9H}QE6Ul_QB zF9oLh#q65g50m z@9uWIV>djokK2q)SwYKgAK9T)em9topGmU4X}yCKnajkE8$S!2hjwUtF6&6BY~Z(f zv~HNk0>#9&q$jDJQlbs3tA+n6JJZNKb>k+5KKF?CNX<6=7c!D0-thf^oj_Ueuqmq@ zc*nu_=9cTb6pQPSRGwQ^!>H{B$LoFVD)+D_Pm-hC=Q6t1B6HpBh5eutw%mJC6>hxW zeK*v#V~G+@Q50D=7In-~N;R~$Y(Q<j{5l!x$%JZ_VPH%n8hV`RB5pCR zX16s^^Gu-fFi`1Sp!=9RgVFpj(D=DP56%Qy90r;=7sxsjs4@&Rc@EGhc67beWiIQh cq!6a@$!mP}E3T=#6j~ff#f$WI8B1aBAJ|WE+W-In literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicChannelService.class.uniqueId16 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicChannelService.class.uniqueId16 new file mode 100644 index 0000000000000000000000000000000000000000..97168774de0f3fbd17628010cebeb4b6a486c385 GIT binary patch literal 4062 zcmcInTUQfT6#h;K1cm`Zya3fAT2w;75yiF|MJ}S!Mz99swc25F0wa@|bY=q5`^8>t z`vbcAE84YMt-4m*=dS*yuI@84z(8U&4}BPNX3p7rfBV~)v-$hqr+)xAgCAmuFr+lA zs5m8CH(jNuJC1IdN?vy~E6;UT;ijv*Ys%D;YMR`Tzz~(uh$e=n)4Hjz0qCs1 z!_cYuUR>cN%h6rSUSmkt#%^yMU8i7EINgeNbi@#s(TN1Z$(s0TX(Cb`b%itBu8Yca zvNrgwvGd^Wl(7rD8JY{anV(#n$uk@p@S{<7bwjy&b>-l&<#%t(jhzTDj41-J!gk8$$j!W(^bc=L8EMovkO6PJZueub2 z!-3HkWv7UKO2!a|86PF!XJDJZojk+S0Vaixi~k`x^IXmN0^2 zF&vjMiW3a+?NvfPt*Azs&lNVq7WO_&NKjV^MDT`;H*u1otEevXDa+JU_nPi5(aLdE z({;8f3nZ&3lW+uSQU0eHc2%J%nG>Xp$vBH~A|=la?(*l7l9MorsTj@)jniA)^`l9N zHjvE4aDm}?&DvV8{p|(cq}kky>4UoJ>g8KhUG+y*K1EHHp(CT4e70O%;P$+_V9=LD z#?n+Hr`o!B4?afSC7oh3UfamJ@6YXfX|n55)1`8%t!Zn!@JJw0Q!RP`x91|MZOwB> zvvn_ZDK&%c$}n7y9nurO#N8z;e_6H3mdkB&Ix1?H;cR6o)v3EBKqWd|Jk-~`x@2g{ z>Wil8mTmHJqM}QjuFKdMxuR77eyOXjE;~fE$yaB+xU|#iTsR6%e$g?sWnEQUzND6d zY#Mt(3Dmlu(#agdo-1XV1&VyeT+tn!(saT!Emsvio&uK07*=t?T2?M_liO5ud19l( zP>TzBwcl^8{UZ#c75s!dbM>xBirNB2A}jijQftXtWn1Itbx}OsRWAD@B3&7J0?fH8 zhzBy3z32}FeO+h#qhoi8$`f? z%>vQQ6>FI*8P9o=Pz$Q&PaCb2-UvcNxN&oTxr#ZMXZ-v4V3?#KEYsObp zR>7s!w@O!XpPuhyeN@R3j>DZ8zGXOA;dHf>iQzkj-r7fL=JE3j z`-$aAnuX5OlMur;&3etWzK9tbAKs!jldkASF#$dUyOA0ievF1w(ZOF4>xn)=TLeGT zUIcH`Ux|L{9O>vmhE}7#94=v&-o(xvE|YGtdIwj6(^*Vxa3Peps8L&J}7s4A}sVg*Q&CxgUXiu@T0@tfN4CKY%?W^gCqH-)<%zunlem0#iO z9eVE4!|)!)1Ee+~75pXxq=OOsgq_cD?M3fdR(kvEm(a>t53-61AI*<#6L3M;32+8&wt!hRM!9i literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId8 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId8 new file mode 100644 index 0000000000000000000000000000000000000000..8a8914a383e513d84280f828e71a8142d31410de GIT binary patch literal 4506 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 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId3 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId3 new file mode 100644 index 0000000000000000000000000000000000000000..89e51a43026ba90c3a592b142a095a33acf466ca GIT binary patch literal 2061 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageRepository.class.uniqueId9 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageRepository.class.uniqueId9 new file mode 100644 index 0000000000000000000000000000000000000000..b375d195af428751583eaaba64c96d013bb86d71 GIT binary patch literal 6592 zcmcIp2Xq|O6}_|C)kv$6C1i}Xwu5oSYF;pyqO}dS3YM*gB+JN@c%&W4V~uu}-B}ls zkWd0Cq&G+}BuXKPNkA5MKqMiJKoZgm>Am+tnsfi3ncW>pcJMjLIo8hKKkvW)-n;j` z_y79Qe;<1Yz-A>9MF=G-!WtqdRZzWOKcL4gJvA2Z8QyP z(=y`i{OB^WS$)jt%fC`k-gebMTX%m)Pq%`a&VniZ4)u;D%22JKEXU2)C(TS0HCU+P zObv^0R>1Q9!&%3eP*5>uIK3G=ZDgFo3f8WhtFdnGl#1G*GP!pdmMEwcwl^hpM{k4iH1wjtl*51jG;S5tC=Cy?Tjfb z>3dqcpG0|L-e9WOAo zpAgRN(Qq}cVX1R$@tXPXo8c{>5xa4n0OFY>jpv~Mu5M6;?!(AQH`v8{M6nkmVl_RC z6;>CENF4WKRKpk;&WeK>(=q%Kyr?*&K9MpXYKEhlH&;>{oHCf^!OaBMWG^ z?X=suRI(_0Zo};=UZCNHc#+RrNfx&-=@xgjN4s;DB~ob?b^SQI1uw9SbT|)pXm|-; z%5G?}YAJ|&80G7e;HaN*a&=bnE$-4TQ3C}p*YFCwk}4cSs7S8sJY_q1T3s}-hH*0tc-pV${Hml&0dH2sRIQjO%)wgSS2kw@s-6?Sj zRv0lS(R`PNNxYkKNy9Q6a$)iOcn*qs@m>w@6D_>VvE2eEO7QzNd;lNhq>)NyMg3F| z$Xi!Z_Nsds)TfK|JjbL;zcLSsVo&^1v{eAotqdoG6OE3YdY-_-5S(0rugnn zDimGhl3L_rp&2Cv5%-yFfvx`w9pQ2q3}>I6?A0?o z_Ko!a1pB#TR^omZ1&I+ea{79;arpVuvfUX;iMuwpj2D>#Bfqy?U}avd<8A@ z7n0L*cdp{|PFkUaq5XC)Ghzs|$z1W6Q$^MbC`k?P#5rhYO_qqQDIUXh(J@GyhE6*( z=HBVXMn!5Kv@_#zUac~Q?Ho=U@xs-OXjE^rZHFyRPrKQitt!QjqxcDas^VwjfcbL; zs|y|5OdYVt4bcpFvvbd!?YcOFvqjwLMNE>?6Lghs*HcMe7gl%L_INIxaCu#PoGqFO zEF7S{^N4$Q3aKI3?~C_t(JiZ=$1z?&f5}Fsi0d!C`*jq*!EaUkPQ&l<2L&tVc-JY( zK-2Y6-?s`@xWc!`{{NnyG7N#2Zg7jE6nHH|=w1IzPU3A5Y{#OOFa!uJnSBBJmM_~jwYxcZgb>5a;{bbZ4VdZy6dbsW2g z8Xo|EXgG>%yN_eUB}OQYFNW{^<24z@{L?k4}(-mp-Bd03&XR5>mDXG!d$rnAH&D#wc+7W zBD~LsD~(6+2}Y=#m%vX_TS#K0BYJ`xMTn7#r7Cu)*sb#JN4%^Plr5e0g46O{*;5F$ zOPR9SiwgqVBiQ@R8~{oPG2Su=Ox`s2tAHF-!KYz`mC zp`lp#C~jcX8T02njHO*-aFc+GAjy%|tj0=Xs(_?)MnHIT9!!n`U{0b+DBUcTUN+M> zjprX>ESred7W#KNqrRQbl^DP^d|rnUjPkh<8Qu>Q-t!jPFDTl~lm#|0o)^%c3;FgU zuDqDqF6F418aGl;Gc|4G`c2f(jDys26W@po+D?`>5%167Q8H&GdhuC2Mm!HPYo_ox zM~qP(#oIj6hj1%CM?6E^^G1nhiNtfiz>~y~uzlW#G^g@*>qDx}eOHX?6#?XnRRn;2 zqM|tQzCgg=$0% zAgNa}KyG-?mPy>o%GgGVx3lc@@_j2MuEZ*)lV5~Zd88NX8;gn%E66Zu2-m`|QvcWR zbYN2AI^qm-MwITa{I-@rG$o$lm9 z0c5SW(=^^0s2ZXOmlE*Gyx&Xs9i(0ZoXeG(==)k_Jbpc9%%SdOsD3(;?9{Zs=-s)3BS* zo0z>fHyx3~NmQ^zitI}@&2)(ulPK?QWYJ7D&J>|sPCu5j%vmgH>scl(`m&0?TbxVC z=O(6M3%`S@v6D0I^A^6}DZjf2YZI!2sLRi@3r_YT@2xS u_&%Rv#Si%WA^(;U%^&gmFYqgl{)j*0Z*ue${(*nv1SQy^X;?@JBlaII@7&J- literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileUserRepository.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileUserRepository.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..1b599aeee7c0f7a61a8a40637f795754032a9f40 GIT binary patch literal 6550 zcmcIp33wFM9skW{lSwuc5`#(>P$44bWW_3KmVgiv2X-u&PH`u&gh zhDV+{@*seAr8I;9N>l_jl%h;Q%|3m<9!ct{u}J^OJ|k``C|hr)OnZZZl7_~ia+E6w zuE`pi3WQLpLeo%%MG7{?t%*oBoiS5(WWvm5O)C{inAy0MFibm=G16Anw5`m+$f%h# zB3=C1NhSmNbp;ijR}6Oc#k%|Z6x8+<^oZGHIuDGk(})W+9vNwsB^J~OVFm^lz7I_ZDWg>VUSxHQ)n`9QqqsZ zJi4GWRjl{yCQ#k|os)4xx<&;vYH1-5267CS2_yeLgmzpil5!LMTa4!5-i&oXA4wX~ z#-R|FphLqJbShBy>&cwaKRPGYohf$k~>7&E)sga5qqiUARU7aV>+!HPCz4IHW@NVC16X>|z-q>_J@YriJ0c?qU*& z;~tD^7z5o|c_3rjhF5$~D|V@eC2`+_eHz9^#V(B}t*oJfCC{k{661W7gph=#AuZyl zN>3zWxpbPY%o+({*glaGSq-*G&oV=1p^E(s2#K_7XLl;^vk-E)Mg=Qs*rRZ?^3hD< zxx(h>6+)MsiYTPXlej^{3-Ce(A)=A+EcTZ^*W?f;g|0d5Q*n!e6@|Q!1+>qyyR2L) zQItKm;x-j8*6H#q&A|JcpYA^;td+!h&w!d=PSo3V4t&%jDkyCvn0_19NmnY&w~aA@Fop!##rNKtxu>HluO<(PGS9&2;K_DkB* zre&inA2m~n%?CxZJ8u7y+2PeFiYu`MHp}uFIcgV|QlYh=3Fm2q)_w{Xdf6HBHIm#l zVT@M!QSnk)jFQaoboq9HI&ntQCwm~&Gb z8x{F?z{-qAcxTEOmVGd7L<)B@f>5*BvTU|5J?*4ywz>>I3*qPZg^FK_!{e_MtSWS4 zGqv9uH$nj^+m7dccROAEAF=tr8orAsYVZWhQFkh3WaNp?$f}Cs-Rp|=S}0;vr9{D*^KkN! zvc)^$g_RT<;1TQ)e{01xm-nDr@ezY-ALTp%6&0NGdkB9&#+6TS7U0<5bQnrgt$H6S znrf?Oa7yU|STbBv8;%VJYnM&qjMxm$z7LH}_oA`n0kqB_awnF%PZ!SMqFqy{>N$$` z;pW5GIC~G-Ux-b-zC}@jdnsTw1p}udNQFZDvT-g>Cq*4;mXRuqPAo+q&cJ=7I-M$Y zl71RgN+^dJ+|Tg{|7s98#tn)}F8tw@J|J#U{1xVG>6&lAN+`L z7+3cl#h&5T!x(7`hJ&Oq!og{nQwX<}x-+eJI@>yp>!wiG7IY?>pbD3Y zcfnb@lib<`w~e#ShX~n9`YggL&swbGJwM6wStoip_F;e?NYY{zZ5_A`zhb2Cr#pkFY@mC(=SkARum0p2RtgqDx*36x_?kIA@tu9gr+JZ+hIUEii z#`W|%eg6E1u&h^1ZWM44BstUC)Nol?6_Aw83J7n?gUOi>%qdh0rtOmH#@Ut`yyy^p z*-ErF(7sFQ^=%yMF^H=;UV}JBIW9(qcfY7R-c0>Ph_*3h!7obzTtIs+NJqg13kSpTWzTj^LFd!CxyP?@lp$Yk)uRWDP7-BXR(Px}FYm z+;!ak^E{6D4Ea&%{l?14ssdP4C`O0v%8}wp-OHmPG1sP!&!qM;>7`b}!{Ka4mnCqD=iNj4;sR^noE&X(GQxuFb-Ry1Y_#d8KNL5}k$m z7@6=RI}@F#Zg)#^LE)N^Xn|BjWM_g3my+#Hk%~=TDiWtj(KW8`ZE@1DkK>KZ-kVwv z$>|g-St3RDrCMiu#fvFa^tG^Prdno;P_CdIXQ7cv)x=`9mg6F#8Rgi>Uooy{8g_65 zQ{ytOIOENHf0=xCMlT8LWhv<dX0s#D2w=C75ODEc}S@s;4HhzrWSTO$x|w5n26H*kJkjm ziN*0a&2{>r)_gzS&yPi{WOo-L(P@NT`EUn&hSO=qOvD~9h4=y86u=MhBaULnk2(H? lf6IyHPx<_7{Fbx7;BWY+oIQzu<0%{?1v@kq3n)Q^p9cQ6%*_A* literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelRepository.class.uniqueId7 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelRepository.class.uniqueId7 new file mode 100644 index 0000000000000000000000000000000000000000..3f485685484ea3304100c9c255901d741f905c24 GIT binary patch literal 2171 zcmb7_TT|Oc6vzK-0}8eX2Am5?n&uuGCsCVwVoCxgBqRos5TMQEWw94nMwUF%nhD=2 z5A96S)a^{C&;3xHo|P0NgYgV6l6H0W_dk0syZ`?8=idN+!p|9`kT%d~q8|ecxoy6~ zEt@-=*3$a6s40elN$E&6#gHx(R}CCv7zvD8O4`;7?r$ydW(Ee*gUG@(Fl6F5h8dpL z+=k^hJ?SW`A$?!Ej#Za_&8-WmEKf9DUnuz&DR-53&jL>Wo3T0oW&`eHZX4D49+qP zb*R$*n=J~*!$P<$5u@_KnTVY<()904oX7WsA}1KGbwPDmn88I{GH}_%6&USFZS!+4?NvI!j+rS+YcX5y5RE+AdBbsun(x+H;rc2KS z-ajz$5RVwLHP=yGI{quM%W$Gw0N(2alubU7p=d8$n1U!h*nU-7CkdkDb+n* zX&Ld6*7@O{#}2yuo{ojOuqi%=nyiw^vfJ`%VovIlW4zlrd`ovHok3Z;Dj3}v)QtLs zr}q=OLsEE(0s5xvgPzkgGlMjJ0lA5N81RQZ;0_0%MtTQueJXHi6$Ck literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageRepository.class.uniqueId26 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageRepository.class.uniqueId26 new file mode 100644 index 0000000000000000000000000000000000000000..f0f5a0c1ea0226ddebd1b342440262e7e45943e7 GIT binary patch literal 2171 zcmb7_TT|Oc6vzK-0}8eX2Am5`oBPGaNtCp?)|7-xNJwl*LVzTbm&IOS8Cmj3Yo>gs zJhU@y61Ov*KKDa)a#m8148}9ONZQre-~a5n?Ed%vU;hC31#dG*A#I?~L_Y=?a@%}| zTQ+w#t)=yCQBw>9lhToDiXmMnt{OPTFcKKGl(em9+~2D5W(Ee*gUG@(Fl6F5h8Z5$ z+=k^hJ?SW`A$?!Ej#Za_&8-WmEKf9DUnuzEz}uC3&jL>Wo2QmoW&`eHZX4DJDgz{ z>QJTqH(L~r2ZeB1B1YwdGZ8y!r0GAHIE!G&_iF2jj#0eG(yP&P5C6ENV3hPxvSP+dRlSwD$F?NXtG%W~7< zs^wAG7ZdeFWjdJ{2IW=hsnc1f<*722|19;2E`RBW#a3focyGc4k5=3ow^z9*^*EaB zQ(KbKH`7}tv7N*EPAmI-hm=1Qdc*elTs)FBgV6|Ep5ew3SLUihZMpTA+~WkGs_Ho*#ex2@U4qeVi zr)9*iw9XIrJa*9K_jD}Og-!7})MS-Rmfe2;hVZU=?u!!Rl(@apk~x3 zJiQ;$9g@Oh4A3`SAM~82nHi+%3&>4;2AlXB#=FlL{1chq1M3-j9w!T62z>!(7_&4o z!!?-06B;qh<0-KOyH@R20KsDwUW vO8A`Ji%1p+d}erqm54hRam|SPa|&y5{=#qI0V2NEm)dF))YI0tHV6txMFJ>DP=8yJ1(vzoW$reN{7?O% z&e&?&nNEN1AJyrzcPDp&kkKD9lhToDiXmMnRt=nB7zvD8O4`;l?(Zz|W(Ee*gUG@(Fl6E+h8Z5! z+=k^hJ?SW`A$?!Ej#Za_&8-WmEKf9DUn6cQ9zLryvOa9@EOi@1ZLK?Z7KkgA?pd;FmThv zEm#cs*pJwVIKJ`(Z!nzi;Doc*TJR^K?%)RlKbp9Udkm*zREHhWlv|NL#i}!1dM@z( zfr*Fsi6L8a9mS>NFN%GJQ{4jaRwtlrVp1nyz!MF3PZ*$zzTdNW5+!=LHV4<_w!>A+ zqnIxyiirwzGBFHltI|^>QK99jGFAO7^@px{>4@c4V^esq!qkpd+#0v5+>?47P4=lB zNr{{8t&!MB*Iv`IKHnqRYN0nN>22}LO^M$MTCnsrYjR6M?YQ+9+~WHZR-;ns4Ve6Lk9GPC?cfue`f{qH33S@D4YbjoDu8lWSaexv&IruQ`6 z4=Fsx0DaTdK+h*MGlMjJ0lCsgu+m>J-h9O1@5sCltY_$Xk}QBB^aY$@%+kmV*I*7$ zX~Zy(Ux=-F3uK+5_ekjjG82CwH_^s;8XFV8(PWC`0DVINW8_pmfQ^R>A{Z^jGr}-D zC#!x&1Ff)#3X!$KQ!yI?(98PUL-Ja#}E8yT_9U3H*HK}%7X3S1RQ}G@(MqjRK_*n<mi7FmyaO2os$Fa8 z!MYAU(5I8KA033<`0zsq*G%&MVJl8<<2pXJaKph(+&V^ioPm_9@B6ad(<2+n9}8l& z{KUelz`U8WAG!_I^<~@tLGHE5QK4tHP1V(88cm2Tf$7aKCZnl`m8bUfpAfh{njz^h z&2V~OZVKc!sS$zMx*w>A{m!21K8_2RtB0O!HzkW=LCIk*I`G-fa{YhkjXf5&6$jaR zB)hVsBDN%ur$lO0hC{pghR!3YzacdC*&R-ucSA#l#Lf@JI7)32cF3u~2|_j!GD%BJ zVTzVyXnH7ipq?LPn3cf`Gwq}V0r7-HG$QGJw=EBo$=Hps-}TgeUz6t~S8YXeOS#YR z;~;Pw7S7@hzZL@PWG#bF_|N-m)>O8!6q&IUu(8yqu~a1OB(ZsH5ce5(KO&19ZK?7H zMCBE%0j6nAy~LSUI5)sjr8+>da%F&OWqE*=-%O-UKF_ljV1ek<`~va9;|$KRy34%4 zMJ(bj-&W$-xQF}PF^j%b%&%9vs*G9by0Un{^>mgF;4AR@P?Y!_4xhSEmsSJwmESS_ zD;F8)DkjX~1(Qv?(jmzvP{S5a(%_{ucxf#7i?QIVX>f5YxQ^{HnTu&~bu9Sd*q*Ct zusasKGZws(245QseuOU*S^PvovK(e5yH@=R3snxi_!1xe0^8^zx3>5*3Zpu?s)dm? zl*Gcg!ALhL&0CbmZHi-!l2|9ZpPI}UgBU?g}jUg~belJ1tYg~(s?;1BRe8D}Aa zhG^u_!+Y~)=FN28KVIJeoZ~P=z;GIwgu9_tsppAuPMMU)%0(uY%5y7+#wl;?gtw)0 zqAzdfOo(-c(m;#_*COrn&f`Evo?+dIv1E9twf-zEQ?LBIZ2fp8H8pNa|7_wLVMQXn zw2mQ6W)>MXo>UrNPMR^pQLQz#IPyyKUaxsYofbrA=xJb~>kNS+b)l>JsqiC91N8ot zdA5@83u+W*<{DZvlxyF;w3PD{ZY+_jwWQ$&aZ3^vRm((*{BD{z4 SBAcW{Rj~hqB5*LxuYLl+!^mU+ literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId15 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId15 new file mode 100644 index 0000000000000000000000000000000000000000..95cd735b15918928bd15a1f022d166fb900a51e5 GIT binary patch literal 744 zcmb7C+fD*85S?<_W$}jK^$+01eee-4AsQ1Bh?)()*Y3EKEM3xeG5(qlet;ikoLwMD zHZkF$Y0va@=FI7Q|9pM{z%`t^P-1W?lBsWIS}N;Lr7<#5ekhGdLX_4wsOM6kKSX1A zguw#3P+`!R@HzKmt|I^Ob%Me&aD+x~kpXWH*0+JBEv8 zKUPAzRDXzeoPYamd22D-7WbwL zL$ai9mb4eg44UoEpDqW|SkmbQGE&^8ntbUM2v=KmeM9-2bQb0&KNq?vn!ascb%pPD zD-)d%V{(>3t5B))!k```sTTMkCda*tcfQ;@@s+T( bY0O^E+6!U-mmQX(B@kBgg=K`z%m(cjv-T^W diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/User.class.uniqueId12 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/User.class.uniqueId12 new file mode 100644 index 0000000000000000000000000000000000000000..d7bfdab271868ab3a4956c4a95fbc23d1efd759a GIT binary patch literal 1943 zcma)6ZBrXn7(F*HED0M36w-=qt!b*^Qe`nfeR- z3;HW`#?+1<{OAXNi$B3}JooMfLMG0b%XGB4_{byUtsL6?b!ahKs1}HB{7bKhNO-O=mL`}yzARdqgvg1AdvJ- zr{T7O%}h2|J|D1_z$B(Lq;*VVMj%^vTSlkt*^Y0t>`upa9iw4)>TbibeZz8m+ka(L zJC-L9u^TLJ_`D=$F{dG;<038zOsjOh-Li}=r{kLr>yJ9_iNIXHmcfT>5UasUwRz7G-4IYMFLZ zj?~a`OJUn)r*qC&x7`RbC-D(hG<>Y%HdfD(9h^?Gt#7+#vm@s9)03+S#5Sl9fvK|XSdY7{L(6*>6fskF>#V_KB`hj*#{6TOE#=GqS8Z%Ey<_>u zZe!2%$b`?HIBp7Li@MNhH_pgBRrwj6K}@wjc7X{(q>KYvXZuJD zYkM7+vB1>>KFtSbV-pX#V;1>3F~3~Nsv>G7>x$xYu2WG4fRDg;hl<1_=)B894O$6| z=YK)!CoUq8Rg5X;HI+?OzZeN#8U|-ag3H($k$GVlTpS60 zJQ7?O2HzS9-W>@p4TG0Qg7;2k@fQh^--UzdO04h)G6hb3;Wd_j#Do$=Y$aBtyGVB- zbW4fQy-4>W-KEeiMML*o><6R=g|#G=6jdCqAjS18c7Ug$!VXYT3X9@7o}o%j)`(0X_BZB5CNtfa S-V=JC@~ZF>_>%Vsp8pH&G;-Vk literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserRepository.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserRepository.class.uniqueId0 new file mode 100644 index 0000000000000000000000000000000000000000..f9039ee194488a453d07d71ba82dc265ac9f15eb GIT binary patch literal 691 zcmb7CO-}+b5Pe;N75qZ*;~yBj*qaxWL}N@yFc=6Nyw%-`C1p$6E|I_H!5`p{GR{I2 z3DMx8hxg{q%$u3Mf4sf{xWsXYfZ;qcBksmlC7zFzbIK$)!Ifn93Oa#{=8SwVwP)431=fp%Z^lPm@>&nC{Kd)IoU0+Hq@1%b=@x8EOB)znb zTBhWTVe?5P@%6MBGn~{~GiRw+n)iCm8|twj+G9^c3SDOi6se0{HAsX{E&1-Om3gtg z;|6sJGiO&?GgN9njkJ{W6mG1L|EynA@Tcv3a z)#YoSW!oz-Fl^A*0rGVGJPL%v4AJtD{f8n-2)?K-ifq#hutT9;?2&qo%Y^q)S!9!x Os45PYC<2GG{G(5NWWYrL literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId23 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId23 new file mode 100644 index 0000000000000000000000000000000000000000..7b217e56bcd8542a65c63d831207512f6c94362c GIT binary patch literal 794 zcmb7C+fKtU40X1(-G#v}-1&j+h48*H2?>xU4Kb-2?^zp0rZ%mTbQ8bE10TRgA>4N2 zqDp9cuoBxR$H$I8KHuH};2JI*C=s~wqLAuX32A63v=))1zR+Ieb783FY9%~QXLxb* zy8{&httDGA8Zfz_kMkw>3<29yoEc7F-kbbnU4zVv!8Vcp;}c3NYMJWfh? z6JU)_ub+39QBH(5D6i&Lx&@K_CjxahN|eX%MSzgjuXVaicf}?^pp07yVBvOIV59G# z*DOO7j~ZGX(#31Q-X>)cXl9{(IKWT~Ath)dqyyazq+LlNaENwW{XJOq=^qR=ib>n=bk(F?$2M}e*k!j$3>)&&Ld+XiyXt$iF4-IeMcVI zuev9^rxx7*EU48_2auJ6T8xmIso4cIAQ z5~Vz*EKH-!u+{TDJ3I}9RJJF=Q25ezMcDIQE|eWAM@6Bngvaf6$b&=UGo*w|N|UH( zEL1gbE~4pP+92u|tV)rQ3<`&Tj~BuzM~cNjAJ^nMJb zmXQ2qLi>Zmj5-z}!*=UGda*-&c)``N@4j{d$K#3zM3p__ zs!1(ccoRuoLQ|fJP*BD_DShf8b(x~dt-kMd{rC0(mpst#MQjDSs#~qETV(HFzPfhX z7Z1xYPHyYZixv<4DCqI$LYG;(9F|Spa;#7rQZ(;b+G*~{O6fThyIt=0*c|$fGPqBQus(sg>9C6e4Xbtu$jStu>3gWLL9viGbD;tyNm5Ke z8WdrZr%AJoFPQj5Mv7SDN5=u-)tdg6b9-~RVIxiKLgiYrjj(Znxe7bbv ejj(Rgn7!1Y7sB>WxSN}jKv+yS<`GsC3zT1@TrFt; literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusService.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusService.class.uniqueId0 deleted file mode 100644 index 56c32f25ecef374ab1e1a959b2be9bb71acc238e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 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 LN1yOLCiwj~4%;^P literal 27177 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 diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/DiscodeitApplication.java b/discodeit/src/main/java/com/sprint/mission/discodeit/DiscodeitApplication.java index 4f8889f3..2dd07968 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/DiscodeitApplication.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/DiscodeitApplication.java @@ -5,13 +5,16 @@ import com.sprint.mission.discodeit.entity.Message; import com.sprint.mission.discodeit.entity.User; import com.sprint.mission.discodeit.service.ChannelService; -import com.sprint.mission.discodeit.service.DTO.UserCreatRequest; +import com.sprint.mission.discodeit.service.DTO.Message.MessageCreateRequest; +import com.sprint.mission.discodeit.service.DTO.User.UserCreatRequest; import com.sprint.mission.discodeit.service.MessageService; import com.sprint.mission.discodeit.service.UserService; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; +import java.util.List; + import static com.sprint.mission.discodeit.DiscodeitApplication.JavaApplication.*; @SpringBootApplication @@ -44,7 +47,7 @@ static Channel setupChannel(ChannelService channelService) { } static void messageCreateTest(MessageService messageService, Channel channel, User author) { - Message message = messageService.create("안녕하세요.", channel.getId(), author.getId()); + Message message = messageService.create(new MessageCreateRequest("안녕하세요.", channel.getId(), author.getId(), List.of())); System.out.println("메시지 생성: " + message.getId()); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java b/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java index 64701487..d3f90d08 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java @@ -11,13 +11,13 @@ import com.sprint.mission.discodeit.repository.file.FileMessageRepository; import com.sprint.mission.discodeit.repository.file.FileUserRepository; import com.sprint.mission.discodeit.service.ChannelService; -import com.sprint.mission.discodeit.service.DTO.UserCreatRequest; +import com.sprint.mission.discodeit.service.DTO.User.UserCreatRequest; import com.sprint.mission.discodeit.service.MessageService; import com.sprint.mission.discodeit.service.UserService; import com.sprint.mission.discodeit.service.basic.BasicChannelService; import com.sprint.mission.discodeit.service.basic.BasicMessageService; import com.sprint.mission.discodeit.service.basic.BasicUserService; - +/* public class JavaApplication { static User setupUser(UserService userService) { UserCreatRequest request = new UserCreatRequest( @@ -52,4 +52,4 @@ public static void main(String[] args) { // 테스트 messageCreateTest(messageService, channel, user); } -} +}*/ diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Channel.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Channel.java index ea38d555..780d2ee0 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Channel.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Channel.java @@ -11,7 +11,7 @@ public class Channel implements Serializable { private static final long serialVersionUID = 1L; private UUID id; - private Long createdAt; + private Instant createdAt; private Long updatedAt; // private ChannelType type; @@ -20,7 +20,7 @@ public class Channel implements Serializable { public Channel(ChannelType type, String name, String description) { this.id = UUID.randomUUID(); - this.createdAt = Instant.now().getEpochSecond(); + this.createdAt = Instant.now(); //.getEpochSecond(); // this.type = type; this.name = name; @@ -31,7 +31,7 @@ public UUID getId() { return id; } - public Long getCreatedAt() { + public Instant getCreatedAt() { return createdAt; } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Message.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Message.java index ea55dcd0..e7ecde0d 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Message.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/Message.java @@ -1,16 +1,18 @@ package com.sprint.mission.discodeit.entity; +import com.sprint.mission.discodeit.service.DTO.AttachmentCreatRequest; import lombok.Getter; import java.io.Serializable; import java.time.Instant; +import java.util.List; import java.util.UUID; @Getter public class Message implements Serializable { private static final long serialVersionUID = 1L; private UUID id; - private Long createdAt; + private Instant createdAt; private Long updatedAt; // private String content; @@ -18,9 +20,9 @@ public class Message implements Serializable { private UUID channelId; private UUID authorId; - public Message(String content, UUID channelId, UUID authorId) { + public Message(String content, UUID channelId, UUID authorId, List attachments) { this.id = UUID.randomUUID(); - this.createdAt = Instant.now().getEpochSecond(); + this.createdAt = Instant.now();//.getEpochSecond(); // this.content = content; this.channelId = channelId; @@ -31,7 +33,7 @@ public UUID getId() { return id; } - public Long getCreatedAt() { + public Instant getCreatedAt() { return createdAt; } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java index 17b662c8..96e553dd 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java @@ -12,7 +12,7 @@ public class User implements Serializable { private UUID id; - private Long createdAt; + private Instant createdAt; private Long updatedAt; // private String username; @@ -21,7 +21,7 @@ public class User implements Serializable { public User(String username, String email, String password) { this.id = UUID.randomUUID(); - this.createdAt = Instant.now().getEpochSecond(); + this.createdAt = Instant.now();//.getEpochSecond(); // this.username = username; this.email = email; @@ -32,7 +32,7 @@ public UUID getId() { return id; } - public Long getCreatedAt() { + public Instant getCreatedAt() { return createdAt; } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/ChannelRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/ChannelRepository.java index 326a84f4..01a241c4 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/ChannelRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/ChannelRepository.java @@ -12,4 +12,7 @@ public interface ChannelRepository { List findAll(); boolean existsById(UUID id); void deleteById(UUID id); + + List findAllPublic(); + List findPrivateByUserId(UUID userId); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/MessageRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/MessageRepository.java index 1477de72..c9a52b90 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/MessageRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/MessageRepository.java @@ -2,14 +2,21 @@ import com.sprint.mission.discodeit.entity.Message; +import java.time.Instant; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.UUID; public interface MessageRepository { Message save(Message message); Optional findById(UUID id); + List findAllByChannelId(UUID channelId); + List findAll(); + boolean existsById(UUID id); void deleteById(UUID id); + void deleteAllByChannel(UUID channelId); + Optional findLatestByChannelId(UUID channelId); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java index 47002e0b..99583217 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/UserRepository.java @@ -13,4 +13,6 @@ public interface UserRepository { boolean existsById(UUID id); void deleteById(UUID id); Optional findByUsernameAndPassword(String username, String password); + boolean existsByUserName(String username); + boolean existsByEmail(String email); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.java new file mode 100644 index 00000000..5aeebfa1 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.java @@ -0,0 +1,67 @@ +package com.sprint.mission.discodeit.repository.file; + +import com.sprint.mission.discodeit.status.BinaryContentInterface; +import com.sprint.mission.discodeit.status.adds.BinaryContent; + +import java.io.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public class FileBinaryContentRepository implements BinaryContentInterface { + private final File file = new File("binary content"); + private List load() { + if (!file.exists()) { + return new ArrayList<>(); + } + try (ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(file))) { + return (List) objectInputStream.readObject(); + }catch (Exception e) { + throw new RuntimeException(e); + } + } + private void saveAll(List contents) { + try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(file))) { + objectOutputStream.writeObject(contents); + }catch (Exception e) { + throw new RuntimeException(e); + } + } + + + @Override + public void deleteById(UUID id) { + List contents = load(); + contents.removeIf(binaryContent -> binaryContent.getId().equals(id)); + saveAll(contents); + } + + @Override + public List findAllByIdIn(List ids) { + return load().stream() + .filter(binaryContent -> ids.contains(binaryContent.getId())) + .toList(); + } + + @Override + public Optional findById(UUID id) { + return load().stream() + .filter(binaryContent -> binaryContent.getId().equals(id)) + .findFirst(); + } + + @Override + public void save(BinaryContent binaryContent) { + List contents = load(); + contents.removeIf(content -> content.getId().equals(binaryContent.getId())); + contents.add(binaryContent); + } + + @Override + public void deleteByMessageId(UUID messageId) { + List contents = load(); + contents.removeIf(binaryContent -> binaryContent.getId().equals(messageId)); + saveAll(contents); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileChannelRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileChannelRepository.java index 70ad9484..958a5575 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileChannelRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileChannelRepository.java @@ -98,4 +98,14 @@ public void deleteById(UUID id) { throw new RuntimeException(e); } } + + @Override + public List findPrivateByUserId(UUID userId) { + return List.of(); + } + + @Override + public List findAllPublic() { + return List.of(); + } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileMessageRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileMessageRepository.java index 624a6256..d0d217f0 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileMessageRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileMessageRepository.java @@ -8,6 +8,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.Comparator; import java.util.List; import java.util.Optional; import java.util.UUID; @@ -98,4 +99,24 @@ public void deleteById(UUID id) { throw new RuntimeException(e); } } + + @Override + public List findAllByChannelId(UUID channelId) { + return findAll().stream() + .filter(message -> message.getChannelId().equals(channelId)) + .toList(); + } + + @Override + public void deleteAllByChannel(UUID channelId) { + findAll().stream() + .filter(message -> message.getChannelId().equals(channelId)) + .forEach(message -> deleteById(message.getId())); + } + + @Override + public Optional findLatestByChannelId(UUID channelId) { + return findAllByChannelId(channelId).stream() + .max(Comparator.comparing(Message::getCreatedAt)); + } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java index 51eb115c..e1db5b71 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java @@ -99,4 +99,21 @@ public void deleteById(UUID id) { throw new RuntimeException(e); } } + + @Override + public Optional findByUsernameAndPassword(String username, String password) { + return Optional.empty(); + } + + @Override + public boolean existsByEmail(String email) { + return findAll().stream() + .anyMatch(user -> user.getEmail().equals(email)); + } + + @Override + public boolean existsByUserName(String username) { + return findAll().stream() + .anyMatch(user -> user.getUsername().equals(username)); + } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.java new file mode 100644 index 00000000..0fde6fbf --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.java @@ -0,0 +1,39 @@ +package com.sprint.mission.discodeit.repository.jcf; + +import com.sprint.mission.discodeit.status.BinaryContentInterface; +import com.sprint.mission.discodeit.status.adds.BinaryContent; +import org.springframework.stereotype.Repository; + +import java.util.*; +@Repository +public class JCFBinaryContentRepository implements BinaryContentInterface { + private final Map store = new HashMap<>(); + + @Override + public void save(BinaryContent binaryContent) { + store.put(binaryContent.getId(), binaryContent); + } + + @Override + public Optional findById(UUID id) { + return Optional.ofNullable(store.get(id)); + } + + @Override + public List findAllByIdIn(List ids) { + return ids.stream() + .map(store::get) + .filter(Objects::nonNull) + .toList(); + } + + @Override + public void deleteById(UUID id) { + store.remove(id); + } + + @Override + public void deleteByMessageId(UUID messageId) { + store.remove(messageId); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.java index 0975bb25..a8f089bc 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.java @@ -39,4 +39,14 @@ public boolean existsById(UUID id) { public void deleteById(UUID id) { this.data.remove(id); } + + @Override + public List findAllPublic() { + return List.of(); + } + + @Override + public List findPrivateByUserId(UUID userId) { + return List.of(); + } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.java index 1455b10d..1c2fc241 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.java @@ -39,4 +39,26 @@ public boolean existsById(UUID id) { public void deleteById(UUID id) { this.data.remove(id); } + + @Override + public List findAllByChannelId(UUID channelId) { + return this.data.values().stream() + .filter(message -> message.getChannelId().equals(channelId)) + .toList(); + } + + @Override + public void deleteAllByChannel(UUID channelId) { + this.data.values().removeIf( + message -> message.getChannelId().equals(channelId) + ); + + } + + @Override + public Optional findLatestByChannelId(UUID channelId) { + return this.data.values().stream() + .filter(message -> message.getChannelId().equals(channelId)) + .max(Comparator.comparing(Message::getCreatedAt)); + } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.java new file mode 100644 index 00000000..2e61fb81 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.java @@ -0,0 +1,63 @@ +package com.sprint.mission.discodeit.repository.jcf; + +import com.sprint.mission.discodeit.status.ReadStatusInterface; +import com.sprint.mission.discodeit.status.adds.ReadStatus; +import org.springframework.stereotype.Repository; + +import java.util.*; +@Repository +public class JCFReadStatusRepository implements ReadStatusInterface { + + private final Map store = new HashMap<>(); + + @Override + public void save(ReadStatus readStatus) { + store.put(readStatus.getId(), readStatus); + } + + @Override + public Optional findBy(UUID userId, UUID channelId) { + return store.values().stream() + .filter(readStatus -> readStatus.getUserId().equals(userId) + && readStatus.getChannelId().equals(channelId)) + .findFirst(); + } + + @Override + public List findAllByUserId(UUID userId) { + return store.values().stream() + .filter(readStatus -> readStatus.getUserId().equals(userId)) + .toList(); + } + + @Override + public Optional findById(UUID id) { + return Optional.ofNullable(store.get(id)); + } + + @Override + public void deleteById(UUID id) { + store.remove(id); + } + + @Override + public List findByChannel(UUID channelId) { + return store.values().stream() + .filter(readStatus -> readStatus.getChannelId().equals(channelId)) + .toList(); + } + + @Override + public void deleteAllByChannelId(UUID channelId) { + store.values().removeIf( + readStatus -> readStatus.getChannelId().equals(channelId) + ); + } + + @Override + public List findAllByChannelId(UUID channelId) { + return store.values().stream() + .filter(readStatus -> readStatus.getChannelId().equals(channelId)) + .toList(); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.java index 36b4d58d..9e5b0050 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.java @@ -7,6 +7,7 @@ import java.util.*; + public class JCFUserRepository implements UserRepository { private final Map data; @@ -39,4 +40,19 @@ public boolean existsById(UUID id) { public void deleteById(UUID id) { this.data.remove(id); } + + @Override + public Optional findByUsernameAndPassword(String username, String password) { + return Optional.empty(); + } + + @Override + public boolean existsByUserName(String username) { + return false; + } + + @Override + public boolean existsByEmail(String email) { + return false; + } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/AuthService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/AuthService.java index fe873c56..ff864fb9 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/AuthService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/AuthService.java @@ -1,7 +1,7 @@ package com.sprint.mission.discodeit.service; import com.sprint.mission.discodeit.service.DTO.LoginRequest; -import com.sprint.mission.discodeit.service.DTO.UserResponse; +import com.sprint.mission.discodeit.service.DTO.User.UserResponse; public interface AuthService { UserResponse login(LoginRequest request); diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/BinaryContentService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/BinaryContentService.java new file mode 100644 index 00000000..e2c9751a --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/BinaryContentService.java @@ -0,0 +1,14 @@ +package com.sprint.mission.discodeit.service; + +import com.sprint.mission.discodeit.service.DTO.BinaryContentCreateRequest; +import com.sprint.mission.discodeit.status.adds.BinaryContent; + +import java.util.List; +import java.util.UUID; + +public interface BinaryContentService { + BinaryContent create(BinaryContentCreateRequest request); + BinaryContent find(UUID id); + List findAllByIdIn(List ids); + void delete(UUID id); +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/ChannelService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/ChannelService.java index eaa8e07d..6bec5d06 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/ChannelService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/ChannelService.java @@ -2,14 +2,17 @@ import com.sprint.mission.discodeit.entity.Channel; import com.sprint.mission.discodeit.entity.ChannelType; +import com.sprint.mission.discodeit.service.DTO.Channel.*; import java.util.List; import java.util.UUID; public interface ChannelService { Channel create(ChannelType type, String name, String description); - Channel find(UUID channelId); + Channel createPublic(PublicChannelCreatRequest request); + Channel createPrivate(PrivateChannelCreatRequest request); + ChannelFindRespone find(UUID channelId); List findAll(); - Channel update(UUID channelId, String newName, String newDescription); + ChannelRespone update(ChannelUpdateRequest request); void delete(UUID channelId); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/AttachmentCreatRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/AttachmentCreatRequest.java new file mode 100644 index 00000000..df246bf1 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/AttachmentCreatRequest.java @@ -0,0 +1,6 @@ +package com.sprint.mission.discodeit.service.DTO; + +public record AttachmentCreatRequest( + String filename +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/BinaryContentCreateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/BinaryContentCreateRequest.java new file mode 100644 index 00000000..7982158b --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/BinaryContentCreateRequest.java @@ -0,0 +1,8 @@ +package com.sprint.mission.discodeit.service.DTO; + +import java.util.UUID; + +public record BinaryContentCreateRequest( + UUID userId, + UUID messageId +) { } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.java new file mode 100644 index 00000000..cbc611c2 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.java @@ -0,0 +1,10 @@ +package com.sprint.mission.discodeit.service.DTO.Channel; + +import java.util.UUID; + +public record ChannelCreateRequest( + UUID channelId, + String name, + String description +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelFindRespone.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelFindRespone.java new file mode 100644 index 00000000..6b098fdd --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelFindRespone.java @@ -0,0 +1,17 @@ +package com.sprint.mission.discodeit.service.DTO.Channel; + +import com.sprint.mission.discodeit.entity.ChannelType; + +import java.time.Instant; +import java.util.List; +import java.util.UUID; + +public record ChannelFindRespone( + UUID channelId, + ChannelType type, + String name, + String description, + Instant lastMessageAt, + List participantUserIds +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelRespone.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelRespone.java new file mode 100644 index 00000000..d608d6ac --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelRespone.java @@ -0,0 +1,17 @@ +package com.sprint.mission.discodeit.service.DTO.Channel; + +import com.sprint.mission.discodeit.entity.ChannelType; + +import java.time.Instant; +import java.util.List; +import java.util.UUID; + +public record ChannelRespone( + UUID id, + ChannelType type, + String name, + String description, + Instant lastMessageAt, + List participantUserIds +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelUpdateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelUpdateRequest.java new file mode 100644 index 00000000..8ec5c8be --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelUpdateRequest.java @@ -0,0 +1,10 @@ +package com.sprint.mission.discodeit.service.DTO.Channel; + +import java.util.UUID; + +public record ChannelUpdateRequest( + UUID channelId, + String name, + String description +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/PrivateChannelCreatRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/PrivateChannelCreatRequest.java new file mode 100644 index 00000000..25c04f09 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/PrivateChannelCreatRequest.java @@ -0,0 +1,12 @@ +package com.sprint.mission.discodeit.service.DTO.Channel; + +import com.sprint.mission.discodeit.entity.ChannelType; + +import java.util.List; +import java.util.UUID; + +public record PrivateChannelCreatRequest( + List userIds + +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/PublicChannelCreatRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/PublicChannelCreatRequest.java new file mode 100644 index 00000000..141fcf56 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/PublicChannelCreatRequest.java @@ -0,0 +1,7 @@ +package com.sprint.mission.discodeit.service.DTO.Channel; + +public record PublicChannelCreatRequest( + String name, + String description +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageCreateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageCreateRequest.java new file mode 100644 index 00000000..ecb971ce --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageCreateRequest.java @@ -0,0 +1,14 @@ +package com.sprint.mission.discodeit.service.DTO.Message; + +import com.sprint.mission.discodeit.service.DTO.AttachmentCreatRequest; + +import java.util.List; +import java.util.UUID; + +public record MessageCreateRequest( + String content, + UUID channelId, + UUID authorId, + List attachments +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageResponse.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageResponse.java new file mode 100644 index 00000000..47dc97e2 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageResponse.java @@ -0,0 +1,13 @@ +package com.sprint.mission.discodeit.service.DTO.Message; + +import java.time.Instant; +import java.util.UUID; + +public record MessageResponse( + UUID id, + UUID channelId, + UUID authorId, + String content, + Instant creatAt +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageUpdateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageUpdateRequest.java new file mode 100644 index 00000000..df217ddf --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Message/MessageUpdateRequest.java @@ -0,0 +1,8 @@ +package com.sprint.mission.discodeit.service.DTO.Message; + +import java.util.UUID; + +public record MessageUpdateRequest( + UUID messageId, + String newContent +) { } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/ReadStatusCreateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/ReadStatusCreateRequest.java new file mode 100644 index 00000000..97e0ad81 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/ReadStatusCreateRequest.java @@ -0,0 +1,9 @@ +package com.sprint.mission.discodeit.service.DTO; + +import java.util.UUID; + +public record ReadStatusCreateRequest( + UUID userId, + UUID channelId +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/ReadStatusUpdateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/ReadStatusUpdateRequest.java new file mode 100644 index 00000000..b9c969b7 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/ReadStatusUpdateRequest.java @@ -0,0 +1,10 @@ +package com.sprint.mission.discodeit.service.DTO; + +import java.time.Instant; +import java.util.UUID; + +public record ReadStatusUpdateRequest( + UUID readStatusId, + Instant lastRead +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserCreatRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.java similarity index 64% rename from discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserCreatRequest.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.java index 91dd1ac0..a497e90a 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserCreatRequest.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.java @@ -1,6 +1,6 @@ -package com.sprint.mission.discodeit.service.DTO; +package com.sprint.mission.discodeit.service.DTO.User; -import com.sprint.mission.discodeit.status.add.BinaryContent; +import com.sprint.mission.discodeit.status.adds.BinaryContent; //record 사용시 final(불변),getter 제공-> DTO에 유용 public record UserCreatRequest( diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserResponse.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserResponse.java similarity index 73% rename from discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserResponse.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserResponse.java index 6d2db2ac..26338aa2 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserResponse.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserResponse.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.service.DTO; +package com.sprint.mission.discodeit.service.DTO.User; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserUpdateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.java similarity index 62% rename from discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserUpdateRequest.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.java index 17490826..27980562 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserUpdateRequest.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.java @@ -1,6 +1,6 @@ -package com.sprint.mission.discodeit.service.DTO; +package com.sprint.mission.discodeit.service.DTO.User; -import com.sprint.mission.discodeit.status.add.BinaryContent; +import com.sprint.mission.discodeit.status.adds.BinaryContent; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.java new file mode 100644 index 00000000..fe244beb --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.java @@ -0,0 +1,8 @@ +package com.sprint.mission.discodeit.service.DTO; + +import java.util.UUID; + +public record UserStatusCreateRequest( + UUID userId +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.java new file mode 100644 index 00000000..7f92c9e3 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.java @@ -0,0 +1,10 @@ +package com.sprint.mission.discodeit.service.DTO; + +import java.time.Instant; +import java.util.UUID; + +public record UserStatusUpdateByUserIdRequest( + UUID userId, + Instant lastViewAt +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.java new file mode 100644 index 00000000..f4787cd0 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.java @@ -0,0 +1,10 @@ +package com.sprint.mission.discodeit.service.DTO; + +import java.time.Instant; +import java.util.UUID; + +public record UserStatusUpdateRequest( + UUID userStatusId, + Instant lastViewAt +) { +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/MessageService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/MessageService.java index e7662d0c..6fd9be92 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/MessageService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/MessageService.java @@ -1,14 +1,17 @@ package com.sprint.mission.discodeit.service; import com.sprint.mission.discodeit.entity.Message; +import com.sprint.mission.discodeit.service.DTO.Message.MessageCreateRequest; +import com.sprint.mission.discodeit.service.DTO.Message.MessageUpdateRequest; +import com.sprint.mission.discodeit.service.DTO.Message.MessageResponse; import java.util.List; import java.util.UUID; public interface MessageService { - Message create(String content, UUID channelId, UUID authorId); + Message create(MessageCreateRequest request); Message find(UUID messageId); - List findAll(); - Message update(UUID messageId, String newContent); + List findAllByChannelId(UUID channelId); + Message update(MessageUpdateRequest request); void delete(UUID messageId); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/ReadStatusService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/ReadStatusService.java new file mode 100644 index 00000000..9353e6e6 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/ReadStatusService.java @@ -0,0 +1,18 @@ +package com.sprint.mission.discodeit.service; + +import com.sprint.mission.discodeit.service.DTO.ReadStatusCreateRequest; +import com.sprint.mission.discodeit.status.adds.ReadStatus; + +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public interface ReadStatusService { + ReadStatus findByUserIdAndChannelId(UUID userId, UUID channelId); + + ReadStatus create(ReadStatusCreateRequest request); + ReadStatus findByUserId(UUID userId); + List findAllByUserId(UUID userId); + boolean existByUserIdAndChannelId(UUID userId, UUID channelId); + void deleteById(UUID id); +} \ No newline at end of file diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java index 44953081..4e689851 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java @@ -1,10 +1,9 @@ package com.sprint.mission.discodeit.service; import com.sprint.mission.discodeit.entity.User; -import com.sprint.mission.discodeit.service.DTO.UserCreatRequest; -import com.sprint.mission.discodeit.service.DTO.UserResponse; -import com.sprint.mission.discodeit.service.DTO.UserUpdateRequest; -import org.springframework.stereotype.Service; +import com.sprint.mission.discodeit.service.DTO.User.UserCreatRequest; +import com.sprint.mission.discodeit.service.DTO.User.UserResponse; +import com.sprint.mission.discodeit.service.DTO.User.UserUpdateRequest; import java.util.List; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserStatusService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserStatusService.java new file mode 100644 index 00000000..68091d76 --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserStatusService.java @@ -0,0 +1,17 @@ +package com.sprint.mission.discodeit.service; + +import com.sprint.mission.discodeit.service.DTO.UserStatusCreateRequest; +import com.sprint.mission.discodeit.service.DTO.UserStatusUpdateByUserIdRequest; +import com.sprint.mission.discodeit.status.adds.UserStatus; + +import java.util.List; +import java.util.UUID; + +public interface UserStatusService { + UserStatus create(UserStatusCreateRequest request); + UserStatus find(UUID id); + List findAll(); + UserStatus update(UserStatusUpdateByUserIdRequest request); + UserStatus updateByUserId(UserStatusUpdateByUserIdRequest request); + void delete(UUID id); +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicAuthService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicAuthService.java index 04e72e83..fb3faf91 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicAuthService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicAuthService.java @@ -4,9 +4,7 @@ import com.sprint.mission.discodeit.repository.UserRepository; import com.sprint.mission.discodeit.service.AuthService; import com.sprint.mission.discodeit.service.DTO.LoginRequest; -import com.sprint.mission.discodeit.service.DTO.UserResponse; -import com.sprint.mission.discodeit.status.UserStatusInterface; -import com.sprint.mission.discodeit.status.add.UserStatus; +import com.sprint.mission.discodeit.service.DTO.User.UserResponse; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.java new file mode 100644 index 00000000..f2d9118a --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.java @@ -0,0 +1,58 @@ +package com.sprint.mission.discodeit.service.basic; + +import com.sprint.mission.discodeit.repository.MessageRepository; +import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.service.BinaryContentService; +import com.sprint.mission.discodeit.service.DTO.BinaryContentCreateRequest; +import com.sprint.mission.discodeit.status.BinaryContentInterface; +import com.sprint.mission.discodeit.status.adds.BinaryContent; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.Instant; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.UUID; +@Service +@RequiredArgsConstructor +public class BasicBinaryContentService implements BinaryContentService { + + private final BinaryContentInterface binaryContentInterface; + private final UserRepository userRepository; + private final MessageRepository messageRepository; + + @Override + public void delete(UUID id) { + binaryContentInterface.deleteById(id); + } + + @Override + public List findAllByIdIn(List ids) { + return binaryContentInterface.findAllByIdIn(ids); + } + + @Override + public BinaryContent find(UUID id) { + return binaryContentInterface.findById(id) + .orElseThrow(() -> new NoSuchElementException("BinaryContent 없음")); + } + + @Override + public BinaryContent create(BinaryContentCreateRequest request) { + if (!userRepository.existsById(request.userId())) { + throw new NoSuchElementException("없는 유저"); + } + if (!messageRepository.existsById(request.messageId())) { + throw new NoSuchElementException("없는 메세지"); + } + + BinaryContent binaryContent = new BinaryContent( + UUID.randomUUID(), + request.userId(), + request.messageId(), + Instant.now() + ); + binaryContentInterface.save(binaryContent); + return binaryContent; + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java index 0f9285c4..6e1e7fcf 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java @@ -2,22 +2,28 @@ import com.sprint.mission.discodeit.entity.Channel; import com.sprint.mission.discodeit.entity.ChannelType; +import com.sprint.mission.discodeit.entity.Message; import com.sprint.mission.discodeit.repository.ChannelRepository; +import com.sprint.mission.discodeit.repository.file.FileMessageRepository; import com.sprint.mission.discodeit.service.ChannelService; +import com.sprint.mission.discodeit.service.DTO.Channel.*; +import com.sprint.mission.discodeit.status.ReadStatusInterface; +import com.sprint.mission.discodeit.status.adds.ReadStatus; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.time.Instant; import java.util.List; import java.util.NoSuchElementException; import java.util.UUID; +import java.util.stream.Stream; + @Service @RequiredArgsConstructor public class BasicChannelService implements ChannelService { private final ChannelRepository channelRepository; - -// public BasicChannelService(ChannelRepository channelRepository) { -// this.channelRepository = channelRepository; -// } + private final ReadStatusInterface readStatusInterface; + private final FileMessageRepository fileMessageRepository; @Override public Channel create(ChannelType type, String name, String description) { @@ -26,9 +32,110 @@ public Channel create(ChannelType type, String name, String description) { } @Override - public Channel find(UUID channelId) { - return channelRepository.findById(channelId) - .orElseThrow(() -> new NoSuchElementException("Channel with id " + channelId + " not found")); + public Channel createPublic(PublicChannelCreatRequest request) { + Channel channel = new Channel( + ChannelType.PUBLIC, + request.name(), + request.description() + + ); + return channelRepository.save(channel); + } + + @Override + public Channel createPrivate(PrivateChannelCreatRequest request) { + + Channel channel = new Channel( + ChannelType.PRIVATE, + null, + null + ); + channelRepository.save(channel); + + for (UUID userId : request.userIds()) { + ReadStatus readStatus = new ReadStatus( + UUID.randomUUID(), + userId, + channel.getId(), + Instant.now(), + Instant.now(), + Instant.now() + ); + readStatusInterface.save(readStatus); + } + return channel; + } + + @Override + public ChannelFindRespone find(UUID channelId) { + Channel channel = channelRepository.findById(channelId) + .orElseThrow(() -> new NoSuchElementException("없는 채널")); + Instant lastMessageAt = fileMessageRepository + .findLatestByChannelId(channelId) + .map(Message::getCreatedAt) // ✅ 수정 + .orElse(null); // ✅ 수정 + +// Instant lastMessageAt = fileMessageRepository +// .findLatestByChannelId(channelId) +// // .map(Message::getCreatedAt); +// .orElse(null); + + List participantUserIds = null; + if (channel.getType() == ChannelType.PRIVATE) { + participantUserIds = readStatusInterface + .findByChannel(channelId) + .stream() + .map(ReadStatus :: getUserId) + .toList(); + } + + return new ChannelFindRespone( + channel.getId(), + channel.getType(), + channel.getName(), + channel.getDescription(), + lastMessageAt, + participantUserIds + ); + } + + public List findByUserId(UUID userId){ + // 1️⃣ PUBLIC 채널: 전체 + List publicChannels = channelRepository.findAllPublic(); + + // 2️⃣ PRIVATE 채널: 해당 유저가 참여한 것만 + List privateChannels = channelRepository.findPrivateByUserId(userId); + + return Stream.concat(publicChannels.stream(), privateChannels.stream()) + .map(channel -> { + + // ✅ 최근 메시지 시간 (없으면 null) + Instant lastMessageAt = fileMessageRepository + .findLatestByChannelId(channel.getId()) + .map(Message::getCreatedAt) + .orElse(null); + + // ✅ PRIVATE 채널일 때만 참여자 ID 포함 + List participantUserIds = null; + if (channel.getType() == ChannelType.PRIVATE) { + participantUserIds = readStatusInterface + .findAllByChannelId(channel.getId()) + .stream() + .map(ReadStatus::getUserId) + .toList(); + } + + // ✅ DTO 반환 + return new ChannelRespone( + channel.getId(), + channel.getType(), + channel.getName(), + channel.getDescription(), + lastMessageAt, + participantUserIds + ); + }) + .toList(); } @Override @@ -37,18 +144,49 @@ public List findAll() { } @Override - public Channel update(UUID channelId, String newName, String newDescription) { - Channel channel = channelRepository.findById(channelId) - .orElseThrow(() -> new NoSuchElementException("Channel with id " + channelId + " not found")); - channel.update(newName, newDescription); - return channelRepository.save(channel); + public ChannelRespone update(ChannelUpdateRequest request) { + Channel channel = channelRepository.findById(request.channelId()) + .orElseThrow(() -> new NoSuchElementException("채널 없음")); + if (channel.getType() == ChannelType.PRIVATE) { + throw new IllegalArgumentException("PRIVATE 채널은 수정할 수 없습니다"); + } + + channel.update( + request.name(), + request.description() + ); + Channel saved = channelRepository.save(channel); + + Instant lastMessageAt = fileMessageRepository + .findLatestByChannelId(saved.getId()) + .map(Message::getCreatedAt) // ✅ 수정 + .orElse(null); // ✅ 수정 + +// Instant lastMessageAt = fileMessageRepository +// .findLatestByChannelId(channel.getId()) +// .map(Message::getCreatedAt) +// //.map(ReadStatus::getUserId) +// .orElse(null); + + return new ChannelRespone( + channel.getId(), + channel.getType(), + channel.getName(), + channel.getDescription(), + lastMessageAt, + null + ); } @Override public void delete(UUID channelId) { if (!channelRepository.existsById(channelId)) { - throw new NoSuchElementException("Channel with id " + channelId + " not found"); + throw new NoSuchElementException("없는 채널"); } + fileMessageRepository.deleteAllByChannel(channelId); + + readStatusInterface.deleteAllByChannelId(channelId); + channelRepository.deleteById(channelId); } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java index 9694fb13..29c70069 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java @@ -4,34 +4,64 @@ import com.sprint.mission.discodeit.repository.ChannelRepository; import com.sprint.mission.discodeit.repository.MessageRepository; import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.service.DTO.AttachmentCreatRequest; +import com.sprint.mission.discodeit.service.DTO.Message.MessageCreateRequest; +import com.sprint.mission.discodeit.service.DTO.Message.MessageUpdateRequest; +import com.sprint.mission.discodeit.service.DTO.Message.MessageResponse; import com.sprint.mission.discodeit.service.MessageService; +import com.sprint.mission.discodeit.status.BinaryContentInterface; +import com.sprint.mission.discodeit.status.adds.BinaryContent; +//import com.sprint.mission.discodeit.status.adds.BinaryContentInterface; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.web.context.request.RequestAttributes; +import java.time.Instant; import java.util.List; import java.util.NoSuchElementException; -import java.util.Optional; import java.util.UUID; @Service @RequiredArgsConstructor public class BasicMessageService implements MessageService { private final MessageRepository messageRepository; - // private final ChannelRepository channelRepository; private final UserRepository userRepository; + private final BinaryContentInterface binaryContentInterface; + private final RequestAttributes requestAttributes; + //private MessageRepository binaryContentInterface; @Override - public Message create(String content, UUID channelId, UUID authorId) { - if (!channelRepository.existsById(channelId)) { - throw new NoSuchElementException("Channel not found with id " + channelId); + public Message create(MessageCreateRequest request) { + if (!channelRepository.existsById(request.channelId())) { + throw new NoSuchElementException("Channel not found with id " + request.channelId()); } - if (!userRepository.existsById(authorId)) { - throw new NoSuchElementException("Author not found with id " + authorId); + if (!userRepository.existsById(request.authorId())) { + throw new NoSuchElementException("Author not found with id " + request.authorId()); } - Message message = new Message(content, channelId, authorId); - return messageRepository.save(message); + Message message = new Message( + request.content(), + request.channelId(), + request.authorId(), + request.attachments() + + ); + messageRepository.save(message); + + if (request.attachments() != null) { + for (AttachmentCreatRequest attachments : request.attachments()) { + BinaryContent binaryContent = new BinaryContent( + UUID.randomUUID(), + request.authorId(), + message.getId(), + Instant.now() + ); + binaryContentInterface.save(binaryContent); + } + } + + return message; } @Override @@ -41,23 +71,40 @@ public Message find(UUID messageId) { } @Override - public List findAll() { - return messageRepository.findAll(); + public List findAllByChannelId(UUID channelId) { + if (!channelRepository.existsById(channelId)) { + throw new NoSuchElementException("없는 채널"); + } + + return messageRepository.findAllByChannelId(channelId) + .stream() + .map(message -> new MessageResponse( + message.getId(), + message.getChannelId(), + message.getAuthorId(), + message.getContent(), + message.getCreatedAt() + )) + .toList(); } @Override - public Message update(UUID messageId, String newContent) { - Message message = messageRepository.findById(messageId) - .orElseThrow(() -> new NoSuchElementException("Message with id " + messageId + " not found")); - message.update(newContent); + public Message update(MessageUpdateRequest request) { + Message message = messageRepository.findById(request.messageId()) + .orElseThrow(() -> new NoSuchElementException("없는 메세지")); + message.update( + request.newContent() + ); return messageRepository.save(message); } @Override public void delete(UUID messageId) { if (!messageRepository.existsById(messageId)) { - throw new NoSuchElementException("Message with id " + messageId + " not found"); + throw new NoSuchElementException("없는 메세지"); } + binaryContentInterface.deleteByMessageId(messageId); + messageRepository.deleteById(messageId); } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.java new file mode 100644 index 00000000..8b874c3f --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.java @@ -0,0 +1,96 @@ +package com.sprint.mission.discodeit.service.basic; + +import com.sprint.mission.discodeit.repository.ChannelRepository; +import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.service.DTO.ReadStatusCreateRequest; +import com.sprint.mission.discodeit.service.DTO.ReadStatusUpdateRequest; +import com.sprint.mission.discodeit.service.ReadStatusService; +import com.sprint.mission.discodeit.status.ReadStatusInterface; +import com.sprint.mission.discodeit.status.adds.ReadStatus; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.time.Instant; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.UUID; +@Service +@RequiredArgsConstructor +public class BasicReadStatusService implements ReadStatusService { + + private final ReadStatusInterface readStatusInterface; + private final UserRepository userRepository; + private final ChannelRepository channelRepository; + + @Override + public void deleteById(UUID id) { + readStatusInterface.deleteById(id); + } + + @Override + public boolean existByUserIdAndChannelId(UUID userId, UUID channelId) { + return false; + } + + @Override + public List findAllByUserId(UUID userId) { + return readStatusInterface.findAllByUserId(userId); + } + + @Override + public ReadStatus findByUserIdAndChannelId(UUID userId, UUID channelId) { + return readStatusInterface.findBy(userId, channelId) + .orElseThrow(() -> new NoSuchElementException("읽지 않음")); + } + + @Override + public ReadStatus findByUserId(UUID id) { + return readStatusInterface.findById(id) + .orElseThrow(() -> new NoSuchElementException("ReadStatus 없음")); + } + + @Override + public ReadStatus create(ReadStatusCreateRequest request) { + + if (!userRepository.existsById(request.userId())) { + throw new NoSuchElementException("없는 유저"); + } + + if (!channelRepository.existsById(request.channelId())) { + throw new NoSuchElementException("없는 채널"); + } + + if (readStatusInterface + .findBy(request.userId(), request.channelId()) + .isPresent()) { + throw new IllegalStateException("이미 읽은 상태입니다."); + } + + ReadStatus readStatus = new ReadStatus( + UUID.randomUUID(), + request.userId(), + request.channelId(), + Instant.now(), + Instant.now(), + Instant.now() + ); + readStatusInterface.save(readStatus); + return readStatus; + } + + public ReadStatus update(ReadStatusUpdateRequest request){ + ReadStatus readStatus = readStatusInterface.findById(request.readStatusId()) + .orElseThrow(() -> new NoSuchElementException("이미 읽은 상태입니다")); + + readStatus.updateLastRead(request.lastRead()); + readStatusInterface.save(readStatus); + + return readStatus; + } + + public void delete(UUID id){ + readStatusInterface.deleteById(id); + } + + +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java index 255508f9..75851076 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java @@ -2,14 +2,14 @@ import com.sprint.mission.discodeit.entity.User; import com.sprint.mission.discodeit.repository.UserRepository; -import com.sprint.mission.discodeit.service.DTO.UserCreatRequest; -import com.sprint.mission.discodeit.service.DTO.UserResponse; -import com.sprint.mission.discodeit.service.DTO.UserUpdateRequest; +import com.sprint.mission.discodeit.service.DTO.User.UserCreatRequest; +import com.sprint.mission.discodeit.service.DTO.User.UserResponse; +import com.sprint.mission.discodeit.service.DTO.User.UserUpdateRequest; import com.sprint.mission.discodeit.service.UserService; import com.sprint.mission.discodeit.status.BinaryContentInterface; import com.sprint.mission.discodeit.status.UserStatusInterface; -import com.sprint.mission.discodeit.status.add.BinaryContent; -import com.sprint.mission.discodeit.status.add.UserStatus; +import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.status.adds.UserStatus; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -131,9 +131,9 @@ public void delete(UUID userId) { if (!userRepository.existsById(userId)) { throw new NoSuchElementException("없는 유저"); } - binaryContentInterface.deleteProfileByUser(userId); + binaryContentInterface.deleteById(userId); - userStatusInterface.deleteByUser(userId); + userStatusInterface.deleteById(userId); userRepository.deleteById(userId); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.java new file mode 100644 index 00000000..f4cec53b --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.java @@ -0,0 +1,80 @@ +package com.sprint.mission.discodeit.service.basic; + +import com.sprint.mission.discodeit.repository.UserRepository; +import com.sprint.mission.discodeit.service.DTO.UserStatusCreateRequest; +import com.sprint.mission.discodeit.service.DTO.UserStatusUpdateByUserIdRequest; +import com.sprint.mission.discodeit.service.UserStatusService; +import com.sprint.mission.discodeit.status.UserStatusInterface; +import com.sprint.mission.discodeit.status.adds.UserStatus; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +import java.time.Instant; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.UUID; + +@Repository +@RequiredArgsConstructor +public class BasicUserStatusService implements UserStatusService { + + private final UserStatusInterface userStatusInterface; + private final UserRepository userRepository; + + @Override + public UserStatus create(UserStatusCreateRequest request) { + if(!userRepository.existsById(request.userId())) { + throw new NoSuchElementException("없는 유저"); + } + if(userStatusInterface.findByUser(request.userId()).isPresent()){ + throw new IllegalStateException("이미 읽은 상태입니다."); + } + UserStatus userStatus = new UserStatus( + UUID.randomUUID(), + request.userId(), + Instant.now(), + Instant.now(), + Instant.now() + ); + + userStatusInterface.save(userStatus); + return userStatus; + } + + @Override + public UserStatus find(UUID id) { + return userStatusInterface.findById(id) + .orElseThrow(() -> new NoSuchElementException("유저 없음")); + } + + + @Override + public List findAll() { + return userStatusInterface.findAll(); + } + + @Override + public UserStatus update(UserStatusUpdateByUserIdRequest request) { + UserStatus userStatus = userStatusInterface.findById(request.userId()) + .orElseThrow(() -> new NoSuchElementException("유저 없음")); + userStatus.updateLastView(request.lastViewAt()); + userStatusInterface.save(userStatus); + + return userStatus; + } + + @Override + public UserStatus updateByUserId(UserStatusUpdateByUserIdRequest request) { + UserStatus userStatus = userStatusInterface.findByUser(request.userId()) + .orElseThrow(()-> new NoSuchElementException("유저 없음")); + + userStatus.updateLastView(request.lastViewAt()); + userStatusInterface.save(userStatus); + return userStatus; + } + + @Override + public void delete(UUID id) { + userStatusInterface.deleteById(id); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java index 37ca66bb..88e98b00 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java @@ -1,11 +1,15 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.status.add.BinaryContent; +import com.sprint.mission.discodeit.status.adds.BinaryContent; +import java.util.List; import java.util.Optional; import java.util.UUID; public interface BinaryContentInterface { void save(BinaryContent binaryContent); Optional findById(UUID id); + List findAllByIdIn(List ids); + void deleteById(UUID id); + void deleteByMessageId(UUID messageId); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java index 586c108f..51425311 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java @@ -1,12 +1,20 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.status.add.ReadStatus; +import com.sprint.mission.discodeit.entity.Channel; +import com.sprint.mission.discodeit.status.adds.ReadStatus; +import java.util.List; import java.util.Optional; import java.util.UUID; public interface ReadStatusInterface { void save(ReadStatus readStatus); Optional findBy(UUID userId, UUID channelId); + List findAllByUserId(UUID userId); + List findAllByChannelId(UUID channelId); + Optional findById(UUID id); + void deleteById(UUID id); + void deleteAllByChannelId(UUID ChannelId); + List findByChannel(UUID channelId); //Optinal : 있을수도있고 없을수도있는 상태를 둘 다 정상적인 상태로 만듬 -> null 방지 } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java index 869c0c7a..79e68aa9 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java @@ -1,11 +1,16 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.status.add.UserStatus; +import com.sprint.mission.discodeit.status.adds.UserStatus; +import org.springframework.stereotype.Repository; +import java.util.List; import java.util.Optional; import java.util.UUID; - +@Repository public interface UserStatusInterface { void save(UserStatus userStatus); + Optional findById(UUID id); Optional findByUser(UUID userId); + List findAll(); + void deleteById(UUID id); } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/BinaryContent.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/BinaryContent.java similarity index 90% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/add/BinaryContent.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/BinaryContent.java index a4611e50..0d0d2a91 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/BinaryContent.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/BinaryContent.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.status.add; +package com.sprint.mission.discodeit.status.adds; import lombok.Getter; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/ReadStatus.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/ReadStatus.java similarity index 65% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/add/ReadStatus.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/ReadStatus.java index 15b01cc7..6e0eaac8 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/ReadStatus.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/ReadStatus.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.status.add; +package com.sprint.mission.discodeit.status.adds; import lombok.Getter; @@ -21,11 +21,14 @@ public ReadStatus(UUID id, UUID userId, UUID channelId,Instant createdAt, Instan this.id = id; this.userId = userId; this.channelId = channelId; - this.createdAt = Instant.now(); - this.updatedAt = Instant.now(); - this.lastRead = Instant.now(); + this.createdAt = createdAt; + this.updatedAt = updatedAt; + this.lastRead = lastRead; } - +public void updateLastRead(Instant time){ + this.lastRead = time; + this.updatedAt = time; +} } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/UserStatus.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/UserStatus.java similarity index 95% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/add/UserStatus.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/UserStatus.java index 685462e2..e98fd506 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/add/UserStatus.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/UserStatus.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.status.add; +package com.sprint.mission.discodeit.status.adds; import lombok.Getter; From aa9d990d002d0d50b8c81271b37bb60b4168ec3e Mon Sep 17 00:00:00 2001 From: apple Date: Wed, 4 Feb 2026 13:21:00 +0900 Subject: [PATCH 17/17] 26.02.04 --- .../.gradle/8.8/checksums/checksums.lock | Bin 17 -> 17 bytes .../.gradle/8.8/checksums/sha1-checksums.bin | Bin 74597 -> 74651 bytes .../8.8/executionHistory/executionHistory.bin | Bin 141768 -> 174333 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/8.8/fileHashes/fileHashes.bin | Bin 26197 -> 26897 bytes .../.gradle/8.8/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 23903 -> 25025 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes ...DiscodeitApplication$JavaApplication.class | Bin 3959 -> 3954 bytes .../discodeit/entity/BinaryContent.class | Bin 0 -> 1121 bytes .../mission/discodeit/entity/ReadStatus.class | Bin 0 -> 1577 bytes .../mission/discodeit/entity/User.class | Bin 1959 -> 1829 bytes .../discodeit/entity/UserStatus.class} | Bin 1952 -> 1942 bytes .../file/FileBinaryContentRepository.class | Bin 5678 -> 5608 bytes .../repository/file/FileUserRepository.class | Bin 7803 -> 7803 bytes .../jcf/JCFBinaryContentRepository.class | Bin 3409 -> 3369 bytes .../jcf/JCFReadStatusRepository.class | Bin 4758 -> 4708 bytes .../jcf/JCFUserStatusRepository.class | Bin 0 -> 3361 bytes .../service/BinaryContentService.class | Bin 714 -> 699 bytes .../DTO/Channel/ChannelCreateRequest.class | Bin 1953 -> 0 bytes .../service/DTO/User/UserCreatRequest.class | Bin 2185 -> 2170 bytes .../service/DTO/User/UserUpdateRequest.class | Bin 2374 -> 2359 bytes .../UserStatus/UserStatusCreateRequest.class | Bin 0 -> 1656 bytes .../UserStatusUpdateByUserIdRequest.class | Bin 0 -> 1912 bytes .../UserStatus/UserStatusUpdateRequest.class | Bin 0 -> 1876 bytes .../discodeit/service/ReadStatusService.class | Bin 936 -> 916 bytes .../discodeit/service/UserStatusService.class | Bin 819 -> 821 bytes .../basic/BasicBinaryContentService.class | Bin 4074 -> 4044 bytes .../service/basic/BasicChannelService.class | Bin 9069 -> 9049 bytes .../service/basic/BasicMessageService.class | Bin 7348 -> 7154 bytes .../basic/BasicReadStatusService.class | Bin 5463 -> 5423 bytes .../service/basic/BasicUserService.class | Bin 7579 -> 7539 bytes .../basic/BasicUserStatusService.class | Bin 4590 -> 4618 bytes .../status/BinaryContentInterface.class | Bin 783 -> 768 bytes .../status/ReadStatusInterface.class | Bin 1067 -> 1047 bytes .../status/UserStatusInterface.class | Bin 776 -> 761 bytes .../BasicBinaryContentService.class.uniqueId1 | Bin 0 -> 4074 bytes .../BasicChannelService.class.uniqueId16 | Bin 4062 -> 9069 bytes .../BasicMessageService.class.uniqueId7 | Bin 0 -> 7169 bytes .../BasicMessageService.class.uniqueId8 | Bin 4506 -> 0 bytes .../BasicReadStatusService.class.uniqueId0 | Bin 0 -> 5463 bytes .../BasicUserService.class.uniqueId19 | Bin 3897 -> 7579 bytes .../BasicUserStatusService.class.uniqueId3 | Bin 0 -> 4587 bytes .../stash-dir/BinaryContent.class.uniqueId15} | Bin .../stash-dir/BinaryContent.class.uniqueId18 | Bin 1131 -> 0 bytes .../BinaryContentInterface.class.uniqueId17 | Bin 161 -> 783 bytes .../BinaryContentService.class.uniqueId14 | Bin 0 -> 714 bytes .../stash-dir/Channel.class.uniqueId3 | Bin 2061 -> 0 bytes .../ChannelRepository.class.uniqueId2 | Bin 712 -> 0 bytes .../stash-dir/ChannelService.class.uniqueId10 | Bin 810 -> 0 bytes ...plication$JavaApplication.class.uniqueId12 | Bin 0 -> 3959 bytes ...plication$JavaApplication.class.uniqueId14 | Bin 3433 -> 0 bytes ... => DiscodeitApplication.class.uniqueId22} | Bin 2169 -> 2169 bytes ...leBinaryContentRepository.class.uniqueId23 | Bin 0 -> 5678 bytes .../FileChannelRepository.class.uniqueId25 | Bin 6592 -> 0 bytes .../FileMessageRepository.class.uniqueId9 | Bin 6592 -> 0 bytes .../FileUserRepository.class.uniqueId1 | Bin 6550 -> 0 bytes ...JCFBinaryContentRepository.class.uniqueId9 | Bin 0 -> 3409 bytes .../JCFChannelRepository.class.uniqueId7 | Bin 2171 -> 0 bytes .../JCFMessageRepository.class.uniqueId26 | Bin 2171 -> 0 bytes .../JCFReadStatusRepository.class.uniqueId24 | Bin 0 -> 4758 bytes .../JCFUserRepository.class.uniqueId5 | Bin 2135 -> 0 bytes .../JCFUserStatusRepository.class.uniqueId2 | Bin 0 -> 3401 bytes .../JavaApplication.class.uniqueId24 | Bin 4482 -> 0 bytes .../stash-dir/Message.class.uniqueId4 | Bin 1849 -> 0 bytes .../MessageRepository.class.uniqueId11 | Bin 712 -> 0 bytes .../stash-dir/MessageService.class.uniqueId15 | Bin 744 -> 0 bytes .../stash-dir/ReadStatus.class.uniqueId6 | Bin 1533 -> 0 bytes .../stash-dir/ReadStatus.class.uniqueId8} | Bin .../ReadStatusInterface.class.uniqueId11 | Bin 0 -> 1067 bytes .../ReadStatusInterface.class.uniqueId13 | Bin 155 -> 0 bytes .../ReadStatusService.class.uniqueId21 | Bin 0 -> 936 bytes .../stash-dir/User.class.uniqueId12 | Bin 1943 -> 0 bytes .../UserCreatRequest.class.uniqueId10 | Bin 0 -> 2185 bytes .../stash-dir/UserRepository.class.uniqueId0 | Bin 691 -> 0 bytes .../stash-dir/UserService.class.uniqueId23 | Bin 794 -> 0 bytes .../stash-dir/UserService.class.uniqueId25 | Bin 0 -> 774 bytes .../stash-dir/UserStatus.class.uniqueId18} | Bin .../UserStatusCreateRequest.class.uniqueId4} | Bin .../UserStatusInterface.class.uniqueId20 | Bin 155 -> 776 bytes .../UserStatusService.class.uniqueId26 | Bin 0 -> 819 bytes ...tusUpdateByUserIdRequest.class.uniqueId13} | Bin .../UserStatusUpdateRequest.class.uniqueId5} | Bin .../UserUpdateRequest.class.uniqueId6 | Bin 0 -> 2374 bytes .../compileJava/previous-compilation-data.bin | Bin 29505 -> 29702 bytes .../adds => entity}/BinaryContent.java | 2 +- .../{status/adds => entity}/ReadStatus.java | 2 +- .../sprint/mission/discodeit/entity/User.java | 19 +++++++-- .../{status/adds => entity}/UserStatus.java | 2 +- .../file/FileBinaryContentRepository.java | 2 +- .../repository/file/FileUserRepository.java | 1 + .../jcf/JCFBinaryContentRepository.java | 2 +- .../jcf/JCFReadStatusRepository.java | 2 +- .../jcf/JCFUserStatusRepository.java | 36 ++++++++++++++++++ .../service/BinaryContentService.java | 2 +- .../DTO/Channel/ChannelCreateRequest.java | 10 ----- .../service/DTO/User/UserCreatRequest.java | 2 +- .../service/DTO/User/UserUpdateRequest.java | 2 +- .../UserStatusCreateRequest.java | 2 +- .../UserStatusUpdateByUserIdRequest.java | 2 +- .../UserStatusUpdateRequest.java | 2 +- .../discodeit/service/ReadStatusService.java | 3 +- .../discodeit/service/UserStatusService.java | 6 +-- .../basic/BasicBinaryContentService.java | 2 +- .../service/basic/BasicChannelService.java | 27 +++---------- .../service/basic/BasicMessageService.java | 5 +-- .../service/basic/BasicReadStatusService.java | 2 +- .../service/basic/BasicUserService.java | 4 +- .../service/basic/BasicUserStatusService.java | 11 +++--- .../status/BinaryContentInterface.java | 2 +- .../discodeit/status/ReadStatusInterface.java | 3 +- .../discodeit/status/UserStatusInterface.java | 2 +- .../142aef23-db31-4ca8-b803-41806b7c132e.ser | Bin 534 -> 0 bytes .../2a662d80-4710-4ce8-b160-069648d4ffbf.ser | Bin 534 -> 0 bytes .../37b23785-5bbe-45e5-9561-9c66e5d9f699.ser | Bin 534 -> 0 bytes .../452ce9e8-d8a5-4430-8084-a88655e1f656.ser | Bin 0 -> 519 bytes .../90527fb7-ed65-434b-9c27-d945d54b7b06.ser | Bin 534 -> 0 bytes .../9a23c02f-c6c5-4771-9e34-02e2fbeedb39.ser | Bin 534 -> 0 bytes .../b0fecf43-d8a6-4507-9db8-72556ac67a39.ser | Bin 534 -> 0 bytes .../b880ff84-2d78-4aa5-a0d1-776347e54d20.ser | Bin 534 -> 0 bytes .../c1bbe069-eef3-4b37-92e4-02eca3d0e3d1.ser | Bin 534 -> 0 bytes .../fb481a8c-a89b-4a80-a13c-17d9914218ad.ser | Bin 534 -> 0 bytes .../4c1f0f40-4bc0-4d62-b0ab-85960386cc49.ser | Bin 418 -> 0 bytes .../59dd1d2a-8349-435e-8e2c-a220a5313637.ser | Bin 418 -> 0 bytes .../62ac2f0e-a021-4281-9af2-87df29dd236d.ser | Bin 418 -> 0 bytes .../702bef94-1285-4be8-a0bb-46a7242b0839.ser | Bin 418 -> 0 bytes .../788364a5-360d-4c7d-bc72-e8e7d5393c1b.ser | Bin 0 -> 403 bytes .../7fcc5cd6-8096-499b-a87c-14edabcd69f6.ser | Bin 418 -> 0 bytes .../b32444ff-c406-4451-b8ad-327bcf4ffcbb.ser | Bin 418 -> 0 bytes .../bbdc6ddd-7146-406a-b35c-522ba5e15b2c.ser | Bin 418 -> 0 bytes .../c9254843-f395-45b7-84d5-fcace93ac799.ser | Bin 418 -> 0 bytes .../f87bad87-b9ff-4eab-9112-6f2d6f676fa8.ser | Bin 418 -> 0 bytes .../03b5d5a6-5ae2-4f67-a3e3-d7af23f8c25f.ser | Bin 388 -> 0 bytes .../15750ba7-f0e4-427f-9cb9-d6eff5fc489a.ser | Bin 388 -> 0 bytes .../50bfb8fe-af3e-4ac6-bc55-063601a66dc0.ser | Bin 388 -> 0 bytes .../543d0694-9b1f-43a8-95b7-518723b7f5c6.ser | Bin 388 -> 0 bytes .../6a5584ad-f73f-4cf9-8515-39af13bd3606.ser | Bin 388 -> 0 bytes .../931cdb78-4033-4345-abf8-5d6f3a74c1a4.ser | Bin 388 -> 0 bytes .../b2dc5cb9-1512-43c7-837e-81b54e2c0213.ser | Bin 388 -> 0 bytes .../bd7695a6-3ceb-424e-bc5c-f7f985af4285.ser | Bin 388 -> 0 bytes .../f4de6b18-eeb8-47cf-9c8c-4a279bcd3735.ser | Bin 0 -> 380 bytes .../f98ae396-daee-4c10-9d32-4e18319f5434.ser | Bin 388 -> 0 bytes 143 files changed, 87 insertions(+), 70 deletions(-) create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/BinaryContent.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/ReadStatus.class rename discodeit/build/{tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId22 => classes/java/main/com/sprint/mission/discodeit/entity/UserStatus.class} (77%) create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFUserStatusRepository.class delete mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusCreateRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateByUserIdRequest.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateRequest.class create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicBinaryContentService.class.uniqueId1 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId7 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId8 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicReadStatusService.class.uniqueId0 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicUserStatusService.class.uniqueId3 rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/status/adds/BinaryContent.class => tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId15} (100%) delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId18 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContentService.class.uniqueId14 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId3 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelRepository.class.uniqueId2 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ChannelService.class.uniqueId10 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/DiscodeitApplication$JavaApplication.class.uniqueId12 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/DiscodeitApplication$JavaApplication.class.uniqueId14 rename discodeit/build/tmp/compileJava/compileTransaction/stash-dir/{DiscodeitApplication.class.uniqueId21 => DiscodeitApplication.class.uniqueId22} (94%) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileBinaryContentRepository.class.uniqueId23 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileChannelRepository.class.uniqueId25 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageRepository.class.uniqueId9 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileUserRepository.class.uniqueId1 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFBinaryContentRepository.class.uniqueId9 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFChannelRepository.class.uniqueId7 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageRepository.class.uniqueId26 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFReadStatusRepository.class.uniqueId24 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserRepository.class.uniqueId5 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFUserStatusRepository.class.uniqueId2 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId24 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Message.class.uniqueId4 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageRepository.class.uniqueId11 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId15 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatus.class.uniqueId6 rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/status/adds/ReadStatus.class => tmp/compileJava/compileTransaction/stash-dir/ReadStatus.class.uniqueId8} (100%) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusInterface.class.uniqueId11 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusInterface.class.uniqueId13 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusService.class.uniqueId21 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/User.class.uniqueId12 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserCreatRequest.class.uniqueId10 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserRepository.class.uniqueId0 delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId23 create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId25 rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/status/adds/UserStatus.class => tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId18} (100%) rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.class => tmp/compileJava/compileTransaction/stash-dir/UserStatusCreateRequest.class.uniqueId4} (100%) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusService.class.uniqueId26 rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.class => tmp/compileJava/compileTransaction/stash-dir/UserStatusUpdateByUserIdRequest.class.uniqueId13} (100%) rename discodeit/build/{classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.class => tmp/compileJava/compileTransaction/stash-dir/UserStatusUpdateRequest.class.uniqueId5} (100%) create mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserUpdateRequest.class.uniqueId6 rename discodeit/src/main/java/com/sprint/mission/discodeit/{status/adds => entity}/BinaryContent.java (90%) rename discodeit/src/main/java/com/sprint/mission/discodeit/{status/adds => entity}/ReadStatus.java (93%) rename discodeit/src/main/java/com/sprint/mission/discodeit/{status/adds => entity}/UserStatus.java (95%) create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserStatusRepository.java delete mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.java rename discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/{ => UserStatus}/UserStatusCreateRequest.java (59%) rename discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/{ => UserStatus}/UserStatusUpdateByUserIdRequest.java (71%) rename discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/{ => UserStatus}/UserStatusUpdateRequest.java (71%) delete mode 100644 file-data-map/Channel/142aef23-db31-4ca8-b803-41806b7c132e.ser delete mode 100644 file-data-map/Channel/2a662d80-4710-4ce8-b160-069648d4ffbf.ser delete mode 100644 file-data-map/Channel/37b23785-5bbe-45e5-9561-9c66e5d9f699.ser create mode 100644 file-data-map/Channel/452ce9e8-d8a5-4430-8084-a88655e1f656.ser delete mode 100644 file-data-map/Channel/90527fb7-ed65-434b-9c27-d945d54b7b06.ser delete mode 100644 file-data-map/Channel/9a23c02f-c6c5-4771-9e34-02e2fbeedb39.ser delete mode 100644 file-data-map/Channel/b0fecf43-d8a6-4507-9db8-72556ac67a39.ser delete mode 100644 file-data-map/Channel/b880ff84-2d78-4aa5-a0d1-776347e54d20.ser delete mode 100644 file-data-map/Channel/c1bbe069-eef3-4b37-92e4-02eca3d0e3d1.ser delete mode 100644 file-data-map/Channel/fb481a8c-a89b-4a80-a13c-17d9914218ad.ser delete mode 100644 file-data-map/Message/4c1f0f40-4bc0-4d62-b0ab-85960386cc49.ser delete mode 100644 file-data-map/Message/59dd1d2a-8349-435e-8e2c-a220a5313637.ser delete mode 100644 file-data-map/Message/62ac2f0e-a021-4281-9af2-87df29dd236d.ser delete mode 100644 file-data-map/Message/702bef94-1285-4be8-a0bb-46a7242b0839.ser create mode 100644 file-data-map/Message/788364a5-360d-4c7d-bc72-e8e7d5393c1b.ser delete mode 100644 file-data-map/Message/7fcc5cd6-8096-499b-a87c-14edabcd69f6.ser delete mode 100644 file-data-map/Message/b32444ff-c406-4451-b8ad-327bcf4ffcbb.ser delete mode 100644 file-data-map/Message/bbdc6ddd-7146-406a-b35c-522ba5e15b2c.ser delete mode 100644 file-data-map/Message/c9254843-f395-45b7-84d5-fcace93ac799.ser delete mode 100644 file-data-map/Message/f87bad87-b9ff-4eab-9112-6f2d6f676fa8.ser delete mode 100644 file-data-map/User/03b5d5a6-5ae2-4f67-a3e3-d7af23f8c25f.ser delete mode 100644 file-data-map/User/15750ba7-f0e4-427f-9cb9-d6eff5fc489a.ser delete mode 100644 file-data-map/User/50bfb8fe-af3e-4ac6-bc55-063601a66dc0.ser delete mode 100644 file-data-map/User/543d0694-9b1f-43a8-95b7-518723b7f5c6.ser delete mode 100644 file-data-map/User/6a5584ad-f73f-4cf9-8515-39af13bd3606.ser delete mode 100644 file-data-map/User/931cdb78-4033-4345-abf8-5d6f3a74c1a4.ser delete mode 100644 file-data-map/User/b2dc5cb9-1512-43c7-837e-81b54e2c0213.ser delete mode 100644 file-data-map/User/bd7695a6-3ceb-424e-bc5c-f7f985af4285.ser create mode 100644 file-data-map/User/f4de6b18-eeb8-47cf-9c8c-4a279bcd3735.ser delete mode 100644 file-data-map/User/f98ae396-daee-4c10-9d32-4e18319f5434.ser diff --git a/discodeit/.gradle/8.8/checksums/checksums.lock b/discodeit/.gradle/8.8/checksums/checksums.lock index 008e3a1f9055ab981c8d8d971ace0bf4a7c62669..a63bf6be4b1e2bf802f8bb6ed688d26c3aef14a0 100644 GIT binary patch literal 17 UcmZQ(5V>6>A>+P~0SuS}03J;O)Bpeg literal 17 UcmZQ(5V>6>A>+P~0SuUZ0Uk;M(EtDd diff --git a/discodeit/.gradle/8.8/checksums/sha1-checksums.bin b/discodeit/.gradle/8.8/checksums/sha1-checksums.bin index 10a74e6dfd93526d3377d2dc229c7ff34cac4f57..c939a8aec9cd030f1ce299fcadbc9e2ae21e5f72 100644 GIT binary patch delta 88 zcmaEQjAiz5mJKEnjPjdJB{Z4%&wZ6XrsT!K00NB4shdNkc1tk++^lJA^I@{+T7Gq3 m_6aWO|9c<3Ox?e@c3g@V37Ci>*5#~M(q>TV&>K;V^ delta 32 ocmbPzoaN~;mJKEnjB=YzB{Z2fmq~4sV0<{4@rCMUGh_V^0LZ`$CjbBd diff --git a/discodeit/.gradle/8.8/executionHistory/executionHistory.bin b/discodeit/.gradle/8.8/executionHistory/executionHistory.bin index c07a7e8b2e8372eb92f11955c7b2db73444e72c5..6bee26c3230e01a4991dbf69b3020cc1bab9dc0b 100644 GIT binary patch delta 3006 zcmZWrc|4R`AD?p&5guciLH1#+q3K4wl#)o4GdRN%rcwFk*;)rL|Odj>S)NpkQdzg*RY46Md~)r+$q+>`lA2My+~ zRF*feVvRu#YMTKxl&b_eI=nU+_pP2jd4W?3+4oKS4epH95u~?jd=yMCE=m{X-rI&M zQF_jaU@lUz0gAYjGOQNB6z=uc%JuqwW~?kPO47+-;tCpY57_x=(*L}!ZklY1Bx6JDIkmF z*MM+TZVIHuKNW2aZ_@sd+^7PmV^%;>ms@|K%dmVMJ-*9@UQpR^PzJ3}d7sJA)IYVr7P)A6};p#C3$3ZUq< zKx95n_`F`}R3lvO@zbQ58FQ?c`PeUJ$G2cViWw1NmZz?}>a)Tz&!#AnYw2*fxnd5~ zat#O7=WVj6#0>Z$TQeYy`+Wh*5RU_}Nf@iFx{$rPMzHx~*%!r8&0?4NMl{hg2>FqL zIONBVErEvtX20ke^KX}>>Zr^{!$ukQ&2OnLNkCh~APsHihk^4;VWck(6{PsE4f|5- zDXUHyKN;`z-ceJ{0d1&W5NdztfafTG4g@R!${189oOH6*!JP2mliD3!8KUDG6Tp)n zoaQ+{`hIZkSElg9E z0(JA-q=aVI14%TS12QnX7PRO03pA#p^#Of*o1;&W10CMR4rFzw>odeBy)R9I)Bm;g zo<}v1*csr44L6kZBn}vWLoYMhHpJ){lJ_mm;$?*EgVf+b!2sTp5^*D=$>(n`H?Vjp zUk>VHAIZfuMoDn@4e|^ML#Z}^MlYA2@MOnYdyLpmbUTY=a(hVDb0PFh4#q^MeZK~l zxp}h#11VUJm7C_z!!O$1B2_OX3G~;GkPhdUfaG~KePbm|_75NJdbl5CywjGJE3rR! zYP6z(RUih^zH9CqcXJwNL*KdTMm1HZ^1h2@elN+08RC2t39PWUa#=tjP^pcfw@m!vzwlhPH%Kj>mS5qS1pBJIyXl?w{OanC@bUT9-mC8sB;2FWwTme|FS#4Z$fa za$un~B(4B|qZim$_mwzkrioB!EBnIhZw!;hR}A#U8pxxE3J`O=NH&Q}gIsI#joKFaP>zWLoo9nDlb3^bQF~m`X9{fE70reNMsL)_E=L~cM#=QeERs~F&CTb@(T|`>YRA4n*~Q^6 z{{A#=<#LQPj;}_eN>Ev6spY9V+YE!1EGoM#b|(kttTAKdVo^QK`$%PI9CS&iGfSlMYvrpE9h%cc?%~fK8c)jfqFF*EkBen!id9 zslX#uVHluCR9KXFp7_O+*UWwOBG=SymYnhohC~@~lachRtVUc>5iHUXbW zD^4W}@hcwL)iTvHLS4&}zTEOShC&|gg@*#gGN6i_h|%7VQOg8@Cu+i@PPJboW67eX zmViQ}fYmhe5*i;?2KtnSOsJbS}=}uWnS)c3hUD3zgos_;9 z(%2zJ6rkYDKGb|`z}X_p$1C?r%P9g{R^6%jTlv!+yr+5B86WJ@P+k$BBNuhZqVLz{ z{SsHFO6Ntp28)FeuN? z(_Auh^&%oos7k(n(;LqSzE@8w=?0I=5Oxk|(l?A32WAMh>_0k5>&esFo%t6ztC&T| z{v2_hK41RQc5m8ltxK}X@rV1W&^ywKkRcN)MqAt54~iU-sP<}4C>|0$yZbq5oE9K* z4|`?$_;vy3nQ-+IOb^cw%kYEn-=AS%0`?c1Yu zoq$I64=c7Dyn4U1XoTVa^ZIQBG;@^+bLGs0He9orKDZi3BI4iIgoP~kdrdYU|7PL4Z8_I)!VtZ;17%9N>{>?0t`$+b Y?vHPXdM)1FeXRac1FL1>125X}f3D{&LjV8( delta 465 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 delta 1907 zcmZXUdsNJ67{`CV-%K^t5F#@r&2(j_M${;m+B!nW)=b()A;oltDXfMpHKP>5E_o{= zZAlmhE5B}*>7wXz+C>u^CAT!KRlg@Zw{Nc6>2yQT_;O+nmZ99R;j)TkWsxe$Nl~{4`1g9K=!54=*{64Q51Eo%NAlJDL zPjoqoVPn(E_@5@1c^)^%1A|*JURUg=mPqBW?^cdIcd0JF13}ON$E=;c2x()t;DTkQ z81EZDR&fw>D)PR;PkT?0?L?@YP5gZ*mFX}pUd~3Wjed|uLORfDvm1PX2eRDlGt?jjNOfC35zIs zzZB>~g>0zW0U2l(RUlAmjq}0;D9`+zSko7pY+` zmdK<60*S46p#hnP{vz1AGeR;I(EVH00;pQZ?= z7ZAr=JBZpV1nsxtFJl{D&b6N%M{3T`T1siml(;C$7vr6o`0eRVz9MLx%$@Zgy8z}y z3+y+qJw&O{Wk9^#+M%oPVAkxzx>k>w+ru_!n`sTa%7mdlcOlN`yx+t%oc zqWV9}h?N4TYYq0K2*K9D*`PZ;^J?8KwS7MN#;B^!v6UK<==FO@5oT|Ui6Xb<9}kqc zwbv}G(>()E+eqS;oH#2r9BipE;(JD}x7l@j`0RFt$(oz3g(RX+p_^+#w9KHa(-r=Q zT(oX;UI+Fq^nbN&GC}aUTKegsjmCu5BSWu#^`p(zX>!zKlk;j90-1W9^ASp+VM^!> zl9XiTsfV)o&-02K6{3g7VhI91e)9Suh>g&gP%fFYs^NJ#I?SG7ekbl7d7hB?fyjU$ zW4y%B8zkYnrj~vmo}d43ue-0*d;M-Y34LKFy z!18F-J~AxAIBy*HqUtx{#48`_Kkl??3y;o>poyO;!s?YVQQY68`>XL0TVdlgia)KkTFl_+1c&wSoazkn=yE6?U!Xi_Qk@X`U03wIuqhDxiqr1)cDJBqSaN diff --git a/discodeit/.gradle/8.8/fileHashes/fileHashes.lock b/discodeit/.gradle/8.8/fileHashes/fileHashes.lock index e133349e9348ffa452eb119026476a54494fdcdf..744da5d9b4a885f0d01a02802ff7032cf37f9ae6 100644 GIT binary patch literal 17 VcmZQxq9A5Z12~=U1s{w?N5JDnHkwXE65v+0tf&&=9ki@DC3}~5wkqVfkKtaI@ zeu4$$P|DG$D1_8$gbs&P#Znm|5TFQHqMdTJ1jMtHbeCap{bs&@o_Y57zWW`!6Ea+9 zH}1BZDXs(TG);$dXFM9cUP$dV{vVtdpw3hXpB;ZRA04@0fxtK>ur%|43-*u7`&+f1 zpk^&#nvvo2`FvNmeDgR2a<58`nXz&3_c@`zQ>UY~P?al@n!`9)`Xj%p(6Yh>p*#X; z-!=(%jzqU}?pI7x9BKX$EA2ip$`b zl?P*qb@A^^8UF?Xxn`^ASb8wou;RR2h;V+jq{M1F4zk~~Xr;3kt|n z8vrHNLfAQnl>yHXn$g5!phx|Vv5R7KYD(8S6@lFD_1@j(ysr-_$yo^J$AU^K3*JpH z4`|=ESc^iUL`h}f7%WDjvb^iH1kKf5k2qMRwCRW}%Ro5q0??+h;Hc?TZT8ZwU=#*R zn6wleR9fZ9pLASB6HWrDEek%=Ygmybn#UoK?+M=9+G!dZG*ey?n|J8oCB6Y96M=fo z&DN%YdcwgE>)t`r6^DE02g4k^^1Rj{X|qw8eIm?)E#8NZDb@Fk&u+&W@z-h}J1Q!T zO$S19@&mpI!Wwwz9ZQGbKWs6ooDjTv_FMQYR%w*fav)U{Gw9}##U7Id5!TQglUMl^ zJZ{xfy61nRZPJA`n0=Fs@{j||MPA~zK4D}!*5DHLw+e@%jf8M@1i!F?{ThTv83`O_ zMqfM|QBrabCMX+gVz7^Wa^zJ11zDPZ%D0Y>Qv7<<2mFIodS*uw`UD+)zIRJ-1jEnZ z8rJC3Y%`*q z8bxeP{TLf-P^0K?x>&KJY`ln2u}!Z27JSfZp4aww?Kd+8BMZlUh-W-(HP-5Xpg1`j znf}7hm%en=qMy)bpTvf|Z8&)PzTI+x{BBP^AB+TG4Hq3fkrtcKUYusF`%jbcd8|>k z?|u(Z6zU7yFOUmDx_|l%tME&$uIh~U76<66;=EO>jab9|j`{HDIoX@f;c@!#NnteB z@V%St7E!}&$OQi3*}cu`E3^4^1+b)5T(Mh5=v}$>FKK~sgNspM7Jicclxsn|e2Zzz zBx_D!js3@qIyF46c#NpzNzpQC3f8bM^VO_8omOr)I8>^q^2=K{1RK{;aqoQKc-TE- zcbBunc8P}SU&iKMVTY|v*Au$t68t-yXEWbk`p5~;UtD$iIX<_#I46ZDc-Qoit&wYI zc~8vvd`c9zglZO(1C6m|!ul@rO2kAuDJap2#mpVW8i{3!OHMY>%cPcx9RNe#1~UKv literal 17 VcmZR6oPHuIh0suox1)u-` diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe index 663aefff191c55996bba3aff94d8dfc1352bc251..3f648aa7efe6568e1b9f9a8c1102124cba4782f2 100644 GIT binary patch literal 8 PcmZQzV4S1IyFL{F1)Krp literal 8 PcmZQzV4R~=qE`t31=9iB diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/DiscodeitApplication$JavaApplication.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/DiscodeitApplication$JavaApplication.class index e578c3f43a0a09fe9ca9e1c1c8223c4b7b5d1f6b..121784cf1760dd64da850762b5742794fc8fe9b0 100644 GIT binary patch delta 27 jcmew^_epMpCnHmi#^ediDwFdW4JI#OV&A-)@eD5jj)4iM delta 38 ucmew)_g!v-CnICwWIk5O$)c=6lS>)3xQj~?OG=CN6H`)(H!o#8%L@SaFbwbj diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/BinaryContent.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/BinaryContent.class new file mode 100644 index 0000000000000000000000000000000000000000..033fc631dcb8e1478549451f68d378890c0b88ce GIT binary patch literal 1121 zcmb7CTW=CU6#fQwLFiI0r7F~0y~29g7=5dnR7?#Ctwx3SVRu5Ova@D)Xwo--k|q)p zAN&FSDC3z0(?CejY_jJvXTI;uch0ZhKYjvuj#d#FWb?2b*vK(dPWUPJ#$1iOH^UR* zYlhr2sic0vkZrXG1zbQOkD`MOI1G>dDD;v~u~ga%Ws=B9d4Wv)C=gP6LTRbbyq8k( z_^cBtO$mmK42Y+f5>2!md;Na*)t&*~bWlcxq2R}YYZ2^I_13IV%TRb-m1wSXT3d6l zWje@B5)pR;bA8*vMUyIoB1!m2bcyGnwM_JH@d96az+iRgO$_CpRN`n74n_Qd566_L z^&+2-2RxQ0o+mAREE9$&z5mu{kF+@y`Zx;S@|cH0ixS$9_ z@qILjeQ_XD4HicH$cz@dG?5JLn1!0z74m9kVyUGurIw~m)&@Ngm#F$OMW4yqWSj1H zF!%lxdADIrQF0$lQFR|qQU6M(88l1{a`dkdM->IaFB3zZz6LEqlTMz_kg$U*6q$O{ z2}?cGi|MavmIm3>GyPb&N`BR%QV<;I7z7Nub`96(O?ng=7~B1Z{1LTs!3C0CBaKt>HES?+NsNKvpY2L8~Lb- z#KZ?bfFH_uW|o$ekf0B{=geXDcmC(X?>|3(0eFFD8N@J`Lfk+CNru9ueQjH=?VVfi zyO+Et8IsS1C*(_pxkmFWjd`R~$Qa1NVA$*VeJi{QgeR@O2t(m}mLtNR?{Fb4?nxm( zTPNIhPNgjeAwx_!l%%b*45Vzs6y%9h3$FVjiO5i zmQhyGfZLKghorF-5vAyJtL25#_N0cc7^v#IgDWSxtGKHM)>L%fwL_`YF}RIMP5*Yj zlW~fODWT>WL;Q$3#E@?bkG~uAyFB=4cU_7U+kVe>&+I^`^C%dX7lL}X-~PXDA5f>? za(Ur9AMC*HbIAju-AOzk zznY}aL4|@o0i~u8J!|wZJfx&iQO9HzII9Y(saIvJJf}0Q6T6NKY22WT<>>mY$}DLr z6H?_&FghsyV>Cv5i%zP9g!vt*ujIstrDmamh9(-(g%Pni`qd=Muss#DFbP_i3EG(o rDolcMGeNu9n^Ib75|p0_vZjJ6lc2&((Ee0VZ4$IN6ZC{y9>deWgro^F literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/User.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/User.class index 899483047093a58171f0a0ff645caa796281acbc..e47c8e9e2e1ec555e46591c881280507864688b4 100644 GIT binary patch literal 1829 zcma)6+fv(B6kW%bF*b4_1ZW_E5K4nBE^5-0HZi$S0||*qGbQFBZ^Ax9l-d%Nz~J?55)#* zK5)E---;LG#ZvYCgmMn&Fq*}fiSrm2DAxU!9Ucd+7uhX03|-%|8*W(l8`6zz=|yhz z%C3bn5JF=gT-TogF3%SCQW+PhvDIUf0^J^w^tvdg9Sp{6rq;u0s@77ON)KV81tzcpnZ#e%E%Ip*mAfm3Um`((^2? z3ry%nxW2tF1J`M~KRAa?(i$T{E)Qg&TCFE09tjjGe%!4Cr`eVnDntE*z^&d2$vJvz z{%53gAYfEDMS;<(>&YkW)}aiZ#U#e7ew`c~G9jrXXhbhu9?7cyUqzI8nmrl4@EcE^ zfIW|RCN}m+M!OV>Nn1Iar&`v!BNG@=%hOp+bfwWdEl!h3+iFa4{?lYW?0-CbhCO+5 zw#_hC-F&)d`J;~aN;fuPARwNz=lhXU|8~zgP8yKk_uD~T?zn1BIkoMYnjx-IBq<1d ziY#Vu1E0~q$?2r2x9<`;~w57&qhl$PL3*x@y>PK3Gwq*SVVf~J5 z2L+l79Zbh&)>`gh-dgEk(OT_b=~ungE#4Qn6>yR8X?_T1Na7N`%b3F~3(cX(*W@-c zthfNm*x-t#)QdtA%2U)*+Ee7x{1^d+G!wu_DuD{bU6{Npwl=K-W~|pJ{6Z%M#biha z7j!k1%7mnvz&$ej5Io%vzBUkie;|0aA8ZW-Z{n)~mFN4xYXiZRf#Ah{@Qs1st%2aB ze(?H0@b;-T{$YF7cc7MDHC*H^1p{&Ji}v6 z{$@<@R9iLdB-*OsL87f1F-lu$d_&|Ts_`-FWonlXKKkHq@h7-k?t5pF&@`?ktjRg|%-Q$sd(OV|=Rd#w4&Xx^CJ{kYLrg~; zV**o8&1a_3Fr5=)@A#=z^99E4*^ces7l>xE)g;D|(2&$I0bSsNO7Hk~!>ClY9|sQw$t`ahy0_CdnPc~<8uC`qBF1K4O|sS z)I7`dt@;CEE(Ud8%e|)KONJIo6#d*71RcJ32OSw>Q>40Rioq+2~k% zU$Zlrop7lA*98st1ZGw1ZPzGUo^3Yl@66){+cU*RaapxIIb5X?u_KTwy1{&^a^pC) zDF1}O#`yz;{XBQ1|BPg-0BQROA9qVzYd2D$H0g0KCTO$XPOh_sW#{5&89m|#e zuLcV|&93F2y7hh2g8cnZJe+wT8HOF}Y_QEZSG|0?gZxR;d9J!0(h?Ad97NeSYv1get*|S}vfJ@$ z)|M@Ymyp}8%E4lhVvRtc01fl}aNMW=5l0rm$9#C1mCuW$EH$kxFN?Cg3d-^V(2f%u z$3xC-H;2KQk>FiC9syn$2IohD z_eO#jhrzc-g7-&)mxjS>Bf+2d1@RXLBEJYn(e>E!A4o5=>kBWi{39lmAY$vWJi~d0 z7sIfW2*WE3uQ0q6hNWm2o{Rl}DJiKJxcw6EcX3lHDXNsTjuibnTy0QAcd4R+(sz~$ zU!}rt;{g@^kd%v5$rg60rb9|YDr_yF*;m*Ro={Cv2S+H=lL|Y+0lg^yzeEL9YVr$4 b6Nvqdd67;}_oVlP(K4R{K7zSYV_*FXUYU09 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId22 b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/UserStatus.class similarity index 77% rename from discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatus.class.uniqueId22 rename to discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/UserStatus.class index b1665e11d1ec27d3f42adc124ea669c4f8c2a3fb..3d857eafa1da41d143902c7fb9e2ce97536f74a0 100644 GIT binary patch delta 40 ncmZ3$KaGDv2czD^PFc3pypqh4%8eTnnV1ZG5CWTRm{V8)B%BTH delta 51 xcmbQnzkq*22cz+1er8$j;*!LY(qjFR%-qzCYZ93lO(*j)%OQ(yHeya;0RXRN5QP8$ diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.class index 8488f8d4b0eb535fc17c54d9ab7aeda1d48df399..9463a43bc14da09e787c392ab495c8faced3852a 100644 GIT binary patch delta 263 zcmZ3d^Fn)r3M*5v#^i%+a%`!2C7C6all@t<7!4;*l!fv)KVqHA$mFguc>$+BOi3Y^ z@Z@9c*^I7}7jo($3)XQ6GkItri=N@wz?eC?mNN)h*;`H%#^}jEIaMdSbIBtlq?pW5 zT(XTznb8>8Y0TVyjBb;IxZw`z;Z|nKMA37LTNh@a5RVs7bu14|_2%h3lNnL1*c{4t GlN|sGWLUQV delta 325 zcmaE%y-sI?3M+GjhR?)_vfRZbi6y1Q`iUti#gn~Qvlz|L1UKJcoyy4QGdYjl07dN* z_Buwd$p!3sD5BvUYD~Tw7{Z%5HZbLBOt$A#n%vH*kD_A_r#oZ9$naqgA L0h{^xZn6Ua6c2A# diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class index 3010cb1b4d755dfaad4573a1df277b476f9025de..051426662965360d417d8703d2bd5f2ec3626fdd 100644 GIT binary patch delta 268 zcmWNM&n^RD6vclZAx1JR(3(z5koZ%o8`WYol158uCDcYOl(MkUMlw@N9zni0u(l93 z9>8;W4oNr8=ALuz&B?i^AM}F{H$Jsh$?!n-YdiL8 zavKbgV}wm6C@{~KjyqBTMe;O+m%>M>P`t-3FYJ9zr;S&}rJ}F{lAJ2AEcY1;G;GOh z4_z=!)4qGr)RovZql$I8VN5T?xwHAiv$?n5iJsG8oGz1eY{73ip;ROl+Bg5)ME1|G knyxJ+e^XU?kL0Z}OI>wps(GkQUFA+}G4*3Ac5vqDAL(N+_y7O^ delta 268 zcmWNM&n^RT6h_YwVkE-?WjZZE{3~TawW(2yW{MgT#ezs=XcsoqL^^88BgpR!tSy9% z2k;!8L(+|JbI-ZS{qp7Z{GR{er1A^cEHTM4v*cu}Y_LcmhGImXro6=(G3#ID)T>q4 zq>n9zC@@BmIZ8Szv&{|_&2#Zud|;PE-o@vIz0awf$#8>4mgsBoR~`X$EunB>8F3n1~0t; diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.class index 8e8a361f7bbad7f32c305437c4656cd207e15ecd..a17189e408066c6b5fa058aa102669a89732e860 100644 GIT binary patch delta 151 zcmca8wNh%r6-L9!|CwdkQu9hOODZ@1^rvXgeEKYY+vp4f_ HxiSL)kOwk? delta 196 zcmZ1}bx~@<6-Kkk2RUWAi%SwqN{jUqQ&NgI{_tXEjGXMuVv8&~*^ym%@=TU?M(fFn ztnw%_Zmi0T7LyNf%Att%u@*2UOm^fHo-D*>h#~_rDTb|wF>mrqwjgAg&5rE<85zBR UnhcPICzo@&V_LiU38yPF0PQG3h5!Hn diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.class index 957eea6a40da446845fe4d58e84437c92a941677..e8cb6e90fa5838294d091318827457d902698d25 100644 GIT binary patch delta 193 zcmbQH`b1^IMMk~J>se&kQu9hOODZ@1`o+u`IQc7!EmUB#E$b8}V~xp%9C9#`KdiEh z2FL==Y~73*lh3n-z*Ok5yEBGN4rEuHJe^%0CU}tDlQ9A)C_DKNn>tJ|ildjwS!41l jPCb~25@#7>Fwii?$-6jVR&IXGd4Unt6`SvI?_dJ}*Xu)C delta 251 zcmaE&GEH^DMMmSv0<5y!#U+U)rN#P*DJjJpzy4xo44eFc#THp~vN7uvCJT+pAKBzk zgx|8tGMZwD>a%q-=1wl;RGfT)U1ahHHhC01qU`RBk&{0#$xg0fS4NRp%9KBa3d{#(9Aei-R|>;oiXp0OkW*EdT%j diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFUserStatusRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFUserStatusRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..c29dca176fb80729f7f8e196f16a8e0670542926 GIT binary patch literal 3361 zcmbVOYje{^6g`^sx!yS5w~5Aea(YJK;dd(XXhumAq{`CkAo;g>ji(5sfrT?E*ugQ8ln^W5M)SZ@Rj6BuR7_bt~k3YMRD3(^V*@JLUwXN~466Q} z#%}`sK5eAHV75t0!c-hX7}hYNV;6P{oa{;_oxlnhatU93+#%)g)th^aWx-*TpHN2zaBn*K)O?O(j=uy$K1L+A|j8b$!j1snB zgj}a}oWWUUtY|rfdCOBykG8~ktDuWIszRQ-~vtD;loq zn8!7NolVD-*i=bAs+uOrW}a;m%ULCdJ*8Uc z<4BRSg=QkJVcxS{S=xFibveZ%O0%6+cUq3TSuL+f@2VO+Vy=<`nbBum0q*QE!^fC2LSHSLSZcs zOW7u-{y=>C2@=!KFxrcITd|ZsgCW*v&AyJslgQyNF&Bx_FZiMemT-^2iXcaGMKGoa zp5cJNGaP0&JjZcxIn~22cG+(<>4EZHMG1^VxW*b>W4Mn8O|JVitVy)Y%}-u|^WAQo zdtbu&Fv|I`h4WKX*sd`d|Uf|q=MyyY9erse0BN-X0M^+2sa|ZDR%sSvrK9z8z z4KQl%&BS;FH5Ovg zfVCB7oltC;4p50sP*H(nP_ni{v4uN8b@VD)A8lT-?u$h3K?$pTs*1AsT;u03)3nZy a2Ok^t)t8Oc*Ia!^t2j@5k00?f_WcJq!&^fD literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/BinaryContentService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/BinaryContentService.class index 5e0ee2020af01e64b1cf04ce8cb7611f361b8931..61a92232d944a1ade0e4aa9911c313fd6f39281d 100644 GIT binary patch delta 60 zcmX@bx|?-E7IT$`&qM*$iIeQuQu9hOODZScHf403EXZg8BX; z3=jSQf0X07NeaOt!$TjElY8zt=R13T|2g^v;5mwM^dKT3Dx(*D45?jhUsLOvxudRf z-Lk6;eG7(ZxQh&tTz<13G4xA_%NT&n@LIPTs?)R$(^VUW;~18yRt-nDs@!l@huiyx z&ei4h6}4E?Oq18!v}kk9<*WQli#skuzwTd`2rpIkd}z5wUESCyEf)mlB^gPi7^0@u z;0zgG#`AN{CHNgrDkEc1NDWlEquWN)C4Vv$=a7tHTxN*5mM_h)l`D6}_d>qY6#+RS zV-!~jvZgt;BISeOeb*pM0^z!hF^p4vD2ZC#Vc71L{ZK?Jm0hm8h5ToR`P{#S3CRUT z=;Y)#sc3%u$+BVckF7?9+v{4T?v>Hfwfd%J8{!-=qi)ThXx?_IKGaYjxLdQTpER3# z$K^H|&*si3o7dqbhM^!(ue(ACVAkoz3$BRSwsz994DmIqW$XNnAp#u<+W%DB&x$^$ z`n3lwwPabYsiO4|yI=Tp%xaxG6J^WVYc&g@;f*AKgXquA@55fa~y7r5->#$h|qc& z9YBWxOb0%xM7>-oKOmhKP;X$7QD)lt2rDNpraXA2a{405QOtN5n}td=OXcz##%~wD fS?Yj=&rrYu{fdD&aToCtOBneJ#Y4b^ diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.class index 6952c2b62c1b05ae88b65bef56032b96c7b26bbc..78c6320f1ae0b5308ac62e9f79f61b6fbb3ed912 100644 GIT binary patch delta 64 zcmeAa{3S5qC8O~qCONj$ypqh4%FV)z&Wubs8k4h_R43Om=|hDlZ)bYLY^tG&r0_iR GE*1c^;1#I= delta 79 zcmew*&?z|KC8NdUIm~k0#U+U)rN#P*DJjL9`52uUnF=)~SFy-WE?_c8mYckm=?$aR Qmv|VU}03)OEWI;wbw$!|m%#zB@R*Y_pj5U)RnNndQADNgKnN2k`kyXjFsIvk9 DTr3i2 delta 78 zcmdlkbWCW203)NtWI;wb?&6ZflG0-R#FUic&8CcQjEs$wYnW0|gr74pF)~|eXkw@r IU{PlU0KL{1*Z=?k diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusCreateRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusCreateRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..1209c70ea6a1035bdf2103f7b258c3f420dae281 GIT binary patch literal 1656 zcmb_cTT|0O6#f?4rj%&QT@>*GXj_zscc;jMFpeFIFx(#WX`AlQK%3O;h8h2p4>F_U z3=jSQf0X0dB-kLx_|S)B_ne&bedpVAvOj+v{{Zk3FLLNZzk!sAG%^f@eSXNT7I*io zO<{X}gCVozxQ<$8=r5Lb2av^pft-m!m<(@iuWiYW@3_ipJ5oBHYc(8cdkx_zOA7zc zv4yp|y>9K0v8A{QWMaGG3$Dbb_!tPOh$*0;Dp3|{VHtsPTGq}^b+s}~#a=d%M}Z-$ zye&nHdknl->tO+vQbZf7k0?UoVG|=5CE_NR%@vZyu+d}UsunnIVggs_80b8BOET1Z z%aTyHUf&nCs+8U{j1>Pq?9whnD$<#+Ij(pYwClp(=JggSAFg>eZ|!p5(RS=isis5q zuJyDVGzM!zHND0L_jy|=;S`jC&*2{K8(1)5;Q_;qZUuheDyJ>1 zsFFB^VW573!f=!n$H{5Nsgq*E;-a*i*B!tC7oAAVm+n+jORY==+I?D5t zDJv~5WzrF2d^ih|WIy$<#OImCV4lHXFsrUB{191415X&{y3#L@V&ECW^u?ic=8{$!@?IrtnO6NhSN;xGp8p2ph^#(bqj!cPb^H{)$D=4*$23_K zAEHsaXrE?e07G>1+@ur@yGW}}Hp<7i1bm_GSxhqui7|)h{ztSggn@BYK z60KTPwmg4~v47=9lCpm!Wif+UDj=3LLjYRXTwIeyYj_^zuP`nWl#UToxD(cW7e!r5 d2&NlQqDMj$&u$Vp5i$se*?1PoiYFb literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateByUserIdRequest.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateByUserIdRequest.class new file mode 100644 index 0000000000000000000000000000000000000000..257a1f0e77cb371e5672293b545bbda3f9a6c18b GIT binary patch literal 1912 zcmcIlZBG+H5Pr54t}O@UT@gi8z_uVKzH9Lfh_Oi#1GF*v>1a2w(B9SCEr$Q(2T3F* zeDDYOql~k6hdrbczVP9)yR$R%%rmny_v`o3PXN#HDuoz248%=zqKlz#$KJE8n(b^^ zYrNumRfetw;RyADp(B$mCy_wXK*~fnOosJ}TeoDx6OOX#LQ3H}R#nJ~TjfGol6!li z!mZ_vRjWjYb!DrjjBHDds;&6qzP>C}*ZAiqmx>UZ{+XgF`r$N{s9B{_VL7kidrhR# z$B?SoQk4b&@|sKr15G9B+$uOy*^bH&5W@izgBW5+D0f{^m|F}YQ@ntv^VuK*KXn0= zAHax-OSnt{Y};~siSokm;erAvXu?-ajNvNfkdkTFB*V_dpheiOZtn1k%4a_^OlSVB zSev?J%M9@#73rdI_`7C(lY1NXW{r|FP;@JHt!#TjpF?3>Z407Ox{$)rGh5+m+pWI0 zJ-f~o_Xuhz)25z&3ltcJLzaH6BkY;0<8O6PctyfvZ>^WCy@U`a9xc7=b+_qN_#2_q zG1=;yw#_o9(Wu(T&Dyu_f0&&Lx$_E2)(A`qX&_OCJf2V zV=oK`QL@6>b9cEFD899wYK_auqU-K98~F(F@cl<5q2b1UgD-Pg@kB$pUesiXx>-gA zp^s0eokY=3v|X6*1RgW=2Qwt!8WL#+gT5XHv*0+~^AWi;u)r|YO34`%4bT)EKUJyh35 z6SSWQRB;10=|o1pYv%8?^B8W?J{cpiz6APd{!J2|Mw+Kps~Wi@lH(g~Pa~LtN{G-; z(`%}Y`7rSHT;^k#CJ>FjK&#G2A~$n{(f`?x1Ui2SCU6@W3P989WOM)>x{(cIvS`(m zI&MJmg_(W_r5&^y!}N{rPM62Y?57oJ9ghEF^6VA;pm2;yc`Fad*Rc zBO0FHWJoPaSL%lhM+(JS25Dq0WNjRU&G4e(wH?**rK_E`R7!fT)0C>=HHFlU68?^C z2xocim9tKVRn2u*#kT96CfDMPc;6LDGuYifN)-amSA$@>TDF|^^~!SDfREV7AD{h+UB4loNt1@@URUgE zg$08`Ro!dB{8P`6&FN4-u>$& zj=rz0qCBT@hhZWSgjab4jDxI$T2WVqN%%mG9#(1bg4uqss~%nD^b zO>-0UjhaDdMvWOuw5GsllAflUGjv)p)0Ng-={s0y?i;Mq{5K4LAyEP|k-9OOrTuKE zinBOJCo&3LvtVbOCvcwjnFNW=C2)+U+XcciNY`jJs#a;2C)UTCjVzY9_sudn8sxkC;&rih|vLbIErEvlS8YaG*tQu z>mWiykw->ZDfKZPK8$e^bA*+^Jg(3>Lc6fAVObXf8H0l)mHsyF;vVjkEK6`@`j0-s F8%Y Wn7~!WK*o^C>P!w$fz3rsW{d!c)f-{} delta 96 zcmbQjzJh&1C1d#HZYHIPbL6;-OA<>;i}e#zQi>-YuxG5C#F&IEHaUY)ozZ>r1V#fC W(PNB(jFFQim>iHrH^(uVF#-T=sv#Qy diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/UserStatusService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/UserStatusService.class index f1a57ebe5106e29a898e42b05dd53ce8e7edab8c..7f74dc4a6a17697c49d3a75c57fa19560bcdadaa 100644 GIT binary patch delta 88 zcmdnYwv}x{I&-~-&qM*$iT!*NCt0wi=9OfYR8G8V#OO4cgV6xWpX|(N$LKP-2_dkT TQIfeGrg1VOlLJhp57To1C-xnF delta 134 zcmdnWwwY~0I#Z>_WCcdKiMkvU`}roW(B&>JNh~QX)=x}HDV})Sh|zsAAEN=X;A9s@ xJ4VmR&5Q=1km%_;4I{7WTff80#j0|kaMX8A;sf-L&VB;shkj|4M#?HPd8gW;yQSlEjkIV*SLFl;X|tOm@sn)*6#1a-xbKW?jz6m^V3_JxC2n zxxQ0oUSd(DbADb)YF>%8oi!r^OIl`L3L}HpbR9MGO#5Vr6!i7GBVVIZJYdo ZNo{fohXS%|CePw1X0*U?ixKB6HUO^WLOrLnaxOa;I7!eYeK(3hF7a?BoTM=nz`?K+Z3LY`>gpCYMyhu`3ecOMvxcaC)>JL#YzABcfW`!E@TUe)& h4O$4xWf6MWWPmLpM)9&EU+yx=o_rM}Kvc!+^8bd(Oxged delta 346 zcmY+9%`3xk9LHb3j1{R(erahoBoS%NV@iarUC8s(JT^5kHS_#%n1_-B@imjDJe12e zQx3F5imSVmgNutlz|FTDLd-Zzvd9!`luI(DdD)c&|cvrQWL6^&SGpe~%l=AH+ z(_dAVaGa!+h$l7Y7x~slwTk^8@@m+Rv$SBLl}g&Erk#2^Xrxm%UG(5&fL>hm;ijK4 znWk`xpz%d@lgKD49`YHdhz*MI2ye!wvbAH1Id(}QfPp=-2~x;`L=LfXM5(+hIH8VH z9GuCab2)b*)ggunGeSg4ukaFOo{)$$ht*q>xg(7jChp1OL7E=Lv-wjAh)CvojhA>P u(BUJMNz$3Y$Sk?cQ6L?~EKtQFwJga+KMgF?%!+(=m2TD;!Y`(?K7If*_gEnS diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class index a31a00fec9ebc0c279619436ca5fccb7783352ab..7acf9d4b70519476b258b6361e63ebf02e0f6801 100644 GIT binary patch delta 1431 zcmZ8gYiv|S6#ix(ciX#n+k5GD+ucIxL$O|3D;5f5twJmTL$KC&YkbfcfNDx z%-*Hv7Mn*d3>^Z{Bq9UmS-)5y2Lf}9WOu3~b>CpM@sRK|*2sZS`P9~UpvP+juuota zJR!^ZHC&f&CT^z!I>wBvaRIO>}oByH;;fz_5kq6%Zt_e0yqZPj7brkcAh} zAYiHkJ>4mWRqiiYco~~>JiW<8D!FMnfiwA+wO!}z9GrBHih{Eye#E%| zezGtJKg*G#!{QhDaJWMJCZ7#g6#QZ0Py7|Y-xe<5pTUW6o^U)SJi=??8+>cyq%90N zA*wE4dsk=j?o_ zu}Ebw9|CXS2s{{-{*sZtqr9e@5$0SC8<+5#hlRKdtKi~B%*T4vq6KwmWeMA{0Nc=j zUV7}pB0P#lJch;S#}Yh&rFa@~Jcp}U(`)f285hFOy&&Gg+q8C}ivI7wMJ(^h7a%|g^kJf(&F$(ME!yw2#({pR{UUTO|w#5059ieDqevIR~0Qn51?d< znN~kO=Gh!kKS6=}v6Dwf<@wT;NkvqS0O#uw!Wtg9iJh>PNw33|RI`Zx)5MJzi5r=c zA|B&OFGR^ygdqPXI6U}-=u`MqOMWuibcc!*gTeVu%)$ml(S|Z?Wb`&hOz0>TI;Gl+ zQEHj`XXJ^ZC|8&NROE9!qv@B#n)Dq;SYco@6WPKXiFD0KU?z38GXGB?TcS#w zP$eQ;7b7Uvn47^KcYYdiw>Ayo)}>MHMtx~?4iNS9LFH#qt1AE0#jA{SmrSb(*JwOO zLW8sly_Bt{t}(_y_pmKgevXf>Hl1w3HUS%7a9fdo3D~A;Z`w*-l|BrZ@`18KU4yKI z4fNux$a%H#f|an@!$`Nf`_RUb;TYmL$njzZuk0c2(Me?6VIAYIM?T+02)Dq&ttjRj zC}UfwsMXz%;vu}IntkqcgsjFDGngFRr(glT(>lJ# zX|Bre4A)7HtN8Z=|Ih3BSNsmIfDpo`Ex!l|vm&<{3skiMA>f78K<1Hh2>S6=IHG19vBb19u^`YhYKTeo#wJ+vs%i&F%LFO=$OP_ z0be?K_h51$)0oMmw{#6=k^=&X=2W^TKCmObrN3u$y0b62GnL*J- zFQHDrqZ|}We@2mj^bX={SY&4IDRwN45lF z6}pn<>o|dv22K{bgrNjJ9pB-&TlnRpfw&_mP%V!Zm&+3YkE2u|Y(4@(zx{PMWo@w1 zU!=Y-TO$twhwvsp`K;U!JTP>avNjZRUjhTw+%Lll)ZjYQ;zq>Kilw-fg>Oe3o3I?) zs7>Pv>_R;r!Agu^6-Kcdk7Es<#Fcm&4aj00-eSZRa8l;Q+jxh!U06(?cj2IB67S)C zo;04s2l$XlZNdh8gpZln5y}lXmQ~>P@TR<(gAhcDpi>X<~tHd{|c#L)*5meHV=p@FXwOJ&hu`EP% zX%_w$nPJ>nIaRjEEQXau2SwlY|QAIv;X;|xz__ao0auH}6F q#P=WO{wL1CE*!!s+~zG$ctt@ZCoH6prlLrwzkr9gfG80mg#H0}b5w2s diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.class index d7d9b1a7862ac5e75615b9b2fe271789d0184895..9bb90cc722ca04bc883aad6f35ed3bf18c4d7bd3 100644 GIT binary patch delta 185 zcmcbvwO(t3JrkqeWJ4}lw$!|m%#zB@8B823jK-4-+2mm&v)K}um_jrr*E7mYmgH21 z3Qu@=r+R6JkWf`3&-{CZngBYhDl$w|lT#{H)T5Qe8z?NK;npl#` t$WQ__UtzL8mlMpeIb2zc29piAafcWL9y?GP+Mb!D)aZ`j1nbxe{W>>^H?d5J}p z&iQ#Isd**V>TB@-Z@+0X3;@W@l$&Vw?eFYEL%h1nT47oXmNa1!y9~ Tl*!S24;c+09PZ88{04jgm)9f` delta 149 zcmextHQRcF4Kt(hFnnHqTl18RsU{-=z2Qi2uklKS4A-W2kI$EBJIdqSp zV}#I$2rojPBk0sE`fKbd=JMwK-tb^PgWb^G8x=VqCwO3;e*G?5C?+VMdy*_f*McvL^OTvHv@w-flaoBKg()u7oQZ<=6y^BH9yg5# z`x52(-5%He8W$@~y-_x*Myr|0W(d|+{j_T6gwCj?F9-Nc_Iv(^36)`GuP@&dh56X2 z*~)sOT|3cxH_oOd>V<+CF|&xmhZXpdfrfPiki$GS5kvtY>|p^12y@ugmZNYZ1`neA z?AoU!|F|yHRZJiauec3h4H0D7tt9!yy{B#nk{4u4kZnNfmv9N6WSa!4uj>JF87_@lb>3$V6kVE_OC delta 428 zcmeBDd8a&K8>7SILN?XO57_x8|77Rg%*5!;#ArNOkV%ClF(svVav}3aCJT+p0!*q9 zeh14HMh}>d&9hm>8JR0Jd|(1VBlspabIMQFV`7J>S7V>d%)&6>l4(S33W zhXF#vDh?w?&&hWoLJA-^=!X`k76q3imXsD-+gUR*u$301B$lKyGBhGtJeyT?aucTl z$Q%)LO^gg)2p0eqZsz7HWMtHyT+6M%6_i?#Uz}NzUsSny33oA*t`vg+gEWH_gDitC zgB*i7g93v!gCc`HgA#)igEE6Fg9?KOgDQhRg9bw+gXUxxzA{cd27U&822lpR$%pyE zfS!}$&k?j@5CZCxWUvA1wPny|u%E0gU^4kMzrUahP{tJ~;|`SZ0Lpj*WfEEa7`Pbx gCr=cJW)zzIR-k~t~yg$z-iD*^p6gqAoj2VoFN!#Qti=gozhbCmS%z!^9?sGWs#*O X2U8qlEKpQ-vM-}LOmy=`rZh$XQ;ZqK diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/UserStatusInterface.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/UserStatusInterface.class index 4303243167dbbe3eeba6d9ee80888fa5ffe14dd2..2b0ba29c3d05dd9f62f3f687401ec42de6dafd1f 100644 GIT binary patch delta 61 zcmeBR`^h>XjoDbkXQF^CTWVfOW=ZA5iKUDY6VIwn)?t)~3QZ1UbY*mzJcrQ$DzN!F Hqah;zf&dh^ delta 61 zcmey#+QBvvI!T6#w0{HYMFch^30C6fD{Yu;LR8qBIl@rl3u!;(MFiwo5m=ad%Uw@AvyH zjx&zV_|5T~IwGJm>L))q{wMZtaQxlfZL^_m((yxf_uhM+zjN+6Cx89>%WnYg#^)Q5 zKwA>+8m>Txz>$(u(Y>l`+P+>fJ-mZUyqcxFi-QO^<6Hr$1r zWBbzfi{ZII?^Jv{&qH_GC`o~Xh2{!;!>@UIgV1H}Y!^DQA&HcRE@%RG{eMvcsj{@B zFGm*gWq~UP3a5>EL$CR!rJp>RKaw4sRLVAL*o3q|_q1u34_lU^&f5Yz>2&U)M;7r zvq|&`+_4_ijdJ<2D5^Z$so@6n3v8@0k;Y}!@l4-w7X$R6p6kNw06jO-T%B z7{ri3uDNYd_8yry(U@U5R~o(?m(SFsN2oiLc`7Y34VVYf>cVd9Nn)=C9XGcEV@s$Qlo5gQl zPGKMJ&~PXA)02ayZTg1DkgVn$l{>D=8E(@V}>Zy!;)QhSjH}A z4kB|%!#yf28zR~Hau*IO_(lW{G!0b@xfP;2aYP^;`TWm!=N4bTxcDvIK8pL2xL-qF zsoYpcPQ{IYyM|qMDr%9!11Kahrr|hF(DQ)QH!D)l+n#UOOo29A-HQ6wMi%fpY1x9nY0DIN~)v zBx!n0)=mPYyj`^&fn#yKfn|d&0A4e-SW!wrtrU2vRer9k*s^c_PX`5(?oz=XZ6RcR zrm&DUOf4I+Lqj=u@UmnImQ$H>=JfldEnPOyGIOrmGAdJLqhF<7KO1EKQV9)4tJRwr z*-}NP=9c79Q`Ls+*BmVOs!ArXHL`1R6{`jcjyn@hurt%@exGsNIo;zemyXZdt4BqO zO4B2b<9ohqRKt4UZR)^lDZGw1l6X_YTX>t3UcGjj_PjGE^+MnvISfv;;rPfs6wjfJ-{RPLFt5vgM!HBoy*iHlE1Pzaqum3Pq*_<~%=|z%rhGi8^UuM&I zmrY_Rh_N1$C0OsLI6!=$;W<2?#`6MN-exA`EW`7pm&7LmyH>!r8WKr-#;7+ZW$6iF z!wxEa1OiW@4H@;Xg|l)-4VJ;1!wlaYJbxM*DGjc2d?)zs8u|%h_!5!{{J>=bQ+z5P zz~MQCZ7A`pHzY+Fk}EP{8Z#6(%kL`$7vO^b3aDMleu(68+1&|z&+WEAwlV`87gm>R z;xy0aNTCIET`*zsE7D~0pu%4QHa8tq`K2_DM;d!0Z#F0J3$_41W9uK-u9Sz4ZKM$( zDx0v2$Ne!QdY7H+UCp^?;6|$cB#=tTBvtJg{u#S2VK{*=(fup-oyy#L0k{9olLI`t z`x5T0pXAiZuh@R-B1RRPBDjcS7x3ViGJ5wV6cgB8$7wH728IagFe9;tUwd&I=h*$Y zh2gvv_i~lP?KsAPW`es4&%V&IWmhKQ!6#71h-MA*^xzDs+L5?s>k^_KHv~nTC96X6 zaT2xj-7|Cn4-XBWhZx#@9y^BioX3HBf`mcb94H+M>6exE1o@|e+!JJ=%7h*@P*Z~n zV|N<~(mYCYGmQmqDRIvN>6E%Q{8onS418fO2Dm;>^b|HCmP5O!_yz7I@FHG{q`b`c bEBvYKd6g30!F%`+A8{weosaP;&SC3+n|z%J literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicChannelService.class.uniqueId16 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicChannelService.class.uniqueId16 index 97168774de0f3fbd17628010cebeb4b6a486c385..a5849a140c1e8943652f932b9e1a6992e43164b7 100644 GIT binary patch literal 9069 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 E|3Q~>4*&oF literal 4062 zcmcInTUQfT6#h;K1cm`Zya3fAT2w;75yiF|MJ}S!Mz99swc25F0wa@|bY=q5`^8>t z`vbcAE84YMt-4m*=dS*yuI@84z(8U&4}BPNX3p7rfBV~)v-$hqr+)xAgCAmuFr+lA zs5m8CH(jNuJC1IdN?vy~E6;UT;ijv*Ys%D;YMR`Tzz~(uh$e=n)4Hjz0qCs1 z!_cYuUR>cN%h6rSUSmkt#%^yMU8i7EINgeNbi@#s(TN1Z$(s0TX(Cb`b%itBu8Yca zvNrgwvGd^Wl(7rD8JY{anV(#n$uk@p@S{<7bwjy&b>-l&<#%t(jhzTDj41-J!gk8$$j!W(^bc=L8EMovkO6PJZueub2 z!-3HkWv7UKO2!a|86PF!XJDJZojk+S0Vaixi~k`x^IXmN0^2 zF&vjMiW3a+?NvfPt*Azs&lNVq7WO_&NKjV^MDT`;H*u1otEevXDa+JU_nPi5(aLdE z({;8f3nZ&3lW+uSQU0eHc2%J%nG>Xp$vBH~A|=la?(*l7l9MorsTj@)jniA)^`l9N zHjvE4aDm}?&DvV8{p|(cq}kky>4UoJ>g8KhUG+y*K1EHHp(CT4e70O%;P$+_V9=LD z#?n+Hr`o!B4?afSC7oh3UfamJ@6YXfX|n55)1`8%t!Zn!@JJw0Q!RP`x91|MZOwB> zvvn_ZDK&%c$}n7y9nurO#N8z;e_6H3mdkB&Ix1?H;cR6o)v3EBKqWd|Jk-~`x@2g{ z>Wil8mTmHJqM}QjuFKdMxuR77eyOXjE;~fE$yaB+xU|#iTsR6%e$g?sWnEQUzND6d zY#Mt(3Dmlu(#agdo-1XV1&VyeT+tn!(saT!Emsvio&uK07*=t?T2?M_liO5ud19l( zP>TzBwcl^8{UZ#c75s!dbM>xBirNB2A}jijQftXtWn1Itbx}OsRWAD@B3&7J0?fH8 zhzBy3z32}FeO+h#qhoi8$`f? z%>vQQ6>FI*8P9o=Pz$Q&PaCb2-UvcNxN&oTxr#ZMXZ-v4V3?#KEYsObp zR>7s!w@O!XpPuhyeN@R3j>DZ8zGXOA;dHf>iQzkj-r7fL=JE3j z`-$aAnuX5OlMur;&3etWzK9tbAKs!jldkASF#$dUyOA0ievF1w(ZOF4>xn)=TLeGT zUIcH`Ux|L{9O>vmhE}7#94=v&-o(xvE|YGtdIwj6(^*Vxa3Peps8L&J}7s4A}sVg*Q&CxgUXiu@T0@tfN4CKY%?W^gCqH-)<%zunlem0#iO z9eVE4!|)!)1Ee+~75pXxq=OOsgq_cD?M3fdR(kvEm(a>t53-61AI*<#6L3M;32+8&wt!hRM!9i diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId7 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId7 new file mode 100644 index 0000000000000000000000000000000000000000..ed6bd7482bea4b4c90c907b9985546cee5f181ec GIT binary patch literal 7169 zcmcIp349z?8UMdcnn^d)W|JPFDVDSZnxttK+EPkWph-v|lC(5eDMw+lJ4vS5-3dFh zY2$&Y6%{YkDu*auSW#3!(l)IEUZ{xoeV>Th;(ekV|2H$6olQ2I6n_5t+sw>+@B7~O z{@?%m-uGS~edg$c0L~Xn=Ocgu1%)c+p-A9@h#3!CBS|A+hvSB28D=6JHLQpk)eSpr z>B&(eqKEr6%ZP-V<=;--va~_H+wBo3iwtRrgdXeCM@-AG&E%LsV@F=C$;qMNmZ`#x zK@?-Yf}n~Lr~<8dHKpylsAqfFGc5gVN$Q%dcj?!qbjuc)@0r;i6)3N%?bxG@YT=Y^ z#KOJ3?H4tcU?EBsgjAHFT;ROCv*xp3AgJ#%EZb@xlT$6KnL1PL6$%y$RAmgc$-8Q{7D4>jLv6Q}jK;TSo7N>iA z{~kSJH+oC-Ni>#|0jH{X5mpFP#I<3)#Y{vrd#7O!@y)Wegl$bx=FXK%SrCg*rD7#k z2^4KH5{7+&z!JY9Y1uwWxoQ<>;7oyqDf-OMl}&TzN^h2=LzEg7wUQ;pTFM?WlkL$G ztdV}K7uYyg7iOz1hrp={!UAjZDxj+jdn`>hN!qhjtiyV`C1NIQb_*;{^UUuAIrJPA z8*#2ciDuhcWJvm*z-QC4gCyb_8*rWkc{3v+2ewnmmFL^hSL^sZUJF>k%nx2HuXl@%WR&a@mcD$I( z%tWNbilj1ZJ*hFH2`o)}(#aU@UOP2(pi{v%729zc9hlLO9zr?{Y1TGR(dhignY&DkvRqE|tmz=e5NUMiHh<-#AL{;cudMa~p zv5mMMZgxZ`xn~I zh zc)&bcPw}=4tsTjjc=py=3AUw?he!+oMA|iLIaCd5CBxdMI zI`3t8xq|CeyaG35#YB1%<~=jn8ng7Cp`;|i+5Q=(EA($Ey>c$MfUa zPX6vwa7bWl{@C_v<{UL?mu`))(9&hbJfdPkdO>BBP100$98>Wr*-^rdCaeWP;oo)nBya%&Fx(L9kT% zlEC^o0pj_kJAHB}ia6#9jLw$sW=1rt%0J2dpF401k2wOR9Y#XmmWuc5$sVmg#+LF9 zGor=%w4@=wy~YJu`vyaEPTR%wt+i30X%;8LS$&&P~;fCpci>a6XfmuX2Y&iGDp&4n_-vp$-} z?2{`18Rb){&x2yOF_>Uclq3xXa!ioP*D|HfRxCr!ZWJu?N#tZ0y7Z3qi$@rur z;Q2c|dtUA_ZYmXca+YZJot`~Nd`F18!`f6FFFYik6EEw0@ z6QhP@FkLhy5+>_ARz>nq*AX-0{pN7^Vm%>G6MB^HE{$pN{-{>%?r+uW1gf*DhTJy- z6kP5JPA_n(&lb3D7UZXd+AP81KVQtmT}G?VqUy5*HslSN85b7pHdD!n-e$<`drFRr zrUn^z0?RzG`*J{C(_tnD-Mg&80huiJn#tj?#gw6&_SlFX_I4iP7-}|6oAr`5;wBfX zvPNX}#pph6ghbiw|ym0U3rAeC>aqqfr^%m?O=qkO0C#0Be zRd<-?aB8H{O*PYZ)#-vgG&aZZD}5SrT=IBEwrH_fH&3pO#rP))8 zmcsK@{1#7y@B|xF*|0#xZ}51rD5cB1V9Piv;~bWG?YwMFw!}2c(k(^suJVj&KFLKt zMJyIrk$)(YxXV=*jscd#0$*f7UoJ0;cylPry&~tyi#+Ga(=?y+Iqu7NloDS7#4yLm zQHSdufLL<~$^;e!a62lFVbL!6eFRI6VmSxkw1+t6bhfRYK%IZgYG=$^cg!&~NV&75 ztQ^bVhQrv@N!iBw30xS!PTBMb+T>#btpeNDPT*3(!_IoX>=1Yuy_*Y`mevp6oW_0M5m&*u*2&dAJjsaS&T@KOr3FDdwxxxPdSpBSbh4_Sg)W#LB~^^;|FY= zCpehE>jT~{1^5rBkQl9*fEB=+qu2`^!b=}UgIr_4S>r;k6=_1;`}ICJrsO;P$AZ{SnTwUKiP&gD3Jfpm8HD?JxW6J8zQY3H>9M=8L! zx5&?T2xQ=10fkyF#R6WCRq#4(B`zb_J8%{*C$QUnrfr-wZ6jfnrb%!LAS%)}mhk&0 z`~~n+_TGh`@lD!#J)d&H^$sqFaH|8&QM@~iOlLjm@!muDfE?hGD+5-g!|SUV2fKMC ze+@Z&EmrWkl9yf5u~n|_N$cwAm!EU~WxObNotWjWU*I0ktT7Kl*Q^PANXCK-;Xx0= zJ%sS?06c$wOa^C~r%TBqV35EK5x6}xCr04nKEUdICb_KFMuLP0m;8qz>6%$(|xg$Tyij zq#G*bbsU*5VJR!*&=3d7a0{^`gkP~)D*rW^AC%dV@6xzcjxZ2(NG1`IJ`xV0U1N50 zJkzT;em9vVO*r)!#&^{*^!Yo?-%?|(Rd|AqgcKtKpl=)BDniU@jbC2ZqJu~3947vx)+SR|HU*>jZ~UA_PS literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId8 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicMessageService.class.uniqueId8 deleted file mode 100644 index 8a8914a383e513d84280f828e71a8142d31410de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4506 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicUserService.class.uniqueId19 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BasicUserService.class.uniqueId19 index ca67b042b309557e3fbdc127b26ac597b070ddd2..5aa2e6883fd48f6b8fd6e85e37f6467b25d5cbb3 100644 GIT binary patch literal 7579 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/BinaryContent.class b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId15 similarity index 100% rename from discodeit/build/classes/java/main/com/sprint/mission/discodeit/status/adds/BinaryContent.class rename to discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId15 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId18 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContent.class.uniqueId18 deleted file mode 100644 index dcbd6d925a54a625f3d5a9b698e3bffa77ab3e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1131 zcmbVK+l~@J5Iqeu;NY;p0P9}7tydT?^J0w2s>zC3L&B~`h4*2m!}iMbn3-l1-~1#^ zBql!i0e+ORdcbTTBp6@1s=BJrsjAbze*gFh;2ByaAhkl$R=BO;S&Z zht$>cCB|OA-+j5S(Kl>VP-U=!g!_tz2UK036=pzPNw897 zwT_LtZlf?sdD0E_^QMhWePu;FP5lw?63=04ndsl*1-|xx!RXLn43(ac{CE-#dGg*L zj_Jnf#eqK__=(W*{L)Y-B4v2e`@bda(}Iq;I*G$Ke&R=5@r2OK5m$O9r`28_f?@aV zMCzuy@=Tx(^-B}c!_fTMp6d5)GXv!qpKNpi9#Xh2+|>Me>slQqfi zxZlCtds7tMZDWeEdw+_W`(TR3SIXwFt!q%A(;<#JEHvl~HR;@>+!p14M>8bs;xa|L zUU$MWPxqqx+tEJ<`OMS(7`Q@y&7e{cEGP{E20goqYx5>OiZqPrenasKIkSEW*=0H7 yp7EG-?(0;evwLJ2Zma~VEdy<=1-iKssId%GSqpRvw^xi-UIwbJ1-g?h diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContentInterface.class.uniqueId17 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/BinaryContentInterface.class.uniqueId17 index 170bbcbc3744bbab6d507ae1b33e43956df2afb0..42b35da0327d6237cc4963cb3e7a8e5e2816d7a0 100644 GIT binary patch literal 783 zcmbtS%T59@6uljJ2#SLEO5C|Hu(5jvNkn5Z2?P^@Ys<7?NvA`mg@j*o;RpCp#ydlh z5nT{nv}y0_oOADe|9E`^fEzf^gF~Rj1orK5CN<{|)@7}Ga485sESxmVE9Es6|z8q^579q>$ ztumW`mC{1YQq1#KshFy#30$TjJJQ&1WD^5{9m!F$-VAM~WFff$?3=9mm4D1uRA|@v?nQ${OFfyJ&ptTrlF42auROq->W{RQWE!4uy z+Oc*@yFms9P+(9Qi>cs|&?DZzAFI$Y@I#}7Qw&~eya^XJa*wgR7Dh~zQ^qm~OeV{q@PJw}xUBWk42i>t4~N~(e+)e&#qwPE zJc?SguIy?CN6QX9Od~BUQ-Hx5O4@E?fFn(L4ArMse`~BR+N4$ULXE$6)ugt3sUm8L zL3PkRtdr2Q(EKtP@5dp|pTDQ)mmy Z;C->SiM&If2Nh!P!d{L|Lp6Qe{{-@#(t`j1 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId3 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/Channel.class.uniqueId3 deleted file mode 100644 index 89e51a43026ba90c3a592b142a095a33acf466ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2061 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/DiscodeitApplication$JavaApplication.class.uniqueId14 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/DiscodeitApplication$JavaApplication.class.uniqueId14 deleted file mode 100644 index 87df1920498dc0b604277a2960d1a963dc03f0ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3433 zcmb_eU2_vv7=BJ0x@nrWAqa>cSRi1VLQ_6f0tlqm7DK7_0|iC4$)R1k*^Svvv3_>O zGQ$iPdI2+xqh2}Vcqcei;KCo^PqFbYI6nK)HmPw*XS_)E>^bjwp7(wCeV=pw`1{H4 z08V0|6-{VX5Q<_GS_IDI%tFd4mNdgo6*SAzOe2-otelybnw=V08J#H>buFjbTuz)* z=hUiqffjp4vl9IRhqD_-OGgk!tAa=rZHNlQt`j|_tHyNd!qjz{vk8AfGc@~@Ky!D` zWEdR+n{Jq9em;yC?cL#N&)+`MhY=TOb!QJAI((!J&tR*9ZBcB;vjY8r4qCD_r{!d7 zf`c({O!{0&sdvk?H)b=Z}^dh2h@ z%&3MT_3`;4eQX(>IGY{L2pnvPv}$iUj4tl~^Vf%!pBBQ{EwJ4icUA5$E-!vl`QhgB z?OV&Yf9z{R0(%wgb5i;;KYE~(D=GDvRld7l?QFc>b1cO;1fs3=go<4?4Jq1iBl6 zbc(PIM{rcZF(=ipG@9!3(z4WPxtePAKkIhQxAnd@R$l|<$ zkti-;RA7rM9kr3uMOS!rgQ=-@aRqf!;Mi08q@F^jd$=)_p@a)`W;H{OlnYa`G_FqR zoQY@6oT^W%CCz#FCqs^e3uJp%abDUpW`0yHsRe1v5`kMSX_t#mNef(g zN=P(XufqIVjkXN=+scGkE&oHoTkEkgdk%y^GI(#bbPGh?7=3LK$Tt{ftui(k>5760 zbmTn!Uyb)@u+J;;uA^lw`al8)f)Q#ZkNMtQ@DwNG9+czKVyl1MVDzt@Ds)q*`WqvpN(XvC)kANX%Gd%q*93a!_*`a!0+k>T~o$AUwis4w;s% zz~rGG*aY=p*oTE$N0tLL`5Ka-VNa7~_8nErHz_=l?d( z3KN**8|_^*fr}h(;&o#oMw)l=9?cxsH%a5bb|&NP@y__>$Ji1=w)YoKdDszmIe~WU zt-|lbC0wRWJ6GSw2juthFL5%AEBKHL4*rmjA4@*Kj`&OQU5~M+9zhQ}kgOtz;VM+_ z?;y?;a%%)vU4lHMPhgWE#JNN=-rc)|t28GEV*gFC1 CZ3wUc diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileBinaryContentRepository.class.uniqueId23 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileBinaryContentRepository.class.uniqueId23 new file mode 100644 index 0000000000000000000000000000000000000000..8488f8d4b0eb535fc17c54d9ab7aeda1d48df399 GIT binary patch literal 5678 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 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageRepository.class.uniqueId9 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageRepository.class.uniqueId9 deleted file mode 100644 index b375d195af428751583eaaba64c96d013bb86d71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6592 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 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileUserRepository.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileUserRepository.class.uniqueId1 deleted file mode 100644 index 1b599aeee7c0f7a61a8a40637f795754032a9f40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6550 zcmcIp33wFM9skW{lSwuc5`#(>P$44bWW_3KmVgiv2X-u&PH`u&gh zhDV+{@*seAr8I;9N>l_jl%h;Q%|3m<9!ct{u}J^OJ|k``C|hr)OnZZZl7_~ia+E6w zuE`pi3WQLpLeo%%MG7{?t%*oBoiS5(WWvm5O)C{inAy0MFibm=G16Anw5`m+$f%h# zB3=C1NhSmNbp;ijR}6Oc#k%|Z6x8+<^oZGHIuDGk(})W+9vNwsB^J~OVFm^lz7I_ZDWg>VUSxHQ)n`9QqqsZ zJi4GWRjl{yCQ#k|os)4xx<&;vYH1-5267CS2_yeLgmzpil5!LMTa4!5-i&oXA4wX~ z#-R|FphLqJbShBy>&cwaKRPGYohf$k~>7&E)sga5qqiUARU7aV>+!HPCz4IHW@NVC16X>|z-q>_J@YriJ0c?qU*& z;~tD^7z5o|c_3rjhF5$~D|V@eC2`+_eHz9^#V(B}t*oJfCC{k{661W7gph=#AuZyl zN>3zWxpbPY%o+({*glaGSq-*G&oV=1p^E(s2#K_7XLl;^vk-E)Mg=Qs*rRZ?^3hD< zxx(h>6+)MsiYTPXlej^{3-Ce(A)=A+EcTZ^*W?f;g|0d5Q*n!e6@|Q!1+>qyyR2L) zQItKm;x-j8*6H#q&A|JcpYA^;td+!h&w!d=PSo3V4t&%jDkyCvn0_19NmnY&w~aA@Fop!##rNKtxu>HluO<(PGS9&2;K_DkB* zre&inA2m~n%?CxZJ8u7y+2PeFiYu`MHp}uFIcgV|QlYh=3Fm2q)_w{Xdf6HBHIm#l zVT@M!QSnk)jFQaoboq9HI&ntQCwm~&Gb z8x{F?z{-qAcxTEOmVGd7L<)B@f>5*BvTU|5J?*4ywz>>I3*qPZg^FK_!{e_MtSWS4 zGqv9uH$nj^+m7dccROAEAF=tr8orAsYVZWhQFkh3WaNp?$f}Cs-Rp|=S}0;vr9{D*^KkN! zvc)^$g_RT<;1TQ)e{01xm-nDr@ezY-ALTp%6&0NGdkB9&#+6TS7U0<5bQnrgt$H6S znrf?Oa7yU|STbBv8;%VJYnM&qjMxm$z7LH}_oA`n0kqB_awnF%PZ!SMqFqy{>N$$` z;pW5GIC~G-Ux-b-zC}@jdnsTw1p}udNQFZDvT-g>Cq*4;mXRuqPAo+q&cJ=7I-M$Y zl71RgN+^dJ+|Tg{|7s98#tn)}F8tw@J|J#U{1xVG>6&lAN+`L z7+3cl#h&5T!x(7`hJ&Oq!og{nQwX<}x-+eJI@>yp>!wiG7IY?>pbD3Y zcfnb@lib<`w~e#ShX~n9`YggL&swbGJwM6wStoip_F;e?NYY{zZ5_A`zhb2Cr#pkFY@mC(=SkARum0p2RtgqDx*36x_?kIA@tu9gr+JZ+hIUEii z#`W|%eg6E1u&h^1ZWM44BstUC)Nol?6_Aw83J7n?gUOi>%qdh0rtOmH#@Ut`yyy^p z*-ErF(7sFQ^=%yMF^H=;UV}JBIW9(qcfY7R-c0>Ph_*3h!7obzTtIs+NJqg13kSpTWzTj^LFd!CxyP?@lp$Yk)uRWDP7-BXR(Px}FYm z+;!ak^E{6D4Ea&%{l?14ssdP4C`O0v%8}wp-OHmPG1sP!&!qM;>7`b}!{Ka4mnCqD=iNj4;sR^noE&X(GQxuFb-Ry1Y_#d8KNL5}k$m z7@6=RI}@F#Zg)#^LE)N^Xn|BjWM_g3my+#Hk%~=TDiWtj(KW8`ZE@1DkK>KZ-kVwv z$>|g-St3RDrCMiu#fvFa^tG^Prdno;P_CdIXQ7cv)x=`9mg6F#8Rgi>Uooy{8g_65 zQ{ytOIOENHf0=xCMlT8LWhv<dX0s#D2w=C75ODEc}S@s;4HhzrWSTO$x|w5n26H*kJkjm ziN*0a&2{>r)_gzS&yPi{WOo-L(P@NT`EUn&hSO=qOvD~9h4=y86u=MhBaULnk2(H? lf6IyHPx<_7{Fbx7;BWY+oIQzu<0%{?1v@kq3n)Q^p9cQ6%*_A* diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFBinaryContentRepository.class.uniqueId9 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFBinaryContentRepository.class.uniqueId9 new file mode 100644 index 0000000000000000000000000000000000000000..8e8a361f7bbad7f32c305437c4656cd207e15ecd GIT binary patch literal 3409 zcmbtWYgZFT7=9)oD`AxcD~eiC6q-Qm_G;BoTR|zz37mggn`X&+}&X5O?&-4 z?Ky3|^qii4?&)vp={vg%nGoPu{E*G;>^sl<%=2Dm{{Hvrp8(#$PidskW}w}~9&|8d zmia2T9PU=EYm3XG6f$&-N>_##8QOCBIRkqcvXN0el#VsYgQaO+OT$20C%Rx7*k@ut zx)~-)UeyX}zH~#YDuY0Ju4T)h=omM>~vAVbezvzAL`>+1N#m~^?nHtxBhaKjrL zpBeT9WF{E8iw(czvyes>Jq8Y#cmW3)&hF?h2zgi!ENeouGK=)nL7+=uRK$C9KPs~bh+(uqcE;7qYb}=oPoTFVT>^BZy*(Nk5qc|{ z?yG5ip$813CY26VM0+TdC?}e<*Z{lk3tN_WC?am}nYe^8Qm`zYQ1}ez_5E$JXnP83 ztCvk&!34pDUL2X`>{WA7_D-6ZQbFkOMb%ps20mc8@GOe;w0!02xItBCGXbT2uMVm#$C4CpSS zgw;7m6I89zrk(19lMlVkX|PsXPlW+(bIP_QD-{=av+pgeHnVxI&8KbQP}t&V9nihU zVpFnY*G;BH5b%mnaqX-&#_3tF?w7=bR2{v4`xEnwYJCiSH|lOEt71+Dk_zRL>w0ts zQqLqkM~a?bi4W&WStZnc&tI_uN-N=oB&F3je@U#&nCFGm1$iyb!JxYXZW8^S!!YcCWqRnXqr^cZUdWJ5_+{W8Ki3<9n*uf-sZAS#Bi=MYqujz*= zoiNg^=rf78c;QXrzPpdH%bnLI38C{H=Z-Tgsl{i|-`$C08Qf>M+8W;7)=dT^+d*BZ z_y{fJ7bpl{s+0CB6JIMU!;R0<3?4jJ+ge~Sr(9R~;|>o35g7Q6VX!5NEd+=rqMxTx{%UyhGs6JjYdFb_z~FfA28-0q4PJS ze~GNG(NkSxfljp3=sJze*d8C^2E8%N;wD)rtVzOBwwd8ykskRSnUN>xZNu%&Sc*?~ zgw-3{Cs?!+w=hSTw+UqrqZj4iBg_-9a&U#rm4j^L;0cbU@E5X=apGs1OhK_#`vMMV z=-CbQEEe!_1AT!EV^Kb#$xrcF;^jfIjXcpGVo<*3ALHfQPw^V?1aGDA6a_VUH${(e z2Iaji^4?3z0*6WcKDv7z!6_U?j^34S@m}*AZ1T8+yX2VDw^&m(v)JHwhd#voN;GLh z&=!>nmlGAtM1}WLtrDLg3MVzU=7w9dRRo6e{{kN*@S$zME4soJV%v@-dZr+;O#do8 jEA;QsPYF^b;X>508jU{37x)Gb>06rYzQyuz&DR-53&jL>Wo3T0oW&`eHZX4D49+qP zb*R$*n=J~*!$P<$5u@_KnTVY<()904oX7WsA}1KGbwPDmn88I{GH}_%6&USFZS!+4?NvI!j+rS+YcX5y5RE+AdBbsun(x+H;rc2KS z-ajz$5RVwLHP=yGI{quM%W$Gw0N(2alubU7p=d8$n1U!h*nU-7CkdkDb+n* zX&Ld6*7@O{#}2yuo{ojOuqi%=nyiw^vfJ`%VovIlW4zlrd`ovHok3Z;Dj3}v)QtLs zr}q=OLsEE(0s5xvgPzkgGlMjJ0lA5N81RQZ;0_0%MtTQueJXHi6$Ck diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageRepository.class.uniqueId26 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JCFMessageRepository.class.uniqueId26 deleted file mode 100644 index f0f5a0c1ea0226ddebd1b342440262e7e45943e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2171 zcmb7_TT|Oc6vzK-0}8eX2Am5`oBPGaNtCp?)|7-xNJwl*LVzTbm&IOS8Cmj3Yo>gs zJhU@y61Ov*KKDa)a#m8148}9ONZQre-~a5n?Ed%vU;hC31#dG*A#I?~L_Y=?a@%}| zTQ+w#t)=yCQBw>9lhToDiXmMnt{OPTFcKKGl(em9+~2D5W(Ee*gUG@(Fl6F5h8Z5$ z+=k^hJ?SW`A$?!Ej#Za_&8-WmEKf9DUnuzEz}uC3&jL>Wo2QmoW&`eHZX4DJDgz{ z>QJTqH(L~r2ZeB1B1YwdGZ8y!r0GAHIE!G&_iF2jj#0eG(yP&P5C6ENV3hPxvSP+dRlSwD$F?NXtG%W~7< zs^wAG7ZdeFWjdJ{2IW=hsnc1f<*722|19;2E`RBW#a3focyGc4k5=3ow^z9*^*EaB zQ(KbKH`7}tv7N*EPAmI-hm=1Qdc*elTs)FBgV6|Ep5ew3SLUihZMpTA+~WkGs_Ho*#ex2@U4qeVi zr)9*iw9XIrJa*9K_jD}Og-!7})MS-Rmfe2;hVZU=?u!!Rl(@apk~x3 zJiQ;$9g@Oh4A3`SAM~82nHi+%3&>4;2AlXB#=FlL{1chq1M3-j9w!T62z>!(7_&4o z!!?-06B;qh<0-KOyH@R20KsDwUW vO8A`Ji%1p+d}erqm54hRam|SPa|&y5{=#q30-W9=)#<(sZXFokoH{AfOSm0EJ2frUL^BV4`7}1cJo1(p{Ytsjh0Ps>5Uk zoy}zyopGB5_hr;Ce$aCi1<&!!=Q;jO9`CEFR9C0lkkcn8UGKem@7~}3e)az!Z+#Eo zC_YOgftDm%6|6&>K<0|JsHvuA&8g>RujqMCpl#T&4DXmgOJDzV66*yz{Y@3mFx4^5 zoj;?M(@3Hvg?1=OY*4Tf9Rj0yyQI2h$FMxLWVo(jTWY~@^L9ZuJk`<5wrhB{v!q_h z7uAPHPfzMvVan6IiaQy-6IkbRk1o(LQ6(i|E{#rPlh~x-4r~^9U{x~LhgG#g!Bwj? z1fSEr@q$3MuRjKV@#6T&TsyYl&Lp-f*oN%_8*12Ti*kjgIouZitY;BStG@$ZJM+{twvdP5OB(S{(Csj5r-X!)Z*bh}; zOI5rYZc11*OiyIV&AjS!6Fnq526x@#o1X4xADx5YPsYF+e&gaU~ZkkDT1%{-$ z4++LVQ}{os|vNeyLrLV1>Iyoj4Vmf zHr10c05=4(hlPaqTX4iTa8zAb9wV#A7Pp&PX||yC*1zjLC@@yX*ObruX9RYHM2%$Y z_r6J%s5l(6@H-s-Uzv6$(-k8u=xHL}!uK;Y4OfoscXu4x4}u(!%Du<(U-C_QCY zoV-c&CX=tS-!2)}qP?K2 z6TXvqLStE%J)=N7%S?6lLuj}7p@3javkIo}_DnpzO`P z3@BGW8}9}}+EL9krwsN}8C;@OUQ4r`eqF)u@rMlFY`((J5bIwO>)#4~hijZ&m$SDN zJm=5ek+XLdJnPTim$MHP{1(@Ey^r%|cScRkb#*t1j|J|jb4?>FC-I5E&egZFx(6;{ zGt$o1MBp+0XXU2@pHHw&P2fq+*rcP4zfW=H7`qq2XJ+6Vh=K2ry!;JPUnBjczx!$a z%C8w9#XhAS8b?a7AG64FCQyLR9TIDdSaNS>;47pDZy+;x6J0I1v=Xa>@??Chu3&$N z#giyvj+paAStmG=1O~1USQ5x*3!l3r!A*1v+{7-X%ideq1C9q0{9(#}!958)&0pDG zL4MBgZyP@ldN`I!>j+vn+lBOq=CNzVTA@JTaJH ztm-e_4BQ=K>5N!9;rTj;EMCM?;h{xbCAu{F$&f_}SxzPDJ=(|E=#P;o5s6YyBJk@q zm~d=06Yir4_tS(bO}H<{8#keJV-!hM7fKT@MarEGmFtRJICu-=lKSBWY93@19g5L) zMQV2WQBy-F@S8QLd3H55b5wJfY96JUxft(S)Xb!1!J)F!hety-Q_RY912-`FITwQr z2_j@ThMw|u;RYtXpN@oLC0i@h&~2btBG(GF|29ypy$zrqZKU9i8Yr3UwF>e|2%$qxeKhSnBoz81g0Z1neTW>xIMc7}(>H$idf_LEq$bcewq zN7A4P{E@5ckl1#d9~<}+CkZ@{7xI0V2NEm)dF))YI0tHV6txMFJ>DP=8yJ1(vzoW$reN{7?O% z&e&?&nNEN1AJyrzcPDp&kkKD9lhToDiXmMnRt=nB7zvD8O4`;l?(Zz|W(Ee*gUG@(Fl6E+h8Z5! z+=k^hJ?SW`A$?!Ej#Za_&8-WmEKf9DUn6cQ9zLryvOa9@EOi@1ZLK?Z7KkgA?pd;FmThv zEm#cs*pJwVIKJ`(Z!nzi;Doc*TJR^K?%)RlKbp9Udkm*zREHhWlv|NL#i}!1dM@z( zfr*Fsi6L8a9mS>NFN%GJQ{4jaRwtlrVp1nyz!MF3PZ*$zzTdNW5+!=LHV4<_w!>A+ zqnIxyiirwzGBFHltI|^>QK99jGFAO7^@px{>4@c4V^esq!qkpd+#0v5+>?47P4=lB zNr{{8t&!MB*Iv`IKHnqRYN0nN>22}LO^M$MTCnsrYjR6M?YQ+9+~WHZR-;ns4Ve6Lk9GPC?cfue`f{qH33S@D4YbjoDu8lWSaexv&IruQ`6 z4=Fsx0DaTdK+h*MGlMjJ0lCsgu+m>J-h9O1@5sCltY_$Xk}QBB^aY$@%+kmV*I*7$ zX~Zy(Ux=-F3uK+5_ekjjG82CwH_^s;8XFV8(PWC`0DVINW8_pmfQ^R>A{Z^jGr}-D zC#!x&1Ff)#3X!$KQ!@2>y)=hdG8uHfes66ny-siO-! z1k%gqs%hA!vuNB|SeC^=V8?{zSix0+j*-!VhMfYvp;0ZcY-7gsmu{KW6f|@s(G6Y0 zE*-nkBakh+6~nK3mJ=8i%l9qUF-n$SbW73-3{O^F-wIrB%~&p$jhor&IbV9Sff>~N zd(CeGT|RB3Ku*>XzLmZzK^Xo>MoRq15f3{T*chW7;eBd;bs&s@t}evrZiTvEk; zS>Qn2rAWriXrYf?aY{)(p|eR?`#U{ZaaU!oEO0EoYokEsRc(H#V^S4n7fUQxN+FAD z8m{Y@#tnhpkz-11swAJ*Oq==N+W?Oj%ILg?oWRAclz3F#Ift^B%_4gzIcqICY%JAB zg;ZOB1%XtpdHe`m*cJ>=&s#EBa!Yqj&#Xww&j@#_f}L7Z zC(Oxs;j}ebvwj5<7Om6kGb8Y1O8^twa$cn{RrgiZ5KB@CqTJTh>ZEP2KO$8(aZ|3P z3)SNPaG)e@>QKbFP!*o_-Kgo1D5mjj`=`S^vDOsUmpV!)a`v^FeWPOmMFBnM zIMU17rteE%!}kIw+T`CzNew>=9NFBIZCIC`S5Y_bBvv|~KJ^ES@0+~H6Zi;8j`{D6 zzj>})MF&Sfdh7+n*lTEyULg4gQon`PxA?36^MSiMIl9e}Ubn{`+~rK*W89;K!kQtL zvQ3Zuj@0;bq{m-kpaT!qV<~@nLac$heFKX-F^l`eoFht?;6xD=@PNRIV3y{JU{Ddf z#36x~ILelIg_GcLEWsbP+OIT8K>4ns1o~rKgH5hMJjA1j>md#663uh*lPz$*yBX*H zH*h|Vb3Sh2e1cEuwu&>;NJ{T(TzJ%s^#v}jkL++PBfX8t>Op+QAU=oL0KCn&5^kUg zM$O(={$~>H`5D4q9FO@w(9~?8O|x`L)iueK-&YzmNhbe;vFDijg^Te_48>5BAr=i- zTVd7-#fI4cD!ma@T;L>>tgTS&;|-uT^eSE-ZCG literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId24 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication.class.uniqueId24 deleted file mode 100644 index 27259b16f454201580d58cdc24462d4a65b38d70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4482 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 SBAcW{Rj~hqB5*LxuYLl+!^mU+ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId15 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/MessageService.class.uniqueId15 deleted file mode 100644 index 95cd735b15918928bd15a1f022d166fb900a51e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 744 zcmb7C+fD*85S?<_W$}jK^$+01eee-4AsQ1Bh?)()*Y3EKEM3xeG5(qlet;ikoLwMD zHZkF$Y0va@=FI7Q|9pM{z%`t^P-1W?lBsWIS}N;Lr7<#5ekhGdLX_4wsOM6kKSX1A zguw#3P+`!R@HzKmt|I^Ob%Me&aD+x~kpXWH*0+JBEv8 zKUPAzRDXzeoPYamd22D-7WbwL zL$ai9mb4eg44UoEpDqW|SkmbQGE&^8ntbUM2v=KmeM9-2bQb0&KNq?vn!ascb%pPD zD-)d%V{(>3t5B))!k```sTTMk3?)KeCw z6|d2Yc-VARwOI=nRH)G1cckQA(=Fm6=1g3&a2fLq6I!A!(v(zEQqNf#d}NqD)&J*9 z-NK@UD_BybA$MZ#Zqk{_M9^QkS1nxAxxGU-$yKseE!0$W#B-upHOJu923z_!|6Iis z5hjs_&nwzQRVk|+@!YWwtG^w(3D3a5>#6dSREp5UT6)*@msDji3RS=-U7cdeX9z zl~K#3kv2*rErCWFutpjwp$X~^b;@s$cT8v!+Kn$@jju3IFqXh%0y6~F6D%aKoWRPl zCcIA1CHm%oDded9C}ybiEUL8Bi}YNjU0%Z+ZcxUnqzrCSMEz_nn`ui4SIyY!V?b70 zN_hN4 z41}483*pd7b-h~Nt5kh_zP$s$B^)L}BXDLomM({`u$68JDTQO}Oi06FTqs>CsywMb za?09)*{~INyVT%Gh!MyS=!ohjwR?K&b-)cpASUUE6F9Fl7b#2`i&n2ypRnjXSAB;) zP?uU9yGa5WcSe9fqAP4x9}_sOG=u)05~kkiG;V9(|J8`2HB_jLnl-H8N$xfnfwa-5 zw$07JZi}9cYF%V+EmiqqDaltzDCbMMHqH9DGi7!(#~`YuDWt-*=YNBir&O3xx(R2L znvC8b*YTgdBg57NM!zf+y*%3t<0kG(ee6>!&NsugDosLyDMuuwBX)KoZ|cFdYdfB6 z@H=7RPLzK*f)juL5(EgW;7I|bVg%xlz<&~daRMpu&m;{Q&;nOlgH=S<@MZC7u#RvJ y@>3Wye0TzFAXJD#VU`aSp%i9q&a$=;+JnlL|waqYwwrZn7SWuJNN<@Fd>Bi literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusInterface.class.uniqueId13 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/ReadStatusInterface.class.uniqueId13 deleted file mode 100644 index 149f7e4dea1ed2ba17e87607357d452ab7cd3d5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155 zcmZvWF%H5o5Cr!E#1a)Hui#25+DKGL)Nvzp*WbHUob5Q3=0dG z#%)*c8Z%6l2;CHKfl#`*tXRt*6(F!N>lK0Pm_N%>q{G4`$C=E5z|oxA(_z#l_JdZn zWXHuB`{>Z)LcsX~3+E5(5_$6C9SJAmelN*!j5oFs*A zYI%Wgi!141OS#w*pN1Bg1PH9)ivTcjrxRe}*}_xOfVJ=k;i{)#eH>2U;G)nbY)wO$ liCJmLfDwT)D+F)jXTT0#Wnp(--95-ni|k`IKA{Mc{{gM>4fOy3 literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/User.class.uniqueId12 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/User.class.uniqueId12 deleted file mode 100644 index d7bfdab271868ab3a4956c4a95fbc23d1efd759a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1943 zcma)6ZBrXn7(F*HED0M36w-=qt!b*^Qe`nfeR- z3;HW`#?+1<{OAXNi$B3}JooMfLMG0b%XGB4_{byUtsL6?b!ahKs1}HB{7bKhNO-O=mL`}yzARdqgvg1AdvJ- zr{T7O%}h2|J|D1_z$B(Lq;*VVMj%^vTSlkt*^Y0t>`upa9iw4)>TbibeZz8m+ka(L zJC-L9u^TLJ_`D=$F{dG;<038zOsjOh-Li}=r{kLr>yJ9_iNIXHmcfT>5UasUwRz7G-4IYMFLZ zj?~a`OJUn)r*qC&x7`RbC-D(hG<>Y%HdfD(9h^?Gt#7+#vm@s9)03+S#5Sl9fvK|XSdY7{L(6*>6fskF>#V_KB`hj*#{6TOE#=GqS8Z%Ey<_>u zZe!2%$b`?HIBp7Li@MNhH_pgBRrwj6K}@wjc7X{(q>KYvXZuJD zYkM7+vB1>>KFtSbV-pX#V;1>3F~3~Nsv>G7>x$xYu2WG4fRDg;hl<1_=)B894O$6| z=YK)!CoUq8Rg5X;HI+?OzZeN#8U|-ag3H($k$GVlTpS60 zJQ7?O2HzS9-W>@p4TG0Qg7;2k@fQh^--UzdO04h)G6hb3;Wd_j#Do$=Y$aBtyGVB- zbW4fQy-4>W-KEeiMML*o><6R=g|#G=6jdCqAjS18c7Ug$!VXYT3X9@7o}o%j)`(0X_BZB5CNtfa S-V=JC@~ZF>_>%Vsp8pH&G;-Vk diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserCreatRequest.class.uniqueId10 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserCreatRequest.class.uniqueId10 new file mode 100644 index 0000000000000000000000000000000000000000..6952c2b62c1b05ae88b65bef56032b96c7b26bbc GIT binary patch literal 2185 zcmbtWU31e$6g`{RkzZxewm8EKsk z|EUjUrkT#h!E66ET?JArI2-UhTc-exA|G{|;XO_zpi+F@Z@7B^zZ-3Dh3T zedz`=+;tzQP84?qrdIsW*Q)}P&DQobDwwuVwQ&lzz-lMzxk*3vL+$qbB=Mur?fOY4 z>MCEmiHi6Aj&j$x?z@k8NMG$(N&P@Q9jHVLR0foXvZn;E(IAkHGKU1Vn(r|9u8_Ufn_(KPPi%aOv&7ny$zGfJ6KJ0tYr~j6 zZ{q?!V=SDa+ODrXQ+b2E82> zZ^@k?ZKtRsgKZi6=9~*lde3J9?wquU9F%)X??v5TWz6Q)DyG%b%@MUt$7Vxdp_rRO z&P4Qj=jWdUZqwR(=0%|TFdD=ib(e!cXfu1ovAb>tjr}m3@Y-4w=|sn}p9Pi7PT{L6 zzQ#8eZrS)2w*}4}4QD(Ewck^2=4!4YFugOhBJjKztsm}3Pn4To{8@(GKqX6?QS@Zc z_l|9kTyg7JU#+X86Z?G~#YL5NKn5rZ@}~Q}V0HxhYcrT9yn+>hr6C)6DcN{Kg7J!^ zGAm&5nc-98Gf&Rh2t#JrIHM8^ZGlTi*&2aAjNZbJ0%woE$}(lC!VR+A1jo5V_9OXn zS2xUvsgO7{BwStz$Lz? zsA=Ap`M#NH;R>2OQ9ngB-y12e@ugvy7?bJFV3*M1ey+r;;3eZC$jcOwNgWzD4&C5t z%vjDLJ_P>e_DysxB|RHBGHKaO$< zpHppuCH#VGgZ0ijaoC5Z3$q^llDj%#ZnB#y@c65-itlj;KTuw!d=2Zki^cx|hY)!Ifn93Oa#{=8SwVwP)431=fp%Z^lPm@>&nC{Kd)IoU0+Hq@1%b=@x8EOB)znb zTBhWTVe?5P@%6MBGn~{~GiRw+n)iCm8|twj+G9^c3SDOi6se0{HAsX{E&1-Om3gtg z;|6sJGiO&?GgN9njkJ{W6mG1L|EynA@Tcv3a z)#YoSW!oz-Fl^A*0rGVGJPL%v4AJtD{f8n-2)?K-ifq#hutT9;?2&qo%Y^q)S!9!x Os45PYC<2GG{G(5NWWYrL diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId23 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserService.class.uniqueId23 deleted file mode 100644 index 7b217e56bcd8542a65c63d831207512f6c94362c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 794 zcmb7C+fKtU40X1(-G#v}-1&j+h48*H2?>xU4Kb-2?^zp0rZ%mTbQ8bE10TRgA>4N2 zqDp9cuoBxR$H$I8KHuH};2JI*C=s~wqLAuX32A63v=))1zR+Ieb783FY9%~QXLxb* zy8{&httDGA8Zfz_kMkw>3<29yoEc7F-kbbnU4zVv!8Vcp;}c3NYMJWfh? z6JU)_ub+39QBH(5D6i&Lx&@K_CjxahN|eX%MSzgjuXVaicf}?^pp07yVBvOIV59G# z*DOO7j~ZGX(#31Q-X>)cXl9{(IKWT~Ath)dqyyazq+LlNaENwM61-}r~-vAfaJ8EJiCL~n|Snq2);*zq(-7SeH|Ca}UfIrGOU1GqH zRN|%CnY{Pr&Fg%Ay?+3}1)TU$VsI9vQ*LHjD$A$R7?~;_OB1CrO3MxExr~s9^cXGP zK9m{MCt@ymBGj1oA14@D24195SY(j2f{ir0_kE}9KG!*Uh%Xr$+i4dIpt91wI$DRU z+@gI>cs?ETB*5X~%A25G355u!)R zem>wTNfs{OoTunqaaRiU``lKc3?`mmSIOwXJ-bKc%xUIE|&YI*PooCYeUW}=0(G#17PC21&3ph7MzHI~`L(7xfi zH~;me<$A;do`(#9(j%KP8ZkMho#7)7EP;$+Q%>Nl-d+Wmg<%@K*%%<`Ew>LUyknZh z9J?6;#pH_sf%TD);nmC!2^`hia|VeO5$*T=>t-Vr=u9k5!=feuPhfSSC&m)z(a7(9 zrJLt}8sZWg78fL)a0GIWzT=yB(N+`@DA&_W+rn79wsS@lW b(4w@Ar4`uw26iYO?9bl^aEM>mwF>Y7sa@J4 delta 45 wcmeBRo6X2|>ff$?3=9mm4D1uRLML-Esfn>MGB7eQ1I0jqk%1LRGBL0L0PVO2od5s; diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusService.class.uniqueId26 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusService.class.uniqueId26 new file mode 100644 index 0000000000000000000000000000000000000000..f1a57ebe5106e29a898e42b05dd53ce8e7edab8c GIT binary patch literal 819 zcmbu7!A`nNJ7L za+?@0@3>G#XiWHmvyew)HhP}Oz#=$-mfT8&WoP&&a{qC(M!(LcALKld#`e0uATmRY z3t`p}J@R!Y?Q1OVx#m-8r8Wqz&Y1}17ZnMF+s-g^pI8+#-yifhzOAGP=cd%lFhpo} zx@+X2qIV!vJvELfK26CC3WBqZ-g!Y>Cz**X?zfHN_Ot1$W%|7X@!#0%xtSjvxf3#^ z{1IBku%8fWUYzJa-l&iy?ZS$kr2pd}AZ*dT0ywmB6>z9_sj47sL%M`jsI6K%S!);e fs8uIb3HC|SfPtEhG>5S;?VH( literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.class b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusUpdateByUserIdRequest.class.uniqueId13 similarity index 100% rename from discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.class rename to discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusUpdateByUserIdRequest.class.uniqueId13 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.class b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusUpdateRequest.class.uniqueId5 similarity index 100% rename from discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.class rename to discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserStatusUpdateRequest.class.uniqueId5 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserUpdateRequest.class.uniqueId6 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/UserUpdateRequest.class.uniqueId6 new file mode 100644 index 0000000000000000000000000000000000000000..fd1ff642a71ef3de13efdda774df4855e5b0e750 GIT binary patch literal 2374 zcmb_cTXWM!6#h1`EXOEKY@DR-1q>y{RsfY=DGC7+Lvd>g192YOr;WW$7G%kl*6A?Q zm;RqVl$m-ulZXC*{-{pRN^+wV6Fkrd>Fniv=f2-xe;@t{;0Ep&F@sqXISU5z42w_r z0e3v^?>Ub|Hwb$S`E}__wZSl3Z|uyWfH@OI3#VW)-0TK@CmMv(S599>kqmsNC!=oA z6H+;m2oGdeIL++`PKP$}uQTXzB_4?%haysBeMlEAa&4OKT#_B@NElKyu)A(!r%w# ziB_NQksXDCP&BmpsW>aQ^P%F4Kn z7xUE4Y8KAnJUQFv(f$_InW6bVIBRL!7c8veL+S}NhkFsj&YN4#Wbt74iRdb~@g2i2 z_5XG|qnCDds*~4jTVsbImsD?|Eq(Fru)iz9ZNBTp6Bcy2x5GoJ_vv9y?Mtf2?Kkc# zP5OPI_JiI-9@0Q75t7+TeL}nA7uRA~N{bbbe5QyjIQ|;aD>@uoJ9uB#VZ|)fy=aBG6)1x2PuM>A4K#(iKzJs zxza&iC8>>?_95N{exv1!u~>;p8cT`D)|mi53;a42d=($1C0Zw`6Dinhhxp)S_~k_B z-%=DP>W?V^oua{L1KOOzCuvMNHl31T{|@t{gpAZ8qY91dkp<6B2R=O!T$&ENJP}-( z4qU~j6LMae2AsoZRH7MtjxR{oXkd~NPX;_0?_{`>(Y{7n6>|0^jb{P3u!$`+aR+zt P72Oo+<{rLA8`XaRmB$%y literal 0 HcmV?d00001 diff --git a/discodeit/build/tmp/compileJava/previous-compilation-data.bin b/discodeit/build/tmp/compileJava/previous-compilation-data.bin index efbb15966ea419635adb43e3e06bf4b4765764f7..27aa092efe4dfa2d0839d10e755c492d60199497 100644 GIT binary patch literal 29702 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 E0N*QPod5s; literal 29505 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 LN1yOLCiwj~4%;^P diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/BinaryContent.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/BinaryContent.java similarity index 90% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/BinaryContent.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/entity/BinaryContent.java index 0d0d2a91..60fce88e 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/BinaryContent.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/BinaryContent.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.status.adds; +package com.sprint.mission.discodeit.entity; import lombok.Getter; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/ReadStatus.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/ReadStatus.java similarity index 93% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/ReadStatus.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/entity/ReadStatus.java index 6e0eaac8..1cfee68d 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/ReadStatus.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/ReadStatus.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.status.adds; +package com.sprint.mission.discodeit.entity; import lombok.Getter; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java index 96e553dd..c1608e37 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java @@ -2,6 +2,8 @@ import lombok.Getter; +import java.io.IOException; +import java.io.ObjectInputStream; import java.io.Serializable; import java.time.Instant; import java.util.UUID; @@ -13,7 +15,7 @@ public class User implements Serializable { private UUID id; private Instant createdAt; - private Long updatedAt; + private Instant updatedAt; // private String username; private String email; @@ -22,7 +24,7 @@ public class User implements Serializable { public User(String username, String email, String password) { this.id = UUID.randomUUID(); this.createdAt = Instant.now();//.getEpochSecond(); - // + this.updatedAt = Instant.now(); this.username = username; this.email = email; this.password = password; @@ -36,7 +38,7 @@ public Instant getCreatedAt() { return createdAt; } - public Long getUpdatedAt() { + public Instant getUpdatedAt() { return updatedAt; } @@ -68,7 +70,16 @@ public void update(String newUsername, String newEmail, String newPassword) { } if (anyValueUpdated) { - this.updatedAt = Instant.now().getEpochSecond(); + this.updatedAt = Instant.now();//.getEpochSecond(); } } + +// private void readObject(ObjectInputStream objectInputStream) throws IOException,ClassNotFoundException { +// objectInputStream.defaultReadObject(); +// +// if (createdAt == null && objectInputStream.readLong() != 0) { +// long epochSeconds = objectInputStream.readLong(); +// this.createdAt = Instant.ofEpochSecond(epochSeconds); +// } +// } } diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/UserStatus.java b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/UserStatus.java similarity index 95% rename from discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/UserStatus.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/entity/UserStatus.java index e98fd506..ccdfbe79 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/adds/UserStatus.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/entity/UserStatus.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.status.adds; +package com.sprint.mission.discodeit.entity; import lombok.Getter; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.java index 5aeebfa1..f7782dc9 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileBinaryContentRepository.java @@ -1,7 +1,7 @@ package com.sprint.mission.discodeit.repository.file; import com.sprint.mission.discodeit.status.BinaryContentInterface; -import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.entity.BinaryContent; import java.io.*; import java.util.ArrayList; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java index e1db5b71..a4eb1362 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java @@ -34,6 +34,7 @@ private Path resolvePath(UUID id) { @Override public User save(User user) { + Path path = resolvePath(user.getId()); try ( FileOutputStream fos = new FileOutputStream(path.toFile()); diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.java index 0fde6fbf..3b35a54e 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFBinaryContentRepository.java @@ -1,7 +1,7 @@ package com.sprint.mission.discodeit.repository.jcf; import com.sprint.mission.discodeit.status.BinaryContentInterface; -import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.entity.BinaryContent; import org.springframework.stereotype.Repository; import java.util.*; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.java index 2e61fb81..7bff9a17 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFReadStatusRepository.java @@ -1,7 +1,7 @@ package com.sprint.mission.discodeit.repository.jcf; import com.sprint.mission.discodeit.status.ReadStatusInterface; -import com.sprint.mission.discodeit.status.adds.ReadStatus; +import com.sprint.mission.discodeit.entity.ReadStatus; import org.springframework.stereotype.Repository; import java.util.*; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserStatusRepository.java b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserStatusRepository.java new file mode 100644 index 00000000..7c3743ac --- /dev/null +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserStatusRepository.java @@ -0,0 +1,36 @@ +package com.sprint.mission.discodeit.repository.jcf; + +import com.sprint.mission.discodeit.status.UserStatusInterface; +import com.sprint.mission.discodeit.entity.UserStatus; +import org.springframework.stereotype.Repository; + +import java.util.*; +@Repository +public class JCFUserStatusRepository implements UserStatusInterface { + private final Map store = new HashMap<>(); + + @Override + public void save(UserStatus userStatus) { + store.put(userStatus.getUserId(), userStatus); + } + + @Override + public Optional findById(UUID id) { + return store.values().stream().filter(userStatus -> userStatus.getId().equals(id)).findFirst(); + } + + @Override + public Optional findByUser(UUID userId) { + return store.values().stream().filter(userStatus -> userStatus.getUserId().equals(userId)).findFirst(); + } + + @Override + public List findAll() { + return new ArrayList<>(store.values()); + } + + @Override + public void deleteById(UUID id) { + store.values().removeIf(userStatus -> userStatus.getId().equals(id)); + } +} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/BinaryContentService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/BinaryContentService.java index e2c9751a..2501ba16 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/BinaryContentService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/BinaryContentService.java @@ -1,7 +1,7 @@ package com.sprint.mission.discodeit.service; import com.sprint.mission.discodeit.service.DTO.BinaryContentCreateRequest; -import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.entity.BinaryContent; import java.util.List; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.java deleted file mode 100644 index cbc611c2..00000000 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/Channel/ChannelCreateRequest.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.sprint.mission.discodeit.service.DTO.Channel; - -import java.util.UUID; - -public record ChannelCreateRequest( - UUID channelId, - String name, - String description -) { -} diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.java index a497e90a..4a04a275 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserCreatRequest.java @@ -1,6 +1,6 @@ package com.sprint.mission.discodeit.service.DTO.User; -import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.entity.BinaryContent; //record 사용시 final(불변),getter 제공-> DTO에 유용 public record UserCreatRequest( diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.java index 27980562..d9957330 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/User/UserUpdateRequest.java @@ -1,6 +1,6 @@ package com.sprint.mission.discodeit.service.DTO.User; -import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.entity.BinaryContent; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusCreateRequest.java similarity index 59% rename from discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusCreateRequest.java index fe244beb..c54eab75 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusCreateRequest.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusCreateRequest.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.service.DTO; +package com.sprint.mission.discodeit.service.DTO.UserStatus; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateByUserIdRequest.java similarity index 71% rename from discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateByUserIdRequest.java index 7f92c9e3..fc200b2f 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateByUserIdRequest.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateByUserIdRequest.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.service.DTO; +package com.sprint.mission.discodeit.service.DTO.UserStatus; import java.time.Instant; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateRequest.java similarity index 71% rename from discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.java rename to discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateRequest.java index f4787cd0..4f96d375 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatusUpdateRequest.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/DTO/UserStatus/UserStatusUpdateRequest.java @@ -1,4 +1,4 @@ -package com.sprint.mission.discodeit.service.DTO; +package com.sprint.mission.discodeit.service.DTO.UserStatus; import java.time.Instant; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/ReadStatusService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/ReadStatusService.java index 9353e6e6..358333bd 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/ReadStatusService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/ReadStatusService.java @@ -1,10 +1,9 @@ package com.sprint.mission.discodeit.service; import com.sprint.mission.discodeit.service.DTO.ReadStatusCreateRequest; -import com.sprint.mission.discodeit.status.adds.ReadStatus; +import com.sprint.mission.discodeit.entity.ReadStatus; import java.util.List; -import java.util.Optional; import java.util.UUID; public interface ReadStatusService { diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserStatusService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserStatusService.java index 68091d76..b4e1bb39 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserStatusService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/UserStatusService.java @@ -1,8 +1,8 @@ package com.sprint.mission.discodeit.service; -import com.sprint.mission.discodeit.service.DTO.UserStatusCreateRequest; -import com.sprint.mission.discodeit.service.DTO.UserStatusUpdateByUserIdRequest; -import com.sprint.mission.discodeit.status.adds.UserStatus; +import com.sprint.mission.discodeit.service.DTO.UserStatus.UserStatusCreateRequest; +import com.sprint.mission.discodeit.service.DTO.UserStatus.UserStatusUpdateByUserIdRequest; +import com.sprint.mission.discodeit.entity.UserStatus; import java.util.List; import java.util.UUID; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.java index f2d9118a..b37dd472 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicBinaryContentService.java @@ -5,7 +5,7 @@ import com.sprint.mission.discodeit.service.BinaryContentService; import com.sprint.mission.discodeit.service.DTO.BinaryContentCreateRequest; import com.sprint.mission.discodeit.status.BinaryContentInterface; -import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.entity.BinaryContent; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java index 6e1e7fcf..5bc74c46 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java @@ -8,7 +8,7 @@ import com.sprint.mission.discodeit.service.ChannelService; import com.sprint.mission.discodeit.service.DTO.Channel.*; import com.sprint.mission.discodeit.status.ReadStatusInterface; -import com.sprint.mission.discodeit.status.adds.ReadStatus; +import com.sprint.mission.discodeit.entity.ReadStatus; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -72,13 +72,8 @@ public ChannelFindRespone find(UUID channelId) { .orElseThrow(() -> new NoSuchElementException("없는 채널")); Instant lastMessageAt = fileMessageRepository .findLatestByChannelId(channelId) - .map(Message::getCreatedAt) // ✅ 수정 - .orElse(null); // ✅ 수정 - -// Instant lastMessageAt = fileMessageRepository -// .findLatestByChannelId(channelId) -// // .map(Message::getCreatedAt); -// .orElse(null); + .map(Message::getCreatedAt) + .orElse(null); List participantUserIds = null; if (channel.getType() == ChannelType.PRIVATE) { @@ -100,22 +95,17 @@ public ChannelFindRespone find(UUID channelId) { } public List findByUserId(UUID userId){ - // 1️⃣ PUBLIC 채널: 전체 List publicChannels = channelRepository.findAllPublic(); - - // 2️⃣ PRIVATE 채널: 해당 유저가 참여한 것만 List privateChannels = channelRepository.findPrivateByUserId(userId); return Stream.concat(publicChannels.stream(), privateChannels.stream()) .map(channel -> { - // ✅ 최근 메시지 시간 (없으면 null) Instant lastMessageAt = fileMessageRepository .findLatestByChannelId(channel.getId()) .map(Message::getCreatedAt) .orElse(null); - // ✅ PRIVATE 채널일 때만 참여자 ID 포함 List participantUserIds = null; if (channel.getType() == ChannelType.PRIVATE) { participantUserIds = readStatusInterface @@ -125,7 +115,6 @@ public List findByUserId(UUID userId){ .toList(); } - // ✅ DTO 반환 return new ChannelRespone( channel.getId(), channel.getType(), @@ -159,14 +148,8 @@ public ChannelRespone update(ChannelUpdateRequest request) { Instant lastMessageAt = fileMessageRepository .findLatestByChannelId(saved.getId()) - .map(Message::getCreatedAt) // ✅ 수정 - .orElse(null); // ✅ 수정 - -// Instant lastMessageAt = fileMessageRepository -// .findLatestByChannelId(channel.getId()) -// .map(Message::getCreatedAt) -// //.map(ReadStatus::getUserId) -// .orElse(null); + .map(Message::getCreatedAt) + .orElse(null); return new ChannelRespone( channel.getId(), diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java index 29c70069..97e466c8 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java @@ -10,11 +10,10 @@ import com.sprint.mission.discodeit.service.DTO.Message.MessageResponse; import com.sprint.mission.discodeit.service.MessageService; import com.sprint.mission.discodeit.status.BinaryContentInterface; -import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.entity.BinaryContent; //import com.sprint.mission.discodeit.status.adds.BinaryContentInterface; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import org.springframework.web.context.request.RequestAttributes; import java.time.Instant; import java.util.List; @@ -27,7 +26,7 @@ public class BasicMessageService implements MessageService { private final ChannelRepository channelRepository; private final UserRepository userRepository; private final BinaryContentInterface binaryContentInterface; - private final RequestAttributes requestAttributes; + //private final RequestAttributes requestAttributes; //private MessageRepository binaryContentInterface; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.java index 8b874c3f..54d49747 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicReadStatusService.java @@ -6,7 +6,7 @@ import com.sprint.mission.discodeit.service.DTO.ReadStatusUpdateRequest; import com.sprint.mission.discodeit.service.ReadStatusService; import com.sprint.mission.discodeit.status.ReadStatusInterface; -import com.sprint.mission.discodeit.status.adds.ReadStatus; +import com.sprint.mission.discodeit.entity.ReadStatus; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java index 75851076..ac3881aa 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java @@ -8,8 +8,8 @@ import com.sprint.mission.discodeit.service.UserService; import com.sprint.mission.discodeit.status.BinaryContentInterface; import com.sprint.mission.discodeit.status.UserStatusInterface; -import com.sprint.mission.discodeit.status.adds.BinaryContent; -import com.sprint.mission.discodeit.status.adds.UserStatus; +import com.sprint.mission.discodeit.entity.BinaryContent; +import com.sprint.mission.discodeit.entity.UserStatus; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.java b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.java index f4cec53b..7f9e4dbf 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserStatusService.java @@ -1,20 +1,19 @@ package com.sprint.mission.discodeit.service.basic; import com.sprint.mission.discodeit.repository.UserRepository; -import com.sprint.mission.discodeit.service.DTO.UserStatusCreateRequest; -import com.sprint.mission.discodeit.service.DTO.UserStatusUpdateByUserIdRequest; +import com.sprint.mission.discodeit.service.DTO.UserStatus.UserStatusCreateRequest; +import com.sprint.mission.discodeit.service.DTO.UserStatus.UserStatusUpdateByUserIdRequest; import com.sprint.mission.discodeit.service.UserStatusService; import com.sprint.mission.discodeit.status.UserStatusInterface; -import com.sprint.mission.discodeit.status.adds.UserStatus; +import com.sprint.mission.discodeit.entity.UserStatus; import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Repository; +import org.springframework.stereotype.Service; import java.time.Instant; import java.util.List; import java.util.NoSuchElementException; import java.util.UUID; - -@Repository +@Service @RequiredArgsConstructor public class BasicUserStatusService implements UserStatusService { diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java index 88e98b00..2adf308e 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/BinaryContentInterface.java @@ -1,6 +1,6 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.status.adds.BinaryContent; +import com.sprint.mission.discodeit.entity.BinaryContent; import java.util.List; import java.util.Optional; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java index 51425311..363fdb21 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/ReadStatusInterface.java @@ -1,7 +1,6 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.entity.Channel; -import com.sprint.mission.discodeit.status.adds.ReadStatus; +import com.sprint.mission.discodeit.entity.ReadStatus; import java.util.List; import java.util.Optional; diff --git a/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java b/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java index 79e68aa9..42b022b8 100644 --- a/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java +++ b/discodeit/src/main/java/com/sprint/mission/discodeit/status/UserStatusInterface.java @@ -1,6 +1,6 @@ package com.sprint.mission.discodeit.status; -import com.sprint.mission.discodeit.status.adds.UserStatus; +import com.sprint.mission.discodeit.entity.UserStatus; import org.springframework.stereotype.Repository; import java.util.List; diff --git a/file-data-map/Channel/142aef23-db31-4ca8-b803-41806b7c132e.ser b/file-data-map/Channel/142aef23-db31-4ca8-b803-41806b7c132e.ser deleted file mode 100644 index 9e3e7c6da13dcbf7f2dbd3e80462ef891c459754..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmb7>u}T9$5QZlg69^FrDp(0ZI)z6{b+o z#!Ap4jfi03BlrduiddP5rLB8jh+4YU?(EF`-#^oPhlJAWNHu5X^$;#573ikgB@OKxXCSf^ znEaJcMkN-eXxto?`p7L>sT7x0d`uWN+kqx%>W&S`5OTW0q!A_^V$u;NjWFpDb6u6F zHYs145n$LWR+q}{M94`(PV&teymlXsvQHYsN|4w!ET7d~$owR&`t}BM4|*rF>Eq`> z1E|Yz27K?OjWF|eb33?f%?+;G{dRY7-suO2{osO(bV5@kGu}i~16vkhp7D`1*7bih*Q@q33Nvmi}5J9^ele3;Amos^hs!%$#B4n_GiY`uq zi;IZhAoveBy6fN|w$6@vF(vBgO?U6!d*APS@A4h`d=JJ<*CD?2xIp4?-{-C%7WYlp zVjKw*$Z?w#)(s(;4e?27kk%n%ddxs(O(8-~-!QfeY8#?Lbyrj-b;w%GH$5&xtIXTGJQ~U#K8G4W zRYo)5JGZ+CgKyV2os0T#=c>_ev^ru}T9$5QZnG2}ndj8Y@At6n3#nVP(`J;SeFFvRZR%T)Ep@@8%@22o{M5DNLbY zK&%9tG%A9H_yoRyl@_KkvDMZ+FGMZfYIk;K{_mgZyhGggV7BBs#8;k>NF3q&!j;4l ze#y1CK*A*otdhkoCMCBaIxzzhCXAIl&X8LRh>$Y3*)F3tlVxhUvOI4>(&B!}6AE=h zg!He30&1}^#Sqr8G(cg~VllU*7;CXF!Z0Fw?eX@p4!m}|O3 zw;2nR6#<65Vil#`PK2B!b-iaf8OXd4|~lEGSmr8kb*ng}q%fR{l NskF*!F>B@))fbvIx!nK& diff --git a/file-data-map/Channel/452ce9e8-d8a5-4430-8084-a88655e1f656.ser b/file-data-map/Channel/452ce9e8-d8a5-4430-8084-a88655e1f656.ser new file mode 100644 index 0000000000000000000000000000000000000000..d36b799e01f1d39b21fc022f740ad70061647356 GIT binary patch literal 519 zcmb7>y-xx`5XHyyBO!n>SXfwSXf?Z9TggWvyta0$1!-VO>4AqI>Ijg1L5 zRvImA)YupsEB^&sI~8oTb&msL>sGrnv+w<0=H?3~l?O`&*C9%JTp)3{Qrs29=BnV@ zj3Z$JIo3#W*Ajx2Avj|OOqmcWc+5g(uOq^&S+e#mirir|BNSQ!*Gvf8OcgvXQEMW^ zf|;@IU7rw^!}g#KhQ4D>GK5uAlhS~c4oK;Ulm?`9 zK)R*BXqiw&+C#>HOW)sgwR=_S_)#C6_~0bRywjcL<9vMME&@=M2T{Y%%MV{l3(xUR z6=Cl4{-Jl(SnS<4yUml{d8^w#?zS(8)|u|>_z{R7;puGrr{lD!0Y(-gWo9YN@nV9b z%0k$2N3W`EG_Q~HZ{OSL<&XE*%hU?ORNzwgfc|4Qe&WG?Ag1w$NPb?D78U1jQ)-vZ Je8S8mu}i~16vkhpEtHBB7bih*a1icrcCxiY+aO}Cdu)z+l3dQ@rL+jup%o#69TXJA zNpR^RA};<3t`1H*IN5e~^$L@CXi!;WOofAm<7>^X^_w%S#gjJ$bz!%u23i58EM|CE z;?)dCuK+3A8NKTAYVkGqQang>HV+>MEL%iKL@G@e=s#8!&S1DMm{Hh&tmlMpkAF&~ LvQf_H`KJxc>Y5QZnK5hNm##!3(@gLUSMK)KySb1w!9qnyp@o7U zU?te35wWwd(aL{dp@@}!pmj>FG3aKlDKzfSW zGAMeskVu6>iB+0i=Sm3&;*%gSV8LL~7aWB>hX^Cq1}}5wa8+WKr%JOHq-+rseW}qj zL`e4}te_E#Qi!y>r6Ed(6$-g|6Yp2t6`N24V(wVg0%6KBm@LL*9Zc56WHBb|V6K`H z(`GQ#b_^KxN>sFQI~;M+h?D+s*53{u_a~kSB=V3fb0-uPA4YzYmO^(;_`8jxvDD#9 zod8sHGy_>ZYa@)lU*EJYx5isn+s*BR*7;7ezSpc@(5_BoibkexPx{)&?hYeB@-XBG z9^i^BWh4f9NV#73Rnh0uEjZXyiCDm5S2KUNjZptCMW8|**U7gXr> Oerlt#T*z3tto{b}fVvI< diff --git a/file-data-map/Channel/b0fecf43-d8a6-4507-9db8-72556ac67a39.ser b/file-data-map/Channel/b0fecf43-d8a6-4507-9db8-72556ac67a39.ser deleted file mode 100644 index 48d47dec1f723ee6b7b8e90d7776115350a3b2f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmb7>F-rqM5QQhFQ9?vQ8Y@At6n3!`D-%;B93sU0fHSwm4R?F%-CRg4f<+=i3R6VT zLK{V!6p9EI)>eY8ofcLm)^_5a7h){kYIk;K-uGs@9}x9iSSUI+@ubTI5}SJ-cLXuH zS9DCqkuZTAYb3p82*E4}Peg+W9b!e78OY2PL`djmqhe6Y5GATRqO`0-++<$SLa&kp^#lw@o{0;Y#ZvJsXNvrLs--mCJiy^0Fw?eX^2S&m>a4@ zwTb!C3;}~)k*ZW~rvpwBaFQR+)?54WVE#peNDiVE!}3|xg~V^tns0A1cdvUm8}Gcf zG=QoMX25HmGlZGu}T9$5QZnG351A98Y>}SDehuzWmLp)iV*Vv=iL%l?)KKZIlVL?MIu59Qz&Q? zEEJm*iU<}yf{jn0g*GPEmb&MK7)!U>ot>Hg`)4{Ikn}y6F_)) zU5jxfOd!V!S==^+U^c`jp+QQAwCOPenYDlj6Z(#^XHeS^WvaWPJg-B>V!r8diK-z& zb||5UN-RpzxHTvZklVCWT3u4{QDHc27pkDCJ60q^n9~&|jWKB-lMXOxj7j^Lo2o>$ zNe9x30i#}tP%5|M5hsZ_$q#4qwe@&3{j5Qv0LeYW4p`{H#Bb7i;A}DPpmQ>nIeuws z0HKU#z$@2ngvs~YyWUkT*So2A>#bh9(QO`fn-^rD6PY5BsfV+X&r_#CHP8w$W;4Ub zA}{AT`US{1?%);5^QV1t;+V|`f!&hV#H MDjTJ|zPc#C0g8ONTL1t6 diff --git a/file-data-map/Channel/c1bbe069-eef3-4b37-92e4-02eca3d0e3d1.ser b/file-data-map/Channel/c1bbe069-eef3-4b37-92e4-02eca3d0e3d1.ser deleted file mode 100644 index 078d4372d54e560fe06f2b9b6d412490070deb18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmb7>u}T9$5QZnG5ke${G**IODePipVP&F4;vquJ1Dv@fuH5adcXJ_Wf<+=i3WF$U zW20b`MnoHJ>@D;O44BG98w*?aybxpQR=cw^^MC(L`yHa53v)%sCZ2S;Kw@*x4kuOd4X+0p^A( zQEg(rG(*6kSEM49+eE-g0#5S7+3dC+4`yF9h~ywzHY}f2TuA;Vt@-vQbNAZE)A6HD zQv;~TUb-iaf7a+V_j}C?GSmr7k-*gb>Dbqa-Jlw1IheGV z;bESa(j2`U#BFEzs>s8x)<1uGeSWy>@Q=^c1%!!ErRD5k2yHNlD diff --git a/file-data-map/Channel/fb481a8c-a89b-4a80-a13c-17d9914218ad.ser b/file-data-map/Channel/fb481a8c-a89b-4a80-a13c-17d9914218ad.ser deleted file mode 100644 index 107998c0200791451d184abc059902480a7db1cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 534 zcmb7>u}T9$5QZnG5kf>lnus6>mclO9+L$PqaEK7|0B3HAD|dVA-CRhTkRlNwf)NxH zK@bEjVj*JZBlrSVT3DG_r?7F)3o({%wL3dA|M$;yJ|XJ4uuybt;z^eaBsTXv?g(OX zujrVJBVhtLR!L^Z5Q13{o`?n$I>d@DGmx1ph>*~Cjj};4LzJlQh|-b{ag%vPmrGO) z5t1Vbc~oLSipI@hsgK;Eg+g{!#m9wVvpuMRrtVmk3}I1Mm^8$s157%^q#-69U~Z`r z)h6akGXxBJMJiIcoeDTfz)5~MTkq}Xqxn}2A~}eb4a;X07ZSfo8@|2G-2Kk!Z2aV{ zr2$lAFauug^bt}Y50AZ@`dsh6(QUMQm(6bLpxe48L!H1B2~0hmkM+;&Ce=X8!KB3u z5A(c~=IG@hZac$QMP4nZUXIh#cVFu>hqo8GI>JP#Qgea+V^zTn2J3>P!v14@P5Acc Nr&KDNg|wc{$Zu#;xYz&y diff --git a/file-data-map/Message/4c1f0f40-4bc0-4d62-b0ab-85960386cc49.ser b/file-data-map/Message/4c1f0f40-4bc0-4d62-b0ab-85960386cc49.ser deleted file mode 100644 index fdc0ac651ebff97d4515e608529687980c615880..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418 zcmZ4UmVvdnh(S9!KUc4~peQr1L@zh9xHvOEPcJ32I5|HhHM2x7HLoPIq*Bi}wYWGj zJ(U3h7?~K@d>A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxk&|KHJ)lY{>c+;JjouWd{$BRK`vd%MMdi49ob rW~warln32R3=92imJ9r=PO)3BYX6%x} diff --git a/file-data-map/Message/59dd1d2a-8349-435e-8e2c-a220a5313637.ser b/file-data-map/Message/59dd1d2a-8349-435e-8e2c-a220a5313637.ser deleted file mode 100644 index c2c7e193d43de72a7dd0300edd2c24162fbe9089..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418 zcmZ4UmVvdnh(S9!KUc4~peQr1L@zh9xHvOEPcJ32I5|HhHM2x7HLoPIq*Bi}wYWGj zJ(U3h7?~K@d>A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxkuqTwwjB#1+fq?xx{;jw3I#vualXVBPV?%b0u%3w4d*$1PJ}ZDOdNZ}-b?el( zQ)j$s+3{x96g{}5AV=zf9ohY4!kK>M`%DasUJR^di8-aI6-5jJV3&av`IY7-r53fV qnJUXY2*5R4tWK+#RHo2$#`87lTV{>{7b9T$3X`$uD!4(k_BvRp_8d1GSSN zI2GJPunz7H`Ugl0c5CXOLvb@nwcmDp5AXAS*BwKGIk2W!24c2DO^yu87`05KQl?lc zp&SvDQ(i~AgfXlUm`+T9IT;qP%PW?XQ#oYheO$$&%c(AwO1bR~8Ino`nH!== zOon;IGImY+ry_9uifoyQJnoCTbQz q1=lDO=cMZ`r&@!i08q2T@1*tn^iA+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxku=+=AzE#P=C6i@tS2!3uyB34YWSyEgC++FYZ!^s|nYTvobA1YQ(VM9quUn_S zojT)9%Z@j*rs%;f1vyd=?8xpX6VCK2-)CZA^kQHwOUx-vttes;0J{vV$geavDYd9= r%~VA+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S$}QC@9IyP1X0zD=taQ zD*>ut%7hukSz3?+Qwy~kY?x0z(5Q+6pr`mi?$HCeM-SwlJu{iV&&X}nXJTOTV&KV1 zO)M@6&P;d8EGhP4;Lgp5^C}AF^mwVyK5K6JzA+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxkFlXnr_h0{b%n~i-UjE^UQ++YWOx6V#%ah%o`YP;b_}`*i;k6X#qBm1JUbjwt zJ9WmJmK|?qP0@o}3UZ_#*pb~&CYG1`wJT~w-mX5I`K|s;%(aGTp0f)8A6}Rq diff --git a/file-data-map/Message/b32444ff-c406-4451-b8ad-327bcf4ffcbb.ser b/file-data-map/Message/b32444ff-c406-4451-b8ad-327bcf4ffcbb.ser deleted file mode 100644 index 05e34e7a1b4599348e5b3f532e6be62619d1e13a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418 zcmZ4UmVvdnh(S9!KUc4~peQr1L@zh9xHvOEPcJ32I5|HhHM2x7HLoPIq*Bi}wYWGj zJ(U3h7?~K@d>A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxkFm-!iyYlw0$3kq`rp%UiUQrA(lXYVP+cb|W|MzR9={C3v_`CqR=*`rQ*R50E zPMz_lWyhOYQ}p1Lf*h#_c4YUH31|A1?=vwldNHt;CFYc-RunM^fL#Vwob rW~warln32R3=9hu18c5ha3`G17XC9nVhR$-Ia diff --git a/file-data-map/Message/bbdc6ddd-7146-406a-b35c-522ba5e15b2c.ser b/file-data-map/Message/bbdc6ddd-7146-406a-b35c-522ba5e15b2c.ser deleted file mode 100644 index 68de0ced0b3c0707330de30f5b6732793d62a5e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 418 zcmZ4UmVvdnh(S9!KUc4~peQr1L@zh9xHvOEPcJ32I5|HhHM2x7HLoPIq*Bi}wYWGj zJ(U3h7?~K@d>A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxk&?;)VUU;t=TUKbx+VA#0KZ`+TvM#g{zd6xKV(o7ash$M`%DasUJR^di8-aI6-5jJV3&av`IY7-r53fV rnJUXYA+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxku=w%y^~ygE#WQccx-9CEe|j;A+qOG`5Hi#$_G7zBK>63Y_xOG`3y^g}~EU95c=IFmCH^YT)2JW~o8 z>KGV(7}%5Z^Gblml`sfFROck-rRxWm04+`jt1n7TEJ;mq1S)_U2Ug&d50+-igqg!x zT95)!2r`(tq5$XzK9Kc#AnWx&*6*3g{C!4lt3DG0lNSR|PHJLtNpNPmQ)WrA7Xx>0 zKAcxkFxSXW!f<|w$y7}q(D}Ge3ZQuFdZ*>6x@%EKn diff --git a/file-data-map/User/03b5d5a6-5ae2-4f67-a3e3-d7af23f8c25f.ser b/file-data-map/User/03b5d5a6-5ae2-4f67-a3e3-d7af23f8c25f.ser deleted file mode 100644 index 612109ddd28f9261a27d78802e658b33ec7c49f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmYk2FH8e56o=os9AOzD3m%0*^}-*A0fJ$sY~1@HIqeL8M2Q4ERX<4YOJBy6`g zH++B6Fz0&O@;1$c?w3F3_|<(-J-SID0&udm&J1LeOPN zCUOgnztC2u_JuteUd-0dUk3yrH^o}AKiKh3J*|0v^>=muFJnNVNej*UtLoRKIt~et xCQK!QIc&*zU7~A3UFmU^o9p-I+qv(Dz3Sc5&FRDKmvqd zF%wu4{sc4@#4G_rFbLWk8PvV^zU}ApI(&n`8dz>=MQv(if>cRsrA{c9wxzj{NJWAY zd$ehVf$=F3n2w;_GJ>JtTZmAN4p@hUF-zKEq?7hW1c6XY#t8HOMh$cfKO~Y*E@dd= zu-V+*cKw-@S=-fyAHoq3$H-DXX81xo%*KLQY{+&^qOC(k=}DERHxJM6pWi#z3t8pvV^ljvC>PJKtgfx62tiT&0E|t8 AdjJ3c diff --git a/file-data-map/User/50bfb8fe-af3e-4ac6-bc55-063601a66dc0.ser b/file-data-map/User/50bfb8fe-af3e-4ac6-bc55-063601a66dc0.ser deleted file mode 100644 index 4db8a0e3e0262e89dea2bfb9b174b96e02a19d47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmYk2ze@u#6vy91u2?Ek+?`yUa`*!mK~!8k4iU=z0kH`sa=FAL*Ipf*)TM(C3i=N? z6M+}vEasVnPbXLTT;d?X1V3I zk5j`mj8A}|mO#C&8L^CRSqshNkaS6uk-QTnGViP>5Hdk{W?}B%sAV0)4-u!6ONHfG zl%~5ou0O4aF+Hj25u5;Wj6%^d!#4sKD4a%41giq2a`v+xjXfGy=)uS3%f-Sgf*^*l zOR|EM8k&Ehy+Rx?eLlRNZ(O|%5J0K?TKxF^)H(H}r2Wm`)!n~L0A3S&&C%`D*Nr%f y5TF=lGDeJT@y<54CWeNPld4psw6+%9iKqR?hwuB1_}N0edVXnnWmQ=StKtVz{DHXu diff --git a/file-data-map/User/543d0694-9b1f-43a8-95b7-518723b7f5c6.ser b/file-data-map/User/543d0694-9b1f-43a8-95b7-518723b7f5c6.ser deleted file mode 100644 index a7f69d02ab1334ef3b7543899178cd2f6ed56901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmYk2Jxc>I7{{MRu2?Ek+{K}bQx0D?5qw)b4nb-^Kx{&ZTrM%mwO0i^ra!U$ql;)|$f*ZqSiYYfONg218rIy(44;Ojl}p3KxJJBU5z3@QsoSWKJU`f)#;WIs18!#vY9ebpPY_^``!YpcFyS zAxXw^4Yj|}K_-rwz8Vb|tAqDG0?3tLi=RE6JEyLcw72!Uy8D+Yz-wZ!`Fua~eJ3tM y1So>Jgb`yKyuHJ%iJ&Uvw93_Re0W_Sf4v-SmIn_@yN?zs#q%qxYwOBFP!vBr`hhF} diff --git a/file-data-map/User/6a5584ad-f73f-4cf9-8515-39af13bd3606.ser b/file-data-map/User/6a5584ad-f73f-4cf9-8515-39af13bd3606.ser deleted file mode 100644 index 354a59d7c53c1fcb28bad1eee2b49d24123940bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmYk2J5B>J5QZm zxI+*ZfE#cJC}^o8I_wP!xSN^Z{=V_#3qosPv#lht+K3E^6xIrr5hiR~F)ons3B4@{l(1^RVN28QxohVjW=OBiVODa-?m4BlaI))zxg3T}GDAFiN z&Q4u_QB!OC%CJkgg1|9y&1MYWsJKAxG%_lA87Q=~U-oF?(WFF=KX2b|Hr@lMG$HKK zH0OnZ#$V_>mlxcOCim<0yN_`IP-wrF7)++lsjn0p9R05D{$&pEn#60qJT6Qh{09gSSTso58yVES_rC4t^E&>7&>C3jC`qg~B1IyFwL+zY3ENSO3nV;6fdkUE z+`#0N0+@}V+%cRYXIqF+jgM)MMhQ*3QLNJLW(*;hR3r$C|3)oz3_lD6n_kLLBvHG) zzw7#Qnp)dehMm9}1dfquHevWi$ptc}ky6QvK(3wrf=3gNCIx!*arttw{1!l|31N>W z8P5$=|3U|uJmO|JzNuBN-$wyJuKil#^s(lg`bx1u<9BuUFH?ZmBwq9BZszM&o<{)$ wO_)zOwb&BfZGpB46{)6Gt{=V+)doJ_UoE}njrz_WLb-T;b*;Xx5yGPQ0TjA`!~g&Q diff --git a/file-data-map/User/b2dc5cb9-1512-43c7-837e-81b54e2c0213.ser b/file-data-map/User/b2dc5cb9-1512-43c7-837e-81b54e2c0213.ser deleted file mode 100644 index 36e56919964f81eb918852c8cf4a68e7f9254c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmYk2ze@u#6vtm9CzgtoildW@gXHkX=Hjo#a&#%(Tw)VS9GMO>;CY(8I6mx2u&80;M_x zT^6SzvrzpDHBxmf?B(coxpMP4BmkMo*OL8*v3Kfe&HFpQtNVYM0&-27YrfpijPKM% zNPyH~J{HVjQ+DrMTADlfk*2v=H`_c1KZT}UaTs*(NvAJasf};2VNZo*& diff --git a/file-data-map/User/bd7695a6-3ceb-424e-bc5c-f7f985af4285.ser b/file-data-map/User/bd7695a6-3ceb-424e-bc5c-f7f985af4285.ser deleted file mode 100644 index 5604c7b2151b9e7cec5235453b64c55fadf68bf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 388 zcmYk2zfQw25QncuK~zOm#m>aSR5KW<-dw%!O-S`hSE zl8eGX<1f_C)wwX&)5&J-?tM%Eip;MihtGBAG|-w4kA7Eo|FQ&lP3kpg4=eL~H3|uk w7OW?NS?tJOQ=)A_P3dJ-WV5sR_vooPdg)Id4?ml2glhTx&hFlRh7gp+4?Eg|TL1t6 diff --git a/file-data-map/User/f4de6b18-eeb8-47cf-9c8c-4a279bcd3735.ser b/file-data-map/User/f4de6b18-eeb8-47cf-9c8c-4a279bcd3735.ser new file mode 100644 index 0000000000000000000000000000000000000000..d29597fca0a543cd68bc5b6660911dc1ef49f2bb GIT binary patch literal 380 zcmY+9y-EW?6oqeARtzR0+6WecjaIYxhlP!bpb6&}hYG!~+rr9wm> zK~S_2v9}W6z&FrJuytlv1gD#O4(EL5<^w{T!hG8(W|I^(F@@Hm(M+Ii8zGUH)P&S$ zEh|$fUMYa#29(>W46(oZsGMuCr&1=&%2-bJJbGSRUXpn8$d&9Qq!p(&8$mgbUszmPwjMD22kcjRg=3Rn(>Q0ZeUGMsaN7OPeliFwlVx1;KzA zSo;V(0#CpK60EQyHtZA?yxrYzf8Tlf0f9|nv#S-gCY1?NC9Rb@p1{_42*qTKu=;P*M#u0&BKiDMhB6L2 zor8VXUoy{mRRdNeK2qxbRC<;DwvQWJtc zi!+g@Q2h(FGIb=<^Xb)kW%4>A0J-sN$>HR|ISsVt!=2yN-M`EMUXyyw$J>Rk8+8^E xAWc|~1+&

tTl( I4qKA_PxWDhTL1t6 delta 33 ncmaFKT*r0l->!WO3=Fmm>=U`HCYLknb2Bh7GOz-Lm>Adqu>A)i diff --git a/discodeit/build/classes/java/main/repository/UserRepository.class b/discodeit/build/classes/java/main/repository/UserRepository.class index 048a8ec76e295667cbba01d3ecced6344285ece3..cd83ff2c84993eb2d1ab801829a76d0bf4cd61b8 100644 GIT binary patch literal 471 zcma)3O-sW-5PehIrj1|KcoDpKk@R9to}z*xLLpGF#DllBS<99sDcMbF|C$GXfImu{ zq)-}y;PJhAGxO%n_s{1SfIFNyXc5kHxyX#NS-uWpBlDLnbkHUY=3*%VEz(&qexJ*! zCGiWv(jwZt4DiXrq(48_V^V*hm-E0%h+MmLXUADF3Jz=<6z4lGCsm_#Sd`8T0XPt G@O}aH-+f~M delta 33 ncmcc4T)}nf->!WO3=Fmm>=U`nCucC~a5FG4GOz-Lm>AdqthNU9 diff --git a/discodeit/build/classes/java/main/repository/file/FileChannelRepository.class b/discodeit/build/classes/java/main/repository/file/FileChannelRepository.class index a2e990ef77df1e9913e5131c30a75796cb441c67..c73fcef7b434d196b6cd5e2976d91c5e10ffd6f2 100644 GIT binary patch literal 5013 zcmcIo>t7Vt8GdG299RY=C?LiQDp4+rtI?#XiyGyk)CE!yEXJlCb_W<)cDB2-B58U} zo22)9oAiFSZPFH#7Eo$P?`@jiZ~sL9g#JpOb7p3D2G@S;2jjlLW;!-JdBsTD3O03{8Ph(gprWmPyc$)gRuR!q z15LqwIU{T3P20*X#HP%&5$orpXGYItjPyuxNo=7_<{nL;+w zR&M7tYrK7fp6hm_=K!=AIiolqK@)Ze&hJ&Q z-StbdeqknO&FhnCBi=q9!7l7pu}4D-_6A}zN@gB5x?l`XDLCLa;)Kp~S=x10 z#OoRL{TfV4LaK*w{d?hi&7^Ivmk(KaMKc zoHEjeZ46BHT{H6nR8!gTw_j560AmpJJz-{Mhh-o|w!KcnLwG$a!EjC8U)I#dOez_P zw_g%=;u^Yff}qm$NI|Tu6_;m;G;cGD=VBy_17oM)l!k|KT0y0r&88O=>}m7sPZcsr zk$tg#_a$C~9`vf{)6kEz9BHPR}ZM$aP6-+-c3fSI{@H&wz$E;5=!vt%L+v zA8<~{;(~@j4MT#?>WpPO!HM7zyivu7hEZJb5=r{t1VK*|u`!pmiMTOf)SG7m8CTFO z;jt2(0vO0-3${a^iZ^-aIW3xmZ&Kv(B@K__vUFa|vf8|TTz$HJ5s!(IeGA)*%ab=J zYIO{{n4K&YG-rLg$bue2N`nCwY=kjQc|CTUx0$c=5)$iYv%$t;FT~uYDww*WVHRX0 zWYJ8Zs)BVNAdv2lA)~<(UA{7zw(^FGw|UJg*m@$!BCo*~&8b#TrA7~ruOM23JK0jpH{Z=89DmFJ2*SzLO3LK|~3$`y9k9!s866l|eU>Z+ocn97|N2d*Y zAjORE_>q`o1BhS&k3}$#_XyVC%ixz{;x{L0pU3+&ydO^~sF}~1w&C&K;I8r0E@C+k zcJL1b*eRl`!iSieJ5|312^1brI^H9*n^Cr!rY{hyC4n~GMTWFdU{;X znc~|ODx7F=&Nq>>rDH74W@XQqbo*e!x1j)E{;21I+EH6i&JOBX*LcWe0P7scC6p^gb7v=<7Wvv?k%$Aq>{hRi(JY`7W0O2`#$Tr)PY4BZ)myxqb;y;S@*+v zT^y|Y+BRZq-zX4nTXcKp2Dbx+LNb%i)lI}}16>rQ^|{HE-s%$Gdbo5?2?B(U(p zLe?mw?l0tEOO{4m6Fqu5J<47bufosSL6k#mAw>7f2!4fMtN4wE-{Mt9_YQOk83($q zPkGpC=KNo;{r{2vPZ|P~4!M4o0@IR0x6PGhrw*@`5>0B9q0|+TzCVcD;~zEr7)y0n zQlJg+w@6N&Q$}9JU%g)${=Ld&fr`H?*nJ200ae}>oRq;{ZW`kC?9=?)A$}V1nqAFz z{-)ydv;2Az71RKBbu2@95o*P4)UII5#p|d|tfFb6a~aKRH>e!O7SyAG>Yt|Uhn%kHsCl$_;khs=SJkWGZx5` zNZJEL1Zr+VoSG+S9#@Y_E}rKbu@z%-*^S92 zj5C2Xav&mq9+m$_gNlReyuOE-omZBdARyQ_KZvN z4@mM4ng6n6l^OyN>Djl6dGfh1A;^9^6WgWrUCVg)V3e{aJBOl6c)Dv*4%bmbVw=OH zvumxC{4C*}%h@JiUy->!yo4VSj^L{s;dL5ukWZ_;<2p3)pFffeA@Vp<*SRR diff --git a/discodeit/build/classes/java/main/repository/file/FileMessageRepository.class b/discodeit/build/classes/java/main/repository/file/FileMessageRepository.class index 32b96e6b479241d62365248f3ef7a5425b03919c..f770cfc7062fe2288befa1c9837f20794f3ac1e4 100644 GIT binary patch literal 5013 zcmcIo>0cYy6+I(_2gG1wY(a3m;3YPTu zQbNUgS_@9-wp}o%OSWUR&-;p?2^&>3YuJR%3N{572?vS_Hl_-OZX2h}0x?(xQ^>|T zs_p#P8sR;5O?0l&bKP$7JRqE*(SfTeBX65lPQ`r+wp7R*E9Go6Yn10BXvG%6`TYv+ zbN!O6pSx7B=Jn}}k?5R^U>mlp*rA~vI|H#9Co{QO1?m+&Q!++p6zugIaYE<0EbTfg z63vYIZVh|zfP&VnK4xs-07H|WSg1z#Kh1k58K+6O*p9GK^#)B zK5b+S+ZdV|xM~&!sMf0C@4TSmA;uu+d(zC!jmkiZYQI7^yrD=7gs z2b>eKgrH$q!-$}>K4;lZa3XjVuU9dqVI1eYM3O!@LC`ZqY-IB`5w`@4dh=``lM31- zJXWGp07JQa$#%$7@dgh)r$v+SO^Q6epy4rGl+KG;R-3nvt54U@<8e{4Z(@6KdGh8& ztxiA}v(uG==B#fQSP1yh$b%z=!A zESd>aRj}>@1k(Kpsd1s@METf#cL@$@T@~39sT@0{ycQ%;HH6Z^PT^=&WH6 zrI`^PKN6E{01+(U@d)PeF2VY{8T?92{N^O>^LUSj_u_pD8s-b8ZFsy#-8FvNMJ(sR z4*r1vJ7sir_z-h9Jlq<+_0W^jfYGIu*tDr2_Fl< zY0xJZM1VKBd{h)VS4Cy+0q^YkWzg_Jl( zSL?)L$ND`_m|zt#ewLu){xVxmD*5ZY%%zNEId2%Z@3WpO9ayCCnwIN7+5#I_bw6Cx z#lgC(V=cDMwF2R`MYp%EaXU~bBs1$=-9)_B&_z*3&rYZHJucyU4pi<5!ThYUyTY@j zt~Zr&Z<3L5t5irCPNUr-hPzUDzu<|Rp0q5RM~$8zHtb7Qy0~E-Zb$GE?x=WK++%*q zU|0H)nY&`m8REcXK{;2OL0wz`d2l@AFF9AyF?w3hrFm=IleDb4Qa<5u?B(U(@ zLf)vN?l0tEOO{4m6a9K7GtOR=sKd|ML6rS$Aw>7f2!4fMtN4wE-{KWU_bzlv83($q z&v@7xvi`4E|Nlt;Ck=r~hg?5PfoVyh+vcjW(}Y(mi6%9wQ0j_E-yg*7@sApQjHMHx2Q6_G$iY5kHN1&93J= ze^c@KS$;i*8fpOBx|X550JY{e8dtF4{53QtZ=rRndl_wau2VUT4QNJ`>YtLgjTsgQRy5X(R%9gQtdi4 z$S>hgGo9&P!PcAD1>C^i5Edy7$=!wXKwEhyYP+a1k()Rs zm^vBa~zCZ84ljV|88#MCXEpNieUl!9fvaT#wO=~+VRWz4R?JQC)6 zwk^Eqyj+8Jq_!>GR=b2kTlmh12v?5?7gMi`ejep*@HnscgB+tcf-ydwvBbGC`R$A) z@+6XWFA;%1b=Gk{%C%iMK|6h1dxDbVT+zpi{z=KeVIt{52fmB%arL<5;yJz%TRA2d z-I%PyBokO82O{!kQTuO1RqR{k^*ziaSMfZ*RNix$?fF$^eXUP$0&QMdnC4m_xCKy;Tjr9 zY+IOg_S~r?KTCKkcB7MCbP>ftj-cZSGStbZ7#;R@(Q)83wTD<0XSn7p_0CZ1G_}r> z*Q8{wOIqB4>v(~HdVQ5LP-bobFXBgpBlzk?c$G#Rqh&+zeRW1rS zVxbmoiinQt5QBe_mM|?I^%AYimuN{6A`)$wV>Y%Zhij-Gi81L4u{*wE2@~=*!prj* z??AUCWG4^MHTF~E088qiBttZdC>x1LBZX4Y5uf9m z_#fA@Y{!CvLxO_c0+=sNR6&XO_Q2N)@C3b2Jf3DWR+tD*7w?h@!RFWe!SHQto2qI4 z@c0To`XbcpG_UxY<_0=+gR&5A;ugndzWsz6Kf^CL^E><=f5M+Bk5Kj({0;v=+kXK~ C@(4Wu delta 121 zcmbQLet?PV)W2Q(7#J9A83ZPB=`*u4a7=X5n*5MmZ?ZOr;pBQQjbH{v26hG}pb`cK zMj&KmU;~nzK%PFB&%nT{wVi=+BT#^efeT22q!}2P8MuKY517pgq diff --git a/discodeit/build/classes/java/main/repository/file/FileUserRepository.class b/discodeit/build/classes/java/main/repository/file/FileUserRepository.class index 31e3eb134ff45705c0efea854a5f901ccafd2e16..7066bd2793826004d6c453972e2f30bbc6e87a53 100644 GIT binary patch literal 4977 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 delta 113 zcmcc4yPJvY)W2Q(7#J9A83ZPBnJ_9(mS9$%e4i9B2GBh9Z6Q0t!v7cJoJrp^I zp>{$uG$+FlP9!%K)G@?eqk^O9sReEytnlL~6ol&$gQ}oGMI)LR`Ymy6+L~ip#nfSL zFSRr?zang#?~C`B8w`;=cQ`{+w!|b}I)*q}6tt?ifi{MQvR%?-i6iqwFbpNUg8{|q zrl~&E{0gnG#suO_Od84v{eJ_D7eYcT5>vNS-hClY)67_skn_hB;thY1z|IE zCVZD}N@h%5r^IQdk&dDpy)v_X3|+pXN}J@SWDckpl!1o#g`?meL!&Sp%_*k*ltq!m zu!0d4_wj(Cr6g_bSi0gmL)6?`E$BMm)hRKFYHY1$nIE37(S3;{x@?coh#`v!Lk7KJhvkWIZY5%_ea zWy@2Q&ZMcWX3RVtZOUqfSS=jw3hRTHmzJ!VMw|nU>NuDUh`O$22_DT0 zT{vR8D09^stgEXhxycaHXsfwWDIFCbsf+AukM1xidzz7-(y5^3WsvPh&IihBBNr#C zC7@1HJU18rh}(Id!ho>LMkrPE|AtlFMQkpA$G$|RmSp7u1$g9*0hyqR(oure&4QH^ z^O|hpu4*%5RQ5i4Y1o9o@Qkh&IdJGXP9rUZ7pSFonr3u=Nh=wI=?!QeJ_Q>-hq8T& z`frGSajnyImopHkLj?7hpf}aCr}3DfFNR6H_F1!JDQ(r^uZWJEp*e)DN=^eQYjip7 zo~_T3+$l^GiD3q_K5^0~#(ZLX2%pG72vV2~0TiAT<-uZ?u-GMR4)bI$Lrwdk#?R5c zErDm~VK~Lz&$Jmtb_C*#`$#W)Z^-2W7Jc9xJ!QOcUtNC)zcKU!iArEkK;s3Fj`80BCU4vi2D&ZK`-1y%91DWNF;Q#;t delta 113 zcmcc4yPJvY)W2Q(7#J9A83ZPBnJ_9(mS9$%e4i;{@@y8(0Col@pcDfGBM`DOumMR< wAWt96XJBB}+RnhZ5h%dKzy%~h(hLmD4BSAH2h3&#(!4+(BLg3hWMbe40Bw>C(EtDd diff --git a/discodeit/build/classes/java/main/repository/jcf/JCFUserRepository.class b/discodeit/build/classes/java/main/repository/jcf/JCFUserRepository.class index 3cf9250bb03221cca7bf331e87e00edc3b2bd787..1ba3b2d636647d5e5a707231f04360bc4f100908 100644 GIT binary patch literal 1715 zcmZ{kTT|0e6ouDm3xPC9TLb|SxruF2>J3GUMJOPJ0xD7l-a;E7Oh`Iu%Gm$pgU+ak z%s4*#qa621LYrQAXquet^X;|Q-Z_8&{rU~yHQtNx!7m^np$+W}p%eK`PH3`zl-N2r zQSuf;`<$w)R*JzNjpYP%Fof-(vZZQ?Rk?J$As0mm@OL5zNkEr`8|Y>jF_ofGQZ2)* zBu?^&iM8~~PDwF8R96`S1=*4ry0bMP!ID9Q5fRWM;U;<+y6WDNAX7Ot&J>2psI$={ zHyLYQ;<#H9`Z2%|%p1BTt9of&sW9}m0_+R8&CpXzx?q}eC99S!4!R>@7SVi2R;)-i?wH&J6uEXSD>67KOr{YQ!=;6ABTbW61=3GSDO z7~%q^Bs{=FhDc4@Cc6?+9-9VK=`_9 zc6KsLb~m0%c!n8LSS-^-%(lqTY0};Y$qeao`1p z7|t>Br2#qUsWa>%9rxZ+%2i}s;IgYO?5Z30;SVN%BH9QX_Gr8Uf^2XKcF=2tUPsm~ nJVRQ!l@9s`rpeAHe(X-w&`w{*skal?;5V>IIEF2|zIXotMh<@q delta 113 zcmdnYyNQYG)W2Q(7#J9A83ZPBnJ_9$=3!Qte3>bBauthO06PN{P>O+p5eQis*nlJ_ wkf#skGcd4fZD(NI2ozvq-~y5$X$A&n25un917@=VXBCGmIC#qg6gKXzdq7pXg2rN6lv9WTmFcTB3)dS0QxLwE)_Y($A;uNvk5kxZI)3DNTOlg`gHR^TS z5?(>aD8@9rYv4VcVaT++Hk~jGx!$tvi}kAKK4-WZ_s|I##Tm2F` zvg`t;V;;98pW6&4yJUK1Q^OsGQ_WUrum6eZ-o-w%Nx5Hg%ar@!qUDIyMr~Vo>wMcL zNv7zU+}`A#CD)NK8B{Hb|9r9O@{QeBpeiW~TgWOo9xuSKH^_6sqP9uLnndj|Jn7JW zn~Lhx=_nqCRK?>p#Z8q)yhf>MqG_?JR4Dj>TQ-$IB$lzZRU>W60dUtQwaj$9-(^Ws z1_n#kj>Ch7M?R-I6z;U+Ey$#qo=~mzpv!@GlI)app`Dabs{U$qL^Ps07!BLJwq52^ zVTVs$VYuFL9&x7KJBx_uCAZ<3;=Uz|X|&6HzAS^GtS-84;0GSBKNLaLE&Id$_*%y| z_*TPr2EGUBOty~8a`xO^kuRz!$%0q78BX@0T730SJbjT-=->f&%C_*QimtocsP`UM zuNkiI*F{|Y?KeZ0y=~+DA0aPs+b&swD5POBoM;wMd<0Rlgic?^ih)f$PNUjhXm2QrbOG?}u` zY20S5a+YNsH^^4phAe+$g)Rr)lFfZz_!?-8UFcxktwJ<3=-SX*mHIX;C;C1P(7lGC zK);N6b4@4^j|o8J2jS?&y6Kt;G9$#OTEPT1b$I|W#lqu(Dyfuak`+KBjBuZy%2&P zxz0td$q^o4MMa&%XY?kS=kPhbB?;jqig-v_V_3x+Y01o8qo*V_@Cui<4lvX59+JJF zJQ|@+0!ZzmP2WE(4aM+Ii-6z3H7_0aB! z&8XraV;WT)r1q%d&__0g;*cb->)42V-=wG1O0f3muP6`UX(x_6B*J{9b=lt$MuBoA zeU7}s{MPIrxO|A~zyUsNha6XsVM0a}5Xkh2bdN23Mb8YqJtf&T%GiNLur7WexlV5$ I0_;===|IDE&(x%8sp>VGhA!-K205Hna8AW} z3^Qcgs4WnN9?PCH9I;flt;YC17s={hlIEh>X7 zqU>fcg&E01QNb;SfmZv)d+tF#TIIy+U6N-Nekj*2psR!tZ}me!GI)dmek$SIwAtuKDK43ml7 zN$L_6M~TpAp&ra8H`6(XQ%mB-N|ltd^QR4iZ1d4Zm-R|nbXWBale?Zxi3}$;+=%Wx0-P^X6Sa0oR<~PSi3GSXZ#2q7I!R z_v7|kLN~XpO;M`&QIZ8;=UVW0>1jk)e?=J$jRJr>+^iYG8Ln8?rq?Vd%OE1zW4N^4 z6w&SfUKv0hY#SXSq32m{7**XBpnE&wfBbeAv-$* z2d)B7j;SrOOOPB)q+oL0ZqfYH|4(c<2_HrdBDj{c{;$zW*d?h8PpHu3+lE`?!3Q_O_-8~N8O067}6VB3Mq-glhq61lZ zU80|VR^Dm+H(gHXt&si@=ID8wRtD`))B9*~2dp^u97=KgIo>KxJV*a8Bv0WZdJd2U z=z@~Q33THm4&xMEbxz|BNsEC!=J7GD$dixD{4a@|^1mc@2Vs7KN{Bo~a;al&m`+jw z=X|#VfpXU^!(A+pp3#M1F?8{i_Q>Ezi@!n{dx>KyjJ=}p@B(lDfsuuY@fU$^;w8pX z_}NF4`DA^w3l!Zb29c+13Xxn!cR@!(P=dgx_>ABN$>tuaelAN`CW&P6GQDN!U9VAE z-NB_cQjpR`-@6*@3B9lQ(cCB5=U5FBGKpu&^w4XJtd5OO?BMeCv`p@JI+lUFLjzan zgeQI9lY!lCc|bS*n4 zephL&5G*qs^k{aES1d<&Eqj+?IB(ZxSs_~A%=O?PdL<+k^dZGC^pBDZU7NaDoZDS2 zGMt>u`%ZhVZe&+i7jNaJA`8nESGP>n$fYRW!wULwgd*AE6j*j&#ZAxDgle|nRVs$g z?VOB33`sbuU>G9|sk+sw5r!ViUN9WKQnIbb3}>SjS^+~pBW&j+93v2Jy1KjT(<5UP zX$4~#r%ZU2qUv&nt0AthS#WLL+{y(p@4qs&CMcdzZ~`Y8;*PpQU?Y?Hh&>`NI_tqC zrX)-&n87TivmSF^cZkE7wMk4&Mj00y6vt_XLv`t!wyo}p9T^#Ph@j4jiW^UX;jn}Y z4C%V?l2!1u(t^Ruh*BG6JLD`y z#eZF)V?fnCP*%73yk%;tdtY};G;&K;;^KdclmUQwwov#{e ze?D_mQ$=oYQB#MawHh2FG8@zBge4>A$=_jEZIOPJ`fHVGtTsB=qF*ejWj`>#BBB+| zkl-H!B1dR39B3$A0@F%d+rDX#e0M?LGF8{J33#lfT(37M-XK~e(O-Pc zPR-{2p<8H^)7F4mSDHhVgVq%UIo1ZWS>bpK*Ub`rhFabzsuR_wIB}NYLL04rJ7N@g zZwM8%nu#+Ea>4R!jo;Qqwe>f*_|pQDN@UKmT*tN5%3bc3tfJG~2`*z3TM|kNbUb1h zujf-YcdTum&HHYXhPtV0!Tr!vj?Vs!(i18L2JWb4(csQR-mNAaXu}2S)X__W5Y0tP5W- z42n*feoRd{trycQZCY-6)ACH}Ov<8Za(muT9fvy-zGgVl5^=kFk?<`&UiKHI-WU`Y z#)#q=T~u@QO^JsOJtbrsCvb~?7ie~y_G4modJk-R=2u8R(=0~opbNKyetQu|65aH& zd5dO80%_dABFzMvKxOoK8}Ede7inE!vN}{JZ3*Q%1gk+X7)m_HYcc%f+ZCRtNF6vzeh<^rXM}hd z^-bRhKx?Kmp=mONWxVTqoxyuF5|L+ck4AAq=tlu7#2Q^6m?bH}+-cusApQ)e>Xw5* z$9-#p7upZ4t5^DP7w6RTN>g%%i9)JGvkfe-}7KtsCERnuJu4odPeCH4wc)8&YPftrDV zAgM`Nw3g67juI+@>U)Xv>(kG0@da|g9^R-!2bsGPVZ6@=0s&EP`>#O5tw7|1Du}`c iH2NQ*d6B-`D5DaNY#MoF>T`Ta65^Ud3hW-Xa2r>-- literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/service/file/FileUserService.class b/discodeit/build/classes/java/main/service/file/FileUserService.class index 06a2607b9eacb26a7147b869f8f9f07cef133a72..d4dc569e0920fa0a5f211a1be6840c6db39f4b1a 100644 GIT binary patch delta 42 rcmexu+ibVtBR2;}T4r8~Q>EwTuiVj0{DL`&xk)LBDloxlz6AmRUr7&v delta 34 ncmZp+`)#}7BR306T4vtnpWM+*+`Ku7xk)LBDjrM=< diff --git a/discodeit/build/classes/java/main/service/jcf/JCFUserService.class b/discodeit/build/classes/java/main/service/jcf/JCFUserService.class index 0183fe2d538cae5f82611b974335fafe695dfca5..4edf3c5ddf9d0edf5bd440d4109985fc5794ee72 100644 GIT binary patch delta 21 ccmZ1|w^VM!6IKq6w9LE|r%KPwFIX)(0a)n=vj6}9 delta 17 YcmZ1~w@_}w6IK?Mw9LHCZ&)ok0X%pHM*si- diff --git a/discodeit/build/reports/problems/problems-report.html b/discodeit/build/reports/problems/problems-report.html index 86b3c611..7c235cc9 100644 --- a/discodeit/build/reports/problems/problems-report.html +++ b/discodeit/build/reports/problems/problems-report.html @@ -650,7 +650,7 @@ diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageService.class.uniqueId1 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/FileMessageService.class.uniqueId1 deleted file mode 100644 index 3c0a05e53dbc95c48b0f54f68242ee994ae868c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7978 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 diff --git a/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication2.class.uniqueId0 b/discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication2.class.uniqueId0 index 512ac2e7b62215bc168b647137e8bcf57b0b27c0..008ff2e03d01df41ac903d903f97e9e8c9acd703 100644 GIT binary patch delta 2859 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 diff --git a/discodeit/build/tmp/compileJava/previous-compilation-data.bin b/discodeit/build/tmp/compileJava/previous-compilation-data.bin index 074bdcf23a71e4f57650cb66e0c0e9246bb5bfec..be86d61acca6c3c533024eb560b670a7fb1d9d79 100644 GIT binary patch literal 1628 zcmYjQeOOaf7(XxDm_vw*e54>kAgD~w5R^GJK6YWa!G(D**AL{Q0Yf)w5W|^@qOu8! zh5?eOrQ|oJ3{lGz(NHl7%gXYjQnXBadhn?p>v<@7y1Sd@`Qtt3{NCSr-`{!9djb&y zq#G8XTC={~Vkp!L(K->TS)wzU^d;`7#t9O;p4L6QJJb{$Yc0xtd@;9I%#5JiB%Ir9 z)-Be%6GXqZMwjXXk-wTchRW5ydoUv@Pn8#b2@AZDt=Lea7ZS+IO%iva>(u2V%?HJ; zf5p@`4K(bC@}WmjzSs}dmFvq&&4!B7@)bgfKic%)ju>8HZae%Wyg$zV(A<;h`!s-l znH;Seg9EXjw~!F|69d^7GE#=l=Uv-)$MOJO&kAD3lAa=WVxCW8=d~~TZ*}!{|MW}C z{eOa~aX5riZK^O-a7lV8ByZD-PBi4(3hwJe=~vj%VaUqW!k_qBqWFdqEk8JO z`%RxaAqlPF^mr;l6-iFeOvID0Ulg($3yX!^koXfx$A4CyAHEU2|BqFg^pTJ$O`42s z8l6Qq1#K=XD=`%6Dh#Ej7~=7xv9`Xx_4et{&(sQLCObOSeP*3zB#78IgLptW4JfGao6i!;Le^y>U-Xv zKYD4uqu6m_M8V~K-Gn@zzA0!7*j$+RcLtNmdUDF`jY-{uIrOxtx-|<@JM62q%v^F7 z7v$Mss7GAX*+JWr`SzTwJ6CCjp=NPOjknJYmtO1|nlUtROe~Ho%c5CoH20pP6c4sa z#^>~2omp=uOOoS9AwcfZG!MBp2#EoSq#klwjVJ*5h)`*Ch9Xg!iZFmwn4+ZvP@;qE z5iQS9ARi7Cgwt6l*}+B9G@POh2trB+H&j8VqF`{7%EjSg4<9;9jRH6vAvMQED3o8P z@#|>bDtJW8Tbj37yhUr#3**JjTHqYP^YHwn1)7DjY?;7YxCmJteVK!7MsDWZkeigJ z@me$`AHT-vr~*|XS)|d+ie=8Olep(NIO@fC32h*as-?0Lne*52c);t}#FolJgkk)a zD#LFu<)m3vK`zr+WCBOuikuOaGjEbBR4d6<8aE!S#H;BwWR=WMDDvme;)K z8)SlbVSFF1JeSe#pOpk0Ph557mx)mB<)?m z?*Y9Vs49t5zRw=Ot-!nwR5iGidh7)(1aFjF9qPmE&u=k literal 1391 zcmYjQeNYr-7=NGp!aE_BIKCuJQt=RcS3x^K6qXkjxLiGVT@@Aa;0`??AnqbiG|eMO zC<75g%rp&DGBMG~fUy}r8^xTa9CS>@RI=12o5qjQ+S|Lz_mAhD=l6TQ_P5U)f&?H6 ztVDGVTX}^&-=;!q)u?v4rKH4GtUNnR~G6Ep-PRW7CwiUaAzCWz zUedC`v`uDpcT;Xn-gR4yFpc~(}Th@bSTj060_)yoyn?@!c)tD?5 zmITyLR#t4!w>a&kC9%}4Er!33-03WC_cK3o?1@^HC`=<*n)Umue%D5{9owCC&ENNi zpZRi<7-FFEPVPEN8E5bV%8kJd`Ahzs&d(r$k{WC(yDL0mpifW?gr;P!y^t)Vh}fW^ z2D8~;)m-~OrK{bWaEz!U;g2~UEFc*u$JZ?U_fMlB%(u?SSmtc-NCT20t z;g^tHb}4P4J=-Yb5qUUYw9=s}gX|{RaDlLlENAVc&{RY#<;B*>RI%_XDPc=VnMvW^ zcFk+JoOci>t(P`m4w(Krt`Oc3E7@6;!IMI&@CsoiSETj0KGk@Yuv#qgvgvPP>GRgv zt#bAnSPS?q5Y_>yRD0s1T!3qUvufpl=(hpaf=~yf$jhU50Ivt39>{zzlGp(FUEtpX z&Z+eb6|e#D`yey|SLvNX*96!oS2S(}+zk9C;BvjuSuKD!1OEYtt-x*p(gvojKz|6d zUVcypPtC|}fEjlM1@jS*?U1ztW_}E*J3-t9=1*WO<5o>N?SMOg-wmV{yb^`&0lXLZ zPT*R>+j8osfcF8hs^yV_KLflUgf0;0dsRw40Qhs@4}zHMZ6DVS_z>`iL3DbN4EL6x Fe*l;sic|mq diff --git a/discodeit/src/main/java/JavaApplication.java b/discodeit/src/main/java/JavaApplication.java index f4706206..a82a5add 100644 --- a/discodeit/src/main/java/JavaApplication.java +++ b/discodeit/src/main/java/JavaApplication.java @@ -21,7 +21,7 @@ static void userCRUDTest(UserService userService) { System.out.println(); // 조회 - User foundUser = userService.find(user.getId()); + User foundUser = userService.findById(user.getId()); System.out.println("==== 유저 정보(단건) ===="); System.out.println("유저 ID: " + foundUser.getId()); System.out.println("이름: " + foundUser.getuserName()); diff --git a/discodeit/src/main/java/JavaApplication2.java b/discodeit/src/main/java/JavaApplication2.java index 7d30ff03..4f94fafa 100644 --- a/discodeit/src/main/java/JavaApplication2.java +++ b/discodeit/src/main/java/JavaApplication2.java @@ -1,9 +1,18 @@ import entity.Channel; import entity.Message; import entity.User; +import repository.ChannelRepository; +import repository.MessageRepository; +import repository.UserRepository; +import repository.file.FileChannelRepository; +import repository.file.FileMessageRepository; +import repository.file.FileUserRepository; import service.ChannelService; import service.MessageService; import service.UserService; +import service.basic.BasicChannelService; +import service.basic.BasicMessageService; +import service.basic.BasicUserService; import service.file.FileChannelService; import service.file.FileMessageService; import service.file.FileUserService; @@ -17,7 +26,7 @@ static void userCRUDTest(UserService userService) { User user = userService.create("woody", "woody@codeit.com", "woody1234"); System.out.println("유저 생성: " + user.getId()); // 조회 - User foundUser = userService.find(user.getId()); + User foundUser = userService.findById(user.getId()); System.out.println("유저 조회(단건): " + foundUser.getId()); List foundUsers = userService.findAll(); System.out.println("유저 조회(다건): " + foundUsers.size()); @@ -85,30 +94,37 @@ static void messageCreateTest(MessageService messageService, Channel channel, Us public static void main(String[] args) { +// // 서비스 초기화 +// UserService userService = new FileUserService(); +// ChannelService channelService = new FileChannelService(); +// MessageService messageService = new FileMessageService(channelService, userService); + + UserRepository userRepository = new FileUserRepository(); + ChannelRepository channelRepository = new FileChannelRepository(); + MessageRepository messageRepository = new FileMessageRepository(); + + +// // 테스트 +// userCRUDTest(userService); +// channelCRUDTest(channelService); +// messageCRUDTest(messageService); + // 서비스 초기화 - UserService userService = new FileUserService(); - ChannelService channelService = new FileChannelService(); - MessageService messageService = new FileMessageService(channelService, userService); + UserService userService = new BasicUserService(userRepository); + ChannelService channelService = new BasicChannelService(channelRepository); + MessageService messageService = new BasicMessageService(messageRepository, channelRepository, userRepository); - // 테스트 - userCRUDTest(userService); - channelCRUDTest(channelService); - messageCRUDTest(messageService); // 셋업 - User user = setupUser(userService); - Channel channel = setupChannel(channelService); - // 테스트 - messageCreateTest(messageService, channel, user); + User user = setupUser(userService); + Channel channel = setupChannel(channelService); + //test + messageCreateTest(messageService, channel, user); + + + - /* UserRepository userRepository = new FileUserRepository(); - ChannelRepository channelRepository = new FileChannelRepository(); - MessageRepository messageRepository = new FileMessageRepository(); - // 서비스 초기화 - UserService userService = new BasicUserService(userRepository); - ChannelService channelService = new BasicChannelService(channelRepository); - MessageService messageService = new BasicMessageService(messageRepository, channelRepository, userRepository);*/ } diff --git a/discodeit/src/main/java/repository/UserRepository.java b/discodeit/src/main/java/repository/UserRepository.java index 43bf7c73..602184d6 100644 --- a/discodeit/src/main/java/repository/UserRepository.java +++ b/discodeit/src/main/java/repository/UserRepository.java @@ -6,8 +6,10 @@ import java.util.Optional; import java.util.UUID; public interface UserRepository { + Optional findById(UUID id) ; + User save(User user); - Optional findById(UUID id); + //Optional find(UUID id); List findAll(); boolean existsById(UUID id); void deleteById(UUID id); diff --git a/discodeit/src/main/java/repository/file/FileChannelRepository.java b/discodeit/src/main/java/repository/file/FileChannelRepository.java index 962b83cb..0fdfb7b4 100644 --- a/discodeit/src/main/java/repository/file/FileChannelRepository.java +++ b/discodeit/src/main/java/repository/file/FileChannelRepository.java @@ -1,4 +1,75 @@ package repository.file; -public class FileChannelRepository { +import entity.Channel; +import repository.ChannelRepository; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public class FileChannelRepository implements ChannelRepository { + + private static final Path DIRECTORY = Paths.get("file-data","users"); + + public FileChannelRepository() { + try{ + Files.createDirectories(DIRECTORY) ; + }catch (IOException e) { + throw new RuntimeException(e); + } + } + + private Path path(UUID id) {return DIRECTORY.resolve(id + ".ser");} + + @Override + public void deleteById(UUID id) { + try { + Files.deleteIfExists(path(id)); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public boolean existsById(UUID id) { + return Files.exists(path(id)); + } + + public List findAll() { + try { + return Files.list(DIRECTORY) + .map(p -> { + try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(p.toFile()))) { + return (Channel) ois.readObject(); + }catch (Exception e) { + throw new RuntimeException(e); + } + }) + .toList(); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + public Optional findById(UUID id) { + Path path = path(id); + if(Files.notExists(path)) return Optional.empty(); + + try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path.toFile()))) { + return Optional.of((Channel) ois.readObject()); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + public Channel save(Channel channel) { + try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path(channel.getId()).toFile()))) { + oos.writeObject(channel); + return channel; + }catch (IOException e) { + throw new RuntimeException(e); + } + } } diff --git a/discodeit/src/main/java/repository/file/FileMessageRepository.java b/discodeit/src/main/java/repository/file/FileMessageRepository.java index 1cfd0b9e..c2634a98 100644 --- a/discodeit/src/main/java/repository/file/FileMessageRepository.java +++ b/discodeit/src/main/java/repository/file/FileMessageRepository.java @@ -1,4 +1,79 @@ package repository.file; -public class FileMessageRepository { +import entity.Message; +import repository.MessageRepository; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public class FileMessageRepository implements MessageRepository { + private static final Path DIRECTORY = Paths.get("file-data", "users"); + + public FileMessageRepository() { + try{ + Files.createDirectories(DIRECTORY); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + + private Path path(UUID id) {return DIRECTORY.resolve(id + ".ser");} + + @Override + public void deleteById(UUID id) { + try{ + Files.deleteIfExists(path(id)); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public boolean existsById(UUID id) { + return Files.exists(path(id)); + } + + @Override + public List findAll() { + try{ + return Files.list(DIRECTORY) + .map(p -> { + try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(p.toFile()))) { + return (Message) ois.readObject(); + }catch (Exception e) { + throw new RuntimeException(e); + } + }) + .toList(); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public Optional findById(UUID id) { + Path path = path(id); + if (Files.notExists(path)) return Optional.empty(); + + try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path.toFile()))) { + return Optional.of((Message) ois.readObject()); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + } + + @Override + public Message save(Message message) { + try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path(message.getId()).toFile()))) { + oos.writeObject(message); + return message; + }catch (IOException e) { + throw new RuntimeException(e); + } + } } diff --git a/discodeit/src/main/java/repository/file/FileUserRepository.java b/discodeit/src/main/java/repository/file/FileUserRepository.java index fb7421db..915ff19e 100644 --- a/discodeit/src/main/java/repository/file/FileUserRepository.java +++ b/discodeit/src/main/java/repository/file/FileUserRepository.java @@ -1,4 +1,85 @@ package repository.file; -public class FileUserRepository { +import entity.User; +import repository.UserRepository; + +import java.io.*; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; +import java.util.Optional; +import java.util.UUID; + +public class FileUserRepository implements UserRepository { + + private static final Path DIRECTORY = Paths.get("file-data", "users"); + + public FileUserRepository() { + try { + Files.createDirectories(DIRECTORY); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + private Path path(UUID id) { + return DIRECTORY.resolve(id + ".ser"); + } + + @Override + public void deleteById(UUID id) { + try { + Files.deleteIfExists(path(id)); + }catch (IOException e) { + throw new RuntimeException(e); + } + + } + + @Override + public boolean existsById(UUID id) { + return Files.exists(path(id)); + } + + @Override + public List findAll() { + try { + return Files.list(DIRECTORY) + .map(p -> { + try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(p.toFile()))) { + return (User) ois.readObject(); + }catch (Exception e) { + throw new RuntimeException(e); + } + }) + .toList(); + }catch (IOException e) { + throw new RuntimeException(e); + } + } + + @Override + public Optional findById(UUID id) { + Path path = path(id); + if (Files.notExists(path)) return Optional.empty(); + + try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path.toFile()))) { + return Optional.of((User) ois.readObject()); + }catch (IOException | ClassNotFoundException e) { + throw new RuntimeException(e); + } + + } + + @Override + public User save(User user) { + try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(path(user.getId()).toFile()))) { + oos.writeObject(user); + return user; + }catch (IOException e) { + throw new RuntimeException(e); + } + } + + } diff --git a/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java b/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java index 4a3469c7..b0e3d1fb 100644 --- a/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java +++ b/discodeit/src/main/java/repository/jcf/JCFChannelRepository.java @@ -1,4 +1,36 @@ package repository.jcf; -public class JCFChannelRepository { +import entity.Channel; +import repository.ChannelRepository; + +import java.util.*; + +public class JCFChannelRepository implements ChannelRepository { + private final Map data = new HashMap<>(); + + @Override + public Channel save(Channel channel) { + data.put(channel.getId(), channel); + return channel; + } + + @Override + public Optional findById(UUID id) { + return Optional.ofNullable(data.get(id)); + } + + @Override + public List findAll() { + return new ArrayList<>(data.values()); + } + + @Override + public boolean existsById(UUID id) { + return data.containsKey(id); + } + + @Override + public void deleteById(UUID id) { + data.remove(id); + } } diff --git a/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java b/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java index 008c0a5d..4dce8d26 100644 --- a/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java +++ b/discodeit/src/main/java/repository/jcf/JCFMessageRepository.java @@ -1,4 +1,36 @@ package repository.jcf; -public class JCFMessageRepository { +import entity.Message; +import repository.MessageRepository; + +import java.util.*; + +public class JCFMessageRepository implements MessageRepository { + private final Map data = new HashMap<>(); + + @Override + public void deleteById(UUID id) { + data.remove(id); + } + + @Override + public boolean existsById(UUID id) { + return data.containsKey(id); + } + + @Override + public List findAll() { + return new ArrayList<>(data.values()); + } + + @Override + public Optional findById(UUID id) { + return Optional.ofNullable(data.get(id)); + } + + @Override + public Message save(Message message) { + data.put(message.getId(), message); + return message; + } } diff --git a/discodeit/src/main/java/repository/jcf/JCFUserRepository.java b/discodeit/src/main/java/repository/jcf/JCFUserRepository.java index a4ef4711..7e7d32a6 100644 --- a/discodeit/src/main/java/repository/jcf/JCFUserRepository.java +++ b/discodeit/src/main/java/repository/jcf/JCFUserRepository.java @@ -4,43 +4,35 @@ import entity.User; import repository.UserRepository; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.UUID; +import java.util.*; public class JCFUserRepository implements UserRepository { - - public Map data; - - UserRepository userRepository = new JCFUserRepository(); - - + private final Map data = new HashMap<>(); + @Override public void deleteById(UUID id) { - - + data.remove(id); } @Override public boolean existsById(UUID id) { - return false; + return data.containsKey(id); } @Override public List findAll() { - return List.of(); + return new ArrayList<>(data.values()); } - @Override public Optional findById(UUID id) { - return Optional.empty(); + return Optional.ofNullable(data.get(id)); } @Override public User save(User user) { - return null; + data.put(user.getId(), user); + return user; } } diff --git a/discodeit/src/main/java/service/UserService.java b/discodeit/src/main/java/service/UserService.java index fe57d84d..5e49dda7 100644 --- a/discodeit/src/main/java/service/UserService.java +++ b/discodeit/src/main/java/service/UserService.java @@ -7,7 +7,7 @@ public interface UserService{ //조회 - User find(UUID id); + User findById(UUID id); User findByName(String userName); diff --git a/discodeit/src/main/java/service/basic/BasicChannelService.java b/discodeit/src/main/java/service/basic/BasicChannelService.java new file mode 100644 index 00000000..a326a632 --- /dev/null +++ b/discodeit/src/main/java/service/basic/BasicChannelService.java @@ -0,0 +1,51 @@ +package service.basic; + +import entity.Channel; +import entity.User; +import repository.ChannelRepository; +import repository.UserRepository; +import service.ChannelService; +import service.UserService; + +import java.util.ArrayList; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.UUID; + +public class BasicChannelService implements ChannelService { + private final ChannelRepository channelRepository; + + public BasicChannelService(ChannelRepository channelRepository) { + this.channelRepository = channelRepository; + } + + @Override + public void delete(UUID id) { + + } + + @Override + public Channel update(UUID id, String frame, String channelName, String detail) { + Channel channel = channelRepository.findById(id) + .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); + channel.update(frame, channelName, detail); + return channelRepository.save(channel); + } + + @Override + public List findAll() { + return new ArrayList<>(); + } + + @Override + public Channel create(String frame, String channelName, String detail) { + Channel channel = new Channel(frame, channelName, detail); + return channelRepository.save(channel); + } + + @Override + public Channel find(UUID id) { + return null; + } + +} \ No newline at end of file diff --git a/discodeit/src/main/java/service/basic/BasicMessageService.java b/discodeit/src/main/java/service/basic/BasicMessageService.java new file mode 100644 index 00000000..5a3cfcbd --- /dev/null +++ b/discodeit/src/main/java/service/basic/BasicMessageService.java @@ -0,0 +1,60 @@ +package service.basic; + +import entity.Channel; +import entity.Message; +import repository.ChannelRepository; +import repository.MessageRepository; +import repository.UserRepository; +import service.MessageService; +import service.UserService; + +import java.util.ArrayList; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.UUID; + +public class BasicMessageService implements MessageService { + private final MessageRepository messageRepository; + private final ChannelRepository channelRepository; + private final UserRepository userRepository; + + public BasicMessageService( + MessageRepository messageRepository, + ChannelRepository channelRepository, + UserRepository userRepository) + { + this.messageRepository = messageRepository; + this.channelRepository = channelRepository; + this.userRepository = userRepository; + } + + @Override + public void delete(UUID id) { + + } + + @Override + public Message update(UUID id, String chat) { + Message message = messageRepository.findById(id) + .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); + message.update(chat); + return messageRepository.save(message); + } + + @Override + public List findAll() { + return new ArrayList<>(); + } + + @Override + public Message create(String chat, UUID channelId, UUID authorID) { + Message message = new Message(chat, channelId, authorID); + return messageRepository.save(message); + } + + @Override + public Message find(UUID id) { + return null; + } + +} \ No newline at end of file diff --git a/discodeit/src/main/java/service/basic/BasicUserService.java b/discodeit/src/main/java/service/basic/BasicUserService.java new file mode 100644 index 00000000..c4e286c0 --- /dev/null +++ b/discodeit/src/main/java/service/basic/BasicUserService.java @@ -0,0 +1,59 @@ +package service.basic; + +import entity.User; +import repository.UserRepository; +import service.UserService; + +import java.util.ArrayList; +import java.util.List; +import java.util.NoSuchElementException; +import java.util.UUID; + +public class BasicUserService implements UserService { + private final UserRepository userRepository; + + public BasicUserService(UserRepository userRepository) { + this.userRepository = userRepository; + } + + @Override + public void delete(UUID id) { + + } + + @Override + public User update(UUID id, String userName, String email, String phoneNumber) { + User user = userRepository.findById(id) + .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); + user.update(userName, email, phoneNumber); + return userRepository.save(user); + } + + @Override + public List checkAll() { + return List.of(); + } + + @Override + public List findAll() { + return new ArrayList<>(); + } + + @Override + public User create(String userName, String email, String phoneNumber) { + User user = new User(userName, email, phoneNumber); + return userRepository.save(user); + } + + @Override + public User findByName(String userName) { + return null; + } + + @Override + public User findById(UUID id) { + return userRepository.findById(id) + .orElseThrow(() -> new NoSuchElementException("User with id " + id + " not found")); + } + +} \ No newline at end of file diff --git a/discodeit/src/main/java/service/file/FileUserService.java b/discodeit/src/main/java/service/file/FileUserService.java index 85560e77..11952412 100644 --- a/discodeit/src/main/java/service/file/FileUserService.java +++ b/discodeit/src/main/java/service/file/FileUserService.java @@ -44,7 +44,7 @@ public User create(String userName, String email, String phoneNumber) { } @Override - public User find(UUID id) { + public User findById(UUID id) { User userNullable = null; Path path = resolvePath(id); if (Files.exists(path)) { diff --git a/discodeit/src/main/java/service/jcf/JCFUserService.java b/discodeit/src/main/java/service/jcf/JCFUserService.java index 5aa29a95..d76435e2 100644 --- a/discodeit/src/main/java/service/jcf/JCFUserService.java +++ b/discodeit/src/main/java/service/jcf/JCFUserService.java @@ -24,7 +24,7 @@ public JCFUserService() { users.add(new User("HUANG","HUANG@email.com","01044445555")); } @Override - public User find(UUID id) { + public User findById(UUID id) { for (User user : users) { if(user.getId().equals(id)){ return user; diff --git a/file-data-map/Channel/15861b4b-ec0e-4a5e-bd05-ab278ae34345.ser b/file-data-map/Channel/15861b4b-ec0e-4a5e-bd05-ab278ae34345.ser new file mode 100644 index 0000000000000000000000000000000000000000..ce20a2ae9c417730847fa09873e8dcba5728c0c2 GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$F? zafq=BZ#K5PZkh0AUhC`bj@R8w^nez=Y3qH{vJq|}$a#7o=k1xv{C!4lt3DG0lNSR| wPHJLtNpNPmQ)WrA7Xx>0KAcxku$OhUde>uTSJ5_U?>Bs2am66tu)!<`01cpo{{R30 literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/5aa78579-93f6-4c45-a5b6-a3cde054c914.ser b/file-data-map/Channel/5aa78579-93f6-4c45-a5b6-a3cde054c914.ser new file mode 100644 index 0000000000000000000000000000000000000000..9762abbfd1105f0193df66be80ec790255fc26fe GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$|_f2LRgpiSz&f literal 0 HcmV?d00001 diff --git a/file-data-map/Channel/6d9e7d1b-1055-426b-acbe-80f14ae58a7f.ser b/file-data-map/Channel/6d9e7d1b-1055-426b-acbe-80f14ae58a7f.ser new file mode 100644 index 0000000000000000000000000000000000000000..d38eebed2ebe6d59143005b6a09197e84a9af3f7 GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXY&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-jH&z%o4ri{9L#NAgAkroW5r!^Y;$Z=r035#J`8i6?n8eYsOGQWigP3MsI zsTI;FupAi$+YabVP#z*I|C72H^HL<-uS_ZO&~n|q-P~lT0~xVSD)w1?1Sdcom`}J+ zA?r}V{wDQQ`FU^)i(Ye}p5|zko~ayqvA{749J9n3eON532-Y&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-kyDgM|E zbZ2>feoCc7a(+r`W{F;MelFYskkj=*PTw<=`TLCAR(&Q0CNBn_oYchPlHkmAr_7RK xF9z=1d^oS7U`EZQ&#W^ZICTAd<>FE6r&_|m2{zu)$k?Qy7~~^Xgw3pADFD*kf`R}5 literal 0 HcmV?d00001 diff --git a/file-data/users/09ab743b-266a-4255-8c23-04d09396153a.ser b/file-data/users/09ab743b-266a-4255-8c23-04d09396153a.ser new file mode 100644 index 0000000000000000000000000000000000000000..66da812d1bdae61a0adcff88bcee0336d0831bec GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$DE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxk(5rs1E?<1(bH$6nE%qPW-xY&=!v?b)00UQsO#lD@ literal 0 HcmV?d00001 diff --git a/file-data/users/4213bbdb-1a04-4d01-bdef-912923c354eb.ser b/file-data/users/4213bbdb-1a04-4d01-bdef-912923c354eb.ser new file mode 100644 index 0000000000000000000000000000000000000000..4b86303e55795a3ccd3e094d43c98bebcf8e1489 GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$DuLGDHv)zWW|u}O%Mxfz zmd1(w;nkvb`92^3nF26wU++H-a?TSe!`@~fL&nh#q^JT4bh|)*xS9IC7H19t;=*ji wsKz$$Y;n{sSVC4^rtV%~G{5xNb^V{`9liI3P%qD~tgfvqU3_FtlFd^31>fm{xBvhE literal 0 HcmV?d00001 diff --git a/file-data/users/517f764c-4a66-4f89-a283-52e235c43527.ser b/file-data/users/517f764c-4a66-4f89-a283-52e235c43527.ser new file mode 100644 index 0000000000000000000000000000000000000000..5123af6e7f6809a78ec33751a91b60cc56fccb45 GIT binary patch literal 393 zcmYk1zfQw25XLV?5iLQeVrODNVo1cFPAn9$5Lrb~^#M#{icuV!_)^lP3&_x*144YrBF;Smb#yKTc`7?(w0nnJY`bA~)7EA>=o&~rJCo8!0z&hYEz^?LE0faQbTV`0M67;2NH zapL9ZZo#?z7!rU~16Yr5MlENYr%DC=&5jDVK)0i08IYs9Ir{U%)X%-V@CXneW<$;l vwnTSJpz*af$;*2tmzpkacB!C)g5suY zcNhH+^lzv`C&AgNXp&0mZFk@M-uH8ZFEHZ>EFPl3uHA}x1d}od%u=X&5ogH#IwI8Q z3F|N?U}4*#Dr|34Fu7zRKv?`IxfqE;B*HIE35vjJwGQ?(lckSU$eW2g;?XIb1EDY% z3#kL%WRm|)Dv9>9;5z2LL7|dlXr-R&40<8Qv2z@|!0C^!->z1M1dIll9Tp@!ji5GN znk4oHx69VeN1p(s8o+oME{(P_&NHR_?yjeNF3|RrECX_MJ4b)HpZUI%7Y+f^fcb#4 w7+ulc6BswZlB(=d{ru_fysrK{9**Ci>`OXEs21nf);BhFoPT6alg&c<1)g$(LI3~& literal 0 HcmV?d00001 diff --git a/file-data/users/5c4a0b17-b6a1-453a-8b64-f4b73e97c0d8.ser b/file-data/users/5c4a0b17-b6a1-453a-8b64-f4b73e97c0d8.ser new file mode 100644 index 0000000000000000000000000000000000000000..a52d94927abbf532ad783f9be6344547e07df14c GIT binary patch literal 393 zcmZ4UmVvdnh=DsbuOzdiQZKYPwTJ-%7?~K@eHb{Ci&7IyQd1mDN*DxuvJ%S@^>Y&Q z()E4v^U|$-7+6zt6Eky47=)0df=h}r!IDgwDR51tC7C(;p`o5GKuz2Q8Tomsex|jwK*IqYnc|DbQ(f`HBLdqxnG2(E~Y0 z5A2-oClk)}E8k~gVDw^OElbQPO|2+m5I`t`*x0sasx0@E2i;5z3>5_o42-ky9ozjJ z=+5%|{FF+E%o4ri{9L#NAgAkroW5r!^Yne)vAPn6KuSpk+DfZF~~=(2%A~KQUC!q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXq`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XX6;1P UyDzq;34L=YD<}rJnhj<&0DdHQaR2}S literal 0 HcmV?d00001 diff --git a/file-data/users/a75e7191-132a-4835-96da-b42e665d1abe.ser b/file-data/users/a75e7191-132a-4835-96da-b42e665d1abe.ser new file mode 100644 index 0000000000000000000000000000000000000000..f7d9c199566898b9d6fa65383a3b53c6ad76c3dd GIT binary patch literal 340 zcmZ4UmVvdnh=DIPuOzdiQqMQFxHvIAl>q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXk literal 0 HcmV?d00001 diff --git a/file-data/users/b13b756e-d4c9-4750-a8b1-489ec07965e9.ser b/file-data/users/b13b756e-d4c9-4750-a8b1-489ec07965e9.ser new file mode 100644 index 0000000000000000000000000000000000000000..b141c40cc2383baa6d83c8e0c916429938dc550f GIT binary patch literal 340 zcmZ4UmVvdnh=DIPuOzdiQqMQFxHvIAl>q`6nHX4o7+8`s5=%-LgnY6R%M$f-67$ma zgG-7s^U|$-7&w!QQWHy3QyhT`1dtT?>8eDL{i9OF(?4iUOdvH&Z)aw@!UKb;g^P9dBk$(E~XXVxz~r1C^;S UH(HnGT{-CDE3BoXJJ0i6yBijwK}w0!Rvc^1;$0KAcxku*vw+rB$oSl6Rl^dHUi8x1Gfx->|_f2LN_giGTnA literal 0 HcmV?d00001 diff --git a/file-data/users/c7546cd7-5306-4f4d-b81a-bdedb8c7fc0b.ser b/file-data/users/c7546cd7-5306-4f4d-b81a-bdedb8c7fc0b.ser new file mode 100644 index 0000000000000000000000000000000000000000..2078eed5a49dc9599c6b68b8b38fa68f7115c062 GIT binary patch literal 393 zcmYk1zfQw25XLV?ftDatRZK`s?1}iZu~5W96v|Ng0H(2uksX`(QqqMDmJTq01mYF? z03BfN!p>L**3K*pBq>U{?e4qpzTXX}V4D~m79q#J+cqqQSy=>@0;qOkMv;XLM5qN9 zv`0NbqplaIsJj<{%_QXlq5e;5VayAW@US!`$c5K#A01{UN1v;RH4}Np;!C&&62P+I zQVZ6klKo98i4L>i2IjpLKqbl0NI_FPG|idjKEQHa%93t(*-nq1;S`t?ARvJt zF^DsG9Eya`00;yIjiv389^+=-ym`MFeS?{3uvm;7`*tT`8pdT1nD(IF)r=wwT8Pl_ zj%bfM5sgE~lX2Mez+{5*2x0!8Fn+1CQBX4n6*=}&-5{z0`Xub z;X*~MO$Ga#)KV4X!7VI$!-HCyqg8sQa_G4N$1ZT}5@+~%`FgSZPQY-%?9nJ?nTEz> zX`FaIx?Z%dK86G!Qvk-@+ridj&Uqqb(BJOLfN`|DQd9v2x?P|@-A?`7h%<)(abY%M wG(n$-I~)@iEFr5dQx7_PzF%E(Usjq6gD=-dsF&y0);Bg)Qha1ilFd^31vkNeu>b%7 literal 0 HcmV?d00001 diff --git a/file-data/users/dabb0ca7-3c0a-45e3-a776-deedac7bfdd1.ser b/file-data/users/dabb0ca7-3c0a-45e3-a776-deedac7bfdd1.ser new file mode 100644 index 0000000000000000000000000000000000000000..fab97e998cc67c1b00406ba691d224c2c3b8688e GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$*HdOZ`fd#0|0!yh}ZxC literal 0 HcmV?d00001 diff --git a/file-data/users/e5469010-771e-4e29-af85-5ed08e0e18e8.ser b/file-data/users/e5469010-771e-4e29-af85-5ed08e0e18e8.ser new file mode 100644 index 0000000000000000000000000000000000000000..6661a851fb08537683e63b75078f9b817e5fd800 GIT binary patch literal 380 zcmZ4UmVvdnh=DIPuOzdiQqMUfF)uGQhXDc@nHbo77`T%mf_{m)sU-|TK3R!niTXK- zdFlGWB}JKe>DE3BoXJJ0i6yBijwK}w0!Rvc^1;$uE|yS-l0V>?JmQnQyk~N$>Ea+*3LWZTLGeG3 z?k;XRy1QAyuFehxF-ax$w!80r@B6vY7wB;W1`Cm6$8=&A!K^d_i#Al(&`Ld38T3kyW9B$!fzzK{zYf;N1hfX|Z5kvjji5GP znk9Be!!_gPqfY=*1)$x(KaV#u&T}cf&Ymkh#?f@8C{ATll^eR~7-%faQSE w7+c)m=NLD@5VGu2)qA}B98P=A^x^I2WpdO-s21lpx3+gwoPVUxll4OS1v-v}2LJ#7 literal 0 HcmV?d00001 From a2a3f12a473963412f05cef81b3037ba14e59f42 Mon Sep 17 00:00:00 2001 From: apple Date: Wed, 28 Jan 2026 13:09:10 +0900 Subject: [PATCH 12/17] 26.01.28 --- .DS_Store | Bin 0 -> 6148 bytes discodeit/.DS_Store | Bin 0 -> 6148 bytes .../.gradle/8.8/checksums/checksums.lock | Bin 0 -> 17 bytes .../.gradle/8.8/checksums/md5-checksums.bin | Bin 0 -> 31047 bytes .../.gradle/8.8/checksums/sha1-checksums.bin | Bin 0 -> 74543 bytes .../8.8/dependencies-accessors/gc.properties | 0 .../8.8/executionHistory/executionHistory.bin | Bin 0 -> 41261 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .../.gradle/8.8/fileChanges/last-build.bin | Bin 0 -> 1 bytes .../.gradle/8.8/fileHashes/fileHashes.bin | Bin 0 -> 21447 bytes .../.gradle/8.8/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../8.8/fileHashes/resourceHashesCache.bin | Bin 0 -> 19211 bytes discodeit/.gradle/8.8/gc.properties | 0 .../.gradle/9.0.0/checksums/checksums.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/checksums/md5-checksums.bin | Bin 0 -> 19297 bytes .../9.0.0/checksums/sha1-checksums.bin | Bin 0 -> 19847 bytes .../executionHistory/executionHistory.bin | Bin 71748 -> 19752 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 17 bytes .../.gradle/9.0.0/fileHashes/fileHashes.bin | Bin 22247 -> 18897 bytes .../.gradle/9.0.0/fileHashes/fileHashes.lock | Bin 17 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 32437 -> 0 bytes .../buildOutputCleanup.lock | Bin 17 -> 17 bytes .../buildOutputCleanup/cache.properties | 4 +- .../buildOutputCleanup/outputFiles.bin | Bin 18983 -> 18929 bytes discodeit/.gradle/file-system.probe | Bin 8 -> 8 bytes discodeit/README.md | 2 + discodeit/build.gradle | 40 +- .../classes/java/main/JavaApplication.class | Bin 6137 -> 0 bytes .../classes/java/main/JavaApplication2.class | Bin 6346 -> 0 bytes .../discodeit/DiscodeitApplication.class | Bin 0 -> 772 bytes .../mission/discodeit/JavaApplication.class | Bin 0 -> 4482 bytes .../mission/discodeit/entity/Channel.class | Bin 0 -> 2061 bytes .../discodeit/entity/ChannelType.class | Bin 0 -> 1237 bytes .../mission/discodeit/entity/Message.class | Bin 0 -> 1849 bytes .../mission/discodeit/entity/User.class | Bin 0 -> 1943 bytes .../repository/ChannelRepository.class | Bin 0 -> 712 bytes .../repository/MessageRepository.class | Bin 0 -> 712 bytes .../discodeit/repository/UserRepository.class | Bin 0 -> 691 bytes .../file/FileChannelRepository.class | Bin 0 -> 6506 bytes .../file/FileMessageRepository.class | Bin 0 -> 6506 bytes .../repository/file/FileUserRepository.class | Bin 0 -> 6464 bytes .../repository/jcf/JCFChannelRepository.class | Bin 0 -> 2171 bytes .../repository/jcf/JCFMessageRepository.class | Bin 0 -> 2171 bytes .../repository/jcf/JCFUserRepository.class | Bin 0 -> 2135 bytes .../discodeit/service/ChannelService.class | Bin 0 -> 810 bytes .../discodeit/service/MessageService.class | Bin 0 -> 744 bytes .../discodeit/service/UserService.class | Bin 0 -> 794 bytes .../service/basic/BasicChannelService.class | Bin 0 -> 3924 bytes .../service/basic/BasicMessageService.class | Bin 0 -> 4376 bytes .../service/basic/BasicUserService.class | Bin 0 -> 3759 bytes .../classes/java/main/entity/Channel.class | Bin 2374 -> 0 bytes .../classes/java/main/entity/Message.class | Bin 1708 -> 0 bytes .../build/classes/java/main/entity/User.class | Bin 2492 -> 0 bytes .../main/repository/ChannelRepository.class | Bin 489 -> 0 bytes .../main/repository/MessageRepository.class | Bin 489 -> 0 bytes .../java/main/repository/UserRepository.class | Bin 471 -> 0 bytes .../file/FileChannelRepository.class | Bin 5013 -> 0 bytes .../file/FileMessageRepository.class | Bin 5013 -> 0 bytes .../repository/file/FileUserRepository.class | Bin 4977 -> 0 bytes .../repository/jcf/JCFChannelRepository.class | Bin 1751 -> 0 bytes .../repository/jcf/JCFMessageRepository.class | Bin 1751 -> 0 bytes .../repository/jcf/JCFUserRepository.class | Bin 1715 -> 0 bytes .../java/main/service/ChannelService.class | Bin 506 -> 0 bytes .../java/main/service/MessageService.class | Bin 466 -> 0 bytes .../java/main/service/UserService.class | Bin 576 -> 0 bytes .../service/basic/BasicChannelService.class | Bin 2994 -> 0 bytes .../service/basic/BasicMessageService.class | Bin 3154 -> 0 bytes .../main/service/basic/BasicUserService.class | Bin 3320 -> 0 bytes .../service/file/FileChannelService.class | Bin 7901 -> 0 bytes .../service/file/FileMessageService.class | Bin 7982 -> 0 bytes .../main/service/file/FileUserService.class | Bin 7939 -> 0 bytes .../main/service/jcf/JCFChannelService.class | Bin 2110 -> 0 bytes .../main/service/jcf/JCFMessageService.class | Bin 2775 -> 0 bytes .../main/service/jcf/JCFUserService.class | Bin 3877 -> 0 bytes .../reports/problems/problems-report.html | 663 ------------------ .../resources/main/application.properties | 1 + .../JavaApplication2.class.uniqueId0 | Bin 6346 -> 0 bytes .../compileJava/previous-compilation-data.bin | Bin 1628 -> 26193 bytes discodeit/gradle/wrapper/gradle-wrapper.jar | Bin 45457 -> 60756 bytes .../gradle/wrapper/gradle-wrapper.properties | 5 +- discodeit/gradlew | 49 +- discodeit/gradlew.bat | 41 +- discodeit/settings.gradle | 2 + .../src 2/main/java/JavaApplication.java | 149 ---- .../src 2/main/java/entity/Channel.java | 67 -- .../src 2/main/java/entity/Message.java | 55 -- .../src 2/main/java/entity/User.java | 80 --- .../main/java/service/ChannelService.java | 25 - .../main/java/service/MessageService.java | 19 - .../src 2/main/java/service/UserService.java | 31 - .../java/service/jcf/JCFChannelService.java | 73 -- .../java/service/jcf/JCFMessageService.java | 60 -- .../main/java/service/jcf/JCFUserService.java | 99 --- discodeit/src/main/java/JavaApplication.java | 148 ---- discodeit/src/main/java/JavaApplication2.java | 131 ---- .../discodeit/DiscodeitApplication.java | 13 + .../mission/discodeit/JavaApplication.java | 53 ++ .../mission/discodeit/entity/Channel.java | 65 ++ .../mission/discodeit/entity/ChannelType.java | 6 + .../mission/discodeit/entity/Message.java | 63 ++ .../sprint/mission/discodeit/entity/User.java | 70 ++ .../repository/ChannelRepository.java | 7 +- .../repository/MessageRepository.java | 7 +- .../discodeit}/repository/UserRepository.java | 11 +- .../file/FileChannelRepository.java} | 80 +-- .../file/FileMessageRepository.java | 100 +++ .../repository/file/FileUserRepository.java | 100 +++ .../repository/jcf/JCFChannelRepository.java | 40 ++ .../repository/jcf/JCFMessageRepository.java | 40 ++ .../repository/jcf/JCFUserRepository.java | 40 ++ .../discodeit/service/ChannelService.java | 15 + .../discodeit/service/MessageService.java | 14 + .../discodeit/service/UserService.java | 14 + .../service/basic/BasicChannelService.java | 51 ++ .../service/basic/BasicMessageService.java | 65 ++ .../service/basic/BasicUserService.java | 50 ++ discodeit/src/main/java/entity/Channel.java | 70 -- discodeit/src/main/java/entity/Message.java | 60 -- discodeit/src/main/java/entity/User.java | 88 --- .../file/FileChannelRepository.java | 75 -- .../file/FileMessageRepository.java | 79 --- .../repository/file/FileUserRepository.java | 85 --- .../repository/jcf/JCFChannelRepository.java | 36 - .../repository/jcf/JCFMessageRepository.java | 36 - .../repository/jcf/JCFUserRepository.java | 38 - .../src/main/java/service/ChannelService.java | 25 - .../src/main/java/service/MessageService.java | 19 - .../src/main/java/service/UserService.java | 31 - .../service/basic/BasicChannelService.java | 51 -- .../service/basic/BasicMessageService.java | 60 -- .../java/service/basic/BasicUserService.java | 59 -- .../java/service/file/FileMessageService.java | 128 ---- .../java/service/file/FileUserService.java | 137 ---- .../java/service/jcf/JCFChannelService.java | 73 -- .../java/service/jcf/JCFMessageService.java | 60 -- .../main/java/service/jcf/JCFUserService.java | 96 --- .../src/main/resources/application.properties | 1 + .../discodeit/DiscodeitApplicationTests.java | 13 + .../15861b4b-ec0e-4a5e-bd05-ab278ae34345.ser | Bin 380 -> 0 bytes .../1da4e1df-849f-4a48-a8cf-0cb2203fa924.ser | Bin 380 -> 0 bytes .../24393970-a1bc-4de6-bf6c-fffd8fd1df4f.ser | Bin 380 -> 0 bytes .../2df5ecee-173b-486e-8d2d-d12019d514ad.ser | Bin 380 -> 0 bytes .../4719a95c-47f9-4182-8b43-12023c21b5da.ser | Bin 380 -> 0 bytes .../5aa78579-93f6-4c45-a5b6-a3cde054c914.ser | Bin 380 -> 0 bytes .../6a51a61d-7938-4f3d-823d-57d267c1e958.ser | Bin 380 -> 0 bytes .../6d9e7d1b-1055-426b-acbe-80f14ae58a7f.ser | Bin 380 -> 0 bytes .../90527fb7-ed65-434b-9c27-d945d54b7b06.ser | Bin 0 -> 534 bytes .../d2cb0e57-d07e-40b6-9528-350d65e3eaf4.ser | Bin 380 -> 0 bytes .../0febb237-0b5c-4afc-8ee8-47e2ea358526.ser | Bin 340 -> 0 bytes .../544a203e-caa7-4340-8e6d-f0562ae1f6a8.ser | Bin 340 -> 0 bytes .../7c81b605-2068-420b-8eac-a3d1a0ba9437.ser | Bin 340 -> 0 bytes .../90fa7300-4200-4acb-8825-a104717191d3.ser | Bin 340 -> 0 bytes .../b17935b5-84ba-4e68-a96f-8b588e3a636e.ser | Bin 340 -> 0 bytes .../c9254843-f395-45b7-84d5-fcace93ac799.ser | Bin 0 -> 418 bytes .../03b5d5a6-5ae2-4f67-a3e3-d7af23f8c25f.ser | Bin 0 -> 388 bytes .../1e77a4b2-24f7-4e4c-ae23-e3cbd9cba8b9.ser | Bin 393 -> 0 bytes .../354b9ef6-a09f-44ca-9e3b-a73b26b07ac7.ser | Bin 393 -> 0 bytes .../569656a3-8cd4-4226-b261-d60fca42ca6f.ser | Bin 393 -> 0 bytes .../8af9ea44-487d-4e25-987c-d2f30598e040.ser | Bin 393 -> 0 bytes .../8bc71012-b50a-4920-8f20-6300fa87c162.ser | Bin 393 -> 0 bytes .../a85d966f-1f89-491e-bcbc-6b29ef9003d6.ser | Bin 393 -> 0 bytes .../c837be68-a1dd-4d70-86c4-1604e4d4a5ec.ser | Bin 393 -> 0 bytes .../ccaa962d-efdc-419b-8832-ec559dc3c7c3.ser | Bin 393 -> 0 bytes .../fc327820-618e-4da3-a3b7-cc0a7ebb7ef0.ser | Bin 393 -> 0 bytes .../5509a31c-15cf-4df0-9048-6f9be846f822.ser | Bin 340 -> 0 bytes .../877dfcf1-aade-42f8-9a65-a7441499cfc5.ser | Bin 340 -> 0 bytes .../ac6198b2-fc89-4fdb-84fc-9a947e52a655.ser | Bin 340 -> 0 bytes .../09ab743b-266a-4255-8c23-04d09396153a.ser | Bin 380 -> 0 bytes .../21d15384-3ff0-47ee-8d27-c17e6f17b1e7.ser | Bin 380 -> 0 bytes .../4213bbdb-1a04-4d01-bdef-912923c354eb.ser | Bin 380 -> 0 bytes .../4a55f9d9-4873-4bf1-b5da-00e40f21ca76.ser | Bin 393 -> 0 bytes .../517f764c-4a66-4f89-a283-52e235c43527.ser | Bin 393 -> 0 bytes .../58fdcda3-2e8c-4cfd-b7ea-533fbd2cffa2.ser | Bin 393 -> 0 bytes .../5c4a0b17-b6a1-453a-8b64-f4b73e97c0d8.ser | Bin 393 -> 0 bytes .../6c7d6c00-a4b0-4fa1-9208-b2ab1806c053.ser | Bin 340 -> 0 bytes .../8bd18566-12f6-4076-903d-638ecbd960f7.ser | Bin 340 -> 0 bytes .../a75e7191-132a-4835-96da-b42e665d1abe.ser | Bin 340 -> 0 bytes .../b13b756e-d4c9-4750-a8b1-489ec07965e9.ser | Bin 340 -> 0 bytes .../bbccf9cb-d1b0-46b9-b233-d2d2aaaa7663.ser | Bin 380 -> 0 bytes .../c7546cd7-5306-4f4d-b81a-bdedb8c7fc0b.ser | Bin 393 -> 0 bytes .../c9293b13-7fe8-4a53-a872-67c3a32a1f4a.ser | Bin 393 -> 0 bytes .../dabb0ca7-3c0a-45e3-a776-deedac7bfdd1.ser | Bin 380 -> 0 bytes .../e5469010-771e-4e29-af85-5ed08e0e18e8.ser | Bin 380 -> 0 bytes .../fbaad7fe-c4e4-4f86-88b7-82e395fb8855.ser | Bin 393 -> 0 bytes 184 files changed, 914 insertions(+), 3054 deletions(-) create mode 100644 .DS_Store create mode 100644 discodeit/.DS_Store create mode 100644 discodeit/.gradle/8.8/checksums/checksums.lock create mode 100644 discodeit/.gradle/8.8/checksums/md5-checksums.bin create mode 100644 discodeit/.gradle/8.8/checksums/sha1-checksums.bin create mode 100644 discodeit/.gradle/8.8/dependencies-accessors/gc.properties create mode 100644 discodeit/.gradle/8.8/executionHistory/executionHistory.bin create mode 100644 discodeit/.gradle/8.8/executionHistory/executionHistory.lock create mode 100644 discodeit/.gradle/8.8/fileChanges/last-build.bin create mode 100644 discodeit/.gradle/8.8/fileHashes/fileHashes.bin create mode 100644 discodeit/.gradle/8.8/fileHashes/fileHashes.lock create mode 100644 discodeit/.gradle/8.8/fileHashes/resourceHashesCache.bin create mode 100644 discodeit/.gradle/8.8/gc.properties create mode 100644 discodeit/.gradle/9.0.0/checksums/md5-checksums.bin create mode 100644 discodeit/.gradle/9.0.0/checksums/sha1-checksums.bin delete mode 100644 discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin create mode 100644 discodeit/README.md delete mode 100644 discodeit/build/classes/java/main/JavaApplication.class delete mode 100644 discodeit/build/classes/java/main/JavaApplication2.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/DiscodeitApplication.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/JavaApplication.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/Channel.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/ChannelType.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/Message.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/User.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/ChannelRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/MessageRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/UserRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileChannelRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileMessageRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/ChannelService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/MessageService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/UserService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicChannelService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class create mode 100644 discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicUserService.class delete mode 100644 discodeit/build/classes/java/main/entity/Channel.class delete mode 100644 discodeit/build/classes/java/main/entity/Message.class delete mode 100644 discodeit/build/classes/java/main/entity/User.class delete mode 100644 discodeit/build/classes/java/main/repository/ChannelRepository.class delete mode 100644 discodeit/build/classes/java/main/repository/MessageRepository.class delete mode 100644 discodeit/build/classes/java/main/repository/UserRepository.class delete mode 100644 discodeit/build/classes/java/main/repository/file/FileChannelRepository.class delete mode 100644 discodeit/build/classes/java/main/repository/file/FileMessageRepository.class delete mode 100644 discodeit/build/classes/java/main/repository/file/FileUserRepository.class delete mode 100644 discodeit/build/classes/java/main/repository/jcf/JCFChannelRepository.class delete mode 100644 discodeit/build/classes/java/main/repository/jcf/JCFMessageRepository.class delete mode 100644 discodeit/build/classes/java/main/repository/jcf/JCFUserRepository.class delete mode 100644 discodeit/build/classes/java/main/service/ChannelService.class delete mode 100644 discodeit/build/classes/java/main/service/MessageService.class delete mode 100644 discodeit/build/classes/java/main/service/UserService.class delete mode 100644 discodeit/build/classes/java/main/service/basic/BasicChannelService.class delete mode 100644 discodeit/build/classes/java/main/service/basic/BasicMessageService.class delete mode 100644 discodeit/build/classes/java/main/service/basic/BasicUserService.class delete mode 100644 discodeit/build/classes/java/main/service/file/FileChannelService.class delete mode 100644 discodeit/build/classes/java/main/service/file/FileMessageService.class delete mode 100644 discodeit/build/classes/java/main/service/file/FileUserService.class delete mode 100644 discodeit/build/classes/java/main/service/jcf/JCFChannelService.class delete mode 100644 discodeit/build/classes/java/main/service/jcf/JCFMessageService.class delete mode 100644 discodeit/build/classes/java/main/service/jcf/JCFUserService.class delete mode 100644 discodeit/build/reports/problems/problems-report.html create mode 100644 discodeit/build/resources/main/application.properties delete mode 100644 discodeit/build/tmp/compileJava/compileTransaction/stash-dir/JavaApplication2.class.uniqueId0 mode change 100644 => 100755 discodeit/gradlew create mode 100644 discodeit/settings.gradle delete mode 100644 discodeit/src/backup_src2/src 2/main/java/JavaApplication.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/entity/Channel.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/entity/Message.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/entity/User.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/service/ChannelService.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/service/MessageService.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/service/UserService.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFChannelService.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFMessageService.java delete mode 100644 discodeit/src/backup_src2/src 2/main/java/service/jcf/JCFUserService.java delete mode 100644 discodeit/src/main/java/JavaApplication.java delete mode 100644 discodeit/src/main/java/JavaApplication2.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/DiscodeitApplication.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/JavaApplication.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/entity/Channel.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/entity/ChannelType.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/entity/Message.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/entity/User.java rename discodeit/src/main/java/{ => com/sprint/mission/discodeit}/repository/ChannelRepository.java (73%) rename discodeit/src/main/java/{ => com/sprint/mission/discodeit}/repository/MessageRepository.java (73%) rename discodeit/src/main/java/{ => com/sprint/mission/discodeit}/repository/UserRepository.java (61%) rename discodeit/src/main/java/{service/file/FileChannelService.java => com/sprint/mission/discodeit/repository/file/FileChannelRepository.java} (51%) create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileMessageRepository.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/file/FileUserRepository.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/ChannelService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/MessageService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/UserService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicChannelService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicMessageService.java create mode 100644 discodeit/src/main/java/com/sprint/mission/discodeit/service/basic/BasicUserService.java delete mode 100644 discodeit/src/main/java/entity/Channel.java delete mode 100644 discodeit/src/main/java/entity/Message.java delete mode 100644 discodeit/src/main/java/entity/User.java delete mode 100644 discodeit/src/main/java/repository/file/FileChannelRepository.java delete mode 100644 discodeit/src/main/java/repository/file/FileMessageRepository.java delete mode 100644 discodeit/src/main/java/repository/file/FileUserRepository.java delete mode 100644 discodeit/src/main/java/repository/jcf/JCFChannelRepository.java delete mode 100644 discodeit/src/main/java/repository/jcf/JCFMessageRepository.java delete mode 100644 discodeit/src/main/java/repository/jcf/JCFUserRepository.java delete mode 100644 discodeit/src/main/java/service/ChannelService.java delete mode 100644 discodeit/src/main/java/service/MessageService.java delete mode 100644 discodeit/src/main/java/service/UserService.java delete mode 100644 discodeit/src/main/java/service/basic/BasicChannelService.java delete mode 100644 discodeit/src/main/java/service/basic/BasicMessageService.java delete mode 100644 discodeit/src/main/java/service/basic/BasicUserService.java delete mode 100644 discodeit/src/main/java/service/file/FileMessageService.java delete mode 100644 discodeit/src/main/java/service/file/FileUserService.java delete mode 100644 discodeit/src/main/java/service/jcf/JCFChannelService.java delete mode 100644 discodeit/src/main/java/service/jcf/JCFMessageService.java delete mode 100644 discodeit/src/main/java/service/jcf/JCFUserService.java create mode 100644 discodeit/src/main/resources/application.properties create mode 100644 discodeit/src/test/java/com/sprint/mission/discodeit/DiscodeitApplicationTests.java delete mode 100644 file-data-map/Channel/15861b4b-ec0e-4a5e-bd05-ab278ae34345.ser delete mode 100644 file-data-map/Channel/1da4e1df-849f-4a48-a8cf-0cb2203fa924.ser delete mode 100644 file-data-map/Channel/24393970-a1bc-4de6-bf6c-fffd8fd1df4f.ser delete mode 100644 file-data-map/Channel/2df5ecee-173b-486e-8d2d-d12019d514ad.ser delete mode 100644 file-data-map/Channel/4719a95c-47f9-4182-8b43-12023c21b5da.ser delete mode 100644 file-data-map/Channel/5aa78579-93f6-4c45-a5b6-a3cde054c914.ser delete mode 100644 file-data-map/Channel/6a51a61d-7938-4f3d-823d-57d267c1e958.ser delete mode 100644 file-data-map/Channel/6d9e7d1b-1055-426b-acbe-80f14ae58a7f.ser create mode 100644 file-data-map/Channel/90527fb7-ed65-434b-9c27-d945d54b7b06.ser delete mode 100644 file-data-map/Channel/d2cb0e57-d07e-40b6-9528-350d65e3eaf4.ser delete mode 100644 file-data-map/Message/0febb237-0b5c-4afc-8ee8-47e2ea358526.ser delete mode 100644 file-data-map/Message/544a203e-caa7-4340-8e6d-f0562ae1f6a8.ser delete mode 100644 file-data-map/Message/7c81b605-2068-420b-8eac-a3d1a0ba9437.ser delete mode 100644 file-data-map/Message/90fa7300-4200-4acb-8825-a104717191d3.ser delete mode 100644 file-data-map/Message/b17935b5-84ba-4e68-a96f-8b588e3a636e.ser create mode 100644 file-data-map/Message/c9254843-f395-45b7-84d5-fcace93ac799.ser create mode 100644 file-data-map/User/03b5d5a6-5ae2-4f67-a3e3-d7af23f8c25f.ser delete mode 100644 file-data-map/User/1e77a4b2-24f7-4e4c-ae23-e3cbd9cba8b9.ser delete mode 100644 file-data-map/User/354b9ef6-a09f-44ca-9e3b-a73b26b07ac7.ser delete mode 100644 file-data-map/User/569656a3-8cd4-4226-b261-d60fca42ca6f.ser delete mode 100644 file-data-map/User/8af9ea44-487d-4e25-987c-d2f30598e040.ser delete mode 100644 file-data-map/User/8bc71012-b50a-4920-8f20-6300fa87c162.ser delete mode 100644 file-data-map/User/a85d966f-1f89-491e-bcbc-6b29ef9003d6.ser delete mode 100644 file-data-map/User/c837be68-a1dd-4d70-86c4-1604e4d4a5ec.ser delete mode 100644 file-data-map/User/ccaa962d-efdc-419b-8832-ec559dc3c7c3.ser delete mode 100644 file-data-map/User/fc327820-618e-4da3-a3b7-cc0a7ebb7ef0.ser delete mode 100644 file-data/Message/5509a31c-15cf-4df0-9048-6f9be846f822.ser delete mode 100644 file-data/Message/877dfcf1-aade-42f8-9a65-a7441499cfc5.ser delete mode 100644 file-data/Message/ac6198b2-fc89-4fdb-84fc-9a947e52a655.ser delete mode 100644 file-data/users/09ab743b-266a-4255-8c23-04d09396153a.ser delete mode 100644 file-data/users/21d15384-3ff0-47ee-8d27-c17e6f17b1e7.ser delete mode 100644 file-data/users/4213bbdb-1a04-4d01-bdef-912923c354eb.ser delete mode 100644 file-data/users/4a55f9d9-4873-4bf1-b5da-00e40f21ca76.ser delete mode 100644 file-data/users/517f764c-4a66-4f89-a283-52e235c43527.ser delete mode 100644 file-data/users/58fdcda3-2e8c-4cfd-b7ea-533fbd2cffa2.ser delete mode 100644 file-data/users/5c4a0b17-b6a1-453a-8b64-f4b73e97c0d8.ser delete mode 100644 file-data/users/6c7d6c00-a4b0-4fa1-9208-b2ab1806c053.ser delete mode 100644 file-data/users/8bd18566-12f6-4076-903d-638ecbd960f7.ser delete mode 100644 file-data/users/a75e7191-132a-4835-96da-b42e665d1abe.ser delete mode 100644 file-data/users/b13b756e-d4c9-4750-a8b1-489ec07965e9.ser delete mode 100644 file-data/users/bbccf9cb-d1b0-46b9-b233-d2d2aaaa7663.ser delete mode 100644 file-data/users/c7546cd7-5306-4f4d-b81a-bdedb8c7fc0b.ser delete mode 100644 file-data/users/c9293b13-7fe8-4a53-a872-67c3a32a1f4a.ser delete mode 100644 file-data/users/dabb0ca7-3c0a-45e3-a776-deedac7bfdd1.ser delete mode 100644 file-data/users/e5469010-771e-4e29-af85-5ed08e0e18e8.ser delete mode 100644 file-data/users/fbaad7fe-c4e4-4f86-88b7-82e395fb8855.ser diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c50c31cc212dbf3373401f0f3004c27215606596 GIT binary patch literal 6148 zcmeHKO-~a+7=8zeY{AL`1<|P4*oz4bA|Dds!L?va^+3ZCECH;$-K8#UXX@^jib&G4 z{s6Bg{s0qC9`z4+G~PV;2fTR3cV?#nY`rQm`zABbJMYJQJe!%>0RWP#+cyAI08p@S zO!Q&ZLAalnHtCX<9z-JgU|@p-E`)inEjl*D48#naHU{|KP2#R~A%HR*+rO-AdCWpD zKN@maCJu$5)-l6s1T~rQ!K!&~5Kc~hAzj^xo-@5luhOq<8c$fm2+gn_>FA`ka!H|uIF11-B$LiD$M6MAzl%$d@sbl;5)3Y;KZEAk* zAgk@qPfcdEndzGc2T5flbN$wGX~(Nl_EO9p2%c3!QW9J63Y89AxaD2BGV-;xvTv%| zT3fQO|7_~qfI2udJeVFF85uo4cH!dCrOPFC*fPsI6`#*}fqBf&d3C3x4g|RJe3{XL z@9g4=i=p!@G~DOt8u~3^*|8rTnO62{7?VCSh)(bMjziZgzH2XSZ3RwPJf^Sl(aJva zyaEf{&}DROLyR6e)jZu|I3l0HQjNQURmTqy+j5F)rth1y;^g)=J=1c$C7NSl$f`vb zSHWj4hBRts*`<}t?H>`J$&7w2(p1Q_D9-4GrqGpi%OsIxK5oAe`U+*#!R$ih$>|C-@BC;U^rD6d5H~$vDZ9Su#g-k|+1cIJpm~q6dXUsfbZ3kxvW~rK4Sw zak|82gi$&WF*5ceM<()xLd583*F-oFJ;Jz-8HgD;$v}71RQdgX_s{SDlSy$aW*}zZ zzhZzS7L7&z#Fuw#+v50Lt6_PJg$s{sMkrFSlGm|N_*FcHMF{#dt|00Xn-QV~CH@f* MG{jZRz+YwH7rI95ZvX%Q literal 0 HcmV?d00001 diff --git a/discodeit/.DS_Store b/discodeit/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..73780108834ee2f82876f3189c215c3471ded604 GIT binary patch literal 6148 zcmeHL%TB{E5FDo!ZB-Y)TP6M=ROx{O7x)24Q>sdVN`0u;-1sy;fzN?i+X_w- zIHC&eR_k%rvvE3(vT*>I$u7SJMgaPB!Dzsy#bjK(VUdsYh{m2H#~2H&@r1m=*1$0; zAZvGu3_C1QaMixoufY7aSk1Cxm60Pi$TR)z(;9ogNwwBZ?j^@R0&XwlVt;UEvdvY% z9@g2ss*Ly4wk2yHWDRhSDQ=MBjyT2(@`H>C=Xnn@&alB8TmF`K<(!*e|39xXIuEit zbr86FTUgEKI=+a^A%sh{u+4vobv9mKCTRKeQ zP+L_%6{suFafc(R|I?rM|Met2QUz3jf2DxwrVlAUjj-spo7CEv{zw-SUg@w(VaJwY fa-|es(5*2ZONW?vEFCgJ(-#3NgEp$bpDOSL!#!#C literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/8.8/checksums/checksums.lock b/discodeit/.gradle/8.8/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..cc6ff173f1e20f0e9750678df3cd6820b12d14bc GIT binary patch literal 17 UcmZQ(5V>6>A>+P~0SuVE03JsI&Hw-a literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/8.8/checksums/md5-checksums.bin b/discodeit/.gradle/8.8/checksums/md5-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..a4094eceb0206b9237776aa7d0b0cb97c426bd79 GIT binary patch literal 31047 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 M7hKCEq)3y=Y@*Oj>*H&FTYmazVr{KY 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 literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/8.8/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/8.8/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..67ba9dd105de823ccd2729f2b729159599c6360e GIT binary patch literal 19211 zcmeI(>q}E{0LJm7W~LUdVx+Bf9BQDgoN1+mWhCm9Mi)$5Hb^PZE?VM^%IrF{OlVGW zlv%pe@-ipot$LxPc6*Ud%0lL?i&0|RtJv0h z;F3mBlDU=xes;O;;abtrZ_MfNz2x_Ui$$`4)~J=iOqY6-etG8yd7{7+!1f-}ABZ|U zToW{UriVQy{W%@kx0_B6WUqgQ^v+fm@Ok zcjkn28|kL5b~|~gE|tB$mh_22{`l8BJ+18ZH<8YxwQ<@YHy+#LNO#*z1sRo%LZ(ZT zNf!*$BYdwxXSUaq?&-6#sV@Mg!Bs%1B=`dHA%^t3k+g=}*$PzaO#Lf7V;U?$41PAG)HV zCo^Z1-K$9_-xOu*$ehC`1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz00bZa z0SG_<0uX=z1Rwwb2tWV=5P$##AOHaf{3`;!mK$}myysirJg0ZOJjc{l|7&{D{^}Q* zIhN@D_aax?S!de%?B$JzX^Vx=6*PBoci3F!XS_5=Zgw47c=6^M?m|>wV}9R0HZ~>W zdq(?7jod|1OJDJa2p8L84V~;Y>+2YIF>pk;Ak@LPdV5QW%Z=HKtGJ6@bH+VgqVn4+ zn#Qj`l7H567lwnI)}4$uYpR_1=59fh^?wXAp0@T;?Lfh2pY$uHBTdVM_5$u=!!etX ze0}QuyRp8f#d`)LxQiW1gGw3WeL2h^xr>w(j{$Y%!TK+Q0(Ec1o(b+k zd9Tw>VQ6eFyuGhKCa>H2Uy&L2Q4vs5Q9DRU0|e*-059}GQF8RuCfkGHb?-qm(PohG zJ={y5l_XAKc~tuL``Wl+Ik`UJG|M&XErXis>$_P@r&u>WAT`7&&b*O5yCP z6YH8vX`_-fTsQF>Z}jHJtLyuW3av@hV>BG0jXR_v$>cZc2RD$0=}8do6@s6;S1$_SK!(tG>+{c?sUGyTzD&G*gh^5(<){J!sf_Obsk z&x4|P8Vh)%UTiuqc3}?+KmjNK1)u;FfC5ke3P1rU00p1`6o3Ly017|>C;$bZ02KJY z6bPX&Lv+J%jJR(R;rfs7n6!Fay@J;_Al$IaIPIBc>=DF8 zQo>h@7wSZBJjd(!RS?cE7Frpc^yH)C{oW(o{IQ?i##dXE5%+c_+~T7v(b^HmQ!%e4 z+)=x0W6ZUlbi{oLUT}WI83}5?%Y4@KCQ>KA@VXP#5gF={fVhty;bD?Kxrux3Er|Pe z5Wdau^}*9$`8eU@n+Q+o+f$}pl81YGClOA5QWPf^Iq(hzpa2wr0#E=7KmjNK1)u;F zfC5ke3P1rU00p1`6o3Ly017|>C;$bZ02F`%Pyh-*0Vn_kpa2wr0#E=7KmjNK1)u;F zfCB$j0egBO0sS&&UfNuTClSGpZ@U*YM;FA_|KQ#pSa6V{eTzR4C%)McImu=`im z2~Os^iKVR#&*FtCLo3V_n^w*{3~#X?uRW%PXXPTxU@Lpp5*9tn*llTx!{&UtrEbAu4JC<(_WZkZF@n4_jtjC(jF6=j&$bdY zt;aZV*=25g*GZpyJ&Mjp4n|@t09mS6*_KIKsJClEOK5R$MtOQ!mwwl}M*6u2<_t|T zk;MyUTM7EFSvor!wQX}*u-%`jG;0$bSBI_7kfpYdZC%Vie`@?ln8P=hJD;lO&5CPo zh~LCkE3$N>*_MWUQu{;}r9+6hx^Jwlf1OYRNz5r+)!x!S_wO9HO% zj^x5}?Zl_ZGSx*E_Z9Z6Ui$@0vk#=7uYc#Mg>*;Wvgmx1<=6_7S#ss`Y|HvV<3`)w zWy#48c6aRg(us=rRM?HJIGH8y$UG9W=6{)EMtHVJg!yvqb}Ohv zVdn_lj+teKpO#VWWm}@5gbC+`swh!hOw##4_u;RL(s$V6>ym`0*!A<~11qyM zyKOux4kuoBqt|B6&>Y=S@(o+qmT8>-;A}w6g$k#?4g{3itEU##(@!1AtSH$m`87I> F^*7*QkEQ?s literal 0 HcmV?d00001 diff --git a/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin b/discodeit/.gradle/9.0.0/executionHistory/executionHistory.bin index d3653037e0bd383c66e896c305b65b62f3a46166..465d9519f9563ed294a58b16d09e21ccb0aac5ec 100644 GIT binary patch delta 565 zcmX@Ifn~)k#t9;<3_u{dabkz~#03?TB_*U887KQnC^Kq;gf=dy1PVX*HfCU8xd+78 zKzO!kVrhkOs+nneQbuAyZgyE#ig8kTPL+{ysX)xcr=MnL?h6rLWmYS3;#OTThREde z9*&dGdGrXZRc~6|_s`*>Ol3`#v-re6o3lLcGS(ks)DJCAEh^SeEGWoH)%Q$EO$;c? z&q_@$Db_DZ%`MQk)GaP3%FHX#&CM(>&dkr#PsuD!&QD3rEYVLdN=(T~E!Rs*EMX9+ zVty(k!+3DMe3^;KTFYY9&odjQ95DVV#?q0MSmc(OlgfApi&f^N*`;4z1axO=k^bcW z-YTgRz*bCr%*4`PP?Qf8F3C(S23z$Qi&f;>)aj#L(FeBa4Dy4<@fA5_ch8flS&(hoP^!ePnojK1r&;8zW&%Mw0`<#3AP$)(0Km0!^ z-XCe+KgKgqDA`rK{k2=5{Y|`m2Mh`&N8s(dTA@%_Ja2#dZfO4%Z-1XB3MKEs+fQhQ z_H%gq>6cNcQFD0vr7h6@N@#yG@BiR$fB--MAOH{m2mk~C0ssMk06+jB01yBO00aO6 z00DpiKmZ^B5C8}O1iBl66;KELd7UWEkbrmOTu`W)1EC!WiNBw`4c{s$#rwI*T%aG! zB#m4xArpImS8kvyC>Q(-mFx0;1AhYq00IC3fB--MAOH{m2mk~C0ssMk06+jB01yBO z00aO600DpiKmZ^B5C8}O1ONg60e}EN03ZMm00;mC00IC3fB--MAOH{m2mk~C0ssMk z06+jB(31#2FaMFOg0@n4iy%{7=$b?gqNbZYNyC=uig(4+=xS_|CJpQJRQt5r9ogmy zX!E=WM)DzE5+X&YQw)|J&W=U2p^|Y#CI!bKvK`qt7Z#DpB(rdh}Ikx2{|kwdn@ z8XYNep1=RVjvW2zvj-2UT`%#|EugNUt>$wnR2wrAi^AksO|)Wh=~g5vgUw};RVNDe z)T~t1h}I-LUQ?B*rAfl8k!{q~)YP=JRkgHjwMes6@z|-B8!(kpY0IPa>4%nA?Y`IF zkH{j~Q=G~3iEMJelRt8#6PFP=_Hgx}MW(uXOZ2T)nCY8Z8JHOB3)+G!U;_96sn}51 z9Ci@=H;ZD;gJL=i74Fc?o~WjwX~w0Y+L@WVGRgf?e(0F>gxrVCyyqJ( z4HWKT1&fNwu;*}?Y#kL9Hksv2A(7dFQ3G{>z#ssCt->2l%Cm4YaWj>zDRi70g&Dvr zTuElJA&@Y>$d9||WR44i4M%Q^CtlO7JFti~Pm$4WQWDn5E2SvM6+pGL6E9J0(DeL}J*G zDI5aN85bPXAPVb-d8VX<&Wal2tge1y7JE|3v$P!-@t=lDZgU{A7E-8W^u3?&i@+Z- z{H~P+R~Xa<3hS8{^Zr&|6zx>m{!8gkRHfcOfjtO%A|bhp$znhkB8Ng|Bc43!K2O?u zLSYT`X1pt2TbwT=Io0K5#nPMa5Qn~^C3musixlxC{pU{r3Y&bXa?{lQbxi#=<8{?< z|9y4`0)CjDBpRCCs-dY)b}6(igtrI>Hyc-~oh^gnV8?c55Q$7DB9Wx!N@F=;&z(7V z(fERj(qOOMA$5L@!;3K@MW|%47XyhwV?yT`XGC-+F5vBdW4c3kNh?bJ4sE@$n57@vFW6jAsJm||~#Wswi66tnaq8*ukbq_&{7+M{Fg_2^kP;yA;Px&@Vy=Yxt?csO`6%EA>sy3{93=scP+{F>JV0B8$Rtl}DWyGHD(4@WsF% z55}!^%^)O&F42x-G@`9l=<=~8vk*%%d>ch?V=&>90*waocSgZvz@G?Ac(sK(>-hK+ z!fz1Aw`A$E?AQYW1f@1)Ypxx-wG#4QexvfJV?syV_UI*WK@T?N*A=Y-b#smU#D+UxgiN(9%sJgb$ zbh!{Z66nzp-D(YwOx_?chUU}-R3e*=+9znb?MMFLMFk3eVv(t2=ur?A%w}*|Br-fG zpljNiLWKq_W{av;Fo(#pBXdN`rFM|uKA_6>s8%nDbUK4KB|r}-(Bl)E!Geb*Dnihk zHG{!{9wUiN#6iS(kKi|+14vl_8^Oj5af#jUryfn%EE0hRK|+8*AV5S& zDh@8gV3S@J@A#5%*mF}->WsxlZ%;!9^Qx%`SL=Ewj3I!a8w%fv{ZotMit>+7c^FP+ z>EE8RztsuhYIlC-(MT*3@Y5yVgT0ZjXBmCoF)_j1-s5WD@?dljABNUC_q(opBM5n2 zCX-4bA-52|3r_xfl>7!(3?{}uI(T7_4jmmLuHKWbbA$h&PjDdF5{wosgpbsW_w3L2 zNT)z&<*XySvrkT$^Rihv(Hnh`Z=wR3sE9GC>U!s(Uic%iy>GA2Ge(RYxwqd;w~djR zi|uEjqXfQ*x9A?%_~X+|pA3ggeAqCOdDG%qTmSiIBjM;ilf16J17jGI1zi9PE*rj8QmDL>2}L9lH9zkXhsGrEpPAtKkRa$v znOBJPr3{BZIEaZrK@ zD5l&Azjk=g!QPK5`xs1bIdf4a_PNCdwxQj=tp9RU*(0HwYGaIr|72V5SH_!U(jr@2 zdM0#BkvVq_WqIjt%22Ph7q^UF(3_zfYAcV8K?ew?86>(xVf}abXpPEooGGswL7*r_ zs^3oD>ywIqB!LbPFh~4~Mgv>^iPzS-hH@*ny_58($vvcEb|3UkIQ+%&Yq>RHzsMzf zP(o00`O&qKC1psh`_fS8_*Y@{gVU!}EwLjO&j|2&dlwzrk)7eUaY|{}gAfI!ne{ls z;IU5gtSgZ=68k}I6xOcUHYPJvlXlzlEo$Y~A`pJI3bwqMT{K4iFNUA)8=&}8&J5ZX zLz_{Ajf19*9i;AQ+S)j*r_yaTXm&1Kdy0l58GAXPeAl^Rsk<(Lb`@im=kH%4QUc;n zplS*-F*=cs;fbhK(gms}BKHf?3~d@Q4yc;Eq^?%Ml25DwRg;$^0#wbOQ8hvQ*(!c^ ztE%}6#GjH&OXS^e9XVfA^L$r$maSCp$DjF)w;MgjW`(=w*JwW|w=)6prvt33@Z~@x z<cSWy|ym?{s zw8cI-@By8Hqt}K^-z@4n$H(sIPrf>y658l6QKg;VN7N_a63}>g#^^2p}RMPM)$aaiYYZ?#Q{NiCm|0i23~Glu0> zt%hQ2>~v@w4{hTjh)ynQT#A~bhBL_qTH>JTVDHSb!K;zDL~KRINTqq02=30tJIZTL z8QUxqDFLxHh^;|v-Imw=jr?nnG0a;!U;;9RLB{a^cE)g(O%B_oX~L3wHd*KNFV((n zP1Y4?GjKT3^#Zd%(1BaWV0%Af_!o$+cj}HgZTU*V=>1?r&BT=_7uG}cQ1oHGl^|(Yj8#u2HUG-t|4t*Bgurc2x3Aon z`uLIe19ZF0VKKP%i2QsiUzPBRvu4OX&U9lX9ch)Gk)LmkR`N3OjL?#|Fb=>W z%FhYIw_$Ib@P8gi@LunM!7(phY=B%U@82Q(?>u&&P{W{gl@ZF|y-k+Xp13LGcQ>AeeU(0dhbV(ZC(Q}ks5rI}d#Pyw4b29W!EZ+ytdy-f zp6mI_@<6SO$$_Aum<(jl*CCVv7N-JJ22Y`_9Nr?>EHxJ=h7-$~P9jmMj_MR=Hx3zE zQtqsdZIm-SAa~O6Yg9{}_lUO|27il`0LlPR27odElmS>|3>F#xHj9j7BjbVtl-qM z8Jjmujxj!;D|hvywN%?l6;u5;W-y2+b7%BF9D04_X2Vr?&T~Kfw;2pw=g}dh8_E6T zU*9~h`NhrjL}r3-D!xMU+X?hS2@G1CiH|SNy{=K{TUZi(Z|?L?8H_p4?C;pq!plnQ zk44?3gka7hJqa-w=#UPx13#1CdXPL-DJDg2OoQ^cmW$`!oI?z+N$?ULdWZ1{=`iL6 zX%>3Ro!{&)GJICKT^SGoU|?YQp}8t?1&;cH;t^`-1(3ymSRgJhrc@kPtX zd-z$00wOi(Er9L#?bwdX7Hh+DUD7`3U?)9`imM!ugAAT{NjO0QTLY0D@?2=6A!G;F z!N$hHmBgYs+t6&Gb?_P_Ef*&m*V$1W`|f_uxWhG0X-AgHnQSNiHP}U@1dtto>;Pm3 zAUgor0mu$Ob|5d7Z6Dl3YURn8mdPbQjYBy-Rl7n4iX7H=;BXQ>#S3 z^kDM#wz#-MI0I+6^f1|h`4T^TTX=Kk<;ThHFLnJ!{c1@Yt3t+?WqK~PQ1B|S`}ij8 z-gnn*{O^(-doQXUcXE&YR5n0Whn}!@P|u`mEW^Hk?>5KV^c60fq>`qx^p_+%!izo* zk$vGFn7@L&ol%PosJwUbXevHzkVv}5kC7d#H;&StV9=kvWB~Cm8d+;2dR zdPlALVu?Y`Pez&Oj<<4Rn(Zk;4)VcB=pemLoe0@G()VaEvA|FDtfVZu3&@V8iZ=kW^!{N$7IY@UeFi>|+I(GLy-7OkFa)IO@K70Mjp&~!`1@D&|29n{Zh&g`yi@au&`~ z`a|B*YeVvt>^-UYI>bju`UTK0fPMk=3!q;B{qoz;Fa5io`4Hw+FxXW^r*xked7a^8ZLnR%buR1` z`b9}?^}F%&MyD@XR7)6Dk^ZjL31OC|TXRiTUCPU!ZyfvJe9h=W1A$m$?F*rAC+r4 zw|*IhD9UN{jB_>@9RhX^J5ptKcU0TB6N6Zfq{ECFyUwF9^N7+g6nEu~$647u!w?x0 zJ^ct~xHD|8*wr%I)?8$@AH^$+)CH<mI zbH(ynF>)-QzsnHat&n*1b&{lHZ zlq$B`uFyKf$9qFMBb5{bmRr`0`&4bXJvrQH7%j9O!6kY$gp1;=1ZgA332us0-*CrB zte)E$se~<9ww1U@9zD5^p7fbz`1S$PcZ6q>~9gf;o4X?I$bZOq*KOssDq{iR7l z{l&knx;KWFi<2EBxeR&gJUo1;vA^)53?A=L7WFJP5^J61{O;f60wd7sO| z2ywU@BiHIQBBN)w6r4gMp9PUPqu}iic#F^^*>Tr9;5BK^c5cqrjt&|OXGfwV!4f)7Jw~{!A z9i)^NSZzPK3G>8V79U6aWl5X|UH6U=BPjbt=;MfL{7-4@s1A@fwL+gL=`$=fd6RCG zNW8?W_^j(3VUd{(HU<71o#2z1rmZD>r$%A>=nb#Yb$Q<~aRMvVWexgJn~~rHnjMVl zyTw6U=nK~b_@mu?F0@0Z7;O9mLez!ho|LLb+RywIVh5rVggk|N0@AD>< zT(dyOx0$N6LM+C#u3Lsg`*-w+c&n33TBvBTlWX;r*c2ysU>^FYkhlELdx{@S-RiFR z(}}^ZE!$urA2Y^i`-cNwi8b$)#kniq_NQK8+38T=qbufYVz95z=285UGA1s=E{UJ2 z^>igVRuoz>hTSuDi3bIPtyr$SRnsFl_!a7yuKB59E$yZ*@kU+v3Dq`0koOIXjLtbp zgJ;cCR7w2sJXu=7VqPjbs?9=040hd+?k6TG6NCL%BEpNVyRHQ<-fEqJ#Cqq`KV#R1 zAj_=zB|{jGuLUsBF@oi^t<#SfyY6(8KakAYEf7_IB;DV)&^x%_!mX!2DNJ${4wXNZ5o~8 z_+BIi5`4$3qh=J|oS&bLuUA3u6^X9+3eG!h3G=b8>{Ru8q*tGrsGV&$ zUUV3LA`-e?^UW8|UwCBXxclj5689DVGT2;lt>x~Gbi4=32fp#3BNvK|O!&5`IWHKy z56qf6qxwc%UUNToE@GQ0!7~$m6ycieL9skHKVxLOpFo?+4Fr3#{M;>f+rV7kgGO z&18MhthI-qKY7|@b{8=@4ZD47{!O%c$%rBL_glPTmJZTGhjrR!Ci2?pz-*!#qSk{zQ32Nc@Tc z|9>TtH$0FN*5MwxY(%^2dI6XJFwR%TKFRJP(4Jd1 ze6gK^U7zV>-s*&KwclMkbzxeXVN1`TALTQ-M%G1X;uGMzUprkA6LiwBiCSru8`xx6 zxbd?HZ_pds=|%mmjYDphxT2<};rx#!&uu3_h!PEO7J4@ek>WeWU`OtJIiO_ovA*WZ zRgD#|CkKlcBE?&Gv&*8vJ}+B;K~$PPh4SF#$^)|*f0TUG67RBj>)y~#&kczk8oa0w za}srBTg=#zb-%WDs{K0tsrm9tW5+w0tr+KaV39a6Qv7h}746is`EJdw#+qDrwC$?d zA3UVQxhsAs^t^T|>v@QwuqM`))OUY%q?7$Wzod5h-oDT5jcnhcpLCS+8(fyewwt=d zBiV!6Y1MnnKL%xQ#ZgRYoBBCA0PU17YQR*qaE^?C1?0_`?voXqSaAx{mT``R3O|K| zVnj*)B`s{%ryH(g zD`WrKu;HNNI{boy(4@wHa*EUOS4H2*G`xO}U8P>gGO07Wt$eJj$a})PZl~jq%d}r_ z_YLhdZ_lW87xzkMY-6XqFqQEeFA@U@w9})fG_L<`QJ?BFv;101?JM=GNKfC=PNxsm z`@C^-h{A@;vW0V;sKF(*TN~2xZ+=ue{cA+_Euxi!$thG+Y7}?j?d&5T%G2>Rm>&{P zD=o5?>VM8$SGc{*`3dT#`PMJ~Z_@E0Q@$gf4x05OPTK||@Kc1LOZCl8BCXw%`L=kfd%AjlX3O1~G4I@smJC3fBq4r7R-KEdnE_Yzk3?4F zOdWP|m-cPnkX~@~>tnwmp0>EMj~#tIp+Gb7IXl}# zp>a3TN)4tn^)zBcbMd6I`ENGlY<7=+dFlOTr2aklJyw(aPyOw9O!dyYN$+YNvkoQw zYx#87rmN6J0xjhHu6(*u{;%Z1;(`b1*D{{H46pi{hgd%R^IP(1ddk&=(73+QAJw)6 zSMJ_7{b|T!=t?^|7u}hBIzMADbFabY(Ge2NpikwGK2{Z17xLv(j7|KBEIj)%_ph3X zWuLCg{#*I<9^&u6T6&ri4o?i7FFoxB`Sdz6L;T>nwFQYLolCy!J85 z0va0;8Z$4hkd4>Nio~X*3|^E8_a7#Q=(IQ1aRRyXlP*s7d3RG2~s{S^r>WHovH2HKNU(f`q zDkQ*Ru)n~HRQ0q3)o1<|6Z*EF9UjJbE3%L893a9d0993d z-ZzhM2dZi!!O(_GT*iXFJx$`U3A2>hOcsUCQU2b#mbQ%i@2p4#s_M^R%U|LtUeAMG z^z$E5RsEL*jO#aBb=UiH>19U`Y#9kuRp|BK?KK&pi>kwV2;OwHP4=^dYr+xP#d@Ab z#aX7OzqcawW!EqMv?j7CB*J|7Z!uCN2J0Q4_BcOMnVRmsDdX1KfVJp2Hc$FgK`d1| zv+Q11#j0EO8I3Ld_upRbo{PKlfVy*oSXaeZR(C6^qS8&V6m|LV?M>uKzHXk^-gw!f zkBEV^qZwF?3_mFXLH)<>=KKNG{#Gt5-ea)pXxd_Sh0hD!L%Zj`__Ago5Y#(N-U1BU z-?H0-_^S)*jawGEZ6T{yn1@js1~ShN2aAzAU5u=G|_Q|!VXI@~N zHNo=FWwtfa@zE2O9JEfl3Iz2Z6V&Al8@BGAsvPMyFL`?U^=8AO%CL9o_)p(hj9l|V z$tN$*D^cU5@DIpBB&c0_}pqfKh1H}_V>mU$+I)MP*6{QG*#B)CO$8OU@*oZaa+zSq*p{xUnZCH zsZK56t#S52^2f0iS*?OP$`^U?Meh^$cS0#F^UX+x$aX(_PWiE7tXD%!F}H{uNwxfyz--~sK1#85WSAOVW|Z1g_Yr&mQ&9Y zEpH;{KNDU>{kC4I?8B4juXfW4FU1l=UqMB$lx{4HGbt&Nw4>^dqM=?xXGmGOwfa_c( zsQ6NtxIw2ij0TEd+^G0Ne4~Mf_+&>9MbW9hhA2-188XjvA`vAKGDf3b87f1(Bu@h&k)f2zl%&Wk zh0Ko%@p>Lg;kVD-XM1&z-~Ye$TW7E3xa;G5&ffdG_u1#JEUtrykAZ)351#%-}#ABj8+13m% zFTu~(MLg~gVS7DOS52G?A|CH9ku@wJ*FbJDj`*Fd?uWe_a~dGG z5<@(HXy;}dTjw2+n;k&>ftz)6>cs73keg^A{>){`WZ4zpLdbP|5r6K}*tu+FEgR(e zafsIqm*15(e_)PZe-q;MeUWAtl&6y+HyS{^Y3p3G^KE_`{Q7B#w+wT7PxT1~;@7D~ z{Iz~?Qh9{n0m$_d=eeWq)f>EvvvEFy_`8C1Wecm5-jG|ABi_YUKA3eaQ3P_+t%!Fk zwM?n)aoYm9E*s)wlhauOpNi`7>(?Ou_jsDt5f6(&$SuPW|2iT4HJtTkBjo1Jh%=A< zZb*sI{u^>DQ^eWaoBh&e-it!6zhR!ga+E1rX|MuvgY$@UF6qk2)bh%N-25xz+(MZ_ zxjj)Fkee~j^OZ?r{;E=Pkn5@<&a>sEyvHkbJU2s2#QD`PmmcnU{tljRb$^~`k2Grt zEfRp-#1C=N?Duk2I;HK9TkJ-Bb!W7L=|%l1$c;o1mmJ!YkrD8CG2}XL5SO+~&UiD> z=?A%SH{voKmqHshd_D%bDF@>6s!uN~uN%R~#XKHyMaIHBDgP3j>rWxRX>AdM@{xp4 zcpZy%h;P0YW4*UW0q2Hi5mza-uT`{r;{eaMv_@R}tbZRvca$N{B@ox)ZLaLPcdZ%c zpXT|YCZk6~YB`YWJ0Y&CJ-W)Ly(S!TgHpsTL!T-MggzF8T+a=0>q5b>q)LU)`1zj^ zw@tO4x?hukU&o{k@m=fP%2*>}?%?O|n&)3Q7mW(69)Mi;5aRY_nWa9Tit+!|njt*r z{1?9^oBJ8E{_86{0{HT4< zqDQXx)!_LC(ujw)wlL(k*UUj~!i)IvS`8(iS;lF|4Tlj&zbO<}VfZ)lNG3ogKqf#Y zKqf#YKqf#YKqf#YKqf#YKqf#YKqf#YKqf#YKqf#YKqf#YKqf#YKqf#YKqf#YKqf#Y zKqf#YKqf#YKqf#YKqf#YKqm0NpMWB0qBQss$9{N%83&dxrP;|p-_{q z8!O;%!gBU#a}@o9s^pW0yD4D71W99W|A1HNCH< zMW#*l`cDS)2J8)Rx>hv@pW{94E3_^@f0M%Q(QRNa!4EyBG^G%YvxoMpeqA~zc)(WJ z^Uk|K-Jc9*pJJk+o4R34mCtK=#X)thzG@11Z}*2fg!ZZt4HcmQGe-Aof%htzWEQ1b z?fTJR*dKyTK)QbLaIbpWYGE39@`g-&KwhZrj|N4mIDlxZV*e2T5A&(+hl}|#6vde3 zF{7O~^e=EGC@iDkKv&1TjG(3+x3+s}oD1Xp;>vP{W{73A&;$y01$skY(cDX6dCp3u zlYESu%Z`GbCe)-ht@e-5VDlmxPb(vr{h8*IDf_vV>9 z_0wYaXbW}hj+mp!fj7j#J$TuD8#E|eiN?3~v35;@YGv%X*6?F(k) zK04+NTSdk8G0^qnx`SVc5rfkQM_t?5yMwvAVI6Xf&|pv_8YjjI8)qXkBnu{@gCs(F z!D>TI>gMYM_X$>5?7@Mqj=H8Y7snkRpSd)T6^MJ>{u48v>o?-Neps>9l+JkF&DA54 zRFR?E!_E08mkHRPf{ow_ur^|45jI=s4DS%BO-n^nO|o~6$6kMN7tB0b9k*x#g^GU^d*qMh+Azm}m6H)rrW#?&(XSieWBxAD``}tv;Yt+%$ng z#oqF#tAnT3XEiB-SBWva*}Oe&_4pU(1-Z z?lVkcM*iVG7FY+>gJ`G=#xpIw;yk_1c=Ke1?%N{F03(R+b78I{8ezGT&TNvMu1wq4 z^!X}WOu!7#bMREa3Oks~^jVp;MSfv?Gxl;uwN_;F6HynuuyU8}s{Sivmh0=2wHL`KEwFIoYc+c4^ zh{n?$kJf9y*^=;fy-&xf29w9~Qg!SU%a8c%xF%%0F@Nf-Y! z{{L>A9y!;NX87rAN}z;m-Muz-T0iVY&O(C$tY7q5Js3}xx>>zve>4mG}iRbS{&n|6FDzP)TO{>Gk_!>>1P!|}%uA9GU)+~Bn)a-a-Of}Y< zHXiLM#K4)3ru2s)}zoTsSwOrcxQ9T0=sxjUwd059n zMulhgmTh7C9fS`QZEh=QhqJ_04y=t>VJQFyx>n5w`QFYPTUD!^JLp?s%r}A60n)|4 zmn@WSahKHMV~vV6@%B1m?z!hGX{~aV`$VgPLS3LAR=jEjbq%#`#Z{#PLy3LgF$1ja z`q22Llh~@_!sl5D>8#hM6wY1hjlDvfyIrpGoX`-HB^tSL>ZPOhW*g<5j@j(Y%MFFC zk{87dMxx=I!=of5wJ|?DU}}Ir%^K{31K%=k&K`t@$PCeF=`7AGo^%uD)JPEuXBvp0 z8L6ySp&=wjG>&q#N%yN}h@5&>t7P)lm6mRouX`9Yn13T0!zVvwAC8ir+WAeSDE-0# zVOl>bIvzoT1)D8&Bls~@yrVXJv`77k7v*v=zbEXu>;P^o@Kl=_UBRxr_Q~j(G3#7= ziwD>o)u4Tp6<TTwg3}C<&2LLuW1fKu^ diff --git a/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/discodeit/.gradle/9.0.0/fileHashes/resourceHashesCache.bin deleted file mode 100644 index baa515930def87303a1146957b0a56e4d11c9f73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32437 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 diff --git a/discodeit/.gradle/buildOutputCleanup/cache.properties b/discodeit/.gradle/buildOutputCleanup/cache.properties index c41d3a2d..942274df 100644 --- a/discodeit/.gradle/buildOutputCleanup/cache.properties +++ b/discodeit/.gradle/buildOutputCleanup/cache.properties @@ -1,2 +1,2 @@ -#Fri Jan 09 14:51:16 KST 2026 -gradle.version=9.0.0 +#Wed Jan 28 11:51:18 KST 2026 +gradle.version=8.8 diff --git a/discodeit/.gradle/buildOutputCleanup/outputFiles.bin b/discodeit/.gradle/buildOutputCleanup/outputFiles.bin index 66890175312031604ef2d2dcc7ef353cba040b5d..12d8b6b0252815924f1bdaf94ea33ffa984d5832 100644 GIT binary patch literal 18929 zcmeI&TS${(7{KwbMP->Q32RXecF{p*P!@I(1w}9yp_n9e6PUK!9?(YoyqLL zAfhClwm|S=X%L8@Nh${22qKwU(UqmcL%24+=SjMiyeR%3?Ay!#d-jg^ce|Z149CW> zT*l&+u()J}00IagfB*srAbL+`p@FB4$$NYqj@$e>XK#wZC5Gv$co9 z&D#qe9hCjOecES2&Xk0_Ra<1eb2|k3-RMeFG}ywzW4OpwimM*YptFd z(C&4e?C-vO$|L=a_AJ*x$;)=XTl%rzz4bMOqbzWti)b40to8-^{zdd3|A1Q0*~0R#|0009IL zKmY**5I_I{1Q0*~0R#|0009ILKmY**5I_I{1Q0*~0R#|0009ILKw!BA4n)2n`bYE? X(O2|l|D#00KUbFT6ieIruYT$mgdk8& literal 18983 zcmeI&T}V@L7{~E{deO{jA}qARY@s)Lkwmf(!N|yIC=m+>=G&A^yoi|$B#2N4d84q2 z)GjhAoAaeWQABWsdZQ@j3phbEL#&vB;uNK|&N$DL#0X>;UBvIecK&?N|2&8Dx!p2_ zh>7yiAr24K;SwtdKmY;|fB*y_009U<00Izz00bZa0SG_<0uX=z1pXHRo%A9nRBTIYZnH)2)Loi;V{A>D(Vwc<-t=XIyg6R&h5@DBcb4 z?46_e-P|8fUb}4k8G1l-wz%_Ih>&OUHGD$=0uX=z1Rwwb2tWV=5P$##AOHafKmY;| zfB*y_009U<00Izz00bZa0SG_<0uX=z1Rwwb2tWV=5P-nn1TIMz{C{*mMjsLRNAc%> dRisA+@vOkRj#7equfWN{%?Z3KxXDMp>la4RdsP4c diff --git a/discodeit/.gradle/file-system.probe b/discodeit/.gradle/file-system.probe index 4294c3820d6d82467c96685a66e1f7d9339ce78a..24512aa453b6ada77f9383ab274b5c878287ec95 100644 GIT binary patch literal 8 PcmZQzV4TBr!ps8z1}*{S literal 8 PcmZQzV4QuAxhfI>2jc=! diff --git a/discodeit/README.md b/discodeit/README.md new file mode 100644 index 00000000..815bede5 --- /dev/null +++ b/discodeit/README.md @@ -0,0 +1,2 @@ +# 0-spring-mission +스프린트 미션 모범 답안 리포지토리입니다. diff --git a/discodeit/build.gradle b/discodeit/build.gradle index 74ce7996..1d3800a6 100644 --- a/discodeit/build.gradle +++ b/discodeit/build.gradle @@ -1,27 +1,37 @@ plugins { - id 'java' + id 'java' + id 'org.springframework.boot' version '3.5.10' + id 'io.spring.dependency-management' version '1.1.7' } group = 'com.sprint.mission' -version = '1.0-SNAPSHOT' +version = '0.0.1-SNAPSHOT' +description = 'Demo project for Spring Boot' + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +configurations { + compileOnly { + extendsFrom annotationProcessor + } +} repositories { - mavenCentral() + mavenCentral() } dependencies { - testImplementation platform('org.junit:junit-bom:5.10.0') - testImplementation 'org.junit.jupiter:junit-jupiter' - testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + implementation 'org.springframework.boot:spring-boot-starter-web' + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + testImplementation 'org.springframework.boot:spring-boot-starter-test' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } -sourceSets { - main { - java { - srcDirs = ['src/main/java', 'src2/main/java'] - } - } +tasks.named('test') { + useJUnitPlatform() } -test { - useJUnitPlatform() -} \ No newline at end of file diff --git a/discodeit/build/classes/java/main/JavaApplication.class b/discodeit/build/classes/java/main/JavaApplication.class deleted file mode 100644 index 1ea9f16ab1aa8f8e15ceae379f5f60200b81442b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6137 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 CfB-!J diff --git a/discodeit/build/classes/java/main/JavaApplication2.class b/discodeit/build/classes/java/main/JavaApplication2.class deleted file mode 100644 index 2753be0d98e155a76ace023e2a359784a5ece7a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6346 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 ZxX1DP{P$R4b{*{3_5mKU4`m+#e*tk^%@_ax literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/JavaApplication.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/JavaApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..27259b16f454201580d58cdc24462d4a65b38d70 GIT binary patch literal 4482 zcmb_f`%@EF6#g!RYzRRhC_=Rs5f#E?MYOfVC$TCT9?HW~t?iPmu##lc>;_Bi!&bDm zwAHrKTC4V#&UE@)u~R^q=^xNPrKJ56Iz4xHAqmj9IGxOF?%uuUJKuTSbI<+bpC`Wq zIDjAA$V0vWhX)04GL&AD#w0N!#fHW1p-XZ|XK?OUVv2r{A-}GEzy%jW!DUqqkGtTe z^~UgUNDa%1-W*b+E_fIUjoFsnt$T{F4kZFgJt%{hVHd3swRl2_>0(sTG)0YxVMQ~= zMNLkODIrCHp-yX)XjzK zQ-4j}O-;@;T*y%wX>KPhx+Gj=2LZs9jmi3M>gSW2UP}hHq+xl<)zW|FZJOJ1uJ&@)(nM+7iai4MdhjA% z%G$%dJ)La-wKdqDYKflSy$AbwEIn;ZV+ONyu?kQ*<>kE?!h3 zvUrRhJax`2&AV}mSJ-Zb_BA6}d7TN?#lg-z3z!wTOt8}&te?T3lNp&~)a4;bQ$k`p ze`b_uH~MgvA0Mw0&Qr=thPSevN4VTFVU#VVjz>)5xZBONc6H z7%>l2#2Lz>X88{oT}z*=QQf^|lSFp%JSFJaC!f8=+`p9C42}RbYz!qqB_?+zqeF6{ zPa2BQj5nx;q{x7jQ24tw>Ci_Ms=Up)BeE<5{0v1&($~A#$nDN8zFH0tQ4Yc2%PpIk z40INC%KC^J?vWBwRMzDLQC}A_yR;=TdvgOWl3A7(bYfUQ3{ANamW78XSc$P#3d@p$ zdPFHn=8;nb3(+nY3yA{bh)N1=(TcirE1NnaJ*31id98ev&twP>N%|0B*q7TA8P$pB zUs{rglv(afPtqA;8_tSOT9_kRPDxL$1<`U*T9^>sy=pQMlKH{Tuzp#VH}k%NQm$Q9 zbxlu5aWnU{5+}ZL<7?azFvVM%Zy0L%QuAu1#KzQ7Sv30$v&%Uqg?JOea5u9Pu@;)3 zC!|<7B5SolRUJ*nbKiZk1o_=$mF1byU8O6tAOcb((yQn)b?bL2B^G|ZlbXCwca-YX zwFjw*>9%S{MYn^lK#4#^(ll8U@IAx!6~?Y+gMbGNTXHX@gf|VwRw}c3)FXlpROLT(?O5P2nk|xt@8P8k|LEa2{Rs-_tpd)AZllHIKf*hFJ`> zIp#4q*f@)GZ3XkVFxb>cvv0OJs~mF(wFy-Pb5Pn`Rn96`l`w~B+5jKigujD)y%VK$ zQ>>)hT@4!P*Mxo8MYoa`x&gGJ8+#1n&YOI210R!|i{f$N No0~@Wa32p*^)JuEYbQjW zn9jcKKWcl{LCv;2m(G~-dIFbmMZ^0#KETzZlvRbQp1UugJvW;@d+U3Fxy*W)@bPDr z@P|4+!p8y=R>wAdyYY}Ag=w5N%;?A>ClK=w+qS^<>KV$jO^NbW(6NMT+{86o++;SW zmvU6|S?PUc^@)z_(rU6{cdd@o_E~z_oE056RII&rBZxJDTliGNZ5?-T_Y@()b|l39 zv1c~Bvcdz-0)C3wT@CjH=2cr9iQ$80)3nR`t}m+Y$7y4{hzR|tu9fvJiY^sX*z z8z-vrPY68CoVg|gA%*$>cO_eAy(*+mV5aK0_GYiOXLq)P7-y@VWj5<3<7Uj^V$45q znDNqC!YMM}4ckBP8c)m)o8vQUfjFUCBWpUx$_XIHhvx*5z-H&DF+`6N*>`~zvVB%q z0{y0w;9ttR2>d;5)iv=e$6+n zA2!T(Sn5R0>vb&qu_J-e!`tAR<#NBcEI9 z!}wk8w94mY#sd0|(fcIkZ~-YS;5@GKeoFK05x?ewz3~{I^Nn8Qxu<_QlTk&~OvV+( z7o1N;X#jo#Pc07u)}Zq#12s5GVLbN-rhelj0vW}aTD+vZNmCkx-UQb1C0B;Ui^Jk8 zBgNH`;^krS;z;oZHb;0)4~x?y#annXLYyBK=SPaa8Ywo0#l}eS*QkY9ybiG_M@#v? zkjk^@`Ior)D-x22e5_R9YJsapxJp2bSZU!GBnRnPmbgS!qjE@azQX-)5Sp6=lp#C~3Al`8$rR#X3Gu0PSGc5WN!yX|=AWdH z2+?SG_Kz~2+s!zGKCDT5dhY$sch33lxj%k>`3~SER&}HpY&U4z(Mc%$*lvp`5`k~G zMC1l7E@GSev53#?%8}#y+}k}n;TbTfCNvB&4DIZ_s@EzErTTy@Wl57Zk&!g|&f8jZ zbGItjZkaGKOlyVaW__>PU|4=PFu8$IWOWRi7(SUiRWGt;HPg@x(jcEkM%oz@vzU`wBsD|~D@AK?H7M`zc(p>u$}n0N zK7Z3`AMkM3Iq+zu`j3LFfpurd)dSb@nocMrZ;xE{oi^pj-BgPq` znpEQ>LB=R>(y!2s9qu|o*b=_uF=QIz(0AfaNW4nXYSJ*Rxn57*N?#&*25SR1vR9v!PrK}-Gl2Xc+EU5Ga# z`^q_##=d$Ey>YX%G)h?Ng>Cl2X1-EX?!Iz~2NzHh=b@T7`V}5sz>sBj1sX}JS4mb4 QdHPTF>RHAM!lbbB3$W4`>;M1& literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/Message.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/Message.class new file mode 100644 index 0000000000000000000000000000000000000000..8a1d7803e28f1f68943656614265f81117bc7917 GIT binary patch literal 1849 zcmb7FTXWk)7(MGtl&DJL=2Fs6;=ij*2Y>TW+WP z0$%t5@GD>jmktj+_MyLtVK}>zQ%B>MW+wXf@}2!I=j{5`e}Df2U<==w$RKMVXCaRX zfx=_=iR-l8pylizK9*i2FmcNd{OGnowpePIn8cI;)4~~80yEmZANg(P;GlX(!0fs~ zGwj5Zxniky+MzOq8O$0eSU8J0fwC8NoZfNQ4VISX%LN#LxG82KIPRD)jR1}q^Pgii$)hv|%NRuue#g}1TH za#}LFdmMU4b?JoxgR$gY6BqH0flC%HSNZo4n{zZaM zo2s#nh47l*=FcZo8*iHWEJ; zM5Xk|Kt*6d_t_7fy6pOH+yBWuY?GrxPfr`NtH{)v5W51?J7G*lLp3W;?WsQ@usIqb zsW8oOdR}S>iVJOB?YLjD!oC=&FWIG{~ zw8RvqXi1u;nqmg>=}ClHH+ZJIounWj9+8N8`UILF6r2^B0;xFyO~3FA_H`iU@Xe4~Ytp)l%rNbCW<3}pW04@p65 PBQNNqG|}KUgKz%_Qq5uK literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/User.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/entity/User.class new file mode 100644 index 0000000000000000000000000000000000000000..3aacaf498fa6087ed39b4359e0bbb791e441467d GIT binary patch literal 1943 zcma)6+j84f6kW%cICkX3xtTV!rL=|k7OR2OC3Pv3G^Ghnlh(B<$&+G>M8%ejEH_iW zfM0;GfEipmJn+Z^-@+#_4C@@piQ_RdXhz!SZ0&XSWi9E?e}4NNz{mJ1fe^wmL^MP( zA&`1uyfpNdVIS$chcC>ACopl>vMukPKsb}FCoqY43<(WW&;+Jcc+az1dabtgKp^27 zcGGG5o4HK3az3CO$24YQNNJeGoIs}GwDoSswQNssTiveZ*m~3IHk_tudAezPmiJ1p zbxl_wWHnjd=y?e&U@?ZYhPQA*U{pSDH#bQ$|o7=kSN*a|K#I`_k!||D@%SlD4I(Z3!_2CRb zcSAY<)03?WL^h}pftiYBn~!_#L(_fc7cp0H8mz%!B`hj%M!aK-E#)fzS8Z%EwPSk6 zPIJ$2$%MzAIBp7Li@MNgH_pgBRrwj6eoSpJc7Z8Eq>O!97Y14!CYHoY0ZK;w_`QHi zlHwCcw{4!B9W%+@AfC&!_!+}~rKTNJARzWhMAb7I-|QHjU@D2K({mfg;PVP=0W(K1&mYeME+CD| z{N%53wTz2+z_&U7Y;58ocg!L`C+3$cSyf1_WL;r=&UG@(0Pq#~?NE_;1dUHws7@<^ z(cCXc{=`KHvWf}iyriW5E^djLEz_3eJoL zKOPItkAe$h!MkI@#ZmChvEaQ^S^PypT9FcLf%FLk#JVVBbv1E9xHvcRwjaPnNwsy3Vni}6o-%H|KVZ}gt zX&plt%`7skKPwYoOd2u6VYNB6IPyyKPN#82ofbrE=xJb~YYc%Rb-t~-M);AX0XqN6 zJYC86IW-DXb9Jp5O4aXPn#y?!*O$oETNLCA6?3x@l8jBF&Y zm8NY}mj3@ZU1N@cVU6wy$kI7vks}gBU?g}jUg~belJ1tYg~(s?;1BRe8D}Aa zhG^u_!+Y~)=FN28KVIJeoZ~P=z;GIwgu9_tsppAuPMMU)%0(uY%5y7+#wl;?gtw)0 zqAzdfOo(-c(m;#_*COrn&f`Evo?+dIv1E9twf-zEQ?LBIZ2fp8H8pNa|7_wLVMQXn zw2mQ6W)>MXo>UrNPMR^pQLQz#IPyyKUaxsYofbrA=xJb~>kNS+b)l>JsqiC91N8ot zdA5@83u+W*<{DZvlxyF;w3PD{ZY+_jwWQ$&aZ3^vRm((*{BD{z4 SBAcW{Rj~hqB5*LxuYLl+!^mU+ literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/UserRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/UserRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..f9039ee194488a453d07d71ba82dc265ac9f15eb GIT binary patch literal 691 zcmb7CO-}+b5Pe;N75qZ*;~yBj*qaxWL}N@yFc=6Nyw%-`C1p$6E|I_H!5`p{GR{I2 z3DMx8hxg{q%$u3Mf4sf{xWsXYfZ;qcBksmlC7zFzbIK$)!Ifn93Oa#{=8SwVwP)431=fp%Z^lPm@>&nC{Kd)IoU0+Hq@1%b=@x8EOB)znb zTBhWTVe?5P@%6MBGn~{~GiRw+n)iCm8|twj+G9^c3SDOi6se0{HAsX{E&1-Om3gtg z;|6sJGiO&?GgN9njkJ{W6mG1L|EynA@Tcv3a z)#YoSW!oz-Fl^A*0rGVGJPL%v4AJtD{f8n-2)?K-ifq#hutT9;?2&qo%Y^q)S!9!x Os45PYC<2GG{G(5NWWYrL literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileChannelRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileChannelRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..dc263faed8df825a15e09d9cf01c74f9eb1d7155 GIT binary patch literal 6506 zcmcIp349dQ8UN4bm}E1U7*trGB8Nyq!YUq>ET9kq1alzaFnBT9oxs3kXWgCUu&u2} zwTHbg?S0tN!?xIJh)|7f?PayCy$^fe_kGwy{C{s|c6Ugi^82+vVCT(y-}|orcf2<| z^3>r60W8<5;)tP2N40?()M{wjW$rPPj+xz&>>t`?r9BO`%j~S}tNHd@ zE?D_`#L=L`FfawDXjqkYN0NnH-p+c-5xY>Z-E1;r7t(IVvb|*9%DDyGbMyO?!?t53 z*YKxvrpNsz#hptR-ZXyX*g}+B>KfM zA7|@WVBj1q)G$?X$=a^(*bSz)lbou^NkeK9i?5t$aUdkZBPH;*8d!uj!m_%1V^`;< z{*8mw$=@F(*0ET_^r$91c6N7v&SM;QADyg}W{;foF)6TrR z*Bo-JRLhn)rlHfoYIJGP_n1!6>K{HP-2Ge*l~d^*3xZ}{-T#FdeqG_ zN5r^o2Cl?aEOnkM%gp~!jbH{Ban-(U@ zyDLc)j@vP8U)v%(U5dZkN4EQ$Me>@u)h>UK@qaSN6XRz1HWD2z){5{CoV zKu+RlikZm_6mvPcvS4Mzuw9Z81p}U>XRW2OP{$qyghD#7vpZYzSsX=Nqk}~?5mNYC zMQHZnIb!p3%b`n76%@+keYnBE^YH==aiWn4EsmDHz~nggiLOQL(s7H1v&wm+3TU6} zt#OOlOhxwGiraL&$iR#7k}z&nu=s_^bSTvw?khTuq|z~=8~WKVc#&-khjVeeftTUs z?1m1jmWE`2QK>#jjD{Jfb{ABF!PY2kIA>lZjF!5=j6A$*vVRyI?R`l%t3 zw?3unRrk=T&lKrNj!9F(%DhF2J;SGyrz{>Q*b%M1;>eJd-{i-0bB~)goh@eGmiJ&% zBkAdWP)k0Rn^8&vai`4|xcYw)hpaRMo|)d=YvuyUF`ME$b5SzkqWp-GfzME58~5DBVX zlnN)gHwGq!#ZkwXG@PO;u2Mvx)A8jA$MHUN`WV_0BJvJsY=jULdu@*m$<0ts3j-Sb~ z@aG!lm;0=p-Q(`Iq=oT5=ARVTm~wJvVZS4=Q-xAM=rdhsW-~nG&+l>F-NjtWkH*SF zXvIuqL4SuWRcLsisKWLac z!MYv=AyqerL)#iym&$LC{{JmKp&KHLzH=+R6j@d-4DxMK?=<00$26+YrP~^7@E19K z|JA^E@x3Pb`;T&gI-dK3?R51&W%IubddpSqfFSmjV`0uqacFCMr3VH~7;?aRzA;q?(27=pZ4RL!TvinK=&^@docGpY`zBhmG`rLw}jbl>EH} z2KAiB*|SNxfV&rRe+xOxr*B)(!>7p*$#86;6V@2S5xHHg&|iTI$Y&`zUBLY*a#)JJ+;t;Anh1*P7^UsR`*V1Nkuw(?@OeB+Johqd zM)4R&^ic`LTZ5pF;TC*>c*ZF628Cyp!gH74$-q#seKCZzsPj%5LaI+(t3-8e1o=u9 z5nvy0s7$=CP{|m+N`SwHyEu{rznu<}1aFfBAHz#q591Y*;IEO$yHiGQiSg$htbyff zL=Iq3&!wY$_nxVexRaI9FFmtZV&gF-kWxd;pAM2uFYok|r$%U) zh|2qqH^t<{;(MIt`u)&YbU)t5&p@nXcb6m4Z-lE$;STl;zthS{VvpA-e4i%9@B{pi l&slu`5odpaUvczD{26~!qrc-x{2Tuv1-mkyqB=1oo(BH-zyAOL literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileMessageRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileMessageRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..8d1976e30dfa5e57b4ada446c6934f7cff58efae GIT binary patch literal 6506 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/file/FileUserRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..d56df36d46ce5804dbbd3c93e0140251ea893156 GIT binary patch literal 6464 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 literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFChannelRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..bf15f0d32835bf8185798c8b64e6c62ce67e8a28 GIT binary patch literal 2171 zcmb7_{ZkW17{|Yx04K?!0r9O`-^D=G>zl1Mh(ZuW1E>h7<1b6Hz%rM+%-x15|5JZx zXWH7dGmby|M|Jw_-N{`bWQJevZug%3e4l+@c0d33&qn|c@Fs^0vKIO{`Z2&z*cLm& zc7(fWFRgFOnr0Z7RIbuf4B6uNs)b_=!=X`2E608+f~^J7%)vr-5P5J5LmbC(g5gok zYuG{4SFW}jDhQP4+I1Dwyt-7{_GQxxl=l2xd%Lz_Kda1DwuI|S=hfa1hQ7Mcg5g9p z5hSs44#OC+aFSybrx;2-g`}&M-nC;oL;t4K^L2)i;&=+XvNAtg&f^TuS~$n?70xpZ zb*R$*n=J~*y<)U16{GUOnV6k6GW4%GF5(iQ$O(qAE~qXGbGU-57Ortz#|?5kacilm zDXPL@$ax!!Eyoe-j$|kv&JC0HWm&l4n;b=qQ<`^#(~<$h*^ailb|~6h^D=&3Mf{c=`wSn z_djvm!+nN)&2zO-Ztz_0GMwrbfOjSVWsXUcfB|1Nyd7zQ>iT}q`biaPmkJ$RR-3NS zEuX@^n5ri#)5+8@EU#)$oz6NfPnD_sE7U8d{FN&gTa9(;zm5_-QuS)WSrxuA<9M=9 zZz)ROOmCUgb`I-1qa27GQhs0T4cq7Q_>rs`tXkCa47ZQCvalfamRElve9@3v`n2z3 z8_KQE?3&j8(pO=zhoMim`d;-jWE5E!_UDOVC9a>|fXO2{Z4zo3AEzDa*XfStFy(x7 zT2B5#>w;*{Cl9*(j*f-8bSOTDnyiw^ve)u!a!#3(<6O6M_>SpLI)n0bRWQ0Us2R-( zPw$6xhh*>w1N2ST2R)~0W(HaM0tyo!z$X5M_4We>|3vQh(0YcR$H@Z3>jNjw5Gpj{ z(HhL+F^w4J@PycgH&50XdJj+hfn4b?6iRKJ&SI_f8%<_N4luVE84zqFgq@DZ5zPE~ zN*IP`WYy1TU=*ICN@Sz(n9LJ}HZElF3B!Nma-v{12RcBEs|V=|SWM^(WD-SYi6&p* zF0qZu6pajI)a;{;F@`oK%;Ot|{X!Q~F&T|x5;0#A;}w=;=EKETHe$3!kl8B-b w`Fthib3R6y;2-dr;Wbub?rhBEG56;T){^{1;T|K%%@myP!Ff0MYUtP6|8T|{Pyhe` literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFMessageRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..511d2931a518386f0fd03ad06dc0fbd9f81beee5 GIT binary patch literal 2171 zcmb7_TT|Oc6vzK-0}A$%7((tz+w?*VZlc^TH6`H^8WJ1Q5TMQUWw94nMwUF%nhD=2 z5A96S#O+L{&-qZ9oRt(LgYgV6l6H0W_dk0syB|OO^B;hp@mmfVWG(b@^kaabuq}3k z?Fe_%URvLlHO(+Esa&O}7_!CjRSU-$hC`#4R*wBd1Y1?n%)vr-5P5J5LmbC(g5gok zYuG{4SFW}jDhQP4+I1Dwyt-7{_GQxxl=l2xd%Lz_Kb@Vg${-M%^2Oc{hQ7Mcg5g9Z z5hSs44#OC+aFSybrx;2-g`}&M-nC;oL;t4K3w4H(;&=+Xva&E&&f^TuS~$mX9v2vf zI#g-@%@&2@elc2>ic$ICOw3Lj8TuuTukbaY$O(qAE~qXGbGVFeEqurEJ$@j^6StO{ znxZNkhMc#t*m4}P?ns8>;oLB3UzUX%zQR$&IHh?0Iy5}${dp>0Rz5lcstSp)%Am(^^+>pE)_bstTtVt zTRw$-F;!1grjw~*SYDN$I-PY|o+?xM&r+|L@>i~0Y&F)U|1wJONX4rOXI1#hjN{2Z zy`?C9GreU}+c~W7jB+4$NcoRqZ`eMc$B$&qU^SwaXSjOAm4&L*TVDOS@I^yv>C?WC zZ78=svuj%WOJ9Y>9)>>M>U-7CkWpk^*q$QHCZK-Wv}Je-YBI*YZ^pEQ{vIl$avWI(Wy5Oz8qM=CWIUl1;@DKRR@DeLAcP{4gnEO)(Yf1j1aE}q>N(#>R;Jh1rHS}xkGyB*Y-~a#s literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/repository/jcf/JCFUserRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..ad6ba7d043149365e4e469a4a011bceee2d5781c GIT binary patch literal 2135 zcmb7_TT|Oc6vzK-0}A$%7>AH+FX@FC(?sbdX;KqtfY1;Oq!3J-x5Zvy8Cmj3Yo>gs zJ~T5)Q@1mnKKDa)dR9`9j2%z%U|G95`}?0gm)(E=`}1!A5AahC8DuRCaSUUGp>QaU zgzX4--`?0gly%K8GOJvr=NPi3>6(Qz4CA3uTPw$YEP{hI(aOO>b`*JV3u7E-agO0Z z-D}!G%U7&%=M}#6L7^eE5`Yg=hIzF-RDaU8{oE%Tw+GuHt zr*If@-rjoKam218DH?C*hUt2ew>PviO;cJd>aEIYyg6gs(n)a$HpjdUM%glw| zf6H+X_Zjka&(%V?!KyrFxX>>E&rJd<9J3|?Bfe~UN74dS^xc8QlPb~EwK=+__FbXd zKE-@BRZLW%v#DWNTh)OgsS2&kRjBG0sXt8BD_5?!o4e9~7NxdW_3FZ@3169UJUOHf z6eVtcutsVleS6Kw2I7chYo)=Yw71jmZc6-i*n;KvSyNb(`oL>E6~1UnEq&VPnLXt; z7LH99ziFYcuERj5yZWTi88V8j3#YTfuo;)iV8HCVdu-BY83!La)R%KzO<>CQJyALN z3oQzw-Jb7t_Br)_Lpl_hx0=+*WXo&&b-Ap}@i5tQ%-%BnN2g4lt^qo-=~pzTH~r7k z{gA=;7@>E%8tD0uW)_g8H=s~{4OadO*3Yjo`U<%hq4fei&yod*Hv~?cF)Y%EM{BTz zM>Jws#t+0cycM#}(EoV(C2}*rqcGFKWEML!ztLodcn5t%0n9bC)cAB_Kjj}ry6InWVdTS%j_Lg062#&G45@ za~;+eNxVio3jI4zdlR&%4TGGe$7oZOVNmkX2rVN^T~qQ&DxbkcW3DB(GT?(jx6@kp z-GZ3g)g?AJA#Dc%gIc4xMBJ0clEgw^4wYwPO={XJfYY@aJ|{jWj{Nis#7Y#Yw2F{SVhJ|CuJR1ZX{rKSl&TUW1KR|tL48q85ZIx$n?mEv8 zKUPAzRDXzeoPYamd22D-7WbwL zL$ai9mb4eg44UoEpDqW|SkmbQGE&^8ntbUM2v=KmeM9-2bQb0&KNq?vn!ascb%pPD zD-)d%V{(>3t5B))!k```sTTMkxU4Kb-2?^zp0rZ%mTbQ8bE10TRgA>4N2 zqDp9cuoBxR$H$I8KHuH};2JI*C=s~wqLAuX32A63v=))1zR+Ieb783FY9%~QXLxb* zy8{&httDGA8Zfz_kMkw>3<29yoEc7F-kbbnU4zVv!8Vcp;}c3NYMJWfh? z6JU)_ub+39QBH(5D6i&Lx&@K_CjxahN|eX%MSzgjuXVaicf}?^pp07yVBvOIV59G# z*DOO7j~ZGX(#31Q-X>)cXl9{(IKWT~Ath)dqyyazq+LlNaENwYvQZrA4A;bYl7iUT~ITrdK}A0xVLKvR$slPWG^ib%-|Q+VRJ zq%0_Sli^g&tSQ%;?FDB11&LBC+cK#IO1McXW(@6F!xFQl!lH2I`JzcPU0GY_<^p#N zISwb|-ikpqov)p5Ww6gJj2Sx9%fef+^H;dT3q+1XTAOr7_>uSU1y23fLRA~}R;>gv z?okP(u!$>`LBs`hc4Ckt|tWHHOAp}_j zJ0c~|Pg#bRoUv?iujG(J7pe-#*}9C46K=fmWn%E?vaDoBDno^@b4D`lTlOEveA+ou1<2(%o(1@ zbl`o4J>@uzR(&GNP0$0*Qz4M=z#79qd7poWKj*wi?tzrsP@yAFqYo4K2p=o>MBW#l zl9npUgR3F9LZ-{4fB*l}99~JcBgYcFW6N(9pO5X7HRE%JzVPZuuG5v5H1bK7v}`ZA zWS3+WQD^Ag>P(v4b%m?oA;Xa>r*{e&1z$59sJ)dcdk|kZL@dYX!7)u=mwaN=TdJA* zjkrYfGc=l}Hb!k?_%YaU`WGla(I|$u=yw+y=(inlbf5*Dc$-H1g5AjCGL1;i*UB(U z{YI*_)G*B93T>0>Ei%%rFtjyBOA>BE+IoVc zEaGgFzjDY|s|LG5wRcD&hIeUh1n-5Kz9SbUiRmqI64z3ELl^oGpfZpd#M_k4bP=mEclU+L>z`tH%kz%dmfbqJ~CHx(k) zV)y}jp5fHZ^sjj3DKfxgocldoorpmOTZ12L0nX#}FxKd;KT1eXMp#d6;!K4&7kx=~ zAVPmfLe>)kBqJ|FdL{jx()w`3dgYLVQy7e#LZ`1Bq=*Vyy^8v)6%mFd!VtqUR;cZ# eu|Z!E4oYEfoq8XTsn75Q?MP7XOMHcI(EAT8XC_bp literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class b/discodeit/build/classes/java/main/com/sprint/mission/discodeit/service/basic/BasicMessageService.class new file mode 100644 index 0000000000000000000000000000000000000000..64bc95a5fcd93abbe08ff2858fed8b9c28f7a538 GIT binary patch literal 4376 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 bS@;lcuv(?nI=Om;FGwOmt1t02zD57PoW$a| literal 0 HcmV?d00001 diff --git a/discodeit/build/classes/java/main/entity/Channel.class b/discodeit/build/classes/java/main/entity/Channel.class deleted file mode 100644 index 6fc14f8f6a4b836d81e13ab72155a50ef9686de1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2374 zcmb7FZByGu5Pr@!mN5bxLqgJ!7Ye~3AWl;n+B(jZn9=|S+8RjP^i9|oP>>}?I@6(P z|3`m7e?U7Erc6HcV?Xpqb-H(w9oc9)Q_sk|ciP>1cK5l}-~YV+6F?dDED}g+Na^T9 znj!bXJTZ&5=^PZd_h0b3U`Ri-97{Z6NY2deWsyO@hOCYO=nO;3yd^BVxVyWy!jSb$ zr{Ok(MSfu-!77 zoFN~WD!?`2StV%;Vm84G2WF??bH{%$#ALO@;o|u$7=FT%eF0FCAXf%P2AFO zTgL?6ZYQTgS6%0TK|3++7TVK&`{GdgCa zVWxH5Aj4%L3p1xsT(%%DrVH(cu6s5fk)8$mX^A&rPpv|5$?Ar_LlqKHEb3W!EUstL1x zv}qoPh%>?svZc#gb6Z}WuUfLkdI;~XYyoBT*mZ?3Jo9*yi$k~J52r!X;3>Y)@TFwZ zR}53CTMC-xoVZ847(@=pwQAOd>zy+E675E47zBMn!^7tORMmBlTE|f)g$;>ttIKic z^q9w(Ka1GMT!t`2#kB33C3q==uNgMNykA<4GMm30nKtDDE6_%}8}e=Y_DWq{+OjkW zE^C?nOjTT?x#m@D)AzZr;X8&q7m5^@y9TQH&Hpx~rUr$gX)r`%oOlkJdnn-{>1CpR z0*{cFlUC_8K9!^ir6dg?C28g;Nt1?TKl%3IBl=&a)vrh*P4d3+2bggV?F@s){24~h zF}9R4uB6U!;|!B+rC`jR!7vuiu<*Nz`I!EvDJGCZijWKtmK;WCl#kM|y^I2#Igc@# zYgbVrt3^7SPQwa5CMh+EjwwyzPbf_yO_KKwtWvHidjARZ5OI;DwC^)sVemIn5|AL$ zYV*1}M4FO8cnHH2tkI54H|jjn>wGKLc^w-u&Xc{)ld;a#Sm#2ob0OAwGZwbd>pUOp zycO%b(Cd6J)_J?bkC#;56cuiK?k{9i^OYhQqLelhlBx-LWxGgxc#nASfIiSmD!viK z=yZL&)Ae!r(N|p`mtR8a`lqUO$^J}+%Klj=i;b|u6SD2+xJP1yo=JKN^ceIkyryH( ln_(%E;Y5faiO=bj1ZvnJDG%DE=NZ1CRhG1G@jdo&?O#N-{5b#s diff --git a/discodeit/build/classes/java/main/entity/Message.class b/discodeit/build/classes/java/main/entity/Message.class deleted file mode 100644 index 3435ff6c6fd5d806b3f7194af0a3c200e63d62af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1708 zcma)6O;giQ6g{tBp&@*gZxm5Jq%BI-0R;;vf+$d6QRx2BK1(o7m?UKecm5-tk&$uX z(uF_D@xCOqw8R;^=zTA}_uO;Ox#{meKYjvO#cmQ2L>0s|#F1d=7N)Da7r8y*IJ_zt zV&xO=GNcNp{G8_uZdP+e*VfHyUPT9z3RDf9&=`7~2?xigqD)1J72VX`HHK(9Q&Q25 z9tFJ``jDbVUV7ctjoi`E_9laBbF*UA{7WjG@f$W0@{;I)hCvK5MDz+ZY|l_Jf>8xy z8t&k33!&nLgcsI zL+taKP%zIh;EAMLxuURjZs?!*u|b~nI^MM;Y)7|DPd&E7(6wQij>}EAB-zHvU-@AK zbFJo0`^ef2t3qf!1>F?;_1dwp4}JVp!76j3#HlCs3m(SY6De13p>;#@42$X8%hB#l z`#n>VTAgsy6vj50*}?1XiDk=UyeeE76^j1yX>{6X>e^V2rm_s3lyekFN>b3R*wB(T z(N~*cFodh*(p7YM`Qsix3#QeamX`fD%j8bvWl<+3HG8T>t8SOYmM$&Qf){9BI!Id; zp_hf>F%lR<4o~R(l)Q=H8B%hky)(UlUZh3xBJGJ6X*DRSlpV(cRW8ykN0CvCXTO1c z@zS2tcfxy^!V5ZUegc-TOgCbSm-H=*KO>45#hL7PDA_A?U80}D@D;`{G1WNDX6G)! zzEWZY5`4_#F+`=q1U5pvM=?Q9r|Er@4YNLI(2(HeUy4U!26>t>B3ojGPEmTgN|WE7 zrN4ca@z7b;{!fU>(BfBk9nyKKz4J_H@p@?SYBO8(gxrKKD@LB+zkf2jd=Y7xxDqXw* inrMI~Qvex6*|v@tlvCYo@xA8^+1z%Je)nq` zp{8O9%M7WS!*!3>H>k!z(!GYaR1}0^vem4U;f5!&xvk=k$R_O?ji$*(Ez-D)_Z55~ zLb}(RjI0a8&0MHheqYzau?6+Z5GB@B+{Ze@WJ5pUCEKd$-c!RnCe8J9%cCm%5_T3K zL+;=1L=7?-3n>_UY*hHe@^>xU*WVvM*!+XL>nhHXhYvTcUpPV5Jw zGYQI3{4s{Lw@f5|zz{Flb-Hr2Y;-8K?+1}7+ckp6OJhkM6%-5njo zH)%Y>w+g-!tooi|L3U0CU|6U22`~6=eWGpZHP3d=7=80;l5Uz6!{h5o{K&8?l74B_i)?XuuG6vNqS(pS_-d#% z{z3P-7a75Vnitux)Tk}X;!erbU6;EGY795ts8dw>3aACM|8Gi7^=n0wZiHq%!vh-O zQ+SAvNdK5#!T>gq5#w0uG-jowAu1(}PAO?*Nl6n)N*Y2W)8r$85`8|R-7CZ}Nb0iwR#^}BYOj6`maE(TMjbZ{X6bJv zCBv45B3QN}6u~q>rI_qsM%tE;qE2P#WSYDS%4oiiE@fuAl$jB~AtYsH#BT@kvrqO3 z#8Sy5C135Y?`S5t4(_?pK!ne~m!=hKq->l9bMF`uj>bjrVZBDkT{(#k)P zM@B|b8c*cC(wyn2wCRg%4|M`zi;n};c=0vVksZK6gY_n>6}Vh)W2dNhx!%Km&b4sB J42R9h&KI9`gcAS& diff --git a/discodeit/build/classes/java/main/repository/MessageRepository.class b/discodeit/build/classes/java/main/repository/MessageRepository.class deleted file mode 100644 index 91b84d2f16e9e3dee2e30301f3e5929e565633c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 489 zcma)(PfNo<5XIltwrS(PYQ>W$5s4Rb6{>fFDYn zM2ONTc$~MtnYVA|{p0lwzyl@9AkZDF z#7LKCY;yLmrt?+fOCIAD)>m2!>;^xbB4r&vAJxQPr}*^3y#0#Mum9#zz>i6jqd$=c zM#gELP3cx?&a_|K^l7n&wt&DI9|vgh;#+8=IDm%^>s?kG@VQ>cMpbWey@l