Use self where possible
This commit is contained in:
		
							parent
							
								
									9491359b52
								
							
						
					
					
						commit
						fa281124bb
					
				| @ -17,8 +17,8 @@ class Data | ||||
|     public static function startUp() | ||||
|     { | ||||
|         Configuration::$connectionString = "pgsql:host=localhost;port=5432;dbname=leafjson;user=leaf;password=leaf"; | ||||
|         Definition::ensureTable(Data::REQ_TABLE); | ||||
|         Definition::ensureIndex(Data::REQ_TABLE, DocumentIndex::Optimized); | ||||
|         Definition::ensureTable(self::REQ_TABLE); | ||||
|         Definition::ensureIndex(self::REQ_TABLE, DocumentIndex::Optimized); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -30,7 +30,7 @@ class Data | ||||
|      */ | ||||
|     public static function findFullRequestById(string $reqId, string $userId): ?Request | ||||
|     { | ||||
|         $req = Document::findById(Data::REQ_TABLE, $reqId, Request::class); | ||||
|         $req = Document::findById(self::REQ_TABLE, $reqId, Request::class); | ||||
|         return is_null($req) || $req->userId != $userId ? null : $req; | ||||
|     } | ||||
| 
 | ||||
| @ -43,10 +43,10 @@ class Data | ||||
|      */ | ||||
|     public static function addHistory(string $reqId, string $userId, History $history) | ||||
|     { | ||||
|         $req = Data::findFullRequestById($reqId, $userId); | ||||
|         $req = self::findFullRequestById($reqId, $userId); | ||||
|         if (is_null($req)) throw new \InvalidArgumentException("$reqId not found"); | ||||
|         array_unshift($req->history, $history); | ||||
|         Document::updateFull(Data::REQ_TABLE, $reqId, $req); | ||||
|         Document::updateFull(self::REQ_TABLE, $reqId, $req); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -58,10 +58,10 @@ class Data | ||||
|      */ | ||||
|     public static function addNote(string $reqId, string $userId, Note $note) | ||||
|     { | ||||
|         $req = Data::findFullRequestById($reqId, $userId); | ||||
|         $req = self::findFullRequestById($reqId, $userId); | ||||
|         if (is_null($req)) throw new \InvalidArgumentException("$reqId not found"); | ||||
|         array_unshift($req->notes, $note); | ||||
|         Document::updateFull(Data::REQ_TABLE, $reqId, $req); | ||||
|         Document::updateFull(self::REQ_TABLE, $reqId, $req); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -71,7 +71,7 @@ class Data | ||||
|      */ | ||||
|     public static function addRequest(Request $req) | ||||
|     { | ||||
|         Document::insert(Data::REQ_TABLE, $req->id, $req); | ||||
|         Document::insert(self::REQ_TABLE, $req->id, $req); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -95,13 +95,13 @@ class Data | ||||
|      */ | ||||
|     private static function getJournalByAnswered(string $userId, string $op): array | ||||
|     { | ||||
|         $sql = Query::selectFromTable(Data::REQ_TABLE) | ||||
|         $sql = Query::selectFromTable(self::REQ_TABLE) | ||||
|             . ' WHERE ' . Query::whereDataContains(':criteria') . ' AND ' . Query::whereJsonPathMatches(':path'); | ||||
|         $params = [ | ||||
|             ':criteria' => Query::jsonbDocParam([ 'userId' => $userId ]), | ||||
|             ':path'     => '$.history[*].action (@ ' . $op . ' "' . RequestAction::Answered->name . '")' | ||||
|         ]; | ||||
|         return Data::mapToJournalRequest( | ||||
|         return self::mapToJournalRequest( | ||||
|             Document::customList($sql, $params, Request::class, Document::mapFromJson(...)), true); | ||||
|     } | ||||
|      | ||||
| @ -113,7 +113,7 @@ class Data | ||||
|      */ | ||||
|     public static function getAnsweredRequests(string $userId): array | ||||
|     { | ||||
|         $answered = Data::getJournalByAnswered($userId, '=='); | ||||
|         $answered = self::getJournalByAnswered($userId, '=='); | ||||
|         usort($answered, AsOf::newestToOldest(...)); | ||||
|         return $answered; | ||||
|     } | ||||
| @ -126,7 +126,7 @@ class Data | ||||
|      */ | ||||
|     public static function getJournal(string $userId): array | ||||
|     { | ||||
|         $reqs = data::getJournalByAnswered($userId, '<>'); | ||||
|         $reqs = self::getJournalByAnswered($userId, '<>'); | ||||
|         usort($reqs, AsOf::oldestToNewest(...)); | ||||
|         return $reqs; | ||||
|     } | ||||
|  | ||||
| @ -21,10 +21,10 @@ class Configuration | ||||
|      */ | ||||
|     public static function getConn(): \PDO | ||||
|     { | ||||
|         if (is_null(Configuration::$conn)) { | ||||
|             Configuration::$conn = new \PDO(Configuration::$connectionString); | ||||
|         if (is_null(self::$conn)) { | ||||
|             self::$conn = new \PDO(self::$connectionString); | ||||
|         } | ||||
|         return Configuration::$conn; | ||||
|         return self::$conn; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -41,7 +41,7 @@ class Definition | ||||
|      */ | ||||
|     public static function ensureTable(string $name) | ||||
|     { | ||||
|         pdo()->query(Definition::createTable($name))->execute(); | ||||
|         pdo()->query(self::createTable($name))->execute(); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -52,6 +52,6 @@ class Definition | ||||
|      */ | ||||
|     public static function ensureIndex(string $name, DocumentIndex $type) | ||||
|     { | ||||
|         pdo()->query(Definition::createIndex($name, $type))->execute(); | ||||
|         pdo()->query(self::createIndex($name, $type))->execute(); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -21,12 +21,12 @@ class Document | ||||
|      */ | ||||
|     public static function mapDocFromJson(string $columnName, array $result, string $className): mixed | ||||
|     { | ||||
|         if (is_null(Document::$mapper)) { | ||||
|             Document::$mapper = new \JsonMapper(); | ||||
|         if (is_null(self::$mapper)) { | ||||
|             self::$mapper = new \JsonMapper(); | ||||
|         } | ||||
| 
 | ||||
|         $mapped = new $className(); | ||||
|         Document::$mapper->map(json_decode($result[$columnName]), $mapped); | ||||
|         self::$mapper->map(json_decode($result[$columnName]), $mapped); | ||||
|         return $mapped; | ||||
|     } | ||||
| 
 | ||||
| @ -39,7 +39,7 @@ class Document | ||||
|      */ | ||||
|     public static function mapFromJson(array $result, string $className): mixed | ||||
|     { | ||||
|         return Document::mapDocFromJson('data', $result, $className); | ||||
|         return self::mapDocFromJson('data', $result, $className); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -66,7 +66,7 @@ class Document | ||||
|      */ | ||||
|     public static function insert(string $tableName, string $docId, array|object $document) | ||||
|     { | ||||
|         Document::executeNonQuery(Query::insert($tableName), $docId, $document); | ||||
|         self::executeNonQuery(Query::insert($tableName), $docId, $document); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -78,7 +78,7 @@ class Document | ||||
|      */ | ||||
|     public static function save(string $tableName, string $docId, array|object $document) | ||||
|     { | ||||
|         Document::executeNonQuery(Query::save($tableName), $docId, $document); | ||||
|         self::executeNonQuery(Query::save($tableName), $docId, $document); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -182,7 +182,7 @@ class Document | ||||
|      */ | ||||
|     private static function mapResults(\PDOStatement $stmt, string $className): array | ||||
|     { | ||||
|         return array_map(fn ($it) => Document::mapFromJson($it, $className), $stmt->fetchAll(\PDO::FETCH_ASSOC)); | ||||
|         return array_map(fn ($it) => self::mapFromJson($it, $className), $stmt->fetchAll(\PDO::FETCH_ASSOC)); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -194,7 +194,7 @@ class Document | ||||
|      */ | ||||
|     public static function findAll(string $tableName, string $className): array | ||||
|     { | ||||
|         return Document::mapResults(pdo()->query(Query::selectFromTable($tableName)), $className); | ||||
|         return self::mapResults(pdo()->query(Query::selectFromTable($tableName)), $className); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -211,7 +211,7 @@ class Document | ||||
|         $query->bindParam(':id', $docId); | ||||
|         $query->execute(); | ||||
|         $result = $query->fetch(\PDO::FETCH_ASSOC); | ||||
|         return $result ? Document::mapFromJson($result, $className) : null; | ||||
|         return $result ? self::mapFromJson($result, $className) : null; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -239,7 +239,7 @@ class Document | ||||
|      */ | ||||
|     public static function findByContains(string $tableName, array|object $criteria, string $className): array | ||||
|     { | ||||
|         return Document::mapResults(Document::queryByContains($tableName, $criteria), $className); | ||||
|         return self::mapResults(self::queryByContains($tableName, $criteria), $className); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -252,9 +252,9 @@ class Document | ||||
|      */ | ||||
|     public static function findFirstByContains(string $tableName, array|object $criteria, string $className): mixed | ||||
|     { | ||||
|         $query = Document::queryByContains($tableName, $criteria); | ||||
|         $query = self::queryByContains($tableName, $criteria); | ||||
|         $result = $query->fetch(\PDO::FETCH_ASSOC); | ||||
|         return $result ? Document::mapFromJson($result, $className) : null; | ||||
|         return $result ? self::mapFromJson($result, $className) : null; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -282,7 +282,7 @@ class Document | ||||
|      */ | ||||
|     public static function findByJsonPath(string $tableName, string $jsonPath, string $className): array | ||||
|     { | ||||
|         return Document::mapResults(Document::queryByJsonPath($tableName, $jsonPath), $className); | ||||
|         return self::mapResults(self::queryByJsonPath($tableName, $jsonPath), $className); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -295,9 +295,9 @@ class Document | ||||
|      */ | ||||
|     public static function findFirstByJsonPath(string $tableName, string $jsonPath, string $className): mixed | ||||
|     { | ||||
|         $query = Document::queryByJsonPath($tableName, $jsonPath); | ||||
|         $query = self::queryByJsonPath($tableName, $jsonPath); | ||||
|         $result = $query->fetch(\PDO::FETCH_ASSOC); | ||||
|         return $result ? Document::mapFromJson($result, $className) : null; | ||||
|         return $result ? self::mapFromJson($result, $className) : null; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -309,7 +309,7 @@ class Document | ||||
|      */ | ||||
|     public static function updateFull(string $tableName, string $docId, array|object $document) | ||||
|     { | ||||
|         Document::executeNonQuery(Query::updateFull($tableName), $docId, $document); | ||||
|         self::executeNonQuery(Query::updateFull($tableName), $docId, $document); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -321,7 +321,7 @@ class Document | ||||
|      */ | ||||
|     public static function updatePartialById(string $tableName, string $docId, array|object $document) | ||||
|     { | ||||
|         Document::executeNonQuery(Query::updatePartialById($tableName), $docId, $document); | ||||
|         self::executeNonQuery(Query::updatePartialById($tableName), $docId, $document); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -362,7 +362,7 @@ class Document | ||||
|      */ | ||||
|     public static function deleteById(string $tableName, string $docId) | ||||
|     { | ||||
|         Document::executeNonQuery(Query::deleteById($tableName), $docId, []); | ||||
|         self::executeNonQuery(Query::deleteById($tableName), $docId, []); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -423,7 +423,7 @@ class Document | ||||
|     { | ||||
|         return array_map( | ||||
|             fn ($it) => $mapFunc($it, $className), | ||||
|             Document::createCustomQuery($sql, $params)->fetchAll(\PDO::FETCH_ASSOC)); | ||||
|             self::createCustomQuery($sql, $params)->fetchAll(\PDO::FETCH_ASSOC)); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -437,7 +437,7 @@ class Document | ||||
|      */ | ||||
|     public static function customSingle(string $sql, array $params, string $className, callable $mapFunc): mixed | ||||
|     { | ||||
|         $result = Document::createCustomQuery($sql, $params)->fetch(\PDO::FETCH_ASSOC); | ||||
|         $result = self::createCustomQuery($sql, $params)->fetch(\PDO::FETCH_ASSOC); | ||||
|         return $result ? $mapFunc($result, $className) : null; | ||||
|     } | ||||
| 
 | ||||
| @ -449,6 +449,6 @@ class Document | ||||
|      */ | ||||
|     public static function customNonQuery(string $sql, array $params) | ||||
|     { | ||||
|         Document::createCustomQuery($sql, $params); | ||||
|         self::createCustomQuery($sql, $params); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -85,7 +85,7 @@ class Query | ||||
|      */ | ||||
|     public static function countAll(string $tableName): string | ||||
|     { | ||||
|         return "SELECT COUNT(id) AS it FROM $tableName"; | ||||
|         return "SELECT COUNT(*) AS it FROM $tableName"; | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @ -96,7 +96,7 @@ class Query | ||||
|      */ | ||||
|     public static function countByContains(string $tableName): string | ||||
|     { | ||||
|         return "SELECT COUNT(id) AS it FROM $tableName WHERE " . Query::whereDataContains('@criteria'); | ||||
|         return "SELECT COUNT(*) AS it FROM $tableName WHERE " . self::whereDataContains('@criteria'); | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @ -107,7 +107,7 @@ class Query | ||||
|      */ | ||||
|     public static function countByJsonPath(string $tableName): string | ||||
|     { | ||||
|         return "SELECT COUNT(id) AS it FROM $tableName WHERE " . Query::whereJsonPathMatches('@path'); | ||||
|         return "SELECT COUNT(*) AS it FROM $tableName WHERE " . self::whereJsonPathMatches('@path'); | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @ -129,7 +129,7 @@ class Query | ||||
|      */ | ||||
|     public static function existsByContains(string $tableName): string | ||||
|     { | ||||
|         return "SELECT EXISTS (SELECT 1 FROM $tableName WHERE " . Query::whereDataContains('@criteria') . ' AS it'; | ||||
|         return "SELECT EXISTS (SELECT 1 FROM $tableName WHERE " . self::whereDataContains('@criteria') . ' AS it'; | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @ -140,7 +140,7 @@ class Query | ||||
|      */ | ||||
|     public static function existsByJsonPath(string $tableName): string | ||||
|     { | ||||
|         return "SELECT EXISTS (SELECT 1 FROM $tableName WHERE " . Query::whereJsonPathMatches('@path') . ' AS it'; | ||||
|         return "SELECT EXISTS (SELECT 1 FROM $tableName WHERE " . self::whereJsonPathMatches('@path') . ' AS it'; | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @ -151,7 +151,7 @@ class Query | ||||
|      */ | ||||
|     public static function findById(string $tableName): string | ||||
|     { | ||||
|         return Query::selectFromTable($tableName) . ' WHERE id = :id'; | ||||
|         return self::selectFromTable($tableName) . ' WHERE id = :id'; | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @ -162,7 +162,7 @@ class Query | ||||
|      */ | ||||
|     public static function findByContains(string $tableName): string | ||||
|     { | ||||
|         return Query::selectFromTable($tableName) . ' WHERE ' . Query::whereDataContains('@criteria'); | ||||
|         return self::selectFromTable($tableName) . ' WHERE ' . self::whereDataContains('@criteria'); | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @ -173,7 +173,7 @@ class Query | ||||
|      */ | ||||
|     public static function findByJsonPath(string $tableName): string | ||||
|     { | ||||
|         return Query::selectFromTable($tableName) . ' WHERE ' . Query::whereJsonPathMatches('@path'); | ||||
|         return self::selectFromTable($tableName) . ' WHERE ' . self::whereJsonPathMatches('@path'); | ||||
|     } | ||||
|      | ||||
|     /** | ||||
| @ -206,7 +206,7 @@ class Query | ||||
|      */ | ||||
|     public static function updatePartialByContains(string $tableName): string | ||||
|     { | ||||
|         return "UPDATE $tableName SET data = data || @data WHERE " . Query::whereDataContains('@criteria'); | ||||
|         return "UPDATE $tableName SET data = data || @data WHERE " . self::whereDataContains('@criteria'); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -217,7 +217,7 @@ class Query | ||||
|      */ | ||||
|     public static function updatePartialByJsonPath(string $tableName): string | ||||
|     { | ||||
|         return "UPDATE $tableName SET data = data || @data WHERE " . Query::whereJsonPathMatches('@path'); | ||||
|         return "UPDATE $tableName SET data = data || @data WHERE " . self::whereJsonPathMatches('@path'); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -239,7 +239,7 @@ class Query | ||||
|      */ | ||||
|     public static function deleteByContains(string $tableName): string | ||||
|     { | ||||
|         return "DELETE FROM $tableName WHERE " . Query::whereDataContains('@criteria'); | ||||
|         return "DELETE FROM $tableName WHERE " . self::whereDataContains('@criteria'); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
| @ -250,6 +250,6 @@ class Query | ||||
|      */ | ||||
|     public static function deleteByJsonPath(string $tableName): string | ||||
|     { | ||||
|         return "DELETE FROM $tableName WHERE " . Query::whereJsonPathMatches('@path'); | ||||
|         return "DELETE FROM $tableName WHERE " . self::whereJsonPathMatches('@path'); | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user