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/Makefile b/core/auth/memberships/Makefile
new file mode 100644
index 0000000..d846cd4
--- /dev/null
+++ b/core/auth/memberships/Makefile
@@ -0,0 +1,37 @@
+repo_name ?= dtabidze
+podman ?= docker
+manifest_dest =
+ifeq ($(podman), podman)
+manifest_dest=docker://docker.io/$(repo_name)/memberships:latest
+endif
+
+
+clean:
+	rm -f memberships*
+
+build_arm64: export CGO_ENABLED=0
+build_arm64: export GO111MODULE=on
+build_arm64: export GOOS=linux
+build_arm64: export GOARCH=arm64
+build_arm64:
+	/usr/local/go/bin/go build -o memberships_arm64 *.go
+
+build_amd64: export CGO_ENABLED=0
+build_amd64: export GO111MODULE=on
+build_amd64: export GOOS=linux
+build_amd64: export GOARCH=amd64
+build_amd64:
+	/usr/local/go/bin/go build -o memberships_amd64 *.go
+
+push_arm64: clean build_arm64
+	$(podman) build --platform linux/arm64 --tag=$(repo_name)/memberships:arm64 .
+	$(podman) push $(repo_name)/memberships:arm64
+
+push_amd64: clean build_amd64
+	$(podman) build --platform linux/amd64 --tag=$(repo_name)/memberships:amd64 .
+	$(podman) push $(repo_name)/memberships:amd64
+
+push: push_arm64 push_amd64
+	$(podman) manifest create $(repo_name)/memberships:latest $(repo_name)/memberships:arm64 $(repo_name)/memberships:amd64
+	$(podman) manifest push $(repo_name)/memberships:latest $(manifest_dest)
+	$(podman) manifest rm $(repo_name)/memberships:latest