JuyeoungJun / cron-monitoring

for cron-monitoring
0 stars 0 forks source link

클래스 다이어그램 #20

Closed JuyeoungJun closed 3 years ago

JuyeoungJun commented 3 years ago

In GitLab by @gm2202983 on May 27, 2021, 13:07

Repository Interface Layer

skinparam monochrome true
skinparam ranksep 50
skinparam dpi 150
skinparam arrowThickness 0.7
skinparam packageTitleAlignment left
skinparam usecaseBorderThickness 0.4
skinparam defaultFontSize 10
skinparam rectangleBorderThickness 1

interface 크론_서버 {
  //save(server : Server)//
  //findAll() : List//
  //findByIp(ip : Long) : Object//
}

interface 크론_프로그램 {
  //save(cronJob : CronJob) : Pk//
  //findAll() : List//
  //findById(id : Long) : Object//
  //deleteById(id : Long) : Pk//
  //updateById(id : Long) : Pk//
}

interface 프로세스 {
  //save(cronProcess : CronProcess) : Pk//
  //findAll() : List//
  //findById(id : Long) : Object//
  //deleteById(id : Long) : Pk//
  //updateById(id : Long) : Pk//
}

interface 로그 {
  //Save(log : Log) : pk//
  //findById(logTime : Time) : List//
}

interface 사용자 {
  //save(user : User) : Pk//
  //findAll() : List//
  //findById(userId : String) : Object//
  //deleteById(userId : String) : Pk//
  //updateById(userId : String) : Pk//
}

interface 팀 {
  //save(team : Team) : Pk//
  //findAll() : List//
  //findById(teamId : String) : Object//
  //deleteById(teamId : String) : Pk//
  //updateById(teamId : String) : Pk//
}

interface 팀_사용자 {
  //save(teamUser : TeamUser) : Pk//
  //findAll() : List//
  //findByTeamIdAndUserId(teamId : string, userId : string) : 관리권한//
  //findByTeamId(teamId : string) : 팀//
  //findByUserId(userId : string) : 사용자//
  //deleteByTeamIdAndUserId(teamId : string, userId : string) : Pk//
  //updateByTeamIdAndUserId(teamId : string, userId : string) : Pk//
}

interface 팀_크론_프로그램 {
  //save(teamCronJob : TeamCronJob) : Pk//
  //findAll() : List//
  //findByTeamId(teamId : string) : Object//
  //findByTeamIdAndCronJobId(teamId : string, cronJobId : Long) : Pk//
  //deleteByTeamIdAndCronJobId(teamId : string, cronJobId : Long) : Pk//
  //updateByTeamIdAndCronJobId(teamId : string, cronJobId : Long) : Pk//
}

interface 관리권한 {
  //save(authority : Authority) : Pk//
  //findAll() : List//
  //findById(id : Long) : Object//
  //deleteById(id : Long) : Pk//
  //updateById(id : Long) : Pk//
}

interface 사용자_크론_프로그램 {
  //save(userCronJob : UserCronJob) : Pk//
  //findAll() : List//
  //findByUserId(teamId : string) : Object//
  //findByUserIdAndCronJobId(teamId : string, cronJobId : Long) : Pk//
  //deleteByUserIdAndCronJobId(userId : string, cronJobId : Long) : Pk//
  //updateByUserIdAndCronJobId(userId : string, cronJobId : Long) : Pk//
}

interface 알림 {
  //save(notice : Notice) : Pk//
  //findAll() : List//
  //findById(rcvUserId : String) : Object//
  //findByNotId(id : Long) : Object//
  //deleteById(rcvUserId : String) : Pk//
  //updateById(rcvUserId : String) : Pk//
}

interface 웹훅 {
  //save(webhook : Webhook) : Pk//
  //findAll() : List//
  //findById(notId : Long) : Object//
  //findByRcvUserId(rcvUserId : String) : Object//
  //deleteById(notId : Long) : Pk//
  //updateById(notId : Long) : Pk//
}

Service Layer

skinparam monochrome true
skinparam ranksep 50
skinparam dpi 150
skinparam arrowThickness 0.7
skinparam packageTitleAlignment left
skinparam usecaseBorderThickness 0.4
skinparam defaultFontSize 10
skinparam rectangleBorderThickness 1
class 유저_서비스 {
  join()
  login()
  logout()
  getUsers()
}

class 팀_서비스 {
  createTeam()
  getTeams()
  updateTeams()
  deleteTeams()
  getTeamMembers()
  addTeamMembers()
  deleteTeamMembers()
}

class 조회_권한_서비스 {
  getCronReadAuths()
  getUserCronReadAuth()
  addUserCronReadAuth()
  deleteUserCronReadAuth()
  updateUserCronReadAuth()
  getTeamCronReadAuth()
  addTeamCronReadAuth()
  deleteTeamCronReadAuth()
  updateTeamCronReadAuth()
}

class 관리_권한_서비스 {
  addTeamAuths();
  getTeamAuths();
  getTeamAuths(userId, teamId);
  updateTeamAuth(userId, teamId);
  deleteTeamAuth(userId, teamId);
}

class 크론_서비스 {
  getCronServers()
  addCronServer()
  updateCronServer()
  deleteCronServer()

  getCronJobs()
  addCronJob()
  updateCronJob()
  deleteCronJob()

  getCronProcesses()
  getCronProcesses(pid)
  getCronProcessLogs()
  getCronServers()
  getCronJobs()
}

class 알림_서비스 {
  getNotifications()
  getNotifications(userId, cronJobId)
  addNotification()
  updateNotification()
  deleteNotification()
  addWebhook()
  updateWebhook()
  getWebhook()
  deleteWebhook()
}
JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on May 27, 2021, 17:59

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 2, 2021, 14:46

changed title from {-tp-} to {+클래스 다이어그램+}

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 2, 2021, 14:46

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:30

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:32

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:32

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:35

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:36

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:36

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:44

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:45

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:47

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:48

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:49

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:54

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:56

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 09:58

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 10:13

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 10:13

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 11:37

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 14:51

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 14:54

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 14:55

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 4, 2021, 16:20

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 4, 2021, 16:40

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on Jun 4, 2021, 16:49

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 4, 2021, 18:10

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jun 10, 2021, 10:54

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on Jul 14, 2021, 15:06

Repository Interface Layer

skinparam monochrome true
skinparam ranksep 50
skinparam dpi 150
skinparam arrowThickness 0.7
skinparam packageTitleAlignment left
skinparam usecaseBorderThickness 0.4
skinparam defaultFontSize 10
skinparam rectangleBorderThickness 1

interface 크론_서버 {
  //save(server : Server)//
  //findAll() : List//
  //findByIp(ip : Long) : Object//
  //delete(server : Server) : void//
}

interface 크론_프로그램 {
  //save(cronJob : CronJob) : Object//
  //findAll() : List//
  //findById(id : Long) : Object//
  //deleteById(id : Long) : void//
  //updateById(id : Long) : Object/
}

interface 프로세스 {
  //save(cronProcess : CronProcess) : Object//
  //findAll() : List//
  //findById(id : Long) : Object//
}

interface 로그 {
  //findByTag(cronProcess: String) : List//
}

interface 사용자 {
  //findByAccount(account: String) : Object//
  //findByEmail(email : String) : Object//
}

interface 팀 {
  //findByAccount(account : String) : Object//
  //deleteByAccount(account : String) : void//
}

interface 팀_사용자 {
  //findByTeamAccountAndUserAccount(teamAccount : String, userAccount : String) : Object//
  //findByTeamAccount(teamAccount : String) : 팀//
  //deleteByTeamAccountAndUserAccount(teamAccount : String, userAccount : String) : void//
  //deleteByTeamAccount(teamAccount : String) : void//
}

interface 팀_크론_프로그램 {
  //save(teamCronJob : TeamCronJob) : Object//
  //findByTeamAccount(teamId : String) : List//
  //findByTeamAccountAndCronJobId(teamAccount : String, cronJobId : Long) : Pk//
  //deleteByCronJobIdAndTeamAccount(cronJobId : Long, teamAccount : String) : Pk//
}

interface 사용자_크론_프로그램 {
  //save(userCronJob : UserCronJob) : Object//
  //findByUserAccount(userAccount : string) : Object//
  //findByUserAccountAndCronJobId(userAccount : string, cronJobId : Long) : Object//
  //deleteByCronJobIdAndUserAccount(cronJobId : Long, userAccount : String) : void//
}

interface 알림_구독 {
  //findByRcvUserAccount(rcvUserAccount : String) : Object//
  //findByRcvUserAccountAndCronJobId(rcvUserAccount : String, cronJobId : Long) : Object//
  //findCronJobIdByRcvUserAccount(rcvUserAccount : String) : List//
  //deleteByRcvUserAccountAndCronJobId(rcvUserAccount : String, cronJobId : Long) : void//
}

interface 알림 {
  //findById(notId : Long) : Object//
  //findByCronJobIdIn(cronJobIdList : List) : List//
}

interface 알림_상태 {
  //findByRcvUserAccountAndNoticeId(rcvUserAccount : String, notId : Long) : Object//
}

interface 웹훅_구독  {
  //findAllByNoticeSubscriptionId(notId : Long) : List//
  //findByEndpointAndUrlAndNoticeSubscriptionId() : Object//
  //deleteById(id : Long) : void//
  //deleteByNoticeSubscriptionId(id : Long) : void//
}

interface 리프레시_토큰 {
  //findById(id : String) : O//
}

interface CrudRepository {
  //save(entity : object) : Object//
  //findById(id : ID) : Object//
  //delete(entity : Object) : void//
}