mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-08 22:45:51 +01:00
Add AccountService and ProjectService.
This commit is contained in:
12
src/main/scala/service/AccountService.scala
Normal file
12
src/main/scala/service/AccountService.scala
Normal file
@@ -0,0 +1,12 @@
|
||||
package service
|
||||
|
||||
import model._
|
||||
import scala.slick.driver.H2Driver.simple._
|
||||
import Database.threadLocalSession
|
||||
|
||||
trait AccountService {
|
||||
|
||||
def getAccountByUserName(userName: String): Option[Account] =
|
||||
Query(Accounts) filter(_.userName is userName.bind) firstOption
|
||||
|
||||
}
|
||||
37
src/main/scala/service/ProjectService.scala
Normal file
37
src/main/scala/service/ProjectService.scala
Normal file
@@ -0,0 +1,37 @@
|
||||
package service
|
||||
|
||||
import model._
|
||||
import scala.slick.driver.H2Driver.simple._
|
||||
import Database.threadLocalSession
|
||||
|
||||
trait ProjectService { self: AccountService =>
|
||||
|
||||
/**
|
||||
* Creates a new project.
|
||||
*
|
||||
* The project is created as public repository at first. Users can modify the project type at the repository settings
|
||||
* page after the project creation to configure the project as the private repository.
|
||||
*
|
||||
* @param projectName the project name
|
||||
* @param userName the user name of the project owner
|
||||
* @param description the project description
|
||||
* @return the created project id
|
||||
*/
|
||||
def createProject(projectName: String, userName: String, description: Option[String]): Long = {
|
||||
// TODO create a git repository also here?
|
||||
|
||||
val currentDate = new java.sql.Date(System.currentTimeMillis)
|
||||
Projects.ins returning Projects.projectId insert
|
||||
Project(
|
||||
projectId = None,
|
||||
projectName = projectName,
|
||||
userId = getAccountByUserName(userName).get.userId.get,
|
||||
projectType = 0 /* 0:public, 1:private */,
|
||||
description = description,
|
||||
defaultBranch = "master",
|
||||
registeredDate = currentDate,
|
||||
updatedDate = currentDate,
|
||||
lastActivityDate = currentDate)
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user