auth: groups and memberships (#97)

* group membership unpolished

* fixed index.html

* fixed undefined variable errors

* Implemented adding a user to a group.

* fixed variable names, moved permission check into handler, separated fanctionality for adding ownership or membership for user

* minor changes: Gave variables consistent names

* separated tables for owners and members. some clean code fixes. added group description into group page.

* added to creat child group. minor fixes

* added yaml files

* added cue file

* moved groupOwnership check separatly. redo conditionals into oneline. separated status string check.

* added mempership into app.go infraAppConfigs

* changed svg icon. fixed indentation

* svg icon fix

* added  transaction

* minor owner add fix

* added multiple db rollbacks

---------

Co-authored-by: Giorgi Lekveishvili <lekva@gl-mbp-m1-max.local>
diff --git a/core/auth/memberships/index.html b/core/auth/memberships/index.html
new file mode 100644
index 0000000..f78ae1d
--- /dev/null
+++ b/core/auth/memberships/index.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en" data-theme="light">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Group Managment</title>
+    <link rel="stylesheet" href="/static/pico.2.0.6.min.css">
+</head>
+<body class="container">
+    <h1>Groups Managment</h1>
+    <form action="/create-group" method="post">
+        <label for="group-name">Group Name:</label>
+        <input type="text" id="group-name" name="group-name" required>
+        <label for="description">Group Description:</label>
+        <input type="text" id="description" name="description">
+        <button type="submit">Create Group</button>
+    </form>
+    <h4>Owner</h4>
+    <table>
+        <tr>
+            <th>Name</th>
+            <th>Description</th>
+        </tr>
+        {{- range .OwnerGroups -}}
+        <tr>
+            <td><a href="/group/{{ .Name }}">{{ .Name }}</a></td>
+            <td>{{ .Description }}</td>
+        </tr>
+        {{- end -}}
+    </table>
+    <h4>Member</h4>
+    <table>
+        <tr>
+            <th>Name</th>
+            <th>Description</th>
+        </tr>
+        {{- range .MembershipGroups -}}
+        <tr>
+            <td><a href="/group/{{ .Name }}">{{ .Name }}</a></td>
+            <td>{{ .Description }}</td>
+        </tr>
+        {{- end -}}
+    </table>
+</body>
+</html>