at the end of the day, it was inevitable

This commit is contained in:
Mo Elzubeir
2022-12-09 08:36:26 -06:00
commit 1218570914
1768 changed files with 887087 additions and 0 deletions
@@ -0,0 +1,53 @@
<?php
namespace Common\Annotation;
/**
* Class AbstractAppAnnotation
* @package Common\Annotation
*/
abstract class AbstractAppAnnotation implements AppAnnotationInterface
{
/**
* AbstractAppAnnotation constructor.
*
* @param array $arguments Array of annotation arguments.
*/
public function __construct(array $arguments = [])
{
$defaultName = $this->getDefault();
if (isset($arguments['value']) && $defaultName) {
// Set default value if we have it.
$this->{$defaultName} = $arguments['value'];
unset($arguments['value']);
}
foreach ($arguments as $name => $value) {
$this->{$name} = $value;
}
$this->normalize();
}
/**
* Return name of default property.
*
* @return string
*/
public function getDefault()
{
return null;
}
/**
* Normalize annotation parameters.
* Called after all parameters set in constrictor.
*
* @return void
*/
protected function normalize()
{
// Implements in derived class if it necessary.
}
}
@@ -0,0 +1,18 @@
<?php
namespace Common\Annotation;
/**
* Interface AppAnnotationInterface
* @package Common\Annotation
*/
interface AppAnnotationInterface
{
/**
* Return name of default property.
*
* @return string
*/
public function getDefault();
}
+18
View File
@@ -0,0 +1,18 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class AFSourceEnum
* Available advanced filters sources.
*
* @package Common\Enum
*/
class AFSourceEnum extends AbstractEnum
{
const FEED = 'feed';
const SOURCE = 'source';
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class AFTypeEnum
* Available advanced filters types.
*
* @package Common\Enum
*/
class AFTypeEnum extends AbstractEnum
{
const QUERY = 'query';
const SIMPLE = 'simple';
const RANGE = 'range';
}
+19
View File
@@ -0,0 +1,19 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class CollectionTypeEnum
* @package Common\Enum
*
* @method static CollectionTypeEnum query()
* @method static CollectionTypeEnum feed()
*/
class CollectionTypeEnum extends AbstractEnum
{
const QUERY = 'query';
const FEED = 'feed';
}
+267
View File
@@ -0,0 +1,267 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class CountryEnum
* Countries ISO 3166-2 alpha-2 codes.
*
* @link https://en.wikipedia.org/wiki/ISO_3166-2
*
* @package Common\Enum
*/
class CountryEnum extends AbstractEnum
{
const C_AF = 'AF';
const C_AX = 'AX';
const C_AL = 'AL';
const C_DZ = 'DZ';
const C_AS = 'AS';
const C_AD = 'AD';
const C_AO = 'AO';
const C_AI = 'AI';
const C_AQ = 'AQ';
const C_AG = 'AG';
const C_AR = 'AR';
const C_AM = 'AM';
const C_AW = 'AW';
const C_AU = 'AU';
const C_AT = 'AT';
const C_AZ = 'AZ';
const C_BS = 'BS';
const C_BH = 'BH';
const C_BD = 'BD';
const C_BB = 'BB';
const C_BY = 'BY';
const C_BE = 'BE';
const C_BZ = 'BZ';
const C_BJ = 'BJ';
const C_BM = 'BM';
const C_BT = 'BT';
const C_BO = 'BO';
const C_BQ = 'BQ';
const C_BA = 'BA';
const C_BW = 'BW';
const C_BV = 'BV';
const C_BR = 'BR';
const C_IO = 'IO';
const C_BN = 'BN';
const C_BG = 'BG';
const C_BF = 'BF';
const C_BI = 'BI';
const C_KH = 'KH';
const C_CM = 'CM';
const C_CA = 'CA';
const C_CV = 'CV';
const C_KY = 'KY';
const C_CF = 'CF';
const C_TD = 'TD';
const C_CL = 'CL';
const C_CN = 'CN';
const C_CX = 'CX';
const C_CC = 'CC';
const C_CO = 'CO';
const C_KM = 'KM';
const C_CG = 'CG';
const C_CD = 'CD';
const C_CK = 'CK';
const C_CR = 'CR';
const C_CI = 'CI';
const C_HR = 'HR';
const C_CU = 'CU';
const C_CW = 'CW';
const C_CY = 'CY';
const C_CZ = 'CZ';
const C_DK = 'DK';
const C_DJ = 'DJ';
const C_DM = 'DM';
const C_DO = 'DO';
const C_EC = 'EC';
const C_EG = 'EG';
const C_SV = 'SV';
const C_GQ = 'GQ';
const C_ER = 'ER';
const C_EE = 'EE';
const C_ET = 'ET';
const C_FK = 'FK';
const C_FO = 'FO';
const C_FJ = 'FJ';
const C_FI = 'FI';
const C_FR = 'FR';
const C_GF = 'GF';
const C_PF = 'PF';
const C_TF = 'TF';
const C_GA = 'GA';
const C_GM = 'GM';
const C_GE = 'GE';
const C_DE = 'DE';
const C_GH = 'GH';
const C_GI = 'GI';
const C_GR = 'GR';
const C_GL = 'GL';
const C_GD = 'GD';
const C_GP = 'GP';
const C_GU = 'GU';
const C_GT = 'GT';
const C_GG = 'GG';
const C_GN = 'GN';
const C_GW = 'GW';
const C_GY = 'GY';
const C_HT = 'HT';
const C_HM = 'HM';
const C_VA = 'VA';
const C_HN = 'HN';
const C_HK = 'HK';
const C_HU = 'HU';
const C_IS = 'IS';
const C_IN = 'IN';
const C_ID = 'ID';
const C_IR = 'IR';
const C_IQ = 'IQ';
const C_IE = 'IE';
const C_IM = 'IM';
const C_IL = 'IL';
const C_IT = 'IT';
const C_JM = 'JM';
const C_JP = 'JP';
const C_JE = 'JE';
const C_JO = 'JO';
const C_KZ = 'KZ';
const C_KE = 'KE';
const C_KI = 'KI';
const C_KP = 'KP';
const C_KR = 'KR';
const C_KW = 'KW';
const C_KG = 'KG';
const C_LA = 'LA';
const C_LV = 'LV';
const C_LB = 'LB';
const C_LS = 'LS';
const C_LR = 'LR';
const C_LY = 'LY';
const C_LI = 'LI';
const C_LT = 'LT';
const C_LU = 'LU';
const C_MO = 'MO';
const C_MK = 'MK';
const C_MG = 'MG';
const C_MW = 'MW';
const C_MY = 'MY';
const C_MV = 'MV';
const C_ML = 'ML';
const C_MT = 'MT';
const C_MH = 'MH';
const C_MQ = 'MQ';
const C_MR = 'MR';
const C_MU = 'MU';
const C_YT = 'YT';
const C_MX = 'MX';
const C_FM = 'FM';
const C_MD = 'MD';
const C_MC = 'MC';
const C_MN = 'MN';
const C_ME = 'ME';
const C_MS = 'MS';
const C_MA = 'MA';
const C_MZ = 'MZ';
const C_MM = 'MM';
const C_NA = 'NA';
const C_NR = 'NR';
const C_NP = 'NP';
const C_NL = 'NL';
const C_NC = 'NC';
const C_NZ = 'NZ';
const C_NI = 'NI';
const C_NE = 'NE';
const C_NG = 'NG';
const C_NU = 'NU';
const C_NF = 'NF';
const C_MP = 'MP';
const C_NO = 'NO';
const C_OM = 'OM';
const C_PK = 'PK';
const C_PW = 'PW';
const C_PS = 'PS';
const C_PA = 'PA';
const C_PG = 'PG';
const C_PY = 'PY';
const C_PE = 'PE';
const C_PH = 'PH';
const C_PN = 'PN';
const C_PL = 'PL';
const C_PT = 'PT';
const C_PR = 'PR';
const C_QA = 'QA';
const C_RE = 'RE';
const C_RO = 'RO';
const C_RU = 'RU';
const C_RW = 'RW';
const C_BL = 'BL';
const C_SH = 'SH';
const C_KN = 'KN';
const C_LC = 'LC';
const C_MF = 'MF';
const C_PM = 'PM';
const C_VC = 'VC';
const C_WS = 'WS';
const C_SM = 'SM';
const C_ST = 'ST';
const C_SA = 'SA';
const C_SN = 'SN';
const C_RS = 'RS';
const C_SC = 'SC';
const C_SL = 'SL';
const C_SG = 'SG';
const C_SX = 'SX';
const C_SK = 'SK';
const C_SI = 'SI';
const C_SB = 'SB';
const C_SO = 'SO';
const C_ZA = 'ZA';
const C_GS = 'GS';
const C_SS = 'SS';
const C_ES = 'ES';
const C_LK = 'LK';
const C_SD = 'SD';
const C_SR = 'SR';
const C_SJ = 'SJ';
const C_SZ = 'SZ';
const C_SE = 'SE';
const C_CH = 'CH';
const C_SY = 'SY';
const C_TW = 'TW';
const C_TJ = 'TJ';
const C_TZ = 'TZ';
const C_TH = 'TH';
const C_TL = 'TL';
const C_TG = 'TG';
const C_TK = 'TK';
const C_TO = 'TO';
const C_TT = 'TT';
const C_TN = 'TN';
const C_TR = 'TR';
const C_TM = 'TM';
const C_TC = 'TC';
const C_TV = 'TV';
const C_UG = 'UG';
const C_UA = 'UA';
const C_AE = 'AE';
const C_GB = 'GB';
const C_US = 'US';
const C_UM = 'UM';
const C_UY = 'UY';
const C_UZ = 'UZ';
const C_VU = 'VU';
const C_VE = 'VE';
const C_VN = 'VN';
const C_VG = 'VG';
const C_VI = 'VI';
const C_WF = 'WF';
const C_EH = 'EH';
const C_YE = 'YE';
const C_ZM = 'ZM';
const C_ZW = 'ZW';
}
+23
View File
@@ -0,0 +1,23 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class DocumentTypeEnum
* @package Common\Enum
*/
class DocumentTypeEnum extends AbstractEnum
{
const WEBLOG = 'WEBLOG';
const SOCIAL_MEDIA = 'SOCIAL_MEDIA';
const MAINSTREAM_NEWS = 'MAINSTREAM_NEWS';
const MICROBLOG = 'MICROBLOG';
const MEMETRACKER = 'MEMETRACKER';
const REVIEW = 'REVIEW';
const VIDEOS = 'VIDEOS';
const PHOTOS = 'PHOTOS';
const FORUM = 'FORUM';
}
+29
View File
@@ -0,0 +1,29 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class DocumentsAFNameEnum
* Available advanced filters names for documents.
*
* @package Common\Enum
*/
class DocumentsAFNameEnum extends AbstractEnum
{
const ADDITIONAL_QUERY = 'keyword';
const SOURCE = 'source';
const ARTICLE_DATE = 'articleDate';
const SOURCE_COUNTRY = 'sourceCountry';
const SOURCE_STATE = 'sourceState';
const SOURCE_CITY = 'sourceCity';
// const SOURCE_SECTION = 'sourceSection';
const ARTICLE_LANGUAGE = 'articleLanguage';
const AUTHOR = 'author';
const PUBLISHER = 'publisher';
const REACH = 'reach';
const SENTIMENT= 'sentiment';
}
+53
View File
@@ -0,0 +1,53 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class LanguageEnum
* Enum of internal field names.
*
* @package Common\Enum
*/
class FieldNameEnum extends AbstractEnum
{
const SEQUENCE = 'sequence';
const DATE_FOUND = 'date_found';
const SOURCE_HASHCODE = 'source_hashcode';
const SOURCE_LINK = 'source_link';
const SOURCE_PUBLISHER_TYPE = 'source_publisher_type';
const SOURCE_PUBLISHER_SUBTYPE = 'source_publisher_subtype';
const SOURCE_DATE_FOUND = 'source_date_found';
const SOURCE_TITLE = 'source_title';
const SOURCE_FEED_TITLE = 'source_feed_title';
const SOURCE_LOCATION = 'source_location';
const PERMALINK = 'permalink';
const MAIN = 'main';
const TITLE = 'title';
const PUBLISHER = 'publisher';
const SECTION = 'section';
const TAGS = 'tags';
const LINKS = 'links';
const PUBLISHED = 'published';
const AUTHOR_NAME = 'author_name';
const AUTHOR_LINK = 'author_link';
const AUTHOR_GENDER = 'author_gender';
const COUNTRY = 'geo_country';
const STATE = 'geo_state';
const CITY = 'geo_city';
const IMAGE_SRC = 'image_src';
const SENTIMENT = 'sentiment';
const LANG = 'lang';
const DUPLICATES_COUNT = 'duplicates_count';
const VIEWS = 'views';
const SHARES = 'shares';
const DOMAIN= 'domain';
// Special names.
const PLATFORM = '__platform';
const COLLECTION_ID = '__collection_id';
const COLLECTION_TYPE = '__collection_type';
const DELETE_FROM = '__deleted_from';
}
+24
View File
@@ -0,0 +1,24 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class FormatNameEnum
*
* @package Common\Enum
*
* @method static FormatNameEnum rss()
* @method static FormatNameEnum atom()
* @method static FormatNameEnum tsv()
* @method static FormatNameEnum html()
*/
class FormatNameEnum extends AbstractEnum
{
const RSS = 'rss';
const ATOM = 'atom';
const TSV = 'tsv';
const HTML = 'html';
}
+68
View File
@@ -0,0 +1,68 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class LanguageEnum
* Some use languages ISO 639-1 codes.
*
* @link https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
*
* @package Common\Enum
*/
class LanguageEnum extends AbstractEnum
{
const AFRIKAANS = 'af';
const ALBANIAN = 'sq';
const ARABIC = 'ar';
const BENGALI = 'bn';
const BOSNIAN = 'bs';
const BULGARIAN = 'bg';
const CATALAN = 'ca';
const CHINESE = 'zh';
const CROATIAN = 'hr';
const CZECH = 'cs';
const DANISH = 'da';
const DUTCH = 'nl';
const ENGLISH = 'en';
const ESTONIAN = 'et';
const FILIPINO = 'tl';
const FINNISH = 'fi';
const FRENCH = 'fr';
const GERMAN = 'de';
const GREEK = 'el';
const HEBREW = 'he';
const HINDI = 'hi';
const HUNGARIAN = 'hu';
const ICELANDIC = 'is';
const INDONESIAN = 'id';
const ITALIAN = 'it';
const JAPANESE = 'ja';
const KOREAN = 'ko';
const LATVIAN = 'lv';
const LITHUANIAN = 'lt';
const MACEDONIAN = 'mk';
const MALAY = 'ms';
const NORWEGIAN = 'no';
const PERSIAN = 'fa';
const POLISH = 'pl';
const PORTUGUESE = 'pt';
const ROMANIAN = 'ro';
const RUSSIAN = 'ru';
const SERBIAN = 'sr';
const SLOVAK = 'sk';
const SLOVENIAN = 'sl';
const SPANISH = 'es';
const SWEDISH = 'sv';
const TAMIL = 'ta';
const THAI = 'th';
const TURKISH = 'tr';
const UKRAINIAN = 'uk';
const URDU = 'ur';
const VIETNAMESE = 'vi';
const UNKNOWN = 'U';
}
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class PublisherTypeEnum
* Enum of internal publisher types.
*
* @package Common\Enum
*
* @method static PublisherTypeEnum unknown()
* @method static PublisherTypeEnum blogs()
* @method static PublisherTypeEnum socials()
* @method static PublisherTypeEnum news()
* @method static PublisherTypeEnum videos()
* @method static PublisherTypeEnum forums()
* @method static PublisherTypeEnum photo()
*/
class PublisherTypeEnum extends AbstractEnum
{
const UNKNOWN = 'unknown';
const BLOGS = 'blogs';
const SOCIAL = 'socials';
const NEWS = 'news';
const VIDEO = 'videos';
const FORUMS = 'forums';
const PHOTO = 'photo';
}
+22
View File
@@ -0,0 +1,22 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class SourcesAFNameEnum
* Available advanced filters names for sources.
*
* @package Common\Enum
*/
class SourcesAFNameEnum extends AbstractEnum
{
const LANG = 'language';
const COUNTRY = 'country';
const STATE = 'state';
const CITY = 'city';
const SECTION = 'section';
const MEDIA_TYPE = 'mediaType';
}
+70
View File
@@ -0,0 +1,70 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
/**
* Class StateEnum
* US states ANSI standard INCITS 38:2009 codes but without AS, GU, MP, PR, VI,
* UM, FM, MH, PW.
*
* @link https://en.wikipedia.org/wiki/List_of_U.S._state_abbreviations#ANSI_standard_INCITS_38:2009
*
* @package Common\Enum
*/
class StateEnum extends AbstractEnum
{
const S_AL = 'AL';
const S_AK = 'AK';
const S_AZ = 'AZ';
const S_AR = 'AR';
const S_CA = 'CA';
const S_CO = 'CO';
const S_CT = 'CT';
const S_DE = 'DE';
const S_DC = 'DC';
const S_FL = 'FL';
const S_GA = 'GA';
const S_HI = 'HI';
const S_ID = 'ID';
const S_IL = 'IL';
const S_IN = 'IN';
const S_IA = 'IA';
const S_KS = 'KS';
const S_KY = 'KY';
const S_LA = 'LA';
const S_ME = 'ME';
const S_MD = 'MD';
const S_MA = 'MA';
const S_MI = 'MI';
const S_MN = 'MN';
const S_MS = 'MS';
const S_MO = 'MO';
const S_MT = 'MT';
const S_NE = 'NE';
const S_NV = 'NV';
const S_NH = 'NH';
const S_NJ = 'NJ';
const S_NM = 'NM';
const S_NY = 'NY';
const S_NC = 'NC';
const S_ND = 'ND';
const S_OH = 'OH';
const S_OK = 'OK';
const S_OR = 'OR';
const S_PA = 'PA';
const S_RI = 'RI';
const S_SC = 'SC';
const S_SD = 'SD';
const S_TN = 'TN';
const S_TX = 'TX';
const S_UT = 'UT';
const S_VT = 'VT';
const S_VA = 'VA';
const S_WA = 'WA';
const S_WV = 'WV';
const S_WI = 'WI';
const S_WY = 'WY';
}
+34
View File
@@ -0,0 +1,34 @@
<?php
namespace Common\Enum;
use AppBundle\Enum\AbstractEnum;
use Doctrine\ORM\Mapping as ORM;
/**
* Class StoredQueryStatusEnum
* @package Common\Enum
*/
class StoredQueryStatusEnum extends AbstractEnum
{
/**
* Stored query just added and documents not fetched and indexed.
*/
const INITIALIZE = 'initialize';
/**
* All documents fetched and synced with eexternal api.
*/
const SYNCED = 'synced';
/**
* Fetch new documents from external api founded for stored query.
*/
const UPDATING = 'updating';
/**
* This query marked as deleted.
*/
const DELETED = 'deleted';
}