|
|
@@ -0,0 +1,30 @@
|
|
|
+package make
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "os"
|
|
|
+
|
|
|
+ "github.com/spf13/cobra"
|
|
|
+
|
|
|
+ "github.com/runningwater/gohub/pkg/console"
|
|
|
+)
|
|
|
+
|
|
|
+var CmdMakePolicy = &cobra.Command{
|
|
|
+ Use: "policy",
|
|
|
+ Short: "Create policy file, example: make policy user",
|
|
|
+ Run: runMakePolicy,
|
|
|
+ Args: cobra.ExactArgs(1), // 只允许且必须传 1 个参数
|
|
|
+}
|
|
|
+
|
|
|
+func runMakePolicy(cmd *cobra.Command, args []string) {
|
|
|
+ model := makeModelFromString(args[0])
|
|
|
+
|
|
|
+ err := os.MkdirAll("app/policies", os.ModePerm)
|
|
|
+ if err != nil {
|
|
|
+ console.Error(err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ filePath := fmt.Sprintf("app/policies/%s_policy.go", model.PackageName)
|
|
|
+
|
|
|
+ createFileFromTpl(filePath, "policy", model)
|
|
|
+}
|