Example #1
0
 /**
  * @return Schema
  */
 protected static function defineSchema()
 {
     return new Schema('pbj:eme:solicits:node:solicit:1-0-0', __CLASS__, [Fb::create('_id', T\IdentifierType::create())->required()->withDefault(function () {
         return SolicitId::generate();
     })->className('Eme\\Schemas\\Solicits\\SolicitId')->build(), Fb::create('description', T\TextType::create())->build(), Fb::create('hashtags', T\StringType::create())->asASet()->format(Format::HASHTAG())->build(), Fb::create('story_enabled', T\BooleanType::create())->withDefault(true)->build(), Fb::create('story_required', T\BooleanType::create())->build(), Fb::create('story_label', T\StringType::create())->build(), Fb::create('utm_campaign', T\StringType::create())->maxLength(50)->pattern('^[\\w\\/\\.:-]+$')->build()], [AccountRefV1Mixin::create(), NodeV1Mixin::create(), ExpirableV1Mixin::create(), IndexedV1Mixin::create(), PublishableV1Mixin::create()]);
 }
Example #2
0
 /**
  * @return Schema
  */
 protected static function defineSchema()
 {
     return new Schema('pbj:eme:users:node:user:1-0-0', __CLASS__, [Fb::create('_id', T\IdentifierType::create())->required()->withDefault(function () {
         return UserId::generate();
     })->className('Eme\\Schemas\\Users\\UserId')->build(), Fb::create('first_name', T\StringType::create())->build(), Fb::create('last_name', T\StringType::create())->build(), Fb::create('email', T\StringType::create())->format(Format::EMAIL())->build(), Fb::create('email_domain', T\StringType::create())->format(Format::HOSTNAME())->build(), Fb::create('address', T\MessageType::create())->className('Gdbots\\Schemas\\Geo\\Address')->build(), Fb::create('phone', T\StringType::create())->asAMap()->pattern('^\\+?[1-9]\\d{1,14}$')->build(), Fb::create('dob', T\DateType::create())->build(), Fb::create('gender', T\IntEnumType::create())->withDefault(Gender::UNKNOWN())->className('Gdbots\\Schemas\\Common\\Enum\\Gender')->build(), Fb::create('networks', T\StringType::create())->asAMap()->maxLength(50)->pattern('^[\\w\\.-]+$')->build(), Fb::create('hashtags', T\StringType::create())->asASet()->format(Format::HASHTAG())->build(), Fb::create('tags', T\StringType::create())->asAMap()->pattern('^[\\w\\/\\.:-]+$')->build(), Fb::create('is_blocked', T\BooleanType::create())->build()], [AccountRefV1Mixin::create(), NodeV1Mixin::create(), IndexedV1Mixin::create()]);
 }