2
0
abhishek9686 1 жил өмнө
parent
commit
7e0be14892

+ 3 - 0
database/database.go

@@ -25,6 +25,8 @@ const (
 	DELETED_NODES_TABLE_NAME = "deletednodes"
 	// USERS_TABLE_NAME - users table
 	USERS_TABLE_NAME = "users"
+	// USER_PERMISSIONS_TABLE_NAME - user permissions table
+	USER_PERMISSIONS_TABLE_NAME = "user_permissions"
 	// CERTS_TABLE_NAME - certificates table
 	CERTS_TABLE_NAME = "certs"
 	// DNS_TABLE_NAME - dns table
@@ -146,6 +148,7 @@ func createTables() {
 	CreateTable(ENROLLMENT_KEYS_TABLE_NAME)
 	CreateTable(HOST_ACTIONS_TABLE_NAME)
 	CreateTable(PENDING_USERS_TABLE_NAME)
+	CreateTable(USER_PERMISSIONS_TABLE_NAME)
 }
 
 func CreateTable(tableName string) error {

+ 1 - 0
logic/user_mgmt.go

@@ -0,0 +1 @@
+package logic

+ 36 - 0
models/user_mgmt.go

@@ -0,0 +1,36 @@
+package models
+
+type NetworkID string
+type RsrcID string
+
+const (
+	HostRsrc           RsrcID = "host"
+	RelayRsrc          RsrcID = "relay"
+	RemoteAccessGwRsrc RsrcID = "remote_access_gw"
+	InetGwRsrc         RsrcID = "inet_gw"
+	EgressGwRsrc       RsrcID = "egress"
+)
+
+type NetworkRsrcPermissions struct {
+	All    bool `json:"all"`
+	Create bool `json:"create"`
+	Read   bool `json:"read"`
+	Update bool `json:"update"`
+	Delete bool `json:"delete"`
+}
+
+type NetworkAccessControls struct {
+	NetworkID                  string                            `json:"network_id"`
+	FullAccess                 bool                              `json:"full_access"`
+	NetworkRsrcPermissionsList map[RsrcID]NetworkRsrcPermissions `json:"network_permissions_list"`
+}
+
+type DashboardAccessControls struct {
+	FullAccess         bool                                `json:"full_access"`
+	NetworkLevelAccess map[NetworkID]NetworkAccessControls `json:"network_access_controls"`
+}
+
+type UserPermissionTemplate struct {
+	ID            string                  `json:"id"`
+	DashBoardAcls DashboardAccessControls `json:"dashboard_access_controls"`
+}