Ajout de la Webterface, renommage du SQL
This commit is contained in:
+12
-9
@@ -8,7 +8,10 @@ AS $code$
|
||||
DECLARE
|
||||
selectedrepo git.gitrepoaccesstype;
|
||||
BEGIN
|
||||
|
||||
|
||||
IF gitrepo LIKE '/%'
|
||||
THEN gitrepo := SUBSTRING(gitrepo,1,LENGTH(gitrepo)-1);
|
||||
END IF;
|
||||
/* user.repo */
|
||||
SELECT MAX("accessType")
|
||||
INTO selectedrepo
|
||||
@@ -16,26 +19,26 @@ BEGIN
|
||||
JOIN git.repos ON "repoID"=repos."ID"
|
||||
WHERE repos.path=gitrepo AND "userID"=gituserid;
|
||||
|
||||
RETURN selectedrepo;
|
||||
|
||||
IF selectedrepo != NULL
|
||||
THEN RETURN selectedrepo;
|
||||
END IF;
|
||||
|
||||
RAISE WARNING 'Le repo na pas marche 2';
|
||||
/* groupe.repo */
|
||||
SELECT MAX('accessType')
|
||||
SELECT MAX(perms."accessType")
|
||||
INTO selectedrepo
|
||||
FROM git.perms
|
||||
JOIN git.repos ON repoID=repos."ID"
|
||||
JOIN git.repos ON "repoID"=repos."ID"
|
||||
JOIN git.appartenances ON appartenances."groupeID"=-perms."userID"
|
||||
WHERE repos.path=gitrepo AND appartenances."utilisateurID"=gituserid;
|
||||
|
||||
|
||||
IF selectedrepo != NULL
|
||||
THEN RETURN selectedrepo;
|
||||
END IF;
|
||||
RAISE WARNING 'Le repo na pas marche 3';
|
||||
|
||||
/* user.repoGroup */
|
||||
SELECT MAX('accessType')
|
||||
SELECT MAX("accessType")
|
||||
INTO selectedrepo
|
||||
FROM git.perms
|
||||
JOIN git.repos ON "repoID"=-repos."groupeID"
|
||||
@@ -44,9 +47,9 @@ BEGIN
|
||||
IF selectedrepo != NULL
|
||||
THEN RETURN selectedrepo;
|
||||
END IF;
|
||||
|
||||
RAISE WARNING 'Le repo na pas marche 4';
|
||||
/* groupe.repoGroupe */
|
||||
SELECT MAX('accessType')
|
||||
SELECT MAX("accessType")
|
||||
INTO selectedrepo
|
||||
FROM git.perms
|
||||
JOIN git.appartenances ON appartenances."groupeID"=-perms."userID"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
CREATE OR REPLACE FUNCTION git."ReadableRepos" (
|
||||
gituserid integer
|
||||
CREATE OR REPLACE FUNCTION git."AccessibleRepos" (
|
||||
gituserid integer,
|
||||
accesst git.gitrepoaccesstype
|
||||
)
|
||||
RETURNS table(
|
||||
ID integer,
|
||||
@@ -18,26 +19,26 @@ BEGIN
|
||||
SELECT repos.*
|
||||
FROM git.perms
|
||||
JOIN git.repos ON "repoID"=repos."ID"
|
||||
WHERE "accessType">='READ' AND "userID"=gituserid
|
||||
WHERE "accessType">=accesst AND "userID"=gituserid
|
||||
UNION
|
||||
/* groupe.repo */
|
||||
SELECT repos.*
|
||||
FROM git.perms
|
||||
JOIN git.repos ON "repoID"=repos."ID"
|
||||
JOIN git.appartenances ON appartenances."groupeID"=-perms."userID"
|
||||
WHERE "accessType">='READ' AND appartenances."utilisateurID"=gituserid
|
||||
WHERE "accessType">=accesst AND appartenances."utilisateurID"=gituserid
|
||||
UNION
|
||||
/* user.repoGroup */
|
||||
SELECT repos.*
|
||||
FROM git.perms
|
||||
JOIN git.repos ON "repoID"=-repos."groupeID"
|
||||
WHERE "accessType">='READ' AND "userID"=gituserid
|
||||
WHERE "accessType">=accesst AND "userID"=gituserid
|
||||
UNION
|
||||
/* groupe.repoGroupe */
|
||||
SELECT repos.*
|
||||
FROM git.perms
|
||||
JOIN git.appartenances ON appartenances."groupeID"=-perms."userID"
|
||||
JOIN git.repos ON "repoID"=-repos."groupeID"
|
||||
WHERE "accessType">='READ' AND "userID"=gituserid;
|
||||
WHERE "accessType">=accesst AND "userID"=gituserid;
|
||||
END
|
||||
$code$
|
||||
Reference in New Issue
Block a user