|
|
@ -7,6 +7,7 @@ package base |
|
|
|
import ( |
|
|
|
"crypto/md5" |
|
|
|
"encoding/hex" |
|
|
|
"encoding/json" |
|
|
|
"fmt" |
|
|
|
"math" |
|
|
|
"strings" |
|
|
@ -235,6 +236,7 @@ type Actioner interface { |
|
|
|
GetOpType() int |
|
|
|
GetActUserName() string |
|
|
|
GetRepoName() string |
|
|
|
GetContent() string |
|
|
|
} |
|
|
|
|
|
|
|
// ActionIcon accepts a int that represents action operation type
|
|
|
@ -243,13 +245,19 @@ func ActionIcon(opType int) string { |
|
|
|
switch opType { |
|
|
|
case 1: // Create repository.
|
|
|
|
return "plus-circle" |
|
|
|
case 5: // Commit repository.
|
|
|
|
return "arrow-circle-o-right" |
|
|
|
default: |
|
|
|
return "invalid type" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const ( |
|
|
|
CreateRepoTpl = `<a href="/user/%s">%s</a> created repository <a href="/%s/%s">%s</a>` |
|
|
|
TPL_CREATE_REPO = `<a href="/user/%s">%s</a> created repository <a href="/%s/%s">%s</a>` |
|
|
|
TPL_COMMIT_REPO = `<a href="/user/%s">%s</a> pushed to <a href="/%s/%s/tree/%s">%s</a> at <a href="/%s/%s">%s/%s</a> |
|
|
|
<ul> |
|
|
|
<li><a href="/%s/%s/commit/%s">%s</a> %s</li> |
|
|
|
</ul>` |
|
|
|
) |
|
|
|
|
|
|
|
// ActionDesc accepts int that represents action operation type
|
|
|
@ -257,9 +265,17 @@ const ( |
|
|
|
func ActionDesc(act Actioner) string { |
|
|
|
actUserName := act.GetActUserName() |
|
|
|
repoName := act.GetRepoName() |
|
|
|
content := act.GetContent() |
|
|
|
switch act.GetOpType() { |
|
|
|
case 1: // Create repository.
|
|
|
|
return fmt.Sprintf(CreateRepoTpl, actUserName, actUserName, actUserName, repoName, repoName) |
|
|
|
return fmt.Sprintf(TPL_CREATE_REPO, actUserName, actUserName, actUserName, repoName, repoName) |
|
|
|
case 5: // Commit repository.
|
|
|
|
var commits [][]string |
|
|
|
if err := json.Unmarshal([]byte(content), &commits); err != nil { |
|
|
|
return err.Error() |
|
|
|
} |
|
|
|
return fmt.Sprintf(TPL_COMMIT_REPO, actUserName, actUserName, actUserName, repoName, "master", "master", actUserName, repoName, actUserName, repoName, |
|
|
|
actUserName, repoName, commits[0][0], commits[0][0][:7], commits[0][1]) |
|
|
|
default: |
|
|
|
return "invalid type" |
|
|
|
} |
|
|
|