diff --git a/Dockerfile b/Dockerfile index e2f5a5a..dea3caf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM docker.io/library/golang:1-alpine as server-builder +FROM docker.io/library/golang:1-alpine AS server-builder RUN apk add upx WORKDIR /build ENV GO111MODULE=on @@ -7,18 +7,20 @@ RUN go install github.com/dmarkham/enumer@latest COPY . . RUN go generate ./... RUN go build -v -ldflags="-s -w" -o portfolio -RUN upx portfolio - -FROM docker.io/library/node:16-alpine as ui-builder +RUN upx -9 -k portfolio +  +FROM docker.io/library/node:16-alpine AS ui-builder RUN npm install --location=global npm WORKDIR /build COPY . . RUN npx browserslist@latest --update-db RUN npm install RUN npm run build - -FROM alpine -WORKDIR /portfolio -COPY --from=ui-builder /build/dist ./dist -COPY --from=server-builder /build/portfolio . -CMD ["./portfolio"] +  +FROM docker.io/library/alpine AS pre-prod +COPY --from=server-builder /build/portfolio /bin +COPY --from=ui-builder /build/dist /srv/portfolio/dist +  +FROM scratch +COPY --from=pre-prod / / +CMD ["/bin/portfolio"] diff --git a/go.mod b/go.mod index eb69be7..41e4c98 100644 --- a/go.mod +++ b/go.mod @@ -3,60 +3,65 @@ module github.com/metamemelord/portfolio-website go 1.18 require ( - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0 github.com/gin-contrib/cors v1.4.0 github.com/gin-gonic/gin v1.8.1 github.com/mailgun/mailgun-go/v4 v4.8.1 - github.com/microsoft/kiota-authentication-azure-go v0.3.1 - github.com/microsoftgraph/msgraph-sdk-go v0.28.0 - go.mongodb.org/mongo-driver v1.9.1 + github.com/microsoft/kiota-authentication-azure-go v0.5.0 + github.com/microsoftgraph/msgraph-sdk-go v0.49.0 + go.mongodb.org/mongo-driver v1.11.1 ) require ( - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.0 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 // indirect - github.com/AzureAD/microsoft-authentication-library-for-go v0.5.2 // indirect - github.com/cjlapao/common-go v0.0.21 // indirect + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 // indirect + github.com/AzureAD/microsoft-authentication-library-for-go v0.7.0 // indirect + github.com/cjlapao/common-go v0.0.37 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/gin-contrib/sse v0.1.0 // indirect + github.com/go-logr/logr v1.2.3 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect - github.com/go-playground/validator/v10 v10.11.0 // indirect - github.com/go-stack/stack v1.8.1 // indirect - github.com/goccy/go-json v0.9.7 // indirect + github.com/go-playground/validator/v10 v10.11.1 // indirect + github.com/goccy/go-json v0.10.0 // indirect github.com/golang-jwt/jwt v3.2.2+incompatible // indirect + github.com/golang-jwt/jwt/v4 v4.4.3 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/uuid v1.3.0 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.15.6 // indirect + github.com/klauspost/compress v1.15.13 // indirect github.com/kylelemons/godebug v1.1.0 // indirect github.com/leodido/go-urn v1.2.1 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/microsoft/kiota-abstractions-go v0.8.1 // indirect - github.com/microsoft/kiota-http-go v0.5.1 // indirect - github.com/microsoft/kiota-serialization-json-go v0.5.3 // indirect - github.com/microsoft/kiota-serialization-text-go v0.4.1 // indirect - github.com/microsoftgraph/msgraph-sdk-go-core v0.26.1 // indirect + github.com/mattn/go-isatty v0.0.16 // indirect + github.com/microsoft/kiota-abstractions-go v0.15.1 // indirect + github.com/microsoft/kiota-http-go v0.11.0 // indirect + github.com/microsoft/kiota-serialization-json-go v0.7.2 // indirect + github.com/microsoft/kiota-serialization-text-go v0.6.0 // indirect + github.com/microsoftgraph/msgraph-sdk-go-core v0.31.1 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.0.2 // indirect + github.com/montanaflynn/stats v0.6.6 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/stretchr/testify v1.8.0 // indirect + github.com/stretchr/testify v1.8.1 // indirect github.com/ugorji/go/codec v1.2.7 // indirect github.com/xdg-go/pbkdf2 v1.0.0 // indirect - github.com/xdg-go/scram v1.1.1 // indirect - github.com/xdg-go/stringprep v1.0.3 // indirect + github.com/xdg-go/scram v1.1.2 // indirect + github.com/xdg-go/stringprep v1.0.4 // indirect github.com/yosida95/uritemplate/v3 v3.0.2 // indirect github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect - golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d // indirect - golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e // indirect - golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f // indirect - golang.org/x/sys v0.0.0-20220624220833-87e55d714810 // indirect - golang.org/x/text v0.3.7 // indirect - google.golang.org/protobuf v1.28.0 // indirect + go.opentelemetry.io/otel v1.11.2 // indirect + go.opentelemetry.io/otel/trace v1.11.2 // indirect + golang.org/x/crypto v0.4.0 // indirect + golang.org/x/net v0.4.0 // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.3.0 // indirect + golang.org/x/text v0.5.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 7bdeb14..3403f21 100644 --- a/go.sum +++ b/go.sum @@ -1,13 +1,21 @@ -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.0 h1:Ut0ZGdOwJDw0npYEg+TLlPls3Pq6JiZaP2/aGKir7Zw= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0 h1:sVW/AFBTGyJxDaMYlq0ct3jUXTtj12tQ6zE2GZUgVQw= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 h1:QkAcEIAKbNL4KoFr4SathZPhDhF4mVwpBMFlYjyAqy8= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0/go.mod h1:bhXu1AjYL+wutSL/kpSq6s7733q2Rb0yuot9Zgfqa/0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0 h1:t/W5MYAuQy81cvM8VUNfRLzhtKpXhVUAN7Cd7KVbTyc= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.2.0/go.mod h1:NBanQUfSWiWn3QEpWDTCU0IjBECKOYvl2R8xdRtMtiM= github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0 h1:jp0dGvZ7ZK0mgqnTSClMxa5xuRL7NZgHameVYF6BurY= github.com/Azure/azure-sdk-for-go/sdk/internal v1.0.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= -github.com/AzureAD/microsoft-authentication-library-for-go v0.5.2 h1:BGX4OiGP9htYSd6M3pAZctcUUSruhIAUVkv2X0Cn9yE= -github.com/AzureAD/microsoft-authentication-library-for-go v0.5.2/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= -github.com/cjlapao/common-go v0.0.21 h1:z4PDFLQG4pJxHEmM8ecmnjDgTcR0Xr/30WZiNZF2oYM= -github.com/cjlapao/common-go v0.0.21/go.mod h1:QHUcl8KX3RgNVonFJ1WpW4mlr9NyWOHmzqxaRbwooPo= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 h1:+5VZ72z0Qan5Bog5C+ZkgSqUbeVUd9wgtHOrIKuc5b8= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= +github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 h1:BWe8a+f/t+7KY7zH2mqygeUD0t8hNFXe08p1Pb3/jKE= +github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1/go.mod h1:Vt9sXTKwMyGcOxSmLDMnGPgqsUg7m8pe215qMLrDXw4= +github.com/AzureAD/microsoft-authentication-library-for-go v0.7.0 h1:VgSJlZH5u0k2qxSpqyghcFQKmvYckj46uymKK5XzkBM= +github.com/AzureAD/microsoft-authentication-library-for-go v0.7.0/go.mod h1:BDJ5qMFKx9DugEg3+uQSDCdbYPr5s9vBTrL9P8TpqOU= +github.com/cjlapao/common-go v0.0.36 h1:5KvHs+1H4UOAAfZ8MFSA3DALo4JftAOixLq95SZxVUQ= +github.com/cjlapao/common-go v0.0.36/go.mod h1:M3dzazLjTjEtZJbbxoA5ZDiGCiHmpwqW9l4UWaddwOA= +github.com/cjlapao/common-go v0.0.37 h1:ITL+pNUKKbajV9/seV/qoNPCGDhBSp8BCpDggesgM/U= +github.com/cjlapao/common-go v0.0.37/go.mod h1:M3dzazLjTjEtZJbbxoA5ZDiGCiHmpwqW9l4UWaddwOA= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -25,6 +33,11 @@ github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= @@ -32,24 +45,25 @@ github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= -github.com/go-playground/validator/v10 v10.11.0 h1:0W+xRM511GY47Yy3bZUbJVitCNg2BOGlCyvTqsp/xIw= -github.com/go-playground/validator/v10 v10.11.0/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= -github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= -github.com/goccy/go-json v0.9.7 h1:IcB+Aqpx/iMHu5Yooh7jEzJk1JZ7Pjtmys2ukPr7EeM= +github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= +github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.0 h1:mXKd9Qw4NuzShiRlOXKews24ufknHO7gx30lsDyokKA= +github.com/goccy/go-json v0.10.0/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang-jwt/jwt/v4 v4.2.0 h1:besgBTC8w8HjP6NzQdxwKH9Z5oQMZ24ThTrHp3cZ8eU= +github.com/golang-jwt/jwt/v4 v4.4.3 h1:Hxl6lhQFj4AnOX6MLrsCb/+7tCj7DxP7VA+2rDIq5AU= +github.com/golang-jwt/jwt/v4 v4.4.3/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= @@ -60,8 +74,8 @@ github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.6 h1:6D9PcO8QWu0JyaQ2zUMmu16T1T+zjjEpP91guRsvDfY= -github.com/klauspost/compress v1.15.6/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.13 h1:NFn1Wr8cfnenSJSA46lLq4wHCcBzKTSjnBIexDMMOV0= +github.com/klauspost/compress v1.15.13/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= @@ -76,22 +90,29 @@ github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/mailgun/mailgun-go/v4 v4.8.1 h1:1+MdKakJuXnW2JJDbyPdO1ngAANOyHyVPxQvFF8Sq6c= github.com/mailgun/mailgun-go/v4 v4.8.1/go.mod h1:FJlF9rI5cQT+mrwujtJjPMbIVy3Ebor9bKTVsJ0QU40= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/microsoft/kiota-abstractions-go v0.8.1 h1:ACCwRwddJYOx+SRqfgcR8Wo8PZTd4g+JMa8lY8ABy+4= -github.com/microsoft/kiota-abstractions-go v0.8.1/go.mod h1:05aCidCKhzer+yfhGeePaMUY3MH+wrAkQztBVEreTtc= -github.com/microsoft/kiota-authentication-azure-go v0.3.1 h1:jKZcFPCaNk4WSqS39mmnPvpXlBxc4DhX0zIQVYu2b4U= -github.com/microsoft/kiota-authentication-azure-go v0.3.1/go.mod h1:gUNv91OtbPfD0R7K7R4IjVo6yPXbcWltnCKvwCiAN7Y= -github.com/microsoft/kiota-http-go v0.5.1 h1:8QLZBfvPRvISUO+qWvv6fBrxaBH5n0V/Venq7Fq51cg= -github.com/microsoft/kiota-http-go v0.5.1/go.mod h1:WqEFNw3rMEatymG4Xh3rLSTxaKq80rJdQ/CSSh7m6jI= -github.com/microsoft/kiota-serialization-json-go v0.5.3 h1:NrRyed65WYhEH5NwZTzplWs+eoECEYtLpAQ5Dhwq1wc= -github.com/microsoft/kiota-serialization-json-go v0.5.3/go.mod h1:GI9vrssO1EvqzDtvMKuhjALn40phZOWkeeaMgtCk6xE= -github.com/microsoft/kiota-serialization-text-go v0.4.1 h1:6QPH7+geUPCpaSZkKCQw0Scngx2IF0vKodrvvWWiu2A= -github.com/microsoft/kiota-serialization-text-go v0.4.1/go.mod h1:DsriFnVBDCc4D84qxG3j8q/1Sxu16JILfhxMZm3kdfw= -github.com/microsoftgraph/msgraph-sdk-go v0.28.0 h1:BolP/vNW7gsNXivg/qikcdftOicLMgMm3Z/6PpSFDvU= -github.com/microsoftgraph/msgraph-sdk-go v0.28.0/go.mod h1:MB2iPD8vd8RTRAqlKTZfhLvE8OBiC/vjaOy8+J+nF1k= -github.com/microsoftgraph/msgraph-sdk-go-core v0.26.1 h1:wzEoPk6uyd+SkBur9NpzpPfKseUQYT1yjFkDUueLpfk= -github.com/microsoftgraph/msgraph-sdk-go-core v0.26.1/go.mod h1:cKWHZ9CfJnSvBJxzXnAXRA+SSy8JeAbS+4kOn3uyOIY= +github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/microsoft/kiota-abstractions-go v0.15.0 h1:NjJvIchKPJCxuVCKzfv28bxRkW+djpnlkcdphsOriKY= +github.com/microsoft/kiota-abstractions-go v0.15.0/go.mod h1:YqOu8G6bZTG0eCIWrmEny8PaF750uaw7tLFac4psf+4= +github.com/microsoft/kiota-abstractions-go v0.15.1 h1:RgN8h9Z3AoFav1K4ODVSkmA8Es933hTlAWNesll1G5U= +github.com/microsoft/kiota-abstractions-go v0.15.1/go.mod h1:YqOu8G6bZTG0eCIWrmEny8PaF750uaw7tLFac4psf+4= +github.com/microsoft/kiota-authentication-azure-go v0.5.0 h1:RVA/tTgMnDIN3u4qPZtvYvVRsQDOFkd3yvi6KXjZJko= +github.com/microsoft/kiota-authentication-azure-go v0.5.0/go.mod h1:1Io6h+88FlDRmrajdjSnXPz8oyObUVjNuQZLhrF9kQk= +github.com/microsoft/kiota-http-go v0.10.0 h1:hJwIMkZqgPwRsoZfV5hC4O2OeMvPEZDuhTcyI7Xx3IM= +github.com/microsoft/kiota-http-go v0.10.0/go.mod h1:qr6x7O4SkEJiFVtnlwvNXapwmtJ85ifAiuqOYkKc7hY= +github.com/microsoft/kiota-http-go v0.11.0 h1:0K0y/wZcTvEEX2Xdj5tngJqknqYQpArLdtjB/fo88Dc= +github.com/microsoft/kiota-http-go v0.11.0/go.mod h1:4D6vMjT7jQ3IRAJrpFoaDtfS9eMaSjQKHY6ETSV2cc0= +github.com/microsoft/kiota-serialization-json-go v0.7.2 h1:DSb4fNDi5O+DqJwrHo+vRy2kSvfxG5VtN6m1EHzn5Vw= +github.com/microsoft/kiota-serialization-json-go v0.7.2/go.mod h1:Ojum5prlijopyCOZ2XctRcVlE2pU8h+43r3tMdiWoDU= +github.com/microsoft/kiota-serialization-text-go v0.6.0 h1:3N2vftYZlwKdog69AN7ha+FZT0QxPG7xp/hLv0/W2OQ= +github.com/microsoft/kiota-serialization-text-go v0.6.0/go.mod h1:OUA4dNH+f6afiJUs+rQAatJos7QVF5PJkyrqoD89lx4= +github.com/microsoftgraph/msgraph-sdk-go v0.49.0 h1:ZCjnH6AElZ20wXXTzJn3sfZeG+2Q2+KGvUsFrmhJzZY= +github.com/microsoftgraph/msgraph-sdk-go v0.49.0/go.mod h1:pZ3XhqN+Ll9trl1HEGQhyS905PcqHv9EhuCMMxPR9EQ= +github.com/microsoftgraph/msgraph-sdk-go-core v0.31.0 h1:PZpL9krq2JeK5aD3oUWG62GE41+Dy5/q55JsYlC3lW4= +github.com/microsoftgraph/msgraph-sdk-go-core v0.31.0/go.mod h1:26j/QgZi1L9yEE/iNb86nCh2boN+NmEDgTRg3Qz0KSw= +github.com/microsoftgraph/msgraph-sdk-go-core v0.31.1 h1:aVvnO5l8qLCEcvELc5n9grt7UXhAVtpog1QeQKLMlTE= +github.com/microsoftgraph/msgraph-sdk-go-core v0.31.1/go.mod h1:RE4F2qGCTehGtQGc9Txafc4l+XMpbjYuO4amDLFgOWE= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -99,10 +120,12 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/montanaflynn/stats v0.6.6 h1:Duep6KMIDpY4Yo11iFsvyqJDyfzLF9+sndUKT+v64GQ= github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= -github.com/pelletier/go-toml/v2 v2.0.2 h1:+jQXlF3scKIcSEKkdHzXhCTDLPFi5r1wnK6yPS+49Gw= -github.com/pelletier/go-toml/v2 v2.0.2/go.mod h1:MovirKjgVRESsAvNZlAjtFwV867yGuwRkXbG66OzopI= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI= github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= @@ -117,53 +140,63 @@ github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUA github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/ugorji/go v1.2.7 h1:qYhyWUUd6WbiM+C6JZAUkIJt/1WrjzNHY9+KCIjVqTo= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c= github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/scram v1.1.1 h1:VOMT+81stJgXW3CpHyqHN3AXDYIMsx56mEFrB37Mb/E= github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= -github.com/xdg-go/stringprep v1.0.3 h1:kdwGpVNwPFtjs98xCGkHjQtGKh86rDcRZN17QEMCOIs= +github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY= +github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4= github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= +github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8= +github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM= github.com/yosida95/uritemplate/v3 v3.0.2 h1:Ed3Oyj9yrmi9087+NczuL5BwkIc4wvTb5zIM+UJPGz4= github.com/yosida95/uritemplate/v3 v3.0.2/go.mod h1:ILOh0sOhIJR3+L/8afwt/kE++YT040gmv5BQTMR2HP4= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4= -go.mongodb.org/mongo-driver v1.9.1 h1:m078y9v7sBItkt1aaoe2YlvWEXcD263e1a4E1fBrJ1c= -go.mongodb.org/mongo-driver v1.9.1/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +go.mongodb.org/mongo-driver v1.11.1 h1:QP0znIRTuL0jf1oBQoAoM0C6ZJfBK4kx0Uumtv1A7w8= +go.mongodb.org/mongo-driver v1.11.1/go.mod h1:s7p5vEtfbeR1gYi6pnj3c3/urpbLv2T5Sfd6Rp2HBB8= +go.opentelemetry.io/otel v1.11.2 h1:YBZcQlsVekzFsFbjygXMOXSs6pialIZxcjfO/mBDmR0= +go.opentelemetry.io/otel v1.11.2/go.mod h1:7p4EUV+AqgdlNV9gL97IgUZiVR3yrFXYo53f9BM3tRI= +go.opentelemetry.io/otel/trace v1.11.2 h1:Xf7hWSF2Glv0DE3MH7fBHvtpSBsjcBUe5MYAmZM/+y0= +go.opentelemetry.io/otel/trace v1.11.2/go.mod h1:4N+yC7QEz7TTsG9BSRLNAa63eg5E06ObSbKPmxQ/pKA= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= +golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e h1:TsQ7F31D3bUCLeqPT0u+yjp1guoArKaNKmCr22PYgTQ= -golang.org/x/net v0.0.0-20220624214902-1bab6f366d9e/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f h1:Ax0t5p6N38Ga0dThY21weqDEyz2oklo4IvDkpigvkD8= -golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -171,23 +204,29 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810 h1:rHZQSjJdAI4Xf5Qzeh2bBc5YJIkPFVM6oDtMFYmgws0= -golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= diff --git a/handlers/handlers.go b/handlers/handlers.go index de3a881..89d8df0 100644 --- a/handlers/handlers.go +++ b/handlers/handlers.go @@ -4,7 +4,6 @@ import ( "encoding/base64" "encoding/json" "fmt" - "io/ioutil" "log" "net/http" "os" @@ -21,15 +20,32 @@ var ( blogPostCollection *mongo.Collection experiencesCollection *mongo.Collection technologiesCollection *mongo.Collection + staticAssetsBasePath = "/srv/portfolio/dist" ErrParseRequestBody = fmt.Errorf("Failed to parse request body") ErrInternalServer = fmt.Errorf("Internal server error") ErrPostNotFoundWithID = fmt.Errorf("Could not find a post with that _id") + + htmlBody = []byte{} + err error + + indexHtmlBasePath = staticAssetsBasePath + "/index.html" + jsBasePath = staticAssetsBasePath + "/js" + cssBasePath = staticAssetsBasePath + "/css" + imgBasePath = staticAssetsBasePath + "/img" + faviconBasePath = staticAssetsBasePath + "/favicon.ico" + robotsTxtBasePath = staticAssetsBasePath + "/robots.txt" + sitemapBasePath = staticAssetsBasePath + "/sitemap.xml" ) func init() { blogPostCollection = db.GetCollection("blog-posts") experiencesCollection = db.GetCollection("experiences") technologiesCollection = db.GetCollection("technologies") + + htmlBody, err = os.ReadFile(indexHtmlBasePath) + if err != nil { + log.Println("[ERROR]: Failed to load HTML (" + err.Error() + ")") + } } func Register(g *gin.Engine) { @@ -75,12 +91,12 @@ func Register(g *gin.Engine) { public := g.Group("/", cacheSetter(168*time.Hour)) { - public.Static("/js", "dist/js") - public.Static("/css", "dist/css") - public.Static("/img", "dist/img") - public.StaticFile("/favicon.ico", "dist/favicon.ico") - public.StaticFile("/robots.txt", "dist/robots.txt") - public.StaticFile("/sitemap.xml", "dist/sitemap.xml") + public.Static("/js", jsBasePath) + public.Static("/css", cssBasePath) + public.Static("/img", imgBasePath) + public.StaticFile("/favicon.ico", faviconBasePath) + public.StaticFile("/robots.txt", robotsTxtBasePath) + public.StaticFile("/sitemap.xml", sitemapBasePath) } g.NoRoute(htmlSupplier) @@ -116,8 +132,7 @@ func verifyCredentials(c *gin.Context) { } func htmlSupplier(c *gin.Context) { - file, _ := ioutil.ReadFile("./dist/index.html") - c.Data(200, "text/html", file) + c.Data(200, "text/html", htmlBody) } func respond(c *gin.Context, status int, payload interface{}, err error) { diff --git a/pkg/communication/email_microsoft365.go b/pkg/communication/email_microsoft365.go index 46b8b31..9791b66 100644 --- a/pkg/communication/email_microsoft365.go +++ b/pkg/communication/email_microsoft365.go @@ -9,7 +9,7 @@ import ( azidentity "github.com/Azure/azure-sdk-for-go/sdk/azidentity" a "github.com/microsoft/kiota-authentication-azure-go" msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go" - "github.com/microsoftgraph/msgraph-sdk-go/me/sendmail" + "github.com/microsoftgraph/msgraph-sdk-go/me" msGraphModels "github.com/microsoftgraph/msgraph-sdk-go/models" ) @@ -78,11 +78,11 @@ func (m *microsoft365EmailService) Send(ctx context.Context, email *Email) (inte message.SetBccRecipients([]msGraphModels.Recipientable{selfRecipient}) saveToSentItems := false - sendEmailRequest := sendmail.NewSendMailPostRequestBody() + sendEmailRequest := me.NewSendMailPostRequestBody() sendEmailRequest.SetMessage(message) sendEmailRequest.SetSaveToSentItems(&saveToSentItems) return "", m.mgGraphClient.UsersById(MS_GRAPH_SELF_USER_ID). - SendMail().Post(sendEmailRequest) + SendMail().Post(ctx, sendEmailRequest, nil) } func prepareRecipientEmailAddress(name, email string) msGraphModels.EmailAddressable { diff --git a/public/index.html b/public/index.html index 01f799a..3189e33 100644 --- a/public/index.html +++ b/public/index.html @@ -1 +1 @@ -Gaurav Saini | Metamemelord
Gaurav Saini

Traveller

__

I learn things by doing.

(778) 858-3884Vancouver, BC, Canada

Rust
Go
Cloudflare

Timeline

Microsoft

Software Engineer II

Jul, 2022 - Present

Oracle Cloud

Software Developer 3

Dec, 2020 - Jul, 2022

Zoomcar

Software Engineer

Nov, 2019 - Nov, 2020

Philips

Software Engineer I

Jul, 2018 - Nov, 2019

Philips

Project Trainee

Jan, 2018 - May, 2018

Interests

Top interests: Software Engineering, Distributed Systems, Serverless, Full-stack Development, Quantum Information System, Deep Learning, Genetic Algorithms.

Domain: Serverless, Cloud Infrastructure, Web-development, eCommerce, Quantum Computing.

Server Side Technologies: Hyper (Rust), Gin (Go), Node.js, Express.js, Django.

Client Side Technologies: Vue.js, Nuxt.js, Qt.

Genral Purpose Programing and Scripting languages: Rust, Go, C#, C++, Java, Python, JavaScript

Databases: Postgres, MySQL, MongoDB (including ORM Frameworks like Mongoose), Neo4j.

Build, CI/CD, Code Review, and Testing Tools: CircleCI, TravisCI, Cargo, CMake, NPM, Docker, Jenkins, JMeter, Loadtest (npm), Postman, SonarQube.

Source code management: Github, Bitbucket.

What I do in free time: Diving deep into AsyncIO, Learning about Hypervisors, Simulating Quantum Algorithms, Learn about NNs and Genetic Algorithm, Read about graph databases, Do competitive coding, explore data structures, improving my understanding of Design Patterns and problem solving, and read CPP Reference.

Strengths: Problem solving, Zeal to learn, Having fruitful technical conversations.

Languages

EnglishHindiSpanish
Github octocat

Repositories

Instagram Har Downloader

Download Instagram data of a profile from har dump

Python
Updated 30 days ago

Portfolio Website

Source code of personal website, https://gaurav.dev, https://gaurav.app, https://gauravsaini.dev, https://metamemelord.dev, and https://metamemelord.com.

Vue
Updated on Jun 26

Pythonise For CPP

Type like Python, in CPP.

C++
Updated on Jun 08

Web Development With Go

This repo contains code from Web Development w/ Google’s Go (golang) Programming Language course by Todd McLeod.

Go
Updated on Apr 23

Rust Too Many Lists

Rust
Updated on Feb 26

Algorithms

This repo contains code for various popular algorithms with numerous solutions having multiple space-time complexities.

C++
Updated on Jan 16

Advent Of Code

Contains solutions to AoC Problems

Python
Updated on Dec 12, 2021

Metamemelord

Updated on Dec 06, 2021

Mockerino

A YAML based REST API engine.

Rust
Updated on Sep 26, 2021

Simple Calculator Function

This repo contains an example calculator written in Rust for running on Oracle Cloud Functions Platform.

Rust
Updated on May 31, 2021

Kafka Bombardier

Bombard your kafka broker with messages from multiple threads!

Rust
Updated on Jan 01, 2021

Crawly

A batch processing engine to run web crawlers in parallel.

Go
Updated on Dec 08, 2020

Rust Programming Recipes

This repo contains code from the Rust Programming Recipes course by Matthew Stoodley

Rust
Updated on Nov 30, 2020

Talks

This repo contains code from all the talks

Rust
Updated on Sep 17, 2020

Fumorrow Web Service

Future And Tomorrow

JavaScript
Updated on Jul 19, 2020

Docker Vue

This repo contains code for a dummy vue project that uses CircleCI and TravisCI

Vue
Updated on Jul 19, 2020

Micro Fibonacci

A simple distributed application to calculate fibonacci value of large numbers

Vue
Updated on Jul 19, 2020

Angular 2 Tutorial

Angular 2 Tutorial by thenetninja

TypeScript
Updated on Jul 19, 2020

Blockchain Transaction Management

A blockchain to manage rewards and transactions

Rust
Updated on Jun 14, 2020

Rust Grep

A basic implementation of grep using Rust

Rust
Updated on Jun 10, 2020

TCP Chat Server

A chat server and client based on persistent TCP Connections

Rust
Updated on Jun 10, 2020

Rust Toolkit

Commonly used tools for Rust

Rust
Updated on May 30, 2020

Dumb Web Benchmarks

This repo contains demo code for benchmarking popular web frameworks in various programming languages.

Java
Updated on May 26, 2020

Md Html

md-html is a cli based markdown to html converter.

Rust
Updated on May 26, 2020

The Rust Programming Language Course

This repo contains code from The Rust Programming Language course by Dmitri Nesteruk on Udemy

Rust
Updated on May 24, 2020

Go Utilities

This repo contains common Go utilities that I use everyday

Go
Updated on Apr 29, 2020

Gin APM Mongo Redis Example

This repo contains a simple RESTful API that uses gin-gonic/gin for routing, APM for distributed tracing, Mongo for persistence, and Redis for caching. Logging using ELK will be added later.

Go
Updated on Apr 29, 2020

Rust RabbitMQ Example

This repo contains Rust code for simple publishing and receiving from RabbitMQ.

Rust
Updated on Apr 20, 2020

Node JS Advanced Concepts

This repo contains code from Node JS: Advanced Concepts course by Stephen Grider

JavaScript
Updated on Mar 17, 2020

Microservices Brown Bag Session

Alllll the code from Brown Bag Session on Microservices!

JavaScript
Updated on Mar 07, 2020

Fast Fourier Transform Visual

This repo contains visualisation of FFT.

JavaScript
Updated on Mar 07, 2020

Node.Js The Complete Guide

This repo contains source code for Node.js The Complete Guide course by Maximilian Schwarzmüller

JavaScript
Updated on Mar 04, 2020

Resterr

resterr makes it easy to report errors between the layers of your RESTful service without putting multiple checks for deciding http status codes.

Go
Updated on Feb 07, 2020

Todo GraphQL FX

A simple GraphQL API to perform CRUD operations. The application uses fx package (from Uber) for dependency injection.

Go
Updated on Dec 08, 2019

Mongodb The Complete Guide

This repo contains code from MongoDB - The Complete Developer's Guide course by Maximilian Schwarzmüller

JavaScript
Updated on Nov 03, 2019

Url Shortner

This repo contains code for a simple URL shortner application

Go
Updated on Oct 15, 2019

Test Images

Test repository for docker images

Updated on Sep 24, 2019

Instagram Downloader

Python
Updated on Sep 15, 2019

Protocol Buffers 3 Course

This repo contains code from Complete Guide to Protocol Buffers 3 Course by Stephane Maarek

Go
Updated on Sep 07, 2019

Big Data Fundamentals

This repo contains code and notes for various Big Data technologies.

Jupyter Notebook
Updated on Aug 09, 2019

RoboFriends

React App

JavaScript
Updated on Jul 13, 2019

Healthcare Insights

This repo contains source code for the dashboard project by team Motherboard

Vue
Updated on Jul 12, 2019

Simple Touch

This repo contains a simple version of famous 'touch' tool included in most unix or linux based operating systems. This tool supports ONLY file creation.

Go
Updated on Jun 01, 2019

Go The Complete Guide

This repo contains code from 'Learn How To Code: Google's Go (golang) Programming Language' Course by Todd McLeod.

Go
Updated on Jun 01, 2019

Cached APIs With Express And Redis

Contains source code for a simple RESTful Webservice which utilises redis for caching the results.

JavaScript
Updated on May 19, 2019

Range Downloader

Downloader for files/resources that are stored in a numeric sequence

Python
Updated on May 19, 2019

Docker And Kubernetes The Complete Guide

This repo contains source code for Docker and Kubernetes: The Complete Guide Course by Stephen Grider

Vue
Updated on Apr 26, 2019

Node Express Long Polling

Contains source code for an app which uses events and express to demonstrate long pooling.

JavaScript
Updated on Apr 07, 2019

GraphQL The Net Ninja

This repo contains Node.js-Express-GraphQL project from The Net Ninja's GraphQL playlist

JavaScript
Updated on Mar 22, 2019

Node Redis Task Manager

A simple task management webapp that uses Redis for persistence.

HTML
Updated on Mar 17, 2019

Understanding TypeScript Course

This repo contains code from the Understanding TypeScript Code by Max

TypeScript
Updated on Feb 22, 2019

Complete Node.Js Developer Course

Contains source code for The Complete Node.js Developer Course by Andrew Mead

JavaScript
Updated on Feb 06, 2019

Complete CSS Tutorial

Contains source code for the Complete CSS Tutorial course by Maximilian Schwarzmüller

HTML
Updated on Feb 06, 2019

Hackerrank Solutions

Contains solutions to various Hackerrank Practice Problems

Python
Updated on Feb 06, 2019

Restaurant Management System

A simple CLI based Restaurant Management System

C
Updated on Feb 06, 2019

Vue.Js Tutorial Code

Contains codes from Vue.js tutorial

JavaScript
Updated on Jan 04, 2019

Data Structure Basics

This repository contains implementation of basic data structures.

C++
Updated on Sep 24, 2018

Time Synchronous Cipher

A ciphering algorithm that updates every second.

C++
Updated on Oct 15, 2017

Forked

Api

Updated on Apr 07, 2020

Blogs Website

A temporary fork of https://wordpress.org/plugins/postgresql-for-wordpress/ with changes from kevinoid.

Updated on Jul 07, 2020

C Plus Plus

All Algorithms implemented in C++

C++
Updated on Oct 05, 2018

Cli

CLI tool for fnproject.

Go
Updated on May 23

Deprecated Fdk Dotnet

A FDK implementation to support C# language in the Fn Platform.

C#
Updated on Oct 08

Fdk Dotnet

This project contains an implementation of FDK for C# running on dotnet runtime.

Updated on Jun 28

Fdk Python

Python Function Development Kit

Updated on Mar 21, 2021

Fdk Rust

An experimental Function Development Kit for the Rust language

Rust
Updated on Jul 20, 2021

Fn Tutorials

Fn tutorials ranging from getting started to more advanced topics.

JavaScript
Updated on May 04

Homebrew Core

🍻 Default formulae for the missing package manager for macOS (or Linux)

Ruby
Updated on Jun 23

InstagramOSINT

An Instagram Open Source Intelligence Tool

Python
Updated on Aug 09, 2019

Kafka Docker

Dockerfile for Apache Kafka

Updated on May 18, 2020

Lignum

A distributed message queue.

Updated on Nov 28, 2021

Miscellaneous

miscellaneous stuff will put here, configurations, code templates, tools, etc.

Updated on Mar 25, 2020

Openvpn Install

OpenVPN road warrior installer for Ubuntu, Debian, CentOS and Fedora

Shell
Updated on Aug 29

Oracle Functions Samples

Examples demonstrating how to use Oracle Functions

Updated on Nov 28, 2021

Rust Interview

Sample interview problems solved in Rust

Updated on May 26, 2020

Rustlings

:crab: Small exercises to get you used to reading and writing Rust code!

Rust
Updated on May 23

Vimeo Private Downloader

Script gets you access to download private videos on Vimeo

Updated on Apr 29, 2020

Wireguard Install

WireGuard road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora

Updated on Sep 27
\ No newline at end of file +Gaurav Saini | Metamemelord
Gaurav Saini

Traveller

__

I learn things by doing.

(778) 858-3884Vancouver, BC, Canada

Rust
Go
Cloudflare

Timeline

Microsoft

Software Engineer II

Jul, 2022 - Present

Oracle Cloud

Software Developer 3

Dec, 2020 - Jul, 2022

Zoomcar

Software Engineer

Nov, 2019 - Nov, 2020

Philips

Software Engineer I

Jul, 2018 - Nov, 2019

Philips

Project Trainee

Jan, 2018 - May, 2018

Interests

Top interests: Software Engineering, Distributed Systems, Serverless, Full-stack Development, Quantum Information System, Deep Learning, Genetic Algorithms.

Domain: Serverless, Cloud Infrastructure, Web-development, eCommerce, Quantum Computing.

Server Side Technologies: Hyper (Rust), Gin (Go), Node.js, Express.js, Django.

Client Side Technologies: Vue.js, Nuxt.js, Qt.

Genral Purpose Programing and Scripting languages: Rust, Go, C#, C++, Java, Python, JavaScript

Databases: Postgres, MySQL, MongoDB (including ORM Frameworks like Mongoose), Neo4j.

Build, CI/CD, Code Review, and Testing Tools: CircleCI, TravisCI, Cargo, CMake, NPM, Docker, Jenkins, JMeter, Loadtest (npm), Postman, SonarQube.

Source code management: Github, Bitbucket.

What I do in free time: Diving deep into AsyncIO, Learning about Hypervisors, Simulating Quantum Algorithms, Learn about NNs and Genetic Algorithm, Read about graph databases, Do competitive coding, explore data structures, improving my understanding of Design Patterns and problem solving, and read CPP Reference.

Strengths: Problem solving, Zeal to learn, Having fruitful technical conversations.

Languages

EnglishHindiSpanish
Github octocat

Repositories

Instagram Har Downloader

Download Instagram data of a profile from har dump

Python
Updated 30 days ago

Portfolio Website

Source code of personal website, https://gaurav.dev, https://gaurav.app, https://gauravsaini.dev, https://metamemelord.dev, and https://metamemelord.com.

Vue
Updated on Jun 26

Pythonise For CPP

Type like Python, in CPP.

C++
Updated on Jun 08

Web Development With Go

This repo contains code from Web Development w/ Google’s Go (golang) Programming Language course by Todd McLeod.

Go
Updated on Apr 23

Rust Too Many Lists

Rust
Updated on Feb 26

Algorithms

This repo contains code for various popular algorithms with numerous solutions having multiple space-time complexities.

C++
Updated on Jan 16

Advent Of Code

Contains solutions to AoC Problems

Python
Updated on Dec 12, 2021

Metamemelord

Updated on Dec 06, 2021

Mockerino

A YAML based REST API engine.

Rust
Updated on Sep 26, 2021

Simple Calculator Function

This repo contains an example calculator written in Rust for running on Oracle Cloud Functions Platform.

Rust
Updated on May 31, 2021

Kafka Bombardier

Bombard your kafka broker with messages from multiple threads!

Rust
Updated on Jan 01, 2021

Crawly

A batch processing engine to run web crawlers in parallel.

Go
Updated on Dec 08, 2020

Rust Programming Recipes

This repo contains code from the Rust Programming Recipes course by Matthew Stoodley

Rust
Updated on Nov 30, 2020

Talks

This repo contains code from all the talks

Rust
Updated on Sep 17, 2020

Fumorrow Web Service

Future And Tomorrow

JavaScript
Updated on Jul 19, 2020

Docker Vue

This repo contains code for a dummy vue project that uses CircleCI and TravisCI

Vue
Updated on Jul 19, 2020

Micro Fibonacci

A simple distributed application to calculate fibonacci value of large numbers

Vue
Updated on Jul 19, 2020

Angular 2 Tutorial

Angular 2 Tutorial by thenetninja

TypeScript
Updated on Jul 19, 2020

Blockchain Transaction Management

A blockchain to manage rewards and transactions

Rust
Updated on Jun 14, 2020

Rust Grep

A basic implementation of grep using Rust

Rust
Updated on Jun 10, 2020

TCP Chat Server

A chat server and client based on persistent TCP Connections

Rust
Updated on Jun 10, 2020

Rust Toolkit

Commonly used tools for Rust

Rust
Updated on May 30, 2020

Dumb Web Benchmarks

This repo contains demo code for benchmarking popular web frameworks in various programming languages.

Java
Updated on May 26, 2020

Md Html

md-html is a cli based markdown to html converter.

Rust
Updated on May 26, 2020

The Rust Programming Language Course

This repo contains code from The Rust Programming Language course by Dmitri Nesteruk on Udemy

Rust
Updated on May 24, 2020

Go Utilities

This repo contains common Go utilities that I use everyday

Go
Updated on Apr 29, 2020

Gin APM Mongo Redis Example

This repo contains a simple RESTful API that uses gin-gonic/gin for routing, APM for distributed tracing, Mongo for persistence, and Redis for caching. Logging using ELK will be added later.

Go
Updated on Apr 29, 2020

Rust RabbitMQ Example

This repo contains Rust code for simple publishing and receiving from RabbitMQ.

Rust
Updated on Apr 20, 2020

Node JS Advanced Concepts

This repo contains code from Node JS: Advanced Concepts course by Stephen Grider

JavaScript
Updated on Mar 17, 2020

Microservices Brown Bag Session

Alllll the code from Brown Bag Session on Microservices!

JavaScript
Updated on Mar 07, 2020

Fast Fourier Transform Visual

This repo contains visualisation of FFT.

JavaScript
Updated on Mar 07, 2020

Node.Js The Complete Guide

This repo contains source code for Node.js The Complete Guide course by Maximilian Schwarzmüller

JavaScript
Updated on Mar 04, 2020

Resterr

resterr makes it easy to report errors between the layers of your RESTful service without putting multiple checks for deciding http status codes.

Go
Updated on Feb 07, 2020

Todo GraphQL FX

A simple GraphQL API to perform CRUD operations. The application uses fx package (from Uber) for dependency injection.

Go
Updated on Dec 08, 2019

Mongodb The Complete Guide

This repo contains code from MongoDB - The Complete Developer's Guide course by Maximilian Schwarzmüller

JavaScript
Updated on Nov 03, 2019

Url Shortner

This repo contains code for a simple URL shortner application

Go
Updated on Oct 15, 2019

Test Images

Test repository for docker images

Updated on Sep 24, 2019

Instagram Downloader

Python
Updated on Sep 15, 2019

Protocol Buffers 3 Course

This repo contains code from Complete Guide to Protocol Buffers 3 Course by Stephane Maarek

Go
Updated on Sep 07, 2019

Big Data Fundamentals

This repo contains code and notes for various Big Data technologies.

Jupyter Notebook
Updated on Aug 09, 2019

RoboFriends

React App

JavaScript
Updated on Jul 13, 2019

Healthcare Insights

This repo contains source code for the dashboard project by team Motherboard

Vue
Updated on Jul 12, 2019

Simple Touch

This repo contains a simple version of famous 'touch' tool included in most unix or linux based operating systems. This tool supports ONLY file creation.

Go
Updated on Jun 01, 2019

Go The Complete Guide

This repo contains code from 'Learn How To Code: Google's Go (golang) Programming Language' Course by Todd McLeod.

Go
Updated on Jun 01, 2019

Cached APIs With Express And Redis

Contains source code for a simple RESTful Webservice which utilises redis for caching the results.

JavaScript
Updated on May 19, 2019

Range Downloader

Downloader for files/resources that are stored in a numeric sequence

Python
Updated on May 19, 2019

Docker And Kubernetes The Complete Guide

This repo contains source code for Docker and Kubernetes: The Complete Guide Course by Stephen Grider

Vue
Updated on Apr 26, 2019

Node Express Long Polling

Contains source code for an app which uses events and express to demonstrate long pooling.

JavaScript
Updated on Apr 07, 2019

GraphQL The Net Ninja

This repo contains Node.js-Express-GraphQL project from The Net Ninja's GraphQL playlist

JavaScript
Updated on Mar 22, 2019

Node Redis Task Manager

A simple task management webapp that uses Redis for persistence.

HTML
Updated on Mar 17, 2019

Understanding TypeScript Course

This repo contains code from the Understanding TypeScript Code by Max

TypeScript
Updated on Feb 22, 2019

Complete Node.Js Developer Course

Contains source code for The Complete Node.js Developer Course by Andrew Mead

JavaScript
Updated on Feb 06, 2019

Complete CSS Tutorial

Contains source code for the Complete CSS Tutorial course by Maximilian Schwarzmüller

HTML
Updated on Feb 06, 2019

Hackerrank Solutions

Contains solutions to various Hackerrank Practice Problems

Python
Updated on Feb 06, 2019

Restaurant Management System

A simple CLI based Restaurant Management System

C
Updated on Feb 06, 2019

Vue.Js Tutorial Code

Contains codes from Vue.js tutorial

JavaScript
Updated on Jan 04, 2019

Data Structure Basics

This repository contains implementation of basic data structures.

C++
Updated on Sep 24, 2018

Time Synchronous Cipher

A ciphering algorithm that updates every second.

C++
Updated on Oct 15, 2017

Forked

Api

Updated on Apr 07, 2020

Blogs Website

A temporary fork of https://wordpress.org/plugins/postgresql-for-wordpress/ with changes from kevinoid.

Updated on Jul 07, 2020

C Plus Plus

All Algorithms implemented in C++

C++
Updated on Oct 05, 2018

Cli

CLI tool for fnproject.

Go
Updated on May 23

Deprecated Fdk Dotnet

A FDK implementation to support C# language in the Fn Platform.

C#
Updated on Oct 08

Fdk Dotnet

This project contains an implementation of FDK for C# running on dotnet runtime.

Updated on Jun 28

Fdk Python

Python Function Development Kit

Updated on Mar 21, 2021

Fdk Rust

An experimental Function Development Kit for the Rust language

Rust
Updated on Jul 20, 2021

Fn Tutorials

Fn tutorials ranging from getting started to more advanced topics.

JavaScript
Updated on May 04

Homebrew Core

🍻 Default formulae for the missing package manager for macOS (or Linux)

Ruby
Updated on Jun 23

InstagramOSINT

An Instagram Open Source Intelligence Tool

Python
Updated on Aug 09, 2019

Kafka Docker

Dockerfile for Apache Kafka

Updated on May 18, 2020

Lignum

A distributed message queue.

Updated on Nov 28, 2021

Miscellaneous

miscellaneous stuff will put here, configurations, code templates, tools, etc.

Updated on Mar 25, 2020

Openvpn Install

OpenVPN road warrior installer for Ubuntu, Debian, CentOS and Fedora

Shell
Updated on Aug 29

Oracle Functions Samples

Examples demonstrating how to use Oracle Functions

Updated on Nov 28, 2021

Rust Interview

Sample interview problems solved in Rust

Updated on May 26, 2020

Rustlings

:crab: Small exercises to get you used to reading and writing Rust code!

Rust
Updated on May 23

Vimeo Private Downloader

Script gets you access to download private videos on Vimeo

Updated on Apr 29, 2020

Wireguard Install

WireGuard road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora

Updated on Sep 27
\ No newline at end of file